gpt4 book ai didi

audio - AM解调的gnuradio相位漂移

转载 作者:行者123 更新时间:2023-12-02 22:49:15 25 4
gpt4 key购买 nike

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

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

该项目的一部分要求我生成引用音频音调并将该音调的相位与解调音频进行比较。

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

gnuradio flowgraph

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

scope photo #1

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

scope photo #2

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

提前感谢您的任何见解

最佳答案

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

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

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

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

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

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

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

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

    关于audio - AM解调的gnuradio相位漂移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33636807/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com