matlab 产生高斯噪声叠加正弦信号
时间: 2023-08-23 18:05:46 浏览: 185
基于Matlab的高斯噪声产生方法
5星 · 资源好评率100%
可以使用如下代码生成高斯噪声并将其叠加到正弦信号中:
```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` 函数将三个信号绘制在同一张图中。
阅读全文