2017-07-17 104 views
0

我很喜歡在python中使用我的sdr模塊的PSD(基於韋爾奇的平均值)。 我用這個函數:MATPLOT PSD(功率密度譜)

matplotlib.mlab.psd(x, NFFT=None, Fs=None, detrend=None, window=None, noverlap=None, pad_to=None, sides=None, scale_by_freq=None) 

Source

其實我的問題是關於如何選擇每個值之間的差距?

例如,我希望能有105和106之間的10個值那麼我會有10個值是這樣的:

105.1, 105.2 105.3 105.4 105.5 105.6 105.7 105.8 105.9 106

NOTE:事實上我這樣做:

psd(samples, NFFT=10, Fs=sdr.sample_rate/1e6, Fc=sdr.center_freq) 

我無線電模塊的採樣率爲1.024 MHz,但每個值之間的差距並不是這樣規則的:Fc=105.3 ===> 105.300001 105.300003.....

來源:https://github.com/roger-/pyrtlsdr

謝謝。

回答

0

mlab.psd()使用不處理不規則間隔時間間隔的算法。您可以選擇四捨五入或均勻間隔的時間點。看看有關處理這個問題的this answer

+0

好的,所以他們沒有辦法從這個功能來處理不規則間隔的時間間隔。也許它存在另一個FFT函數來做到這一點? – azzerty2017

+0

看看[this](https://pypi.python.org/pypi/pyNFFT)模塊 –

+0

如果我想繼續使用PSD。它更好地舍入或內插? – azzerty2017