Matlab 給信號加高斯白噪聲AWGN

AWGN:在某一信號中加入高斯白噪聲
y = awgn(x,SNR) 在信號x中加入高斯白噪聲。信噪比SNR以dB爲單位。x的強度假定爲0dBW。若是x是複數,就加入復噪聲。
y = awgn(x,SNR,SIGPOWER) 若是SIGPOWER是數值,則其表明以dBW爲單位的信號強度;若是SIGPOWER爲'measured',則函數將在加入噪聲以前測定信號強度。
y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的狀態。
y = awgn(…,POWERTYPE) 指定SNR和SIGPOWER的單位。POWERTYPE能夠是'dB'或'linear'。若是POWERTYPE是'dB',那麼SNR以dB爲單 位,而SIGPOWER以dBW爲單位。若是POWERTYPE是'linear',那麼SNR做爲比值來度量,而SIGPOWER以瓦特爲單位函數

clear all;
% To specify the power of X to be 0 dBW and add noise to produce
% an SNR of 10dB, use:
X = sqrt(2)*sin(0:pi/8:6*pi);
Y = awgn(X,10,0);
% To specify the power of X to be 3 Watts and add noise to
% produce a linear SNR of 4, use:
Y1 = awgn(X,4,3,'linear');
% To cause awgn to measure the power of X and add noise to
% produce a linear SNR of 4, use:
Y2 = awgn(X,4,'measured','linear'); % 
subplot(411);
plot(X);
subplot(412);
plot(Y);
subplot(413);
plot(Y1);
subplot(414);
plot(Y2);
相關文章
相關標籤/搜索