我的软件定义无线电的中心频率为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'](https://docs.scipy.org/doc/numpy/reference/ generated/numpy.fft.fftfreq.html)接受采样间隔。只要调用'freq = np.fft.fftfreq(fourier.shape [0],d = 1/1e6)'(我假设你每秒采样一次,所以你的采样间隔一微秒) 。 'freq'应该从0到500 KHz,然后跳到-500 KHz到0。现在只需'plot(freq,np.abs(fourier))'。 –
如果您的数据是真实的(不是复数值),请考虑['rfftfreq'](https://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.rfftfreq.html)和['rfft '](https://docs.scipy.org/doc/numpy/reference/generated/numpy.fft.rfft.html)。 –
呃,只是为了仔细检查 - 你说的载波是162 MHz,而你是以1 MHz的频率采样的。我假设硬件已经将信号解调到基带,并将其低通滤波到<500 KHz?如果没有,那么你会看到一些非常奇怪的结果:) –