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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM