我正在使用python中的代码生成离散信号和离散噪声,这些噪声是通过函数获得的,该函数可以在网站上找到:
def PSDToSeries(lenTimeSeries, freq,psdLoad):
df=freq[2]-freq[1]
amplitude=(2*psdLoad*df)**0.5
epsilon=np.zeros(len(amplitude))
randomseries=np.zeros(len(amplitude))
epsilon=-np.pi+2*np.pi*np.random.randn(1,len(amplitude))
randomSeries=lenTimeSeries*np.real(np.real(np.fft.ifft(amplitude*np.exp(epsilon*1j*2*np.pi))))
return randomSeries
然后我反转以通过mlab.psd获得噪声时间序列的psd。
很明显,噪声的psd有波动,那么如果我要使用噪声的psd来计算SNR,数字psd可以直接使用还是应该处理,例如去除波动。