如何使用音频重采样器对 IF 信号进行重采样

Posted

技术标签:

【中文标题】如何使用音频重采样器对 IF 信号进行重采样【英文标题】:How can I use an audio-resampler to resample IF signals 【发布时间】:2010-09-23 14:49:01 【问题描述】:

有很多可用的音频重采样库。我最喜欢Secret Rabbit Code。

音频重采样器保持重采样信号的正确频率,因此源中的 4KHz 正弦将在目标中保持 4KHz 正弦。

不过,这一次,我需要对采样的 IF/RF 信号重新采样。

采样信号包含最初在 f0-BW/2 到 f0+BW/2 频率范围内的数据,移至 0..BW。

与音频信号相同,应保持正确的频率,但现在“正确”意味着与中心的距离相同 - 而不是与采样音频的距离为 0。

例如[已编辑]:如果我将一个 64KSamples/Sec 的中频信号重采样为 48KSamples/Sec,重采样后 16KHz 的音调将变为 12KHz,而 14KHz 的音调将变为 12KHz重采样后。原来的范围 [4..28KHz] 现在是 [0..24KHz]。

我的问题是:我可以重复使用音频重采样代码来进行 IF 重采样吗?

注意:我的样本是真实的,并不复杂。

【问题讨论】:

嗯,你能分享一些关于“IF”信号的信息吗?看起来很有趣,但不知道它是什么......另外,你在谈论改变频率,但如果你的重采样器正在工作,它就不应该发生...... @Daniel Mošmondor:IF 代表“中频”(参见en.wikipedia.org/wiki/Intermediate_frequency),但它只是一个普通的带限信号(以中心频率 f0 和带宽 BW 为特征)。 【参考方案1】:

如果您对信号重新采样,您将丢失或混叠 fs/2 或以上的任何内容。任何低于 fs/2 的信号都将保持相同的频率。

因此,如果您以 64 ksps 的采样率重新采样信号,则应首先滤除接近或高于 32 ksps 的任何内容,或者作为重采样滤波器/插值器的一部分。由于抗混叠滤波器的有限滚降过渡宽度,您可能不仅会丢失 32 kHz 的任何信号内容,而且可能还会丢失 30 kHz 的信号内容。

如果您想将 32 kHz 载波移至 24 kHz,则必须滤除带宽为 +-12 kHz 或更宽的任何调制(因此您的信号频谱为 8 到 56 kHz),然后重新调制(可能需要分两步完成),然后重新采样。

【讨论】:

假设我想将真实样本向量从 [4KHz..200KHz) 转移到 [0..196KHz),过滤掉 [0KHz..4KHz) ?【参考方案2】:

你说

采样信号包含数据 原本在频率范围内 f0-BW/2 到 f0+BW/2,移到 0..BW。

我怀疑您实际上有一个复杂时域样本流,从[f0-BW/2, f0+Bw/2) 转移到[-BW/2, BW/2),其中真实样本和虚构样本交错。您可以轻松地向自己证明这一点:如果输入信号是f0 的音调,则正交接收器将生成两个电平 - 一个用于同相分量,一个用于正交分量。如果 I 和 Q 分量在时域流中交错,那将看起来像一个恰好是采样率一半的信号。

您仍然可以对这样的数据流进行重新采样,您只需确保重新采样工具了解您有两个交错通道,或者您必须先对它们进行去交错处理。

【讨论】:

谢谢,但我没有错。我的信号转移到 [0, BW) (整数实样本)。如果我画一个频谱图,原来 f0 处的音调将是 BW/2。 可能我理解错了——f0是混频吗? 我没有混音。我从数字接收器得到这个真实的向量。在接收方报告的向量中,f0 处的原始音调将在 BW/2 处。 我应该问是f0 中心频率吗?如果输入信号是f0 处的纯音,那么时域样本是否大致相等——就像直流电平一样?你是如何绘制频谱图的? f0 是接收器调谐到的中心频率(或接收器的 IF 频率 - 并不重要)。我正在使用 goldwave(或任何其他音频播放器)绘制频谱图。当然我听不到任何有意义的东西,因为我在听 shift IF。

以上是关于如何使用音频重采样器对 IF 信号进行重采样的主要内容,如果未能解决你的问题,请参考以下文章

音频重采样

音频重采样

融云分析基于 ffmpeg 实现重采样和混音

matlab中怎样对数据进行重采样

javaCV开发详解之14:音频重采样

ffmpeg音频重采样