python序列中添加高斯噪声

1 def wgn(x, snr):
2   snr = 10**(snr/10.0)
3   xpower = np.sum(x**2)/len(x)
4   npower = xpower / snr
5   return np.random.randn(len(x)) * np.sqrt(npower)

wgn是获得原始信号为x,相对于原始信号信噪比是snr dB的高斯噪声

voice= [......]     #voice 为一个声音序列
n = wgn(voice, 6)
voice= np.array(voice)
n = np.array(n)
voice_withnoise= voice+n
plt.plot(voice_withnoise)
plt.show()

 

posted on 2017-07-06 21:01  HelloShijam  阅读(17968)  评论(0编辑  收藏  举报

导航