2017-07-17 131 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