matlab产生高斯噪声
时间: 2023-11-26 22:48:23 浏览: 106
产生高斯噪声可以使用MATLAB中的`imnoise`函数。该函数可以添加各种类型的噪声,包括高斯噪声。以下是一个示例代码,演示如何使用`imnoise`函数添加高斯噪声:
```matlab
% 读取图像
img = imread('lena.png');
% 添加高斯噪声
noise_img = imnoise(img, 'gaussian', 0, 0.01);
% 显示原图和添加噪声后的图像
subplot(1, 2, 1);
imshow(img);
title('原图');
subplot(1, 2, 2);
imshow(noise_img);
title('添加高斯噪声后');
```
在上面的代码中,`imnoise`函数的第一个参数是输入图像,第二个参数是噪声类型,这里选择了高斯噪声,第三个参数是噪声均值,这里设置为0,第四个参数是噪声方差,这里设置为0.01。
相关问题
matlab生成高斯噪声
您好!感谢您使用ChitGPT进行对话。关于您的问题,可以使用matlab中的函数添加高斯噪声。可以使用“imnoise”函数,像这样:
```matlab
I_noisy = imnoise(I,'gaussian',mean,variance);
```
其中,“I”是要加噪声的图像,“mean”是高斯噪声的均值,“variance”是高斯噪声的方差。
希望这可以帮助您。如果您对此有任何其他问题,请随时问我!
matlab 产生高斯噪声叠加正弦信号
可以使用如下代码生成高斯噪声并将其叠加到正弦信号中:
```matlab
% 声明参数
fs = 1000; % 采样频率
t = 0:1/fs:1-1/fs; % 时间序列
f1 = 50; % 正弦信号频率
A1 = 1; % 正弦信号幅值
mu = 0; % 高斯噪声均值
sigma = 0.1; % 高斯噪声标准差
% 生成正弦信号
x1 = A1*sin(2*pi*f1*t);
% 生成高斯噪声
noise = mu + sigma*randn(size(t));
% 叠加噪声和信号
y = x1 + noise;
% 绘图
figure;
subplot(3,1,1);
plot(t,x1);
title('正弦信号');
subplot(3,1,2);
plot(t,noise);
title('高斯噪声');
subplot(3,1,3);
plot(t,y);
title('噪声叠加后的信号');
```
上述代码中,首先声明了采样频率、时间序列、正弦信号频率和幅值,以及高斯噪声的均值和标准差。然后使用 `sin` 函数生成正弦信号,使用 `randn` 函数生成高斯噪声。最后将两者叠加得到最终的信号,并使用 `subplot` 函数将三个信号绘制在同一张图中。
阅读全文