温馨提示×

在Matlab中设计一个简单的带通/带阻滤波器

小云
153
2023-09-26 09:48:29
栏目: 编程语言

在Matlab中设计一个简单的带通/带阻滤波器,可以使用函数fir1firpm来设计滤波器系数。以下是使用fir1函数设计一个带通/带阻滤波器的示例代码:

% 设计一个简单的带通/带阻滤波器
fs = 1000; % 采样频率
fcuts = [100, 200, 300, 400]; % 通/阻带边界频率
mags = [0, 1, 0]; % 通/阻带增益
devs = [0.01, 0.05, 0.01]; % 通/阻带允许波动范围
% 使用fir1函数设计滤波器系数
order = 64; % 滤波器阶数
b = fir1(order, fcuts/(fs/2), 'bandpass', 'cheby1', 'noscale');
% 绘制滤波器的频率响应
freqz(b, 1, 1024, fs);
% 使用滤波器滤波信号
% x = 输入信号
% y = filter(b, 1, x);

上述代码中,fs是采样频率,fcuts是通/阻带边界频率,mags是通/阻带增益,devs是通/阻带允许波动范围,order是滤波器阶数。使用fir1函数设计滤波器系数b,然后可以使用filter函数来应用滤波器。最后,使用freqz函数绘制滤波器的频率响应。

0