htt://www.elefn.om 电子发烧友 htt://bb.elefn.om 中国科学技术大学电子工程与信息科学系多媒体通信实验室 (Coyright ) 实验三用双线性变换法设计 IIR 滤波器 一 实验目的 了解两种工程上最常用的变换方法: 脉冲响应不变法和双线性变换法 掌握双线性变换法设计 IIR 滤波器的原理及具体设计方法, 熟悉用双线性设计法设计低通 带通和高通 IIR 数字滤波器的计算机程序 3 观察用双线性变换法设计的滤波器的频域特性, 并与脉冲响应不变法相比较, 了解双线性变换法的特点 4 熟悉用双线性变换法设计数字 Butterworth 和 Chebyhev 滤波器的全过程 5 了解多项式乘积和多项式乘方运算的计算机编程方法 二 实验原理与方法 从模拟滤波器设计 IIR 数字滤波器具有四种方法 : 微分 - 差分变换法 脉冲响应不变法 双线性变换法 匹配 变换法 ; 在工程上常用的是其中两种 : 脉冲响应不变法 双线性变换法 脉冲响应不变法需要经历如下基本步骤 : 由已知系统传输函数 H() 计算系统冲激响应 h(t); 对 h(t) 进行等间隔取样得到 h(n)h(nt); 由 h(n) 获得数字滤波器的系统响应 H() 这种方法非常直观, 其算法宗旨是保证所设计的 IIR 滤波器的脉冲响应和响应模拟滤波器的冲激响应在采样点上完全一致 而双线性变换法的设计准则是使数字滤波器的频率响应与参考模拟滤波器的频率响应相似 脉冲响应不变法一个重要的特点是频率坐标的变换是线性的 (ωt), 其缺点是有频谱的周期延拓效应, 存在频谱混淆的现象 为了克服脉冲响应不变法可能产生的频谱混淆, 提出了双线性变换法, 它依靠双线性变换式 : + + 其中 σ + j, re jω 建立起 平面和 平面的单值映射关系, 数字频域和模拟频域之间的关系 : tg(ω / ) ω rtg (3-) 由上面的关系式可知, 当 时,ω 终止在折叠频率 ωπ 处, 整个 j 轴单值地对应于单位圆的一周 因此双线性变换法不同于脉冲响应不变法, 不存在频谱混淆的问题 从式 (-) 还可以看出, 两者的频率不是线性关系 这种非线性关系使得通带截止频率 过渡带的边缘频率的相对位置都发生了非线性畸变 这种频率的畸变可以通过预畸来教正 用双线性变换法设计数字滤波器时, 一般总是先将数字滤波器的各临界频率经过式 (-) 的频率预畸, 求得相应参考模拟滤波器的各临界频率, 然后设计参考模拟滤波器的传递参数, 最后通过双线性变换式求得数字滤波器的传递函数 这样通过双线性变换, 正好将这些频率点映射到我们所需要的位置上 参考模拟滤波器的设计, 可以按照一般模拟滤波器设计的方法, 利用已经成熟的一整套计算公式和大量的归一化设计表格和曲线 这些公式 表格主要是用 如果您在阅读过程中发现疏漏和错误, 请您尽快和编者取得联系 network@ut.edu.n xh@ut.edu.n
htt://www.elefn.om 电子发烧友 htt://bb.elefn.om 中国科学技术大学电子工程与信息科学系多媒体通信实验室 (Coyright ) 于归一化低通原型的 通过原型变换, 可以完成实际的低通 带同和高同滤波器的设计 在用双线性变换法设计滤波器的过程中, 我们也可以通过原型变换, 直接求得归一化参考模拟滤波器原型参数, 从而使得设计更加简化 下表是 IIR 低通 带通 高通滤波器设计双线性原型变换公式的总结 表 (3-) 变换类型 变换关系式 参考模拟原型频率确定 备注 低通 tg( ω ω πft ) 变换 + f : 模拟频率 T : 采样周期 高通 + ω tg( ) in( ω + ω 变换 oω inω + inω ω, ω : 带通的上下带通 oω + oω oω 变换 inω 边带临界频率 在本实验中, 我们只涉及 Butterworth 和 Chebyhev 两种滤波器的设计, 相应的这两种参考模拟原形滤波器的设计公式见下表 : 表 (3-) 类型巴特渥斯 (Butterworth) 切比雪夫 (Chebyhev).. 阶数 lg / lg( ) h / h ( ).. H ( ) H 传递 ( ) [ ( hxk in y k ( k ) ε 函数 k k + jhxk o yk )] jπ [ ( k +.5) +.5] k π k e x k h y k ε 3dB 频率 有关. 波纹系数 /( ) 参数. ε. /( ) 备注通带临界频率 及衰减, 阻带临界频率 及衰减 综上所述, 以巴特渥斯低通数字滤波器设计为例, 可以将双线性变换法设计数字滤波器的步骤归纳如下 : 确定数字滤波器的性能指标 这些指标包括: 通带 阻带临界频率 f f ; 通带内的 最大衰减 ; 阻带内的最小衰减 ; 采样周期 T 确定相应的数字频率, ω πf T ; ω πf T 如果您在阅读过程中发现疏漏和错误, 请您尽快和编者取得联系 network@ut.edu.n xh@ut.edu.n
htt://www.elefn.om 电子发烧友 htt://bb.elefn.om 中国科学技术大学电子工程与信息科学系多媒体通信实验室 (Coyright ) 3 计算经过频率预畸的相应参考模拟低通原型的频率, tg( ω ) ; tg( ω ) 4 计算低通原型阶数 ; 计算 3dB 归一化频率, 从而求得低通原型的传递函数 () 5 用表(-) 中所列变换公式, 代入 H (), 求得数字滤波器传递函数 + H ( ) H ( ) + 6 分析滤波器频域特性, 检查其指标是否满足要求 H 三 实验内容及步骤 ( 一 ) 编制实验用主程序及相应子程序 在实验前复习数字信号处理课程中滤波器设计有关的知识, 认真阅读本实验的原理部分, 读懂本讲义附录 A4 滤波器有关算法 中列举的有关算法 : 有理分式代换子程序 BSF 多项式乘方展开子程序 PPE 和多项式乘积展开子程序 YPMP, 掌握模拟滤波器传递函数产生子程序 BCG 有理分式代换子程序 BSF 的调用方法 编制一个用双线性变换法设计 IIR 数字 Butterworth 和 Chebyhev 滤波器的通用程序 采样周期 通带和阻带临界频率以及相应的衰减等参数在程序运行时输入 ; 根据这些输 jω 入参数, 计算阶数 传递函数 H () ; 输出 H () 分子分母系数 ; 绘制 H ( e ) 幅频特性曲线, 绘制点数为 5,(-π) 3 实验用子程序介绍 附录 A4 部分中编排的子程序较多, 下面简要介绍一下 () 模拟滤波器传递函数产生子程序 BCG 该程序用于产生在表 (3-) 中两种逼近方法的传递函数, 根据实际需要, 产生的传递函数有两种逼近形式的输出 : 分母以根的形式 ; 分母以多项式的形式 具体见下式 : H ( ) (3-) b + b + L + b ( ) k k 采用 Butterworth 逼近, 还是采用 Chebyhev 逼近在子程序运行过程中, 由用户自己选择 调用该子程序的时候, 需要输入滤波器临界频率 和相应衰减 根据这些 条件, 子程序可以计算阶数, 产生传递函数 H () 调用格式为: bg(ap, AS, WP, WS, &, *H, *B, & C); 其中参数的具体说明如下 : AP AS 是浮点型数, 对应通带衰减 阻带衰减 如果您在阅读过程中发现疏漏和错误, 请您尽快和编者取得联系 network@ut.edu.n xh@ut.edu.n 3
htt://www.elefn.om 电子发烧友 htt://bb.elefn.om 中国科学技术大学电子工程与信息科学系多媒体通信实验室 (Coyright ) WP WS 是浮点型数, 对应通带临界频率 阻带临界频率 是浮点型数, 存放模拟滤波器的阶数 H 是浮点型一维数组, 提供分母为多项式形式的传递函数的分母多项式的系数, H ) b, H () b,, H ( ) ( L B 是浮点型一维复数数组, 存放 H() 的分母多项式的根, B ), B(),, B( ) ( L b C 是浮点型数, 存放 H() 的分子常数 () 有理分式代换子程序 BSF 该子程序用于双线性变换中的有理分式代换 这里只考虑传递函数 H,B 和 C 用于提供分母为根形式的传递函数 F ( ) H ( ) H ( ) (3-3) F ( ) () 分子为常数 的情况, 这也是通常低通原形的形式 子程序的 调用格式为 : Bf(*C, O, *F, *F, F, *A, *B, &ob) 其中具体参数含义如下 : C : 浮点型一维数组, 存放 H() 分母多项式系数 O : 整型数, 存放 H() 分母多项式阶次 F : 浮点型一维数组, 存放变换式的分子多项式系数, 对应式 (3-3) 中 F ( ) F : 浮点型一维数组, 存放变换式的分母多项式系数, 对应式 (3-3) 中 F ( ) F : 整型数, 存放变换式 F ( ) / F ( ) 的阶次 A : 浮点型一维数组, 存放变换结果 H() 的分子多项式系数 B : 浮点型一维数组, 存放变换结果 H() 的分母多项式系数 ob : 整型数, 存放 H() 的阶次 (3) 多项式乘方展开子程序 PPE 用于多项式的乘方展开, 见下式所示 : m n mn [ + x + Lm x ] b + b x + L+ bmn x (3-4) 调用格式为 :Pne(*A,M,, *B, &MB) 具体参数说明 : A : 浮点型一维数组, 存放多项式的系数数组 M : 整型数, 存放多项式的阶次 : 整型数, 存放乘方次数 B : 浮点型一维数组, 输出参数, 存放展开结果 MB : 整型数, 输出展开以后多项式的阶次 (4) 多项式乘机展开子程序 YPMP 用于两个多项式的乘机展开, 见下式所示 : 如果您在阅读过程中发现疏漏和错误, 请您尽快和编者取得联系 network@ut.edu.n xh@ut.edu.n 4
htt://www.elefn.om 电子发烧友 htt://bb.elefn.om 中国科学技术大学电子工程与信息科学系多媒体通信实验室 (Coyright ) m n x) ( x) b( x) ( + x + L x )( b + b x + L + b x ) (3-5) ( m n n+ m ( x) + x + x + L + n + m x (3-6) 子程序调用格式为 :Ym(*A,M,*B,,*C,&M) 具体参数说明如下 : A : 浮点型一维数组, 存放第一个多项式 (x) 的系数 M : 整型数, 存放第一个多项式的阶次 m B : 浮点型一维数组, 存放第二个多项式 b(x) 的系数 : 整型数, 存放第二个多项式的阶次 n C : 浮点型一维数组, 存放结果多项式 (x) 的系数 M : 整型数, 存放结果多项式 (x) 的阶次 ( 二 ) 上机实验内容 采样频率为 H, 设计一个 Chebyhev 高通数字滤波器, 其中通带临界频率 f. 3H, 通带内衰减小于.8dB (. 8dB ), 阻带临界频率 f. H, 阻带内衰减大于 db ( db ) 求这个数字滤波器的传递函数 H(), 输出它的幅频特性曲线, 观察其通带衰减和阻带衰减是否满足要求 采样频率为 H, 设计一个数字低通滤波器, 要求其通带临界频率 f. H, 通带内衰减小于 db( db ), 阻带临界频率 f. 3H, 阻带内衰减大于 5dB( 5dB ) 求这个数字滤波器的传递函数 H(), 输出它的幅频特性曲线 3 设计 Butterworth 带通数字滤波器, 其上下边带 db 处的通带临界频率分别为 kh 和 3kH( f kh, f 3kH, db ), 当频率低于 5kH 时, 衰减要大于 4dB( f 5kH, 4dB ), 采样周期为 μ, 求这个数字滤波器的传递函数 H(), 输出它的幅频特性曲线, 观察其通带衰减和阻带衰减是否满足要求 ( 三 )* MtLb 上机内容 在 MtLb 下重复 ( 二 ) 上机实验内容的所有要求, 将 MtLb 的输出结果同自己程序的输出结果进行比较 在( 二 ) 上机实验内容部分只要求了用双线性变换法实现 IIR 滤波器, 在 MtLb 下将已经实现的滤波器用冲激响应不变法再实现一遍, 并将所得到的结果进行比较 如果您在阅读过程中发现疏漏和错误, 请您尽快和编者取得联系 network@ut.edu.n xh@ut.edu.n 5
htt://www.elefn.om 电子发烧友 htt://bb.elefn.om 中国科学技术大学电子工程与信息科学系多媒体通信实验室 (Coyright ) 四 思考题 双线性变换和脉冲响应不变法相比较, 有哪些优点和缺点? 为什么? 双线性变换是一种非线性变换, 在实验中你观察到这种非线性关系了吗? 应该怎样从哪种数字滤波器幅频特性曲线中可以观察到这种非线性关系? 3 * 在用 Mtlb 实现脉冲响应不变法设计滤波器的时候, 你有没有观察到频谱混淆的现象? 请解释所得到的结果 五 实验报告要求 在实验报告中简述实验目的和实验原理要点 记录在在上机实验内容中所设计的滤波器的传递函数 H() 及对应的幅频特性曲线定性分析它们的性能, 判断设计是否满足要求 3 总结实验中的主要结论 4 回答思考题 如果您在阅读过程中发现疏漏和错误, 请您尽快和编者取得联系 network@ut.edu.n xh@ut.edu.n 6