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。然后我们可以帮助你。好的,我已经编辑了我的问题,请再次为我检查。