Matlab 如何在信号中加入高斯白噪声

Matlab 如何在信号中加入高斯白噪声,matlab,signal-processing,noise,Matlab,Signal Processing,Noise,如何将高斯白噪声添加到信号中。 现在,我正在使用awgn函数,但它不起作用。 我是否给出了错误的参数 已编辑 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); % Add

如何将高斯白噪声添加到信号中。
现在,我正在使用awgn函数,但它不起作用。
我是否给出了错误的参数

已编辑

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;
提前谢谢

来自Matlab手册

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


你的向量大小不一样<代码>S为1x2001,而
W
为1x2500。试一试

W = M + sqrt(V)*rand(size(S));
然后,您可以通过以下方式添加信号:

SW = S + W;

正如克斯特亚所写的那样,如果你知道所需的信噪比,就可以使用awgn。

你说的“它不工作”是什么意思?代码运行时是否给出了不正确的结果(在这种情况下,会给出预期的和实际的输出以及一个小测试用例),还是会给出错误而未完成(在这种情况下,会给出错误消息和一个小测试用例)?您的示例无法运行。请提供所有需要的值(尤其是
x
)。我假设向量
S
W
的大小不同,否则
SW=S+W应该可以正常工作。确定一下:试试
W=M+sqrt(V)*rand(size(S))你需要定义V和x,S和W的尺寸必须相同,我建议你一步一步地调试你的代码,让我们知道具体的问题是什么。请定义:x1,x,M和V。然后我们可以帮助你。好的,我已经编辑了我的问题,请再次为我检查。