日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

matlab中给信号添加高斯白噪声的两种方法,awgn计算过程,randn函数

發(fā)布時間:2024/3/12 循环神经网络 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab中给信号添加高斯白噪声的两种方法,awgn计算过程,randn函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

y=awgn(x,snr,px_dBW)

給信號x添加噪聲功率為某個值的高斯白噪聲。

snr為信噪比,單位dB。

px_dBW為信號x的指定功率(注意,是指定功率,而不是x本身的功率),單位dBW。

缺省時為0dBW,即:
awgn(x,snr)=awgn(x,snr,0)

‘measured’為根據(jù)x自動計算出來的本身功率,即用x本身的功率當作指定功率:
px_W= norm(x)^2/length(x)(信號的功率計算請參見本人的另一邊文章)
px_dBW=10log10(px_W/1W)

有了信噪比snr和信號的指定功率px_dBW,就可以計算出來要添加的高斯白噪聲的功率了,就是開篇的某個值

有了高斯白噪聲的功率pn_W,那高斯白噪聲序列n本身也可以得到了。
matlab中的randn()函數(shù)產(chǎn)生功率為1的高斯分布,則功率為pn_W的高斯分布為

驗證:

對兩邊求功率(平方運算),左邊為構(gòu)造序列的功率,右邊為pn_W乘以randn()序列的功率。上面已經(jīng)說過,randn()序列的功率為1,所以該構(gòu)造序列的功率就是pn_W,這個構(gòu)造序列n就是要疊加到原始信號上的高斯白噪聲。

matlab代碼如下:

%% 信號x t=0:0.01:10; x=sin(2*pi*t); subplot(3,2,[1 2]);plot(t,x);title('x'); %% 對比1 % 信噪比和信號指定功率 snr=20; px_dBW=0; % 調(diào)用awgn函數(shù)直接計算 y1=awgn(x,snr,px_dBW); subplot(3,2,3);plot(t,y1);title(['awgn(x,',num2str(snr),',',num2str(px_dBW),')']); % 調(diào)用randn函數(shù)產(chǎn)生噪聲序列再疊加 pn_W=10^((px_dBW-snr)/10); n=sqrt(pn_W)*randn(1,length(x)); y2=x+n; subplot(3,2,4);plot(t,y2);title('信號疊加噪聲'); %% 對比2 % 信噪比和信號指定功率 snr=10; px_dBW=10; % 調(diào)用awgn函數(shù)直接計算 y1=awgn(x,snr,px_dBW); subplot(3,2,5);plot(t,y1);title(['awgn(x,',num2str(snr),',',num2str(px_dBW),')']); % 調(diào)用randn函數(shù)產(chǎn)生噪聲序列再疊加 pn_W=10^((px_dBW-snr)/10); n=sqrt(pn_W)*randn(1,length(x)); y2=x+n; subplot(3,2,6);plot(t,y2);title('信號疊加噪聲');

圖形:

可以看出,兩種方法直接調(diào)用awgn先用randn得到噪聲序列再疊加對信號的畸變程度相同。
并且符合公式結(jié)果:
px_dBW越大/snr越小,則噪聲的功率越大,信號的畸變越明顯。

總結(jié)

以上是生活随笔為你收集整理的matlab中给信号添加高斯白噪声的两种方法,awgn计算过程,randn函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。