我用以下代码绘制了这个光谱:
[Y,F]=psd(samples, NFFT=1024, Fs=sdr.sample_rate/1e6,
Fc=sdr.center_freq/1e6, noverlap=0)
xlabel('Frequency (MHz)')
ylabel('Relative power (dB)')
max=np.max(Y)
print(max)
然后我得到了
最大= 0.000458510518667
实际上,如果我打印Y的值,我会得到:
[8.60400008e-06 7.85361760e-06 9.00300444e-06 ...,
9.55738417e-06 1.14888955e-05 1.12340323e-05]
也许我需要做些别的事来获得我在情节中看到的振幅?
答案 0 :(得分:1)
实际上没有以dB为单位给出结果:
10 * log(0.000458)= -33 dB(约)
因此,前面的代码是正确的,如果需要获取PSD函数的最大值,可以使用它。您可以添加以下代码:
max=np.max(Y)
log=10*math.log10(max)
print(max)
print(log)
我感谢用户@ImportanceOfBeingErnest,他是我正在使用的Python库中的专家,matplotlib。