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()

 

转载于:https://www.cnblogs.com/wqpkita/p/7128323.html

你可能感兴趣的:(python,人工智能,数据结构与算法)