matlab 维纳滤波波形图
时间: 2023-07-13 18:27:07 浏览: 94
matlab维纳滤波
以下是使用MATLAB进行维纳滤波后的波形图示例代码:
```matlab
% 定义信号
Fs = 1000; % 采样率
t = 0:1/Fs:1-1/Fs; % 时间向量
f1 = 10; % 信号频率
f2 = 50; % 噪声频率
x = sin(2*pi*f1*t) + sin(2*pi*f2*t); % 合成信号
% 添加噪声
n = 0.5*randn(size(x)); % 高斯噪声
xn = x + n;
% 维纳滤波
y = wiener2(xn,[3 3]); % 3x3的滤波器大小
% 绘制波形图
figure;
subplot(3,1,1);
plot(t, x);
title('原始信号');
xlabel('时间 (秒)');
subplot(3,1,2);
plot(t, xn);
title('添加噪声后的信号');
xlabel('时间 (秒)');
subplot(3,1,3);
plot(t, y);
title('维纳滤波后的信号');
xlabel('时间 (秒)');
```
运行以上代码后,会显示一个包含三个子图的窗口,分别是原始信号、添加噪声后的信号和维纳滤波后的信号的波形图。其中,维纳滤波后的信号波形图应该比添加噪声后的信号波形图更接近于原始信号。
阅读全文