IIR数字滤波器的设计与滤波MATLAB
实验四 IIR数字滤波器的设计与滤波
一、巴特沃斯模拟滤波器的设计
1. 模拟滤波器的设计参数
模拟滤波器的4个重要的通带、阻带参数为:
fp或Omegap:通带截止频率 fs或Omegas:阻带截至频率 Rp:通带内波动(dB),即通带内所允许的最大衰减; Rs:阻带内最小衰减
通过以上参数就可以进行模拟滤波器的设计。 2. 巴特沃斯模拟滤波器设计
1) 巴特沃斯滤波器阶数的选择:
在已知设计参数fp,fs,Rp,Rs之后,可利用“buttord”命令可求出所需要的滤波器的阶数和3dB截止频率,其格式为:
[N,Omegac]=buttord[fp,fs,Rp,Rs,’s’],其中fp,fs,Rp,Rs分别为通带截止频率、阻带起始频率、通带内波动、阻带内最小衰减。返回值N为滤波器的最低阶数,Wc为3dB截止频率。
2) 巴特沃斯滤波器系数计算:
由巴特沃斯滤波器的阶数N以及3dB截止频率Omegac可以计算出对应传递函数H(z)的分子分母系数,MATLAB提供的命令如下: 巴特沃斯低通滤波器系数计算:
[b,a]=butter(N,Omegac),其中b为H(z)的分子多项式系数,a为H(z)的分母多项式
系数
巴特沃斯高通滤波器系数计算: [b,a]=butter(N,Omegac,’High’) 巴特沃斯带通滤波器系数计算:
[b,a]=butter(N,[Omega1,Omega2]),其中[Omega1,Omega2]为通带截止频率,
是2元向量,需要注意的是该函数返回的是2N阶滤波器系数。
巴特沃斯带阻滤波器系数计算:
[b,a]=butter(N,[Omega1,Omega2],’stop’),其中[Omega1,Omega2]为通带截止
频率,是2元向量,需要注意的是该函数返回的也是2N阶滤波器系数。
二、巴特沃斯数字滤波器的设计
1. 数字滤波器的设计参数
滤波器的4个重要的通带、阻带参数为:
fp:通带截止频率(Hz) fs:阻带起始频率(Hz)
,即通带内所允许的最大衰减; Rp:通带内波动(dB)
Rs:阻带内最小衰减
设采样速率(即奈奎斯特速率)为fN,将上述参数中的频率参数转化为归一化频率参数:
IIR数字滤波器的设计与滤波MATLAB
p:归一化通带截止频率, p fp/(fN/2); s:归一化阻带截至频率, s fs/(fN/2)
通过以上参数就可以进行数字滤波器的设计。
低通滤波器情况:采样频率为8000Hz,要求通带截止频率为1500Hz,阻带起始频 率为2000Hz,通带内波动3dB,阻带内最小衰减为50dB,则 p=1500/4000, s=2000/4000,
Rp=3dB,Rs=50dB。
高通滤波器情况:采样频率为8000Hz,要求通带截止频率为1500Hz,阻带起始频 率为1000Hz,通带内波动3dB,阻带内最小衰减为65dB,则 p=1500/4000, s=1000/4000,
Rp=3dB,Rs=65dB。
带通滤波器情况:采样频率为8000Hz,要求通带截止频率为[800Hz,1500Hz],阻 带起始频率为[500Hz,1800Hz],通带内波动3dB,阻带内最小衰减为45dB,则 p=[800/4000,1500/4000], s=[500/4000,1800/4000],Rp=3dB,Rs=45dB。
带阻滤波器情况:采样频率为8000Hz,要求通带截止频率为[800Hz,1500Hz],阻 带起始频率为[1000Hz,1300Hz],通带内波动3dB,阻带内最小衰减为55dB,则
p=[800/4000,1500/4000], s=[1000/4000,1300/4000],Rp=3dB,Rs=45dB。
2. 巴特沃斯数字滤波器设计
1) 巴特沃斯滤波器阶数的选择:
在已知设计参数 p, s,Rp,Rs之后,可利用“buttord”命令可求出所需要的滤波器的阶数和3dB截止频率,其格式为:
[N,Wc]=buttord[Wp,Ws,Rp,Rs],其中Wp,Ws,Rp,Rs分别为通带截止频率、阻带起始频率、通带内波动、阻带内最小衰减。返回值N为滤波器的最低阶数,Wc为3dB截止频率。
2) 巴特沃斯滤波器系数计算:
由巴特沃斯滤波器的阶数N以及3dB截止频率Wc可以计算出对应传递函数H(z)的分 子分母系数,MATLAB提供的命令如下:
巴特沃斯低通滤波器系数计算:
[b,a]=butter(N,Wc),其中b为H(z)的分子多项式系数,a为H(z)的分母多项式系数 巴特沃斯高通滤波器系数计算: [b,a]=butter(N,Wc,’High’)
巴特沃斯带通滤波器系数计算:
[b,a]=butter(N,[W1,W2]),其中[W1,W2]为通带截止频率,是2元向量,需要
注意的是该函数返回的是2N阶滤波器系数。
巴特沃斯带阻滤波器系数计算:
[b,a]=butter(N,[W1,W2],’stop’),其中[W1,W2]为通带截止频率,是2元向量,
IIR数字滤波器的设计与滤波MATLAB
需要注意的是该函数返回的也是2N阶滤波器系数。 3. 巴特沃斯滤波器设计实例
1) 采样速率为8000Hz,要求设计一个低通滤波器,fp=2100Hz,fs=2500Hz,Rp=3dB,
Rs=25dB。程序如下:
fn=8000; fp=2100; fs=2500; Rp=3; Rs=25; Wp=fp/(fn/2);%计算归一化频率 Ws=fs/(fn/2);
[N,Wc]=buttord(Wp,Ws,Rp,Rs);%计算阶数和截止频率 [b,a]=butter(N,Wc);%计算H(z)分子、分母多项式系数
[H,F]=freqz(b,a,1000,8000);%计算H(z)的幅频响应,freqz(b,a,计算点数,采样速率) subplot(2,1,1)
plot(F,20*log10(abs(H)))
xlabel('Frequency(Hz)'); ylabel('Magnitude(dB)') title('低通滤波器')
axis([0 4000 -30 3]);grid on subplot(2,1,2)
pha=angle(H)*180/pi; plot(F,pha);grid on
2) 采样速率为10000Hz,要求设计一个带通滤波器,fp=[1000Hz,1500Hz],fs=[1200Hz,1300Hz],Rp=3dB,Rs=30dB。程序如下:
fn=10000; fp=[1000,1500]; fs=[1200,1300]; Rp=3; Rs=30; Wp=fp/(fn/2);%计算归一化角频率 …… 此处隐藏:5888字,全部文档内容请下载后查看。喜欢就下载吧 ……