【问题标题】:gnuradio phase drift of AM demodulationAM解调的gnuradio相位漂移
【发布时间】:2016-02-11 17:35:24
【问题描述】:

我正在使用 GNUradio 和廉价的 SDR 开始一个项目。

http://www.amazon.com/gp/product/B00SXZDUAQ?psc=1&redirect=true&ref_=oh_aui_search_detailpage

项目的一部分要求我生成一个参考音调,并将该音调的相位与解调后的音频进行比较。

为了模拟系统的这一部分,我生成了一个简单的 GNUradio 流程图:

我对源和解调的音频有一些问题,因为它们会相对于彼此漂移。这发生在原始流程图的范围同步上。为了帮助排除故障,我通过声卡的第二个通道发送了解调的音频,并在外部示波器上监控了两个音频流以及调制射频:

最初一切似乎都很好,但解调后的音频相对于原始源和 RF 发生了漂移:

我的问题是:我是在流程图中做错了什么,还是我对廉价的 SDR 的性能期望过高?

提前感谢您的任何见解

【问题讨论】:

  • 仅供参考,一般来说,您不应该期望人们从外部站点下载文件来获取您的部分问题。您现在有足够的声誉可以嵌入任意数量的链接或图像;我建议您编辑问题以嵌入图像。
  • 感谢您的评论,我按照您的建议编辑了问题。

标签: audio signal-processing gnuradio gnuradio-companion


【解决方案1】:

如果没有全数字仿真或只有一个振荡器的全模拟电路,您不能期望看到零相位漂移,因为没有两个(物理)振荡器具有相同的频率。

在您的情况下,涉及两个相关的振荡器:

  1. RTL-SDR 单元中的采样时钟。
  2. 声卡输出中的采样时钟。

在 GNU Radio 流程图中,本身没有时间参考,一切都取决于连接到硬件的源和接收器。

流程图中的相关来源是 RTL-SDR 硬件;只要它的振荡器与其标称值不同(28.8 MHz,碰巧),它产生的一切都将是绝对意义上的非频率(RF 载波频率解调输出的音频频率) .

但您实际上并没有绝对频率参考;你有你的声卡产生的音调。声卡有自己的振荡器,它决定了将样本转换为模拟信号的速率,从而决定了从流程图中消耗样本的速率。

因此,您的参考信号将相对于您接收和解调的信号漂移,其速率取决于两个振荡器之间的频率误差差异。

此外,由于您的声卡将接受流程图中的样本,其实时速率与 RTL-SDR 生成它们的实时速率略有不同,因此您会注意到随着错误的累积,音频中会出现周期性的毛刺,必须加以处理;它们将立即开始发生(如果源比接收器慢,则需要声卡改为播放静音)或在缓冲区达到其最大大小的延迟后(如果源比接收器快,则需要 RTL- SDR 删除一些样本)。

【讨论】:

  • 感谢您的回复。一个小的澄清:调制源不是射频信号发生器(发射器)中的音频振荡器,调制是在 GNU 流程图中生成的,并通过声卡发送到信号发生器。话虽如此,RTL-SDR 和电脑的声卡还是有区别的。既然一切都由 GNU 无线电控制,有没有办法同步事物,以便确定源信号和解调结果之间的相对相位(不一定为零)?
  • @EdColeman 我已更新我的答案以更正该部分。是的,您可以通过使用通用时钟参考(传统上为 10 MHz)获得同步,但这是 RTL-SDR 或消费声卡上不存在的高端功能。例如,您可以使用 Ettus USRP。
  • 再次感谢您的回答。
  • 即使使用 USRP,您也必须使用一个在调谐后明确支持恒定相位的设备,以及一个时钟分配器来获得所有涉及的 USRP 的 PPS 和 10MHz,以及您必须对它们进行编程以在同一时刻进行调整。
猜你喜欢
  • 2020-07-21
  • 1970-01-01
  • 1970-01-01
  • 2016-05-14
  • 2020-11-12
  • 2021-03-28
  • 2021-08-26
  • 1970-01-01
  • 2015-11-12
相关资源
最近更新 更多