振动信号加高斯白噪声的matlab代码
时间: 2023-07-29 19:10:07 浏览: 190
下面是一个示例的 MATLAB 代码,用于生成带有高斯白噪声的振动信号:
```matlab
% 参数设置
fs = 1000; % 采样率
T = 1/fs; % 采样间隔
t = 0:T:1; % 时间序列
% 生成振动信号
f0 = 10; % 振动信号频率
A = 1; % 振动信号幅值
vibration_signal = A*sin(2*pi*f0*t);
% 生成高斯白噪声
noise_power = 0.1; % 噪声功率
noise = sqrt(noise_power)*randn(size(t));
% 添加噪声到振动信号中
vibration_with_noise = vibration_signal + noise;
% 绘制结果
figure;
subplot(3,1,1);
plot(t, vibration_signal);
title('振动信号');
xlabel('时间');
ylabel('振幅');
subplot(3,1,2);
plot(t, noise);
title('高斯白噪声');
xlabel('时间');
ylabel('噪声幅度');
subplot(3,1,3);
plot(t, vibration_with_noise);
title('带有高斯白噪声的振动信号');
xlabel('时间');
ylabel('振幅');
```
这段代码首先定义了参数,如采样率、采样间隔和时间序列。然后,使用正弦函数生成一个振动信号。接下来,根据设定的噪声功率,使用 `randn` 函数生成高斯白噪声。最后,将噪声添加到振动信号中,并使用subplot绘制出振动信号、噪声和带有噪声的振动信号三个图形。你可以根据需要自行调整参数和绘图方式。
阅读全文