如何将白高斯噪声添加到信号中

时间:2014-11-27 04:16:16

标签: matlab signal-processing noise

如何在信号中添加高斯白噪声 现在,我正在使用awgn功能,但它不起作用 我给出的参数不正确吗?

EDITED

x = -2:.002:2;

% Initail variables
M = 0;
V = 500*10^(-6);

% Creating a singal
T = -pi + (pi+pi)*rand(1,1);
S = (13.5)*cos(2*pi*x+T);

% Creating Noise singal
W = M+sqrt(V)*rand(1,2500);

% Adding Noise to signal // This doesn't work
SW = awgn(S,W,'measured');
% or this doesn't work too
SW = S + W;

提前致谢。

enter image description here enter image description here

2 个答案:

答案 0 :(得分:1)

来自Matlab手册

  

y = awgn(x,snr)将白高斯噪声添加到矢量信号x。 标量 snr指定每个样本的信噪比,单位为dB。

答案 1 :(得分:1)

您的矢量大小不同。 S为1x2001,W为1x2500。尝试

W = M + sqrt(V)*rand(size(S));

然后你可以通过

添加信号
SW = S + W;

正如Kostya已经写过的那样,如果你知道所需的SNR,就可以使用awgn