AM 解调的 gnuradio 相位漂移
gnuradio phase drift of AM demodulation
我正在开始一个使用 GNUradio 和便宜的 SDR 的项目。
http://www.amazon.com/gp/product/B00SXZDUAQ?psc=1&redirect=true&ref_=oh_aui_search_detailpage
该项目的一部分要求我生成参考音频并将该音调的相位与解调音频进行比较。
为了模拟这部分系统,我生成了一个简单的 GNUradio 流程图:
我对源音频和解调音频存在一些问题,因为它们会相对漂移。这发生在原始流程图的范围同步上。为了帮助排除故障,我通过声卡的第二个通道发送解调音频,并在外部示波器上监控两个音频流以及调制射频:
最初一切似乎都很好,但是解调后的音频相对于原始源和 RF 漂移:
我的问题是:我是不是在流程图中做错了什么,还是我对便宜的 SDR 的性能期望过高?
提前感谢您的任何见解
除了全数字模拟或只有一个振荡器的全模拟电路之外,您不能期望看到零相位漂移,因为没有两个(物理)振荡器具有相同的频率。
在您的案例中,涉及两个相关的振荡器:
- RTL-SDR 单元中的采样时钟。
- 声卡输出中的采样时钟。
在 GNU Radio 流程图中,本身没有时间参考,一切都取决于连接到硬件的源和接收器。
流程图中的相关来源是 RTL-SDR 硬件;只要它的振荡器不同于它的标称值(碰巧是 28.8 MHz),它产生的所有东西在绝对意义上都是偏频的(RF 载波频率 和 的音频频率解调输出)。
但是您实际上并没有绝对频率参考;你有你的声卡产生的音调。声卡有自己的振荡器,它决定了样本转换为模拟信号的速率,因此也决定了流图消耗样本的速率。
因此,您的参考信号将相对于您接收和解调的信号发生漂移,其漂移速率由两个振荡器之间的频率误差差异决定。
此外,由于您的声卡将接受 来自流程图的样本,其实时速率与 RTL-SDR 产生 他们,随着错误的累积,您会注意到音频中的周期性故障,必须加以处理;它们将立即开始出现(如果源比接收器慢,需要声卡播放静音)或在缓冲区达到其最大大小的延迟后(如果源比接收器快,需要 RTL- SDR 丢弃一些样本)。
我正在开始一个使用 GNUradio 和便宜的 SDR 的项目。
http://www.amazon.com/gp/product/B00SXZDUAQ?psc=1&redirect=true&ref_=oh_aui_search_detailpage
该项目的一部分要求我生成参考音频并将该音调的相位与解调音频进行比较。
为了模拟这部分系统,我生成了一个简单的 GNUradio 流程图:
我对源音频和解调音频存在一些问题,因为它们会相对漂移。这发生在原始流程图的范围同步上。为了帮助排除故障,我通过声卡的第二个通道发送解调音频,并在外部示波器上监控两个音频流以及调制射频:
最初一切似乎都很好,但是解调后的音频相对于原始源和 RF 漂移:
我的问题是:我是不是在流程图中做错了什么,还是我对便宜的 SDR 的性能期望过高?
提前感谢您的任何见解
除了全数字模拟或只有一个振荡器的全模拟电路之外,您不能期望看到零相位漂移,因为没有两个(物理)振荡器具有相同的频率。
在您的案例中,涉及两个相关的振荡器:
- RTL-SDR 单元中的采样时钟。
- 声卡输出中的采样时钟。
在 GNU Radio 流程图中,本身没有时间参考,一切都取决于连接到硬件的源和接收器。
流程图中的相关来源是 RTL-SDR 硬件;只要它的振荡器不同于它的标称值(碰巧是 28.8 MHz),它产生的所有东西在绝对意义上都是偏频的(RF 载波频率 和 的音频频率解调输出)。
但是您实际上并没有绝对频率参考;你有你的声卡产生的音调。声卡有自己的振荡器,它决定了样本转换为模拟信号的速率,因此也决定了流图消耗样本的速率。
因此,您的参考信号将相对于您接收和解调的信号发生漂移,其漂移速率由两个振荡器之间的频率误差差异决定。
此外,由于您的声卡将接受 来自流程图的样本,其实时速率与 RTL-SDR 产生 他们,随着错误的累积,您会注意到音频中的周期性故障,必须加以处理;它们将立即开始出现(如果源比接收器慢,需要声卡播放静音)或在缓冲区达到其最大大小的延迟后(如果源比接收器快,需要 RTL- SDR 丢弃一些样本)。