MATPLOT PSD(功率密度谱)

时间:2017-07-17 08:01:06

标签: python matplotlib gnuradio

我很想在python中创建一个PSD(基于Welch的平均值)我的sdr模块。 我用这个函数:

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

我实际上是这样做的:

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

感谢。

1 个答案:

答案 0 :(得分:0)

mlab.psd()使用的算法不能处理不规则间隔的时间间隔。您可以舍入或插值到均匀间隔的时间点。看看this answer处理这个问题。