我有一个软件定义的无线电记录的信号输出值,其中心频率为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] 范围内。我很困惑如何解释这个结果,或者如何计算数据中存在的频率?
当SDR样本为基带IQ(或复数,或余弦/正弦)时,带宽等于IQ采样率。 这是因为基带 IQ 样本(与single_channel严格的真实样本不同)可以独立地包含正负频谱,高于 RTL-SDR 调谐 (et.al.) 调谐射频频率设置的一半带宽和低于一半带宽(除非选择了频率偏移)。
因此,IQ 数据的 FFT 的频率范围将从 Fcenter - (indicated_bandwidth/2) 到几乎 Fcenter + (indicated_bandwidth/2)。 或者对于您的示例:162.050 到 (略低于)163.050 MHz。 ("低于位"值取决于 FFT 大小。 步长 dF 等于 IQ 采样率除以 FFT 长度。
(请注意,标量样本中的数据速率是 IQ 采样率的两倍,因为每个 IQ 样本包含两个样本(实部和虚部,或余弦和正弦混频器输出)。 因此,由于每个 IQ 样本包含更多信息,因此信息带宽可以更大。 但 SDR 应用程序通常指示 IQ 采样率,而不是更高的原始数据速率。