滑动平均滤波器滑动平均滤波器matlab代码
时间: 2024-04-23 17:21:00 浏览: 104
滑动平均系统的去噪处理
滑动平均滤波器是一种常用的信号处理方法,用于平滑信号并去除噪声。它通过计算一段时间内信号的平均值来实现。以下是一个简单的滑动平均滤波器的MATLAB代码示例:
```matlab
function filtered_signal = sliding_average_filter(signal, window_size)
filtered_signal = zeros(size(signal));
for i = 1:length(signal)
if i <= window_size
filtered_signal(i) = mean(signal(1:i));
else
filtered_signal(i) = mean(signal(i-window_size+1:i));
end
end
end
```
这段代码定义了一个名为`sliding_average_filter`的函数,它接受两个参数:`signal`是输入信号,`window_size`是滑动窗口的大小。函数通过遍历输入信号,并在每个位置上计算窗口内信号的平均值,将结果存储在`filtered_signal`中。
使用这个滑动平均滤波器的示例代码如下:
```matlab
% 生成一个随机信号
signal = randn(1, 100);
% 设置滑动窗口大小为10
window_size = 10;
% 应用滑动平均滤波器
filtered_signal = sliding_average_filter(signal, window_size);
% 绘制原始信号和滤波后的信号
plot(signal, 'b', 'LineWidth', 1.5);
hold on;
plot(filtered_signal, 'r', 'LineWidth', 1.5);
legend('原始信号', '滤波后的信号');
```
这段示例代码生成一个长度为100的随机信号,并使用滑动平均滤波器对其进行平滑处理。最后,通过绘图将原始信号和滤波后的信号进行对比。
阅读全文