fir带通滤波器matlab程序
时间: 2023-11-08 22:05:26 浏览: 90
下面是一个使用窗函数法设计实现FIR带通滤波器的Matlab程序:
```matlab
close all;
clear all;
clc;
% 设计参数
Fs = 8000; % 采样率
Fp1 = 1000; % 通带1端点频率
Fp2 = 2000; % 通带2端点频率
Fs1 = 500; % 阻带1端点频率
Fs2 = 2500; % 阻带2端点频率
Rp = 1; % 通带最大衰减
Rs = 60; % 阻带最小衰减
% 计算通带和阻带边界的归一化频率
Wp1 = 2*Fp1/Fs;
Wp2 = 2*Fp2/Fs;
Ws1 = 2*Fs1/Fs;
Ws2 = 2*Fs2/Fs;
% 计算滤波器阶数和截止频率
[N, Wn] = buttord([Wp1, Wp2], [Ws1, Ws2], Rp, Rs);
[b, a] = butter(N, Wn, 'bandpass');
% 绘制滤波器幅频响应
freqz(b, a, 512, Fs);
```
该程序使用了Butterworth滤波器设计方法,通过调整通带和阻带的边界频率、通带最大衰减和阻带最小衰减等参数,可以实现不同要求的带通滤波器设计。
阅读全文