计算快速傅里叶变换中存在的频率

时间:2017-03-31 16:44:48

标签: python scipy signal-processing fft software-defined-radio

我有一个软件定义无线电记录的信号输出值,其中心频率为162.550 MHz&采样率为1,000,000。现在分析频域中的数据,我计算出直接的FFT。

#Calculating FFT of signal 
fourier=np.fft.fft(RadioData)

因为对于幅度与频率的关系图,我还需要计算信号中存在的频率。我使用了Numpy fftfreq。

freq=np.fft.fftfreq(fourier.shape[0])

输出范围为[-0.5 0.4999995]。我很困惑如何解释这个结果,或者如何计算数据中存在的频率?

1 个答案:

答案 0 :(得分:1)

当SDR样本是基带IQ(或复数或余弦/正弦)时,带宽等于IQ采样率。这是因为基带IQ样本(与single_channel严格实际样本不同)可以包含正负频谱,独立地,高于RTL-SDR(等)调谐RF频率设置的带宽的一半和一半带宽(除非a选择频率偏移。)

因此,IQ数据的FFT的频率范围将从Fcenter - (indication_bandwidth / 2)到几乎Fcenter +(shown_bandwidth / 2)。或者为您的示例:162.050到(略低于)163.050 MHz。 (“位低于”值取决于FFT大小。)步长dF,即IQ采样率除以FFT长度。

(请注意,标量样本中的数据速率是IQ采样率的两倍,因为每个IQ样本包含两个样本(实数和虚数分量,或余弦和正弦混频器输出)。因此,因为每个IQ样本包含更多信息,信息带宽可能更大。但SDR应用程序通常表示IQ采样率,而不是更高的原始数据率。)