加性高斯噪声matlab代码
时间: 2024-11-13 19:42:16 浏览: 39
在MATLAB中添加加性高斯噪声通常涉及到生成随机数并将其添加到信号上。下面是一个简单的示例,展示如何创建一段正弦波信号,并向其添加加性高斯白噪声:
```matlab
% 设置信号参数
t = linspace(0, 1, 1000); % 时间范围
f = 5; % 频率
y = sin(2 * pi * f * t); % 正弦波
% 添加高斯噪声
sigma = 0.1; % 噪声的标准差
n = sigma * randn(size(t)); % 生成随机高斯噪声 (mean=0, std=sigma)
noisy_y = y + n; % 把噪声加到信号上
% 可视化原始信号和带噪信号
figure;
subplot(2, 1, 1);
plot(t, y, 'b', 'LineWidth', 1.5);
title('Original Signal');
xlabel('Time');
ylabel('Amplitude');
subplot(2, 1, 2);
plot(t, noisy_y, 'r', 'LineWidth', 1.5);
title('Signal with Gaussian Noise');
xlabel('Time');
ylabel('Amplitude');
```
这个例子中,`randn(size(t))`函数用于生成与时间序列`t`大小相同的均匀分布的随机数,代表高斯噪声。`sigma`决定了噪声的强度。
阅读全文