基于TMS320VC5402芯片的IIR数字滤波器设计_第1页
基于TMS320VC5402芯片的IIR数字滤波器设计_第2页
基于TMS320VC5402芯片的IIR数字滤波器设计_第3页
基于TMS320VC5402芯片的IIR数字滤波器设计_第4页
基于TMS320VC5402芯片的IIR数字滤波器设计_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、基于TMS320VC5402芯片的IIR数字滤波器学生姓名:XX 指导老师:XX摘要:数字滤波器是数字信号处理中最重要的组成部分之一,被广泛应用于语音图像处理、数字通信、谱分析、模式识别、自动控制等领域。本设计主要研究了数字滤波器的基本理论,根据数字滤波器的设计步骤,利用MATLAB仿真软件分别用双线性变换法和脉冲响应不变法算出系统的传输函数及阶数,再通过DSP编程并结合TMS320VC5402器件的结构和特性选出最优方案实现数字滤波,完成了软件调试的工作。关键词:数字滤波器;DSP;IIR(无限长单位脉冲响应);matlab仿真;CCSAbstract: Digital signal pro

2、cessing filter is the most important component part of the speech which was widely used in image processing, digital communications, spectral analysis, pattern recognition, automatic control, and other fields. The main design of a digital filter on the basic theory, according to the digital filter d

3、esign steps, using MATLAB simulation software were used to transform law and bilinear impulse response calculated by the same system of transfer functions and order, and then through the DSP programming TMS320VC5402 devicecombined with the structure and characteristics of selected programmes to achi

4、eve the optimal number of filtering, to complete the work of the software debugging.Keywords: digital filter; DSP; IIR (infinite impulse response unit); matlab Simulation;CCS1绪论1.1 数字滤波器的发展背景及意义数字滤波,是数字信号处理的基本核心内容之一,占有极重要的地位。它通过对采样数据信号进行数学运算处理来达到频域滤波目的,是语音处理、图像处理、软件无线电、通信、模式识别、谱分析等应用中的一个基本处理算法。与模拟滤波

5、器相比,数字滤波器不用考虑器件的噪声、电压漂移、温度漂移等问题,可以容易的实现不同幅度和相位频率等特性指标。几乎每一科学和工程领域如声学、物理学、数据通信、控制系统和雷达等都涉及到信号,在应用中都希望根据期望的指标把一个信号的频谱加以修改、整形或运算,这些过程都可能包含衰减一个频率范围阻止或隔离一些频率成分。因此,数字滤波的应用已越来越广泛。相对于模拟滤波器,数字滤波器没有漂移,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用越来越广泛。同时DSP (Digital Signal Processor)处理器的出现和FPGA

6、(Field Programmable Gate Array)的迅速发展也促进了数字滤波器的发展,并为数字滤波器的硬件实现提供了更多的选择。总的来说,数字滤波器具有以下显著的优点:精度高、灵活性大、可靠性高、易于大规模集成、并行处理等。滤波分为经典滤波和现代滤波。经典滤波包括FIR滤波和IIR滤波。随着现代滤波技术发展,线性滤波方法,如Wiener滤波、Kalman滤波和自适应滤波都得到了广泛的研究和应用,同时一些非线性滤波方法,如小波滤波、同态滤波、中值滤波、形态滤波等都是现代信号处理的前言课题。这些滤波方法不但有重要的理论意义,而且有广阔的应用前景。2数字滤波器的方案论证2.1 数字滤波器

7、的定义及分类数字滤波器是指完成信号滤波处理的功能。其输入是一组(由模拟信号取样和量化的)数字量,其输出是经过变换的另一组数字量。它的作用是将有用的信号保留,将对其干扰的信号屏蔽,以完成滤波的功能。它是通过对采样数据信号进行数学运算处理来达到频域滤波的目的。数字滤波器具有稳定性高、精度高、灵活性大等突出的优点。随着数字技术的发展,用数字技术实现滤波器的功能越来越受到大家的注意和广泛的应用。从数字滤波器的单位冲击响应来看,可以分为两大类:有限冲击响应(FIR)数字滤波器和无限冲击响应(IIR)数字滤波器。滤波器按功能上分可以分为:低通滤波器(LPF)、高通滤波器(HPF )、带通滤波器(BPF)、

8、带阻滤波器(BSF)。2.2 数字滤波器的实现方法数字滤波器的实现方法一般有以下几种:(1)在通用的计算机(如PC)上用软件(如C语言)实现。这种方法的缺点是速度太慢,不能用于实时系统,主要用于DSP算法的模拟与仿真。(2)在通用的计算机系统中加上专用的加速处理机实现。这种方法不便于系统的独立运行。(3)用通用的单片机实现。这种方法适用于一些不太复杂的数字信号处理。(4)用通用的可编程DSP芯片实现。DSP利用改进的哈佛总线结构,内部有硬件乘法器、累加器,使用流水线结构,具有良好的并行特点,并有专门设计的适用于数字信号处理的指令系统等。(5)用专用的DSP芯片实现。在一些特殊的场合,要求的信号

9、处理速度极高,这种芯片将相应的信号处理算法在芯片内部用硬件实现,无须进行编程。(6)用FPGA等可编程器件来开发数字滤波算法。使用相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。通过比较这些方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数和阶数,研究算法的可行性,对数字滤波器进行前期的仿真。然后,可以采用DSP或FPGA来实现硬件电路。对于通用的可编程DSP芯片来说,它具有更好的灵活性和实时性。因此本设计研究的重点集中在利用通用可编程的DSP芯片来实现数字滤波。2.3 IIR与FIR数字滤波器的比较IIR滤波器系统函数的极点可

10、以位于单位圆内的任何地方,因此可以用较低的阶数获得高选择性,所用存储单元少,经济而效率高。但因为IIR具有反馈网络,所以其相位是非线性的,此外在设计中要注意系数的选择使其极点均可落在单位圆内,这样就可最大限度的使系统稳定。FIR滤波器虽可以得到严格的线性相位,但由于FIR滤波器系统函数的极点固定在原点,只能用较高的阶数达到高选择性,对于同样的滤波器设计指标,FIR滤波器所要求的阶数比IIR滤波器高5-10倍,成本较高,信号延时也较大。鉴于此,我在设计中采用了DSP的IIR数字滤波器。3 IIR数字滤波器的理论分析3.1 IIR数字滤波器结构N阶无限长单位脉冲响应(IIR)滤波器的脉冲传递函数为

11、:对应的差分方程为:其中y(n)由两部分构成:第一部分是一个对x(n)的M阶延时链结构,每节延时抽头后加权相加,也即是一个横向结构网络;第二部分也是一个N阶延时链的横向结构网络,不过它是对y(n)的延时,因此是一个反馈网络,这种结构称为直接I型,如图1 所示:图1 直接I型结构方框图将上式改写为(当M=N的情况):由此H(z)可视为分子多项式与分母多项式的倒数所构成的两个子系统函数的乘积,这相当于两个子系统的级联。其中第一个子系统实现零点为: 故得:其时域表示为:第二子系统实现极点为:整理以后可得:其时域表示为: 综上所述可以得到如图2所示的实现结构:图2 直接I型的变形结构方框图如果将图2中

12、相同输出的延迟单元合并成一个,则得到如图3所示的构图,它比上图的延迟单元少了一倍,N阶滤波器只需要N级延迟单元,这是实现N阶滤波器所必须的最少数量的延迟单元。这种结构称为直接型II,有时将直接型I简称为直接型,将直接型II称为典型型式:图3 直接II型结构方框图直接型I、II结构的优点是简单直观。它们的共同缺点是:系数、对滤波器性能的控制关系不直接,因此调整不方便。但因为其简单直观,且在IIR滤波器结构中,直接II型结构是最常用的结构,因为这种结构的二阶形式可以作为级联型和并联型结构的基本环节。所以在本次的设计中我采用了直接II型IIR滤波器的设计结构。如图4所示: 图4 直接II型IIR滤波

13、器4 IIR滤波器的MATLAB辅助设计4.1 IIR数字滤波器设计步骤IIR数字滤波器设计借助模拟滤波器原型,再将模拟滤波器转换成数字滤波器。这些过程已经成为一整套成熟的设计程序。模拟滤波设计已经有了一套相当成熟的方法,它不但有完整的设计公式,而且还有较为完整的图表供查询。因此,充分利用这些已有的资源会给数字滤波器的设计带来很大的方便。具体在MATLAB中设计IIR数字滤波器的设计步骤如下:按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;根据转换后的技术指标使用滤波器选择函数,确定最小阶数N和固有频率Wn;运用最小阶数N产生模拟低通滤波器原型,运用固有频率把模拟低通滤波

14、器原型转换成模拟低通、高通、带通、带阻滤波器。本设计主要应用产生低通滤波器,运用脉冲响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。对于脉冲响应不变法,它是将s域内的H(s)转换成z域内的H(z),但是在映射时,S域内不能一一对应到Z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。基于此,本次设计在MATLAB的仿真中优先考虑应用双线性变换法。MATLAB工具箱提供了几种模拟滤波器的原型产生函数,Butterworth滤波器原型,Chebyshev(I型、 II型)滤波器原型、椭圆滤波器原型等不同的模拟滤波器原型,从模拟滤波器向数字滤波器转换的双线性变换法和脉冲响应不变法等

15、方法,模拟IIR数字滤波器阶数选择函数以及数字滤波器直接设计函数等等。另外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数。这一整套设计函数给在MATLAB中设计IIR数字滤波器带来了极大的方便。4.2 利用matlab软件设计IIR低通滤波器IIR低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。其仿真结果结果如图5所示: 图5 利用matlab仿真图根据以上仿真结果及相应的系数和N值,在相关技术指标不变的情况下,我选用了ChebyshevI型双线性变换法。5 IIR滤波器的实现基于DSP的IIR滤波器的设计包括硬件和软件两部分,硬件部分涉及T

16、MS320VC5402,软件部分为DSP 编程。5.1 基于DSP的IIR数字滤波的硬件设计基于DSP的数字滤波器总体硬件设计方案TI公司的2000系列和5000系列的DSP都通用型的芯片,考虑到2000系列的DSP多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP: TMS320VC5402。该DSP具有较快的运算速度:运算速度最快可达532MIPS;采用了低功耗设计方式:内核电压为1.8V,I/O电压为3.3 V。数字滤波系统的具体方案框图如图6所示: 图6 数字滤波器系

17、统方案框图通常的设计中会采用SV供电并行的ADC(模数转换)和DAC(数模转换)芯片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将SV电平转换为3.3V的逻辑电平。考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV 1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是TLV 5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。JTGA口供DSP芯片下载程序调试。 TMS320C5402的体系结构TMS32

18、0VC5402处理器在本系列中处于先进水平。它具有运算速度快,内部存储空间大,外部接口性能好等优点。所以我选择了技术上比较先进,价格又较便宜的C5402作为硬件开发对象。下面结合C5402的实际情况,介绍一下该芯片的体系结构。C5402共有144个引脚,其中有20根地址线AO-A19,16根数据线DO-D15,4个外部可屏蔽引脚INTO#-INT3#和一个不可屏蔽中断引脚BIO#,剩下的引脚可以分成以下几类:存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的IEEE1149. 1标准JTAG口。 最小系统的设计一

19、个DSP系统可分为最小系统设计和外围接口设计两部分。DSP在必要的工作环境下才能正常工作,构建能支持DSP正常工作的最小系统,包括复位、时钟、电源及JTGA仿真口,FLASH接口设计等。5.2 基于DSP的IIR数字滤波器的软件设计 IIR数字滤波器的数据存储器设计TMS320C54X定点DSP提供了单周期乘/累加指令MAC和循环寻址方式,使IIR数字滤波器每个样值的计算可以在一个周期内完成。IIR数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样

20、在计算中才能够准确的提取数据,实现乘加运算。图7是IIR滤波器数据存放和系数表:AR2 AR1 图7 IIR滤波器数据存放和系数表在程序设计中,首先将数据放入相应的段中, X数据指针AR2指向X0,同时将H(n)的指针AR1指向B0,利用乘加指令完成前向通道的一次运算;接着修改指针,AR2指针增1,H(n)的指针AR1减1,依次完成前向通道的乘加运算;反馈通道应用同样的方法进行乘加。在程序设计时,可以采用先增益后衰减的方法,亦可采用先衰减后增益的方法。但是采用先衰减后增益的方式其系统动态范围和鲁棒性较好,因此在设计中采用了后一种方法。IIR数字滤波器的设计流程在设计滤波器时首先要有清晰的思路,

21、因此流程图的设计至关重要。本设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,对其流程进行了初步规划,如图8所示:开始 系统初始化 分配数据空间 设置数据指针 完成数据的乘加运算 修改数据指针为下一次乘加运算准备 保存结果从指定的端口输出数据 从指定端口读入数据x(n),并从数据存储器中读取系数a ,b 结束 图8 IIR数字滤波器设计流程根据设计流程,通过DSP仿真软件编译出适合参数要求的汇编程序。运用汇编语言进行程序编写使其具有更好的实时性,此外运用汇编语言编写更有助于以后的设计拓展。其IIR数字滤波主程序段如下: IIR: PORTR PA1, *AR2 ;从输入端口读入数据

22、MPY *AR2+0%,*AR4+0%, A ;乘法运算,A=b0×x(n) MAC *AR2+0%,*AR4+0%, A ;第1次乘法累加 A1=b1*x(n-1)+b0*x(n) MAC *AR2, *AR4+0%, A ;第2次乘法累加 A2=b2*x(n-2)+A1 MAC *AR3+0%,*AR5+0%, A ;第3次乘法累加 A3=a1*y(n-2)+A2 MAC *AR3+0%,*AR5+0%, A ;第4次乘法累加 A4=a2*y(n-2)+A3 MAR *AR5+0% ;修正AR5 STH A,*AR7+ ;存储 y(n) PORTW *AR7, PA0 ;从输出端

23、口输出y(n) BD IIR ;循环 利用TMS320C5402实现IIR的程序中应注意以下几点:(1)数据存放要求。因为采用MAC指令和循环寻址,所以输入数据和滤波器系数的存放要按照一定的要求。数据块和系数块都要放在双寻址数据存储区。(2)循环寻址的使用。为了使用循环寻址,除了对数据的存放有要求外,先还要设置BK为块长N。由于使用了循环寻址,数据和系数的指针在操作后以循环的方式增加1。(3)数据的初始化。输入数据块要初始化为全0。这样在运算中不会对输入产生影响。5.2 基于DSP的IIR数字滤波的软件调试本次设计在调试中出现了许多问题,但经过老师的指导成功的完成了IIR数字滤波,其运行结果如

24、图9、图10所示:图 9利用DSP的IIR数字滤波效果图(1)图 10 利用DSP的IIR数字滤波效果图(2)在效果图中,上面波形为DSP实验箱产生的滤波前的效果图,下面波形为进行IIR滤波后的效果图。从两图的比较可以看出,所设计的IIR滤波器收到了较好的效果,完成了设计要求。在编写及调试的过程中主要遇到以下问题:(1)在编写程序的过程中要对所涉及的存储单元进行初始化,这样在数据或是代码段进行汇编时才不会出现问题。(2)编写程序需要对数据段、代码段、堆栈段进行设置。要编写相应的.cmd(链接命令文件)文档对其进行合理化的分配空间。(3)在编写程序时一定要编写相应的中断向量表文件,这样在汇编时才

25、不会出错。6 结束语通过对本课题的研究,自己从中取得了一些成绩,理论水平也得到了一定的提高,同时也暴露了一些问题:首先,对一个课题必须要阅读大量的文献和书籍来获得一定的感性认识,然后才能有自己的想法,这是一条必经之路。其次,理论基础知识很重要,论文涉及了很多的算法,会用到很多基础知识,如果用的时候再去学会浪费时间,因此要在平时注意搜集相关的资料,多学一些有用实用的技术,这样在以后的学习和工作中才能够做到游刃有余。最后,要有信心,遇到困难要向别人请教,这样可以大大加快研究进程。以上是我做论文的一些心得体会,这些对我以后的学习会有很大的帮助。此外,要感谢尊敬的XX老师,本设计是在她的精心指导和关怀

26、下完成的。X老师在学术上给予我大力帮助和指导,为我创造良好的学习氛围,正是在这种环境下我才能够顺利完成本次设计。从X老师身上,我懂得了做事要严谨认真、脚踏实地、勤于动脑、勤于动手,这些在以后的工作和生活中将是我所要努力做到的。特此向XX老师致以最诚挚的谢意!由于本人的时间和能力有限,本次的开发系统还存在一些不足之处,整个系统还需要进一步完善。文中也难免有不足之处,恳请老师批评指正。同时,对评审设计的老师表示衷心的感谢!参考文献1胡庆钟,李小刚,吴钰淳. TMS320C55X DSP原理、应用和设计. 机械工业出版社. 2005.10.2王潞钢,陈林康,曾岳南,许贤昶. DSP C2000程序员

27、高手进阶. 机械工业出版社. 2004.10.3赵红怡. DSP技术与应用实例. 电子工业出版社. 2003.6.4潘松,黄继业,王国栋. 现代DSP技术. 西安电子科技大学出版社. 20045.5丁玉美,高西全. 数字信号处理. 西安电子科技大学出版社. 2006.7.6刘顺兰,吴杰,高西全. 数字信号处理. 西安电子科技大学出版社. 2003.8.7楼顺天,刘小东,李博菡. 基于MATLAB 7.X的系统分析与设计信号处理. 西安电子科技大学出版社. 2005.5.8清源科技. TMS320C54X DSP应用程序设计教程. 机械工业出版社. 2004.1.9陈学平. Protel 200

28、4. 人民邮电出版社. 2005.9.10 基于DSP芯片TMS320VC5402的开发系统设计. 数字滤波器算法研究及其在DSP系统中的实现. 基于TMS320C5402的数字滤波器及其应用系统的设计与实现. 基于MATLAB的IIR数字滤波器设计与仿真. 数字信号处理及其matlab实现. 中国知库网.附件1、IIR数字滤波器源文件:.title "iir.asm" .mmregs .def _start .global _mainDX .usect "DX",3DY .usect "DY",3DB .usect "DB

29、",3DA .usect "DA",3PA0 .set 0;800BHPA1 .set 1;800CH .datatable: .word 0 .word 0 .word 0 .word 0 .word 1*32768/10 .word 2*32768/10 .word 3*32768/10 .word 5*32768/10 .word -4*32768/10 .text_main: _start: SSBX FRCT STM #DX,AR1 RPT #1 MVPD #table,*AR1+ STM #DY,AR1 RPT #1 MVPD #table+2,*AR1+ STM #DB,AR1 RPT #2 MVPD #table+4,*AR1+ STM #DA,AR1 RPT #1 MVPD #table+7,*AR1+ STM #DX+2,AR2 STM #DY+1,AR3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论