我的軟件定義無線電的中心頻率爲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?如果沒有,那麼你會看到一些非常奇怪的結果:) –