您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > 实时音频处理系统中的IIR滤波器设计及Lattice结构实现
第33卷第5期2011-6(下)【97】第33卷第5期2011-6(下)【97】收稿日期:2011-01-15作者简介:栾军山(1986-),男,山东安丘人,硕士研究生,研究方向为智能控制与系统开发。0引言以DSP芯片为核心的实时音频处理系统在各行业中有着广泛的应用,负责对音频信号进行各种处理,其中数字滤波器是此类系统的重要组成部分。数字滤波器根据其单位脉冲响应或实现网络结构的不同可分为无限冲击响应(IIR)滤波器和有限冲击响应(FIR)滤波器,其中IIR滤波器因存在输出到输入的反馈,适合传递函数中同时具有零点、极点设计要求的系统,与FIR滤波器相比具有设计方便、节约存储资源等优点[1],因此,本文重点研究IIR数字滤波器。1系统基本组成系统基本框图如图1所示,系统所采用的主要芯片包括ATMEL公司的AT89C51,TI公司的TMS320C5402,BB公司生产的PCM3001,AT89C51和TMS320C5402两个处理器以主从方式连接实现,借助74LVC4245实现电平转换。C5402与PCM3001通过C5402的多通道缓冲串口MCBSP实现连接[2]。整个硬件系统包括两个部分,各部分功能如下:一是DSP处理系统,包括DSP、程序存储器、数据存储器、数模转换电路等,DSP系统主要完成A/D(D/A)变换、各种音频信号处理(包括滤波)等。二是MCU主处理器部分,包括MCU、键盘显示电路、MCU与DSP之间的接口等,MCU作为系统的主机,完成系统的人机接口和对DSP的实时音频处理系统中的IIR滤波器设计及Lattice结构实现IIRdigitalfilterdesignandrealizationofLatticestructureinareal-timeaudioprocessingsystem栾军山,陈华LUANJun-shan,CHENHua(新疆大学电气工程学院,乌鲁木齐830008)摘要:介绍了一种基于AT89C51和TMS320C5402为核心的实时音频处理系统,在Matlab平台上采用Lattice型结构实现了IIR数字低通、高通、带通滤波器的设计,结合实例给出了相应的设计方法、操作步骤,仿真表明该结构的滤波器能较好的达到设计要求。关键词:音频处理;IIR数字滤波器;Matlab;Lattice结构中图分类号:TP273文献标识码:A文章编号:1009-0134(2011)6(下)-0097-04Doi:10.3969/j.issn.1009-0134.2011.6(下).3174LVC4245P0.0-P0.7P1.6INT0MPU-WINT0XFREADYD0-D7BFSX0BFSR0BDX0BDR0BCLKX0BCLKB0LRCINBCKINDINDOUTAT89C51TMS320S5402PCM3001图1系统基本框图设计与应用【98】第33卷第5期2011-6(下)【98】第33卷第5期2011-6(下)控制。2IIR数字滤波器Matlab设计2.1IIR数字滤波器理论分析IIR系统输入输出关系的N阶差分方程为:该式两边取Z变换,得到滤波器的有理系统函数:其中x(n)、y(n)分别为系统输入、输出序列,ak、bk为滤波器系数,可以看出输出y(n)不仅与当前输入x(n)及过去输入x(n-1),x(n-2)…x(n-M)有关,还与过去输出y(n-1),y(n-2)…y(n-N)有关,IIR滤波器具有三个特点[3]:1)单位冲击响应h(n)是无限长的;2)系统函数H(z)在有限z平面(0|z|∞)上有极点存在;3)结构上存在输入到输出的反馈,也就是结构上是递归型的。2.2Matlab实现IIR数字滤波器利用Matlab可以有两种方法设计IIR数字滤波器,第一种方法是先设计出相应的低通原型模拟滤波器,然后通过脉冲响应不变法或双线性Z变换法得到所要的数字滤波器,第二种则是直接调用数字滤波器设计函数,后者相比于前者程序设计简单,然而其昀大的缺点就是无法按照实际设计要求选择具体的方法,因此,目前比较通用的还是第一种方法。2.2.1模拟滤波器选择如上所述,IIR数字滤波器具有无限长的冲击响应,与模拟滤波器相匹配,因此目前通用的IIR数字滤波器设计方法是利用已经很成熟的模拟滤波器设计方法进行设计,而模拟滤波器的种类有Butterworth滤波器、Chebyshev(Ⅰ型、Ⅱ型)滤波器、椭圆滤波器等,利用Matlab提供的模拟滤波器设计函数如表1所示,可以产生任何阶数的低通模拟滤波器[4]。其中z、p、k分别为所设计滤波器的零点、极点和增益,N为滤波器阶数,Rp为通带衰减。2.2.2IIR数字滤波器实现方法设计完满足指标要求的模拟滤波器之后,根据一定的映射关系获得满足要求的数字滤波器,当前主要有两种映射关系:1)冲击响应不变法其基本原理是模拟滤波器的冲击响应经过采样后等同于数字滤波器,该方法具有一定的物理意义。模拟频率Ω和数字频率w之间的映射关系为:w=ΩTs(Ts为采样周期),属于线性变换,Matlab中其函数调用格式:[bz,az]=impinvar(b,a,Fs),其中b,a分别为模拟滤波器传递函数分子分母的系数向量,Fs为采样频率,bz、az为转换为数字滤波器之后系统传递函数分子分母的系数向量,该变换的缺点是出现频谱混叠失真。2)双线性Z变换法纯数学上的映射,两者之间的关系为:w=2arctan(ΩTs/2),即将模拟频率的整个区间(无穷大)压缩到数字频率的一个区间[-Π,+Π],是一种非线性变换,该方法避免了脉冲响应变换的频谱混叠效应,但同时也产生频率畸变的缺陷,这使得其只能用于一些分段常数型滤波器设计,其函数调用格式[bz,az]=bilinear(b,a,Fs)。2.2.3Matlab程序仿真1)设计举例:通带截止频率fp=25Hz,阻带下限截止频率fs=50Hz,通带昀大衰减Rp=3db,阻带昀小衰减Rs=38db,采样频率Fs=200Hz。2)操作步骤:wap=2*Fs*tan((2*pi*fp)/(2*Fs));was=2*Fs*tan((2*pi*fs)/(2*Fs));[N,Wn]=buttord(wap,was,Rp,Rs,'s')N=5Wn=166.7504[z,p,k]=buttap(N);[A,B,C,D]=zp2ss(z,p,k);[At,Bt,Ct,Dt]=lp2lp(A,B,C,D,Wn);[b,a]=ss2tf(At,Bt,Ct,Dt);表1模拟滤波器设计函数滤波器类型函数调用格式Butterworth[z,p,k]=buttap(N)ChebyshevTypeⅠ[z,p,k]=cheb1ap(N,Rp)ChebyshevTypeⅡ[z,p,k]=cheb2ap(N,Rp)椭圆滤波器[z,p,k]=ellipap(N,Rp)第33卷第5期2011-6(下)【99】第33卷第5期2011-6(下)【99】[bz,az]=bilinear(b,a,Fs)bz=0.00340.01680.03360.03360.01680.0034az=1.0000-2.46002.7852-1.68330.5367-0.0712freqz(bz,az,256,Fs)执行freqz(bz,az,256,Fs),得到幅频、相频响应波形如图2所示,可以看出此设计符合技术指标要求。-0.70040.3635-0.0712c=0.03190.13390.15780.08520.02510.0034根据所求的的系数k、c,画出此滤波器Lattice结构如图3所示:020406080100-600-400-2000Phase(degrees)020406080100-300-200-1000Frequency(Hz)Magnitude(dB)3Lattice结构实现与仿真滤波器的实现形式有直接Ⅰ型、直接Ⅱ型(典范性)、级联型、并联型等,各种形式都有自己的应用背景和优缺点。Lattice结构(又称格形结构)是Gay和Markel于1973年提出的一种新的系统结构形式,在语音分析和合成等实时性要求较高的应用中,格型滤波器比其它结构更具有优越性,因此,格型滤波器广泛应用于数字语音处理和自适应滤波器实现中。FIR滤波器的格型结构描述的是全零点格型,而IIR滤波器描述的是全极点或格型梯形结构,三种结构在画法上形态各异[5]。上述中求得的系数az、bz为直接型系数,Matlab中同样提供了将直接型结构系数转换为Lattice结构系数的函数tf2latc,其调用格式为:[k,c]=tf2latc(bz,az)。输入命令:[k,c]=tf2latc(bz,az)k=-0.84770.8602x(n)Z-1Z-1Z-1Z-1Z-10.0712-0.07120.00340.02510.08520.15780.13390.0319y(n)0.3635-0.36350.7004-0.70040.8602-0.86020.8477-0.8477图3Lattice结构图图4滤波前后时域波形比较00.10.20.30.40.5-10100.10.20.30.40.5-505图2滤波器幅频、相频响应4系统设计注意问题为确保本系统的实时性及稳定性,设计时应注意以下问题:1)CCS环境下采用汇编语言进行滤波子程序编程,可提高程序执行效率。2)根据不同的设计指标,在确保精度的前提下,选用阶数相对较小的滤波器,方便设计。3)根据音频信号的频带范围,选择合适的采对Lattice结构的IIR数字滤波器进行输入信号滤波实验,图4、图5分别为该滤波器滤波前后时域和频域波形比较,可以看出,本例所设计的低通滤波器可以有效的滤去信号中的高频成分。【100】第33卷第5期2011-6(下)【100】第33卷第5期2011-6(下)样频率和CPU工作频率,较低的采样频率和较高的工作频率可以增强系统的实时性。5结束语以实时音频处理系统应用为背景,重点介绍了系统中IIR数字滤波器的Matlab设计方法、步骤以及Lattice结构实现,从滤波前后时域与频域比较可以看出此结构的滤波器具有较好的滤波特性,满足设计要求。参考文献:[1]胡远东.基于Matlab数字滤波器的设计[J].安徽科技学院学报,2009,23(5):35-39.[2]杨建,张慧慧.基于DSP的嵌入式数采系统滤波算法设计与实现[J].制造业自动化,2006,28(12):30-32.[3]程佩青.数字信号处理教程[M].2版.北京:清华大学出版社,1995.[4]郭建涛.“数字信号处理”的Matlab应用研究[J].计算机与网络,2010,(6):38-40.[5]黄思齐,龙明玉.基于网格结构的小波滤波器FPGA实现[J].昆明理工大学学报:理工版,2005,30(5A):212-214.02040608010002040600204060801000204060图5滤波前后频域波形比较全国先进制造技术高层论坛暨第十届制造业自动化与信息化技术研讨会征文通知由中国机械工程学会机械工业自动化分会、中国自动化学会制造技术专业委员会主办,全国自动化系统与集成标准化技术委员会、《制造业自动化》杂志协办的“全国先进制造技术高层论坛暨第十届制造业自动化与信息化技术研讨会”拟于2011年8月中旬在山西太原隆重举行。大会在本领域内广泛征集论文,录用的论文将出版论文集,进行大会期间代表交流;优秀论文将推荐给《制造业自动化》期刊,可参加由中国机械工程学会、中国自动化学会分别组织的全国优秀论文评选活动。欢迎专家、学者、技术和管理人员、业内人士踊跃投稿并届时参加会议。一、论文征集范围1.数字化设计与制造;2.智能制造及制造业自动化热门技术;3.产品全生命周期、ERP/CRM/SCM、PDM/PLM、MES、ASP、SOA和网络化制造等技术应用及案例;4.极端制造;5.制造业自动化与信息化的标准化在装备制造业、汽车、航空航天、流程工业等应用案例。二、征文要求1.论文论点明确,论据充分,文
本文标题:实时音频处理系统中的IIR滤波器设计及Lattice结构实现
链接地址:https://www.777doc.com/doc-4230991 .html