武汉理工大学《MATLAB课程设计》报告书
1.3 数字滤波器的MATLAB实现
MATLAB工具箱未滤波器的设计应用提供了丰富而简便的方法,如函数方法和图形工具方法等,使原来非常繁琐复杂的程序设计变成了简单的函数调用,为滤波器的设计和实现开辟了广阔的天地。
数字滤波器的一般设计过程为:按照实际需要,确定滤波器的性能要求; 用一个因果的、稳定的离散线性时不变系统,去逼近这一性能指标;用有限精度的运算实现所设计的系统;通过模拟,验证所设计的系统是否符合给定性能要求。Dd
武汉理工大学《MATLAB课程设计》报告书
2 双线性变换法
2.1 双线性变换法知识简介
脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到Z平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-π/T~π/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-π/T~π/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象。
由图2-1看出,在零频率附近,模拟角频率Ω与数字频率ω之间的变换关系接近于线性关系;但当Ω进一步增加时,ω增长得越来越慢,最后当Ω→∞时,ω终止在折叠频率
ω=π处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。
图2-1
-?o??=2tan?2T???2.2 双线性变换法设计数字滤波器原理
将S平面j?轴压缩变换到s1平面j?轴上的-?/T到?/T一段,可以采用以下变换关系:
??T? ??tan?1?
?2?这样????变换到?1???T,??0变换到?1?0,可将上式写成
武汉理工大学《MATLAB课程设计》报告书
j??eej?1T2?e?e?j?1T2?Tj12?T?j12
令j??s,j?1?s1,解析延拓到整个s平面和s1平面,可得
s?ees1T2s1T2?e?e?s1T2s1T2?
再将s1平面通过以下变换关系映射到z平面,即
z?es1T
从而得到s平面和z平面的单值映射关系为
1?z?1s? ?11?zz?1?s 1?s一般来说,为了使模拟滤波器的某一频率与数字滤波器的任一频率有对应关系,可引入待定常数c,
??T???ctan?1?
?2?1?e?s1Ts?c
1?e?s1T将z?es1T代入到上式,可得
1?z?1s?c ?11?zz?c?s c?s在MATLAB中,双线性Z变换可以通过bilinear函数实现,其调用格式为:
[Bz,Az]=bilinear(B,A,Fs);
其中B,A为模拟滤波器传递函数G(s)的分子分母多项式的系数向量,而Bz,Az为数字滤波器的传递函数H(z)的分子分母多项式的系数向量。
武汉理工大学《MATLAB课程设计》报告书
3 设计任务及方案选择
3.1 设计任务与要求
利用MATLAB仿真软件系统结合双线性变换法设计一个数字巴特沃斯高通、低通和带通FIR滤波器。说明:自己确定滤波器的不同参数得到不同的结果,最后自己分析原因。
假设一个信号:
x(t)?sin2?f1t?0.5cos2?f2t
其中f1=100Hz,f2=550Hz。试将该信号分别通过低通、高通、带通滤波器,对输出信号进行分析比较。
Step1: Step2: Step3: Step4:
3.2 方案设计论证与选择
本次滤波器设计的主要方法是先设计低通模拟滤波器,然后转换为高通、带通或带阻数字滤波器。对于其他如高通,带通,则通过频率变换转换为设计相应的高通,带通等。在设计的全过程的各个步骤,matlab都提供相应的工具箱函数,使得IIR数字滤波器设计变得非常简单。总的来说,我的设计思路主要有以下两种:
方案一:从归一化模拟低通原型出发,先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。
归一化模拟模拟高,带通 模拟域 双线性变换法 低通原型
或带阻 频率变换 图3-1 先频率变换再离散
数字高,带通或带阻 方案二:先进行双线性变换,将模拟低通原型滤波器变换成数字低通滤波器;然后在Z域内经数字频率变换为所需类型的数字滤波器。
武汉理工大学《MATLAB课程设计》报告书
数字域 归一化模拟数字原型低低通原型 通 双线性变换法 频率变换 图3-2 先离散再频率变换
数字高,带通或带阻 以上两种方案都可以,我最后选择了第一种方案进行设计,即先在模拟域内经频率变换成为所需类型的模拟滤波器;然后进行双线性变换,由S域变换到Z域,而得到所需类型的数字滤波器。因为高通,带通滤波器的设计方法是先将要设计的滤波器的技术特性指标通过频率转换成模拟低通滤波器的技术指标,再根据这些性能指标设计出低通滤波器的传递函数,为了设计程序的简洁,故选择了方案一。