基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计.docx
- 文档编号:25163343
- 上传时间:2023-06-05
- 格式:DOCX
- 页数:10
- 大小:110.18KB
基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计.docx
《基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计.docx》由会员分享,可在线阅读,更多相关《基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计.docx(10页珍藏版)》请在冰豆网上搜索。
基于matlab的切比雪夫及巴特沃斯低通高通滤波器的设计
巴特沃斯低通、切比雪夫低通、高通IIR滤波器设计
05941401 1120141454 焦奥
一、设计思路
IIR滤波器可以分为低通、高通、带通、带阻等不同类型的滤波器,而以系统函数类型又有巴特沃斯、切比雪夫等滤波器。
其中巴特沃斯较为简单,切比雪夫较为复杂;低阶比高阶简单,但却有着不够良好的滤波特性。
在满足特定的指标最低要求下,低阶、巴特沃斯滤波器能更大程度地节省运算量以及复杂程度。
滤波器在不同域内分为数字域和模拟域。
其中数字域运用最广泛。
在设计过程中,一般是导出模拟域的滤波器,之后通过频率转换变为数字域滤波器,实现模拟域到数字域的传递。
在针对高通、带通、带阻的滤波器上,可以又低通到他们的变换公式来进行较为方便的转换。
综上,IIR滤波器的设计思路是,先得到一个满足指标的尽可能简单的低通模拟滤波器,之后用频域变换转换到数字域。
转换方法有双线性变换法、冲激响应不变法等。
虽然方法不同,但具体过程有很多相似之处。
首先将数字滤波器的指标转换为模拟滤波器的指标,之后根据指标设计模拟滤波器,再通过变换,将模拟滤波器变换为数字滤波器,是设计IIR滤波器的最基本框架。
以下先讨论较为简单的巴特沃斯低通滤波器。
二、巴特沃斯低通滤波
假设需要一个指标为0~4hz内衰减小于3db、大于60hz时衰减不小于30db的滤波器。
其中抽样频率为400hz。
以双线性变换方法来设计。
首先将滤波器转换到模拟指标。
根据双线性变换
得到
这就得到了模拟域的指标。
由巴特沃斯的方程
得到
当N取大于最小值的整数时,解出N=2,因此为二阶巴特沃斯低通滤波器。
查表,可知二阶巴特沃斯低通滤波器的系统函数为
代入求得数值
这样便得到了模拟滤波器的函数,利用双线性变换的公式转换到数字域
得到数字域滤波器
至此,设计完成。
接下来用matlab实现上述变换设计。
b=[00632.02];
a=[135.45632.02];
[bz,az]=bilinear(b,a,400)
w=[0:
500]*pi/500;
[H,w]=freqz(bz,az);
f=400*w/(2*pi);
subplot(121);
plot(f,abs(H),'k');
xlabel('频率');
ylabel('幅值');
axis([05001]);
subplot(122);
plot(f,20*log10(abs(H)),'k');
xlabel('频率');
ylabel('DB值');
axis([0100-702]);
holdon
plot([04],[-3-3],'r');
holdon
plot([44],[-180-3],'r');
holdon
plot([6060],[-180-48.5],'b');
holdon
plot([060],[-48.5-48.5],'b');
plot([0200],[-30-30],'g');
text(6,-3,'6hz,3db');
text(60,-45,'60hz,大于30db');
text(60,-30,'30db');
得到结果
bz=
0.0009 0.0019 0.0009
az=
1.0000 -1.9114 0.9152
bz为分母,az为分子,从左到右分别为1、负一次方、负二次方。
验证表示结果正确。
因为N取了2,取为整数,大于计算的值,所以在60hz时,衰减超出指标。
以下讨论切比雪夫滤波器。
三、切比雪夫滤波器
切比雪夫滤波器是另一种滤波器,使用较为广泛的是低通滤波器,也能够通过变换转化为其他滤波类型的滤波器。
以下设计切比雪夫低通滤波器,仍用双线性变换法。
频率脉冲响应法与双线性变换法的区别仅仅在于两个域的转换方面,在设计模拟滤波器的方面,是没有影响的。
频率脉冲法计算更加复杂,而且有混叠效应;双线性法通过预畸减小了误差,并且没有混叠。
给出指标:
0~30hz内衰减小于3db、大于90hz时衰减不小于40db的滤波器。
其中抽样频率为200hz。
根据双线性变换
得到
得到模拟域指标。
求
求N
N=2
查表,得到N=2的归一化系统函数
代入
并令新的
得到
Matlab仿真
Wc=203.81;
b=[000.5*Wc^2];
a=[10.64*Wc0.71*Wc^2];
[bz,az]=bilinear(b,a,200)
w=[0:
500]*pi/500;
[H,w]=freqz(bz,az);
f=200*w/(2*pi);
subplot(121);
plot(f,abs(H),'k');
xlabel('频率');
ylabel('幅值');
axis([05001]);
subplot(122);
plot(f,20*log10(abs(H)),'k');
xlabel('频率');
ylabel('DB值');
axis([095-501]);
holdon
plot([030],[-3-3],'r');
holdon
plot([3030],[-180-3],'r');
holdon
text(30,-3,'30hz£?
3db');
text(40,-48,'90hz,′óóú40db');
满足指标要求。
bz=
0.0859 0.1719 0.0859
az=
1.0000 -1.0801 0.5682
数值正确。
以下设计切比雪夫高通滤波器
四、切比雪夫高通滤波器
求高通滤波器的常用方法是模拟低通转化为数字高通。
指标:
通带截止频率3khz,衰减不大于3db;阻带上限截止频率2khz,衰减不小于14db。
抽样频率10khz。
根据双线性变换,并令
求低通原型
求阶次N
则N=2,系统函数(因为
为1,故系统函数即原型函数)
代入变换式
得到
Matlab仿真
程序
f=1.38/2;
b=[000.5];
a=[10.640.71];
bz=[0.5-10.5];
az=[3.52.391.73];
w=[0:
500]*pi/500;
[H,w]=freqz(bz,az);
f=10000*w/(2*pi);
subplot(121);
plot(f,abs(H),'k');
xlabel('频率');
ylabel('幅值');
subplot(122);
plot(f,20*log10(abs(H)),'k');
xlabel('频率');
ylabel('DB值');
holdon
plot([03000],[-3-3],'r');
holdon
plot([30003000],[-180-3],'r');
holdon
plot([20002000],[-180-15.9],'b');
holdon
plot([02000],[-15.9-15.9],'b');
plot([05000],[-14-14],'g');
text(3000,-3,'3000hz,3db');
text(2100,-21,'2000hz,大于14db');
text(1000,-10,'14db');
完成指标。
五、总结
本次作业分别设计了巴特沃斯低通、切比雪夫低通和高通滤波器,所用 到的方法是双线性变换法,模拟域转数字域。
滤波器的设计思路大体为:
将数字指标转化为模拟指标,设计模拟滤波器,再变换为数字滤波器。
时间原因,未能进一步设计脉冲响应法的滤波器,仅选取特性较好无混叠 的双线性变换法作为转换方法,也未探索其他从模拟域转换为数字域的方 法,如模拟低通——数字低通——数字高通,而只选用较为简单的模拟低 通——数字高通方法。
但综合来讲,这些方法运算量较大,也较为复杂, 实际设计来说基础而且重要的还是本次作业用到的方法。
其余更加有创意的设计思路有待进一步思考。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 matlab 巴特沃斯低通高通 滤波器 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)