在matlab中无论是wgn还是awgn函数,实质都是由randn函数产生的噪声。即,wgn函数中调用了randn函数,而awgn函数中调用了wgn函数。
根据awgn的实现代码可以知道“向已知信号添加某个信噪比(SNR)的高斯白噪声”,
即:awgn(x,snr,’measured’,'linear’),命令的作用是对原信号x添加信噪比(比值)为SNR的噪声,在添加之前先估计信号x的强度。
直接对原始信号添加噪声:
y=x+rand(length(x),1)
根据awgn的实现代码可以知道“向已知信号添加某个信噪比(SNR)的高斯白噪声”,
即:awgn(x,snr,’measured’,'linear’),命令的作用是对原信号x添加信噪比(比值)为SNR的噪声,在添加之前先估计信号x的强度。
直接对原始信号添加噪声:
y=x+rand(length(x),1)
y=x+randn(length(x),1))
做个测试:
t=0:0.001:1;
y1=(pi/2)*cos(2*pi*t)+(pi/64)*cos(pi*t/8+pi/3);
temp=y1+0.02*rand(size(y1));
plot(t,y1,t,temp,'r')
附: