姓名:张晓无限冲激响应滤波器(IIR)算法指导老师:陈恩庆专业名称:通信学号:201024604342020年7月3日无限冲激响应滤波器(IIR)算法摘要:21世纪是数字化的时代,随着信息处理技术的飞速发展,数字信号处理技术逐渐发展成为一门主流技术。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等。这些优势决定数字滤波器的应用越来越广泛。数字滤波器是数字信号处理中最重要的组成部分之一,被广泛应用于语音图像处理、数字通信、谱分析、模式识别、自动控制等领域。本课题通过软件设计IIR数字滤波器,并对所设计的滤波器进行仿真:应用DSP集成开发环境—CCS调试程序,用TMS320F2812实现IIR数字滤波。具体工作包括:对IIR数字滤波器的基本理论进行分析和探讨。应用DSP集成开发环境调试程序,用TMS320F2812来实现IIR数字滤波。通过硬件液晶显示模块验证试验结果,并对相关问题进行分析。关键词:数字滤波器;DSP;TMS320F2812;无限冲激响应滤波器(IIR)。引言随着数字化飞速发展,数字信号处理技术受到了人们的广泛关注,其理论及算法随着计算机技术和微电子技术的发展得到飞速发展,被广泛应用于语音图像处理、数字通信、谱分析、模式识别、自动控制等领域。数字信号处理由于运算速度快,具有可编程的特性和接口灵活的特点,使得它在许多电子产品的研制、开发和应用中,发挥着重要的作用。采用DSP芯片来实现数字信号处理系统是当前发展的趋势。在数字信号处理中,数字滤波占有极其重要的地位。数字滤波是语音和图像处理、模式识别、谱分析等应用中的一个基本处理算法。在许多信号处理应用中用数字滤波器替代模拟滤波器具有许多优势。数字滤波器容易实现不同幅度和相位频率特性指标。用DSP芯片实现数字滤波除具有稳定性好、精度高、不受环境影响外,还具有灵活性好的特点。用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便的改变滤波器的特性。原理:1.无限冲激响应数字滤波器的基础理论。利用模拟滤波器成熟的理论及其设计方法来设计IIR数字低通滤波器是常用的方法。设计过程是:按照数字滤波器技术指标要求一个过渡模拟低通滤波器()aHs,再按照一定的转换关系将()aHs转换成数字低通滤波器函数H(z)。由此可见,设计的关键问题就是要找到这种关系,将s平面的()aHs转换成z平面上的H(z)。将系统函数()aHs从s平面转换到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。在课题中我们采用双线性变换法设计IIR数字低通滤波器。通过采用非线性频率压缩的方法,将整个模拟频率轴压缩到/T之间,再用Z=sTe转换到z平面上。设()aHs,s=j,经过非线性频率压缩后用1()aHs,1S=j1表示,这里用正切变换实现频率压缩:121tan()2TT实现了s平面上整个虚轴完全压缩到1S平面上虚轴的/T之间的转换。由上式得到:j=11211jTjTeTe代人s=j,1S=j1,得到:11211sTsTeSTe再通过z=1sTe从1S平面转换到Z平面得到11211zSTz22sTzsT上面两式即称为双线性变换。2.模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器)。3.数字滤波器系数的确定方法。4.根据要求设计低通IIR滤波器要求:低通巴特沃斯滤波器在其通带边缘1kHz处的增益为-3dB,12kHz处的阻带衰减为30dB,采样频率25kHz。设计:(1)确定数字低通滤波器的技术指标:通带边缘频率fp1Hz、待求阻带边缘频率fs1Hz和待求阻带衰减-20logsdB。模拟边缘频率为:fp1=1000Hz,fs1=12000Hz阻带边缘衰减为:-20logs=30dB(2)将数字低通滤波器的技术指标转换成响应的模拟低通滤波器的技术指标。用=2πf/fs把由Hz表示的待求边缘频率转换成弧度表示的数字频率,得到p1和s1。p1=2πfp1/fs=2π1000/25000=0.08π弧度s1=2πfs1/fs=2π12000/25000=0.96π弧度-计算预扭曲模拟频率以避免双线性变换带来的失真。由w=2fstan(Ω/2)求得wp1和ws1,单位为弧度/秒。wp1=2fstan(p1/2)=6316.5弧度/秒ws1=2fstan(s1/2)=794727.2弧度/秒-由已给定的阻带衰减-20logs确定阻带边缘增益s。因为-20logs=30,所以logs=-30/20,s=0.03162计算所需滤波器的阶数:n≥111log(1)2log()ssp=21log(1)(0.03162)794727.22log()6316.5=0.714因此,一阶巴特沃斯滤波器的传输函数为:H(s)=wp1/(s+wp1)=6316.5/(s+6316.5)由双线性变换定义s=2fs(z-1)/(z+1)得到数字滤波器的传输函数为:H(z)=116316.50.1122(1)110.7757500006316.51zzzz因此差分方程为:y[n]=0.7757y[n-1]+0.1122x[n]+0.1122x[n-1]硬件框图:一个DSP系统可分为最小系统设计和外围接口设计,DSP在必要的工作环境下才能正常工作。DSP最小系统包括复位、时钟和电源电路。TMS320F2812时钟电路电源电路复位电路Pc液晶显示模块信号源发生模块软件流程图:调试过程与步骤:一、软件实现1、实验准备—设置软件仿真模式—启动CCS2、打开工程、浏览程序。3、编译并下载程序4、打开窗口:*选择菜单View—Graph-Time/Frequency…,进行如下设置出现窗口如下:选择菜单View-Graph-Time/Frequency…,进行如下设置:出现窗口:5、清除显示:在以上打开的窗口中单击鼠标右键,选择弹出菜单中“ClearDisplay”功能。6、设置断点:在程序iir.c中有注释“/*请在此句上设置软件断点*/”的语句上设置软件断点7、运行并观察结果(1)选择“Debug”菜单中的“RUN”项,或按F5键运行程序。(2)观察“IIR”窗口中时域图形:观察滤波效果。实验结果:本次调试过程中出现了不少问题,但在辅导老师的指导下顺利完成IIR数字滤波实验。软件调试结果如下图示:输入波形为一个低频率的正弦波与一个高频率的余弦波叠加而成。如图:通过观察频域和时域图,得知:输入波形中的低频波形通过了滤波器,而高频部分则被衰减。附IIR算法相对应的汇编程序:……………………………….IIR:ADDBSP,#4MOVBAH,#0MOVBAL,#0MOVL*-SP[4],ACCMOVWDP,#0xFE00MOV@0,#0MOVAL,@0CMPBAL,#2SBL7,GEQL6:SETCSXMMOVLXAR4,#0x3F8016MOVACC,@01ADDL@XAR4,ACCMOVLACC,*+XAR4[0]MOVL*-SP[2],ACCMOVLXAR4,#0x3F8012MOVACC,@01ADDL@XAR4,ACCMOVLACC,*+XAR4[0]LCRFS$$MPYMOVL*-SP[2],ACCMOVLACC,*-SP[4]LCRFS$$ADDMOVL*-SP[4],ACCSETCSXMMOVWDP,#0xFE00MOVACC,@01MOVLXAR4,#0x3F801EADDL@XAR4,ACCMOVLACC,*+XAR4[0]MOVLXAR4,#0x3F801AMOVL*-SP[2],ACCMOVACC,@01ADDL@XAR4,ACCMOVLACC,*+XAR4[0]LCRFS$$MPYMOVL*-SP[2],ACCMOVLACC,*-SP[4]LCRFS$$ADDMOVL*-SP[4],ACCMOVWDP,#0xFE00INC@0MOVAL,@0CMPBAL,#2SBL6,LTL7:MOVLACC,*-SP[4]SUBBSP,#4LRETR………………………………..二、IIR算法硬件实现1、实验准备(1)连接实验设备(2)准备信号源进行AD输入①用信号线连接实验箱左侧信号源的波形输出A端口和“A/D输入”模块的“ADCINO”插座注意插头要插牢、到底。这样,信号源波形输出A的输出波形即可送到ICETEK—F2812A板的AD输入通道0。②用同样方法连接实验箱左侧信号源的输出B端口和“A/D输入”的“ADCIN1”相连。③设置波形输出A:—向内侧按波形频率选择按钮,直到标有正弦波的指示灯亮。—上下调节波形频率选择按钮,直到标有100—1KHZ的指示灯亮。—调节幅值调整旋钮,将波形输出A的幅值调到适当位置。④设置波形输出B:—向内侧按波形频率选择按钮,直到标有正弦波的指示灯亮。—上下调节波形频率选择按钮,直到标有1K-10KHZ的指示灯亮。—调节幅值调整旋钮,将波形输出A的幅值调到适当位置。注意:由于模数输入信号未经任何转换就进入DSP,所以必须保证输入的模拟信号的幅度在0-3V之间。必须用示波器检测信号范围,保证最小值0V最大值3V,否则容易损坏DSP芯片的模数采集模块。2、设置CodeComposerStudio2.21在硬件仿真(Emulator)方式下运行请参看本书第三部分、第一章、四、2。3、启动CodeComposerStudio2.21选择菜单Debug-ResetCPU。4、打开工程文件5、编译、下载程序,选择菜单Debug-GoMain,使程序运行到main函数入口位置。6、观察窗口-打开源程序IIR.c,查看源代码。7、运行程序观察结果按CTR控制板的K6键,实现滤波显示,K7键实现混频显示,按K8实现键A、B两信号源分屏显示。8、观察动态效果,调节信号源输出,观察滤波器输出改变信号源输入的波形、频率参数,观察动态效果。9、退出CCS。硬件调试结果若下图(手机拍照):按K6键:按K7键:按K8键:结果分析:通过无限冲激响应滤波器(IIR)算法的硬件实现与软件实现IIR算法相对比,所设计的IIR滤波器收到较好的效果,完成了设计要求。心得体会:在指导老师认真负责的态度下,我顺利而又成功地完成了关于DSP芯片TMS320F2812的八个实验,并从中获益匪浅。记得在学期的开始王忠勇老师就给我们指出DSPs芯片及DSP系统与信息类专业的一些课程有许多联系,同时又有许多特点。刚开始学习时,我并没有完全理解这些话的意义。但随着课程学习逐渐接近尾声,与此同时开始的实践实验,自己从中取得了一些成绩,理论水平得到了一定程度的提高,同时也暴露出一些问题。正是因为DSP设计多门课程的相关知识,这就需要我们在课程的学习过程中,需要经常回顾一些基础理论知识,经过认真思考与分析,达到解决问题的目的。在这个过程中,不仅复习了以前的一些知识,并通过理论联系实际,对相关知识点有了更深层次的认识。从课前复习相关实验内容、原理到课题论文的完成,此过程我受益匪浅。在这个过程中,我复习了数字滤波器的原理和设计方法,对DSP编程有了更深的认识和掌握了一定的编程能力。此外,在画原理图时,学习了MathType和MicrosoftOfficeVisio2007等软件的操作方法。通过本课题的设计,我在多方面得到了锻炼。另外,在实验过程中,团队协作的精神得以充分的体现。当遇到困难的时候,同学与同学之间,同学与指导老师之间有了很好的交流和沟通,这也是实验能够认真完成的一重要因素。此外,要感谢指导老师们,这些实验是在他们认真负责的态度下完成的。他们在我们实验过程中给我们在软件操作和相关理论、算法上给了我们耐心的指导。正是在这种环境下,才能使我们在这个过程收获最大化。从他们身上我懂得了做事严谨认真、勤于动脑,勤于实践的工作态度,这使我在今后的生活中所要努力的方向。参考文献【1】高西全丁玉美编著。数字信号处