matlab中如何给一组数据加入给定方差的高斯噪声

g=[4,5]';
H=[1,2;1,3];
a=[2,3]';
A=g-H*a;
请问如何给g的每个元素叠加高斯白噪声为SNR=30dB,40dB,50dB

矩阵g太小,所以不明显。
一般用于大一点的矩阵实验效果会更好,例如:
h=imread('photo.jpg'); %读入彩色图片
c=rgb2gray(h); %把彩色图片转化成灰度图片,256级
figure,imshow(c),title('原始图象'); %显示原始图象
g=imnoise(c,'gaussian',0.1,0.002); %加入高斯噪声
figure,imshow(g),title('加入高斯噪声之后的图象'); %显示加入高斯噪声之后
上面倒数第二句就是在原图加上高斯噪声的效果。追问

谢谢你!但是我还是不明白的是,imnoise是给图像加噪声,我是想给矩阵的没个元素加高斯噪声,所以用imnoise好像不行。

追答

图像也是二维矩阵,我程序中不是已经转换为灰度矩阵了嘛!注意imnoise参数的用法!

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-06-08
方法一:
I=imread(‘lena.bmp’);
I=double(I);
J=I+15*randn(size(I));
imshow(uint8(J));
方法二:nos=nos_mean+sqrt(nos_vari)*randn(framesize)
方法三:nos=normrnd(MU,SIGMA,m,n)
MU:noise mean;SIGMA:noise variance; image size:m*n

MATLAB--数字图像处理 添加高斯噪声
方法一:利用MATLAB的randn()函数生成高斯噪声。randn()函数专门用于生成正态分布的数据。例如,randn(10,10)生成一个10x10的矩阵,其元素遵循标准正态分布。生成噪声矩阵后,与原图像相加即可实现噪声的添加。注意在操作前要进行灰度范围的缩放处理。方法二:通过随机生成高斯噪声。这一方法涉及的函数与具...

如何用matlab 产生 均值为0,方差为5的高斯噪声
1、打开电脑上Matlab软件,然后点击“新建脚本”,如下图所示。2、在代码编辑区输入代码,先利用Imread函数读取图像,然后使用Imshow函数将图像展示出来,代码:f=imread('鱼木混猪.jpg');f=rgb2gray(f);subplot(121),imshow(f),title('原图像');。3、Matlab中利用imnoise函数可以添加各种噪声,而使用...

如何用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、% 施加高斯白噪声...

matlab中,给一个正弦信号加上一个均值为0,方差为1的高斯白噪声信号,想...
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的高斯白噪声信号的...

用matlab作出x(k)=sin(2πk)的图像,并加入零均值方差为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(...

matlab加高斯噪声
2. AWGN:在某一信号中加入高斯白噪声 y = awgn(x,SNR) 在信号x中加入高斯白噪声。信噪比SNR以dB为单位。x的强度假定为0dBW。如果x是复数,就加入复噪声。y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定...

如何在matlab的图像中加入高斯白噪声?
一般加入白噪声,只得是加入高斯白噪声利用randn产生高斯分布噪声加到原来的图像上就可以了假设你原来的图像的数据存在矩阵变量a中那么noise=A*randn(size(a));其中A是需要加噪声的方差值,A的取值确定噪声的幅度大小一般比图像信号幅度小得多b=a+noise;就是加了噪声之后的图像如何在matlab的图像中加入...

怎样用matlab给一维图像添加噪声
MATLAB 给图像添加噪声的命令为 imnoise 该函数的基本语法为:g=imnoise(f,type,parameters)f为是输入图像。函数imnoise在给图像添加噪声之前,将它转换为范围[0,1]内的double类图像。指定噪声参数时必须考虑到这一点。g=imnoise(f,'gaussian',m,var)将均值M,方差为var的高斯噪声加到图像f上,默认值...

如何给信号加高斯白噪声
MATLAB中,论证加噪信号经FRFT变换、滤波后,有效滤除噪声中需要给信号加入高斯白噪声,不要以为轻易的产生一个随机矩阵直接加到信号中就可以喽。那样的噪声大小既不可控,又没有意义。下面是给信号xt加入信噪比为-10db的MATLAB程序段:SNR_db=-10;SNR=10^(SNR_db\/10);%%%%%%%给LFM信号加高斯白...

matlab怎么产生混合高斯噪声?
在MATLAB中,生成混合高斯噪声的方法如下。首先定义混合系数、均值向量和方差矩阵,代表多元分布的参数。接着,生成一维的随机数向量,代表多元分布的类别选择。最后,根据所选类别,从相应的正态分布中生成噪声样本。例如,假设要生成一个包含两种类别的混合高斯噪声,每类包含100个样本。首先设置参数如下:混...

相似回答