MATLAB实现简单滤波器程序
滤波器是数字信号处理中常用的工具,用于去除信号中的噪声或者对信号进行特定频率范围内的增强。本文将介绍如何使用MATLAB实现一个简单的滤波器程序,并提供相应的源代码。
首先,我们需要定义一个输入信号。在本例中,我们将使用一个包含噪声的正弦信号作为输入。以下是生成输入信号的MATLAB代码:
% 生成输入信号
fs = 1000; % 采样率
t = 0:1/fs:1-1/fs; % 时间向量
f1 = 10; % 正弦信号的频率
x = sin(2*pi*f1*t); % 正弦信号
% 添加噪声
noise = 0.5*randn(size(t)); % 高斯白噪声
x_noisy = x + noise; % 添加噪声后的信号
接下来,我们将实现一个简单的低通滤波器,用于去除输入信号中的高频噪声。这里我们使用一个简单的移动平均滤波器,通过对信号进行平均来模糊高频部分。以下是实现低通滤波器的MATLAB代码:
% 低通滤波器参数
windowSize = 10; % 窗口大小
% 应用低通滤波器
b = (1/windowSize)*ones(1, windowSize);
a = 1;
x_filtered = filter(b, a, x_noisy);
<