如何给数据添加高斯白噪声?
生活随笔
收集整理的這篇文章主要介紹了
如何给数据添加高斯白噪声?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在軸承故障研究中免不了要涉及到給數據主動加入噪聲的情況,一般我們加的是高斯白噪聲。高斯白噪聲定義如下:
定義一:如果一個噪聲,它的瞬時值服從高斯分布,而它的功率譜密度又是均勻分布的,則稱它為高斯白噪聲。
定義二:在一般的通信系統的工作頻率范圍內熱噪聲的頻譜是均勻分布的,好像白光的頻譜在可見光的頻譜范圍內均勻分布那樣,所以熱噪聲又常稱為白噪聲。由于熱噪聲是由大量自由電子的運動產生的,其統計特性服從高斯分布,故常將熱噪聲稱為高斯白噪聲。
信噪比公式如下:
?
在論文里我們一般按照信噪比SNR大小來給原始信號中添加白噪聲,代碼如下:
def awgn(x, snr):'''加入高斯白噪聲 :x: 原始信號:snr: 信噪比'''snr = 10 ** (snr / 10.0)xpower = np.sum(x ** 2) / len(x)npower = xpower / snrnoise = np.random.randn(len(x)) * np.sqrt(npower)return x + noise我們從西儲大學軸承數據中取一段時序信號:
?加入噪聲后是這樣:
前段時間看過的論文都沒有太明確說明怎么進行測試的。首先測試集應該是加噪聲的,至于訓練集需不需要加噪聲就見仁見智了。我個人測試的結果是,訓練集如果不加噪聲的話效果特別差,如果加噪聲的話效果就比較好接受,大家可以自己試試看。
總結
以上是生活随笔為你收集整理的如何给数据添加高斯白噪声?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是端口?端口号分为几种类型?
- 下一篇: Integer的值范围-128~127