杨梓鑫的回答:可以使用如下的函数实现 R = normrnd(MU,SIGMA) (生成均值为 MU,标准差为 SIGMA 的正态随机数) R = normrnd(MU,SIGMA,m) (生成 1× m 个正态随机数) R = normrnd(MU,SIGMA,m,n) (生成 m 行 n 列的 m × n 个正态随机数) 假设输入信号为X,则给X加上一个均值为0,方差为1的高斯白噪声信号的方法为 Y=X+normrnd(0,1); % 设置采样区间 k=(0:300)'/100; % 计算采样值 x=sin(2*pi*k); % 施加高斯白噪声 y=awgn(x,0); figure(1); % 设置绘图位置,左下角距屏幕左200像素,下200像素,宽800像素,高300像素 set(gcf,'Position',[200,200,800,300]); % 绘图网格1*2,左图绘制原始信号,右图绘制噪声信号 subplot(1,2,1),plot(k,x); subplot(1,2,2),plot(k,y); 煙消雲散的回答:wgn(100,1); 产生的就是100个均值为0,方差为1的高斯白噪声,要产生方差为4的,可以直接令得到的噪声数据乘以2,方差就是4了。 荣明方的回答:用matlab产生一个均值为1,方差为0.2的高斯白噪声的方法如下: 1、R = normrnd(MU,SIGMA) ?? 2、R = normrnd(MU,SIGMA,m) ?? 3、R = normrnd(MU,SIGMA,m,n)? 4、假设输入信号为X,则给X加上一个均值为0,方差为1的高斯白噪声信号的方法为: Y=X+normrnd(0,1); 5、% 设置采样区间 k=(0:300)'/100; 6、% 计算采样值 x=sin(2*pi*k); 7、% 施加高斯白噪声 y=awgn(x,0); figure(1); 8、% 设置绘图位置,左下角距屏幕左200像素,下200像素,宽800像素,高300像素 set(gcf,'Position',[200,200,800,300]); 9、% 绘图网格1*2,左图绘制原始信号,右图绘制噪声信号 subplot(1,2,1),plot(k,x); subplot(1,2,2),plot(k,y); 所谓高斯白噪声中的高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。这是考查一个信号的两个不同方面的问题。 高斯白噪声:如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。 热噪声和散粒噪声是高斯白噪声 |