我有一组由软件定义无线电记录的信号输出值,其中心频率为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)
(其中假设您以一兆采样率进行采样,因此您的采样间隔为一微秒)。freq
应从 0 到 500 KHz 运行,然后跳到 -500 KHz 到 0。现在只需要plot(freq, np.abs(fourier))
。 - Ahmed Fasihrfftfreq
和rfft
。 - Ahmed Fasih