滑动均值滤波 matlab
时间: 2023-08-29 11:11:26 浏览: 105
Matlab.rar_matlab 中值滤波_中值滤波_平滑滤波_平滑滤波器_直方图均衡化 matlab
滑动均值滤波是一种常用的信号处理方法,可以用于去除信号中的高频噪声。在Matlab中,可以使用`smooth`函数来实现滑动均值滤波。
具体步骤如下:
1. 定义输入信号 `x` 和滑动窗口大小 `w`。
2. 使用 `smooth` 函数对 `x` 进行滑动均值滤波。函数调用格式为:`y = smooth(x, w, 'moving')`,其中 `'moving'` 表示使用滑动窗口平均法,`w` 表示窗口大小。
3. 绘制原始信号 `x` 和滤波后的信号 `y`,进行比较和分析。
下面是一个示例代码:
```matlab
% 定义信号和窗口大小
x = randn(1, 100); % 生成随机信号
w = 5; % 窗口大小
% 滑动均值滤波
y = smooth(x, w, 'moving');
% 绘制信号
subplot(2,1,1);
plot(x);
title('原始信号');
xlabel('样本');
ylabel('幅值');
subplot(2,1,2);
plot(y);
title('滑动均值滤波后信号');
xlabel('样本');
ylabel('幅值');
```
在上述示例代码中,我们使用 `randn` 函数生成了一个100个样本的随机信号 `x`,然后使用 `smooth` 函数对其进行滑动均值滤波,窗口大小为 `5`。最后,我们使用 `subplot` 函数将原始信号和滤波后的信号绘制在同一个图像中进行比较。
阅读全文