一个例子:
设计一个FIR带通滤波器,参数要求:采样频率fs=100Hz,通带下限截止频率fc1=10 Hz,通带上限截止频率fc2=20 Hz,过渡带宽6 Hz,通阻带波动0.01,采用凯塞窗设计。
- fc1=10;
- fc2=20;
- fs=100;
- [n,Wn,beta,ftype]=kaiserord([7 13 17 23],[0 1 0],[0.01 0.01 0.01],100);%得出滤波器的阶数n=38,beta=3.4
- w1=2*fc1/fs; w2=2*fc2/fs;%将模拟滤波器的技术指标转换为数字滤波器的技术指标
- window=kaiser(n+1,beta);%使用kaiser窗函数
- b=fir1(n,[w1 w2],window);%使用标准频率响应的加窗设计函数fir1
- figure(1);
- freqz(b,1,512);%数字滤波器频率响应
- t = (0:100)/fs;
- s = sin(2*pi*t*5)+sin(2*pi*t*15)+sin(2*pi*t*30);%混和正弦波信号
- sf = filter(b,1,s);%对信号s进行滤波
复制代码 |