【发布时间】:2017-08-26 00:39:33
【问题描述】:
我的信号输出值由中心频率为 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] 范围内。我很困惑如何解释这个结果,或者如何计算数据中存在的频率?
【问题讨论】:
-
fftfreq接受采样间隔。只需致电freq=np.fft.fftfreq(fourier.shape[0], d=1/1e6)(我假设您以每秒 1 兆样本的速度进行采样,因此您的样本间隔为 1 微秒)。freq应该从 0 运行到 500 KHz,然后跳到 -500 KHz 到 0。现在只需plot(freq, np.abs(fourier))。 -
呃,再次确认一下——您说载波是 162 MHz,而您以 1 MHz 采样。我假设硬件已经将信号解调到基带,并将其低通滤波到
-
没有复杂的数据
-
@hotpaw2 你能解释一下吗?为什么下面的答案是错误的(可能是在下面添加你的答案)?
标签: python scipy signal-processing fft software-defined-radio