1、吉林建筑大学城建学院电气信息工程系课程设计第1页共21页第1章绪论11数字滤波器数字滤波器是一个离散时间系统(按预定的算法,将输入离散时间信号对应数字频率转换为所要求的输出离散时间信号的特定功能装置)。应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的数字频率(2F/FS,F为模拟信号的频率,FS为采样频率,注意区别于模拟频率,按照奈奎斯特抽样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率(WS/2,其频率响应具有以2为间隔的周期重复特性,且以折叠频率即点对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字
2、滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。12数字滤波器的应用现状与发展趋势滤波器的主要分类有以下几种(1)按处理信号类型分类,可分为模拟滤波器和离散滤波器两大类。其中模拟滤波器又可分为有源、无源、异类三个分类;离散滤波器又可分为数字、取样模拟、混合三个分类。(2)按选择物理量分类,滤波器可分为频率选择、幅度选择、时间选择(例如PCM制中的话路信号)和信息选择(例如匹配滤波器)等四类滤波器。(3)按频率通带范围分类,滤波器可分为低通、高通、带通、带阻、全通五个类别,而梳形滤波器属于
3、带通和带阻滤波器,因为它有周期性的通带和阻带。为适应各种需要,出现了一批新型滤波器,这里介绍几种已得到广泛应用的新型滤波器(1)电控编程CCD横向滤波器(FPCCDTF)电荷耦合器(CCD)固定加权的横向滤波器(TF)在信号处理中,其性能和造价均可与数字滤波器和各种信号处理部件媲美。这种滤波器主要用于自适应滤波;PN序列和CHIRP波形的匹配滤波;通用化的频域滤波器及相关积运算;语音信号和相位均衡;相阵系统的波束合成和电视信号的重影消除等均有应用。当然,更多的应用有待进一步开拓。总之,FPCCDTF是最有希望的发展方向。吉林建筑大学城建学院电气信息工程系课程设计第2页共21页(2)晶体滤波器它
4、是适应单边带技术而发展起来的。在20世纪70年代,集成晶体滤波器的产生,使它的发展产生一个飞跃。近十年来,晶体滤波器致力于下面一些研究实现最佳设计,除具有优良的选择外,还具有良好的时域响应;寻求新型材料;扩展工作频率;改造工艺,使其向集成化发展。它广泛应用于多路复用系统中作为载波滤波器,在收发信中,单边带通信机中作为选频滤波器,在频谱分析仪和声纳装置中作为中频滤波器。(3)声表面滤波器它是理想的超高频器件。它的幅频特性和相位特性可以分别控制,以达到要求,而且它还有体积小,长时间稳定性好和工艺简单等特点。通常应用于电视广播发射机中作为残留边带滤波器;在彩色电视接收机中调谐系统的表面梳形滤波器。此
5、外,在国防卫星通信系统中已广泛采用。声表面滤波器是电子学和声学相结合的产物,而且可以集成,所以,它在所有无源滤波器中最有发展前途的。我国现有滤波器的种类和所覆盖的频率已基本上满足现有各种电信设备。从整体而言,我国有源滤波器发展比无源滤波器缓慢,尚未大量生产和应用。从下面的生产应用比例可以看出我国各类滤波器的应用情况LC滤波器占50;晶体滤波器占20;机械滤波器占15;陶瓷和声表面滤波器各占1;其余各类滤波器共占13。从这些应用比例来看,我国电子产品要想实现大规模集成,滤波器集成化仍然是个重要课题。随着电子工业的发展,对滤波器的性能要求越来越高,功能也越来越多,并且要求它们向集成方向发展。我国滤
6、波器研制和生产与上述要求相差甚远,为缩短这个差距,电子工程和科技人员负有重大的历史责任。吉林建筑大学城建学院电气信息工程系课程设计第3页共21页第2章数字滤波器设计方案21设计方案本课题主要应用MATLAB软件设计FIR数字滤波器,并对所设计的滤波器进行仿真应用DSP集成开发环境CCS调试汇编程序,用TMS320C5402来实现了FIR数字滤波。在MATLAB中利用滤波器设计、分析工具FDATOOL,根据指定的滤波器性能快速设计一个FIR,然后把滤波器系数以头文件形式导人CCS中,头文件中含滤波器阶数和系数数组,在MATLAB中调试、运行DSP程序并显示、分析处理后的数据。使用该方法,便于采用
7、语言来实现程序。头文件名不变,当MATLAB中设计的滤波器系数改变时,相应头文件中系数也改变,方便了程序调试、仿真。软件整体设计流程如下图所示21设计方案图22FIR滤波器设计FIR滤波器的设计问题在于寻求一系统函数,使其响应逼近滤波器要求的理想频率响应。JEZJZHEH|JDEH10NNNZNHZH吉林建筑大学城建学院电气信息工程系课程设计第4页共21页23窗函数设计的基本方法从时域出发,设计HN逼近理想HDN,设理想滤波器的单位脉冲响应为HDN,则有(21)(22)所求得的HD(N)一般是无限长的,且是非因果的。要想得到一个因果的有限长的滤波器HN,最直接的方法是截断HD(N),或者说用一
8、个窗口函数W(N)对HD(N)进行加窗处理,即H(N)HD(N)W(N)。因此,应选择合适的窗函数。24滤波器的1Z算法实现FIR滤波器的输出表达式为(23)式中,为滤波器系数;XN表示滤波器在N时刻的输入;YN为N时刻的输出。它的基本算法是一种乘法累加运算,即不断地输入样本XN,经过延时后,再进行乘法累加,最后输出滤波结果YN。1)线性缓冲区法线性缓冲区法又称延迟线法。其特点1对于N级的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(滑窗),用来存2放最新的N个输入样本;3从最老样本开始取数,每取一个样本后,将此样本向下移位;4读完最后一个样本后,输入最新样本存入缓冲区的顶部。2)循环缓
9、冲区法本次设计的FIR滤波器所采用的就是循环缓冲区法。循环缓冲区法的特点如下1对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(滑窗),用来存放DEEHNHENHEHJNJDDJNNDJD21吉林建筑大学城建学院电气信息工程系课程设计第5页共21页最新的N个输入样本;2从最新样本开始取数;3读完最后一个样本(最老样本)后,输入最新样本来代替最老样本,而其他数据位置不变;4用片内BK(循环缓冲区长度)寄存器对缓冲区进行间接寻址,使循环缓冲区地址首尾相邻。25FIR滤波器的优点与缺点可以在幅度特性随意设计的同时,保证精确、严格的线性相位;由于FIR滤波器的单位脉冲HN是有限长序列,因此F
10、IR滤波器没有不稳定的问题;由于FIR滤波器一般为非递归结构,因此,在有限运算下不会出现递归型结构中的极限振荡等不稳定现象误差较小;FIR滤波器可以采用FFT算法实现,从而提高了运算效率。总结FIR数字滤波器的优点(1)单位冲击响应只有有限项;(2)FIR滤波器无反馈回路,是一种无条件稳定系统;(3)FIR滤波器可以设计成具有线性相位特性。FIR数字滤波器的缺点(1)因为无极点,要获得好的过渡带特性,需以较高的阶数为代价;(2)无法利用模拟滤波器的设计结果,一般无解析设计公式,要借助计算机辅助设计程序完成。吉林建筑大学城建学院电气信息工程系课程设计第6页共21页第3章TMS320C54X系列的
11、硬件结构与主要特性31TMS320C54X的主要特性TMS320C54X系列DSP是TI公司在继TMS320C1X、TMS320C2X、TMS320C5X之后推出的新一代16位定点数字信号处理器,运算速度高达100MIPS。TMS320C54X的体系结构采用改进的哈佛结构,程序与数据分开存放,内部具有8条高度并行的总线。图31是它的内部硬件组成框图,包括CPU,总线,存储器,在片外设电路等。主要特点如下311CPU部分(1)先进的多总线结构1条程序总线,3条数据总线和4条地址总线;(2)40位算术逻辑运算单元ALU,包括1个40位桶型移位寄存器和2个独立的40位累加器;(3)17位17位并行乘
12、法器,与40位专用加法器相连,用于非流水线式单周期乘法/累加MAC运算;(4)比较选择存储单元CSSU,用于加法/比较选择;(5)指数编码器,可以在单周期内计算40位累加器中数值得到指数;(6)双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元ARAU存储器;312存储器系统(1)192K字可寻址存储空间(64K字程序存储器,64K字数据存储器以及64K字I/O空间);(2)片内ROM,可配置位程序/数据存储器;(3)片内双寻址RAM(DARAM);C5402中的DARAM分为若干块。由于在每个机器周期内,允许对同一DARAM块寻址2次,因此CPU可以在一个机器周期内对同一DARAM
13、读出1次。一般情况下,DARAM总是映象到数据存储空间,主要用于存放数据。但是,它也可以映象到程序存储空间,用来存放程序代码。313指令系统吉林建筑大学城建学院电气信息工程系课程设计第7页共21页(1)单指令重复和块指令重复操作;(2)块存储器传送操作;(3)32位长操作数指令;(4)同时读入2或3个操作数的指令;(5)能并行存储和并行加载的算术指令;(6)条件存储指令;(7)快速从中断返回的指令;(8)具有延迟转移和调用指令;(9)指令的执行采用指令预提取、指令提取、指令译码、访问操作数、读取操作数和执行等6级流水线并行结构,大大提高了指令的执行速度。314在片外围电路(1)软件可编程等待状
14、态发生器;(2)可编程分区转换逻辑电路;(3)带有内部震荡器或者用外部时钟源的片内锁相环PLL时钟发生器;(4)时分多路;(5)缓冲串行口BSP;(6)16位可编程定时器;(7)8位并行主机接口HPI;(8)外部总线关断控制,以断开外部的数据总线、地址总线和控制信号;(9)数据总线具有总线保持器特性。315电源(1)可采用5V、33V、3V和18V或25V的超低电压供电;(2)可采用功耗下降指令IDLE1,IDLE2和IDLE3控制芯片的功耗;(3)可控制禁止CLKOUT信号。316在片仿真接口具有符合IEEE11491标准的在片仿真接口。吉林建筑大学城建学院电气信息工程系课程设计第8页共21
15、页图1TMS320C54XDSP内部硬件组成框图图31TMS320C5402DSP内部硬件组成框图吉林建筑大学城建学院电气信息工程系课程设计第9页共21页第4章数字滤波器的CCS实现41CCS简介CODECOMPOSERSTUDIO简称CCS,是TI公司推出的、为开发TMS320系列DSP软件的继承开发环境(IDE)。CCS工作在WINDOWS操作系统下,类似于VC的集成开发环境,采用图形接口界面,提供了环境配置、工程管理工具、源文件编辑、程序调试、跟踪和分析等工具。它将前面介绍的各种代码产生工具,诸如汇编器、链接器、C/C编译器、建库工具等集成在一个统一的开发平台中。CCS所集成的代码调试工
16、具具有各种调试功能,包括原TI公司提供的C源代码调试器和模拟器所具有的所有功能,能对TMS320系列DSP进行指令级的仿真和进行可视化的实时数据分析;此外,还提供了丰富的输入/输出库函数和信号处理的库函数,极大地方便了TMS320系列DSP软件的开发过程,提高了工作效率。42CCS特点集成可视化代码编辑界面,可以方便地直接编写C、汇编、H文件、CMD文件等。集成代码生成工具,包括汇编器、优化的C编译器和连接器等。具有完整的基本调试工具,可以载入执行文件OUT,查看寄存器窗口、存储器窗口和变量窗口、反汇编窗口等,支持在C源代码级进行调试。支持多片DSP联合调试。断点工具,支持硬件断点、数据空间读
17、/写断点、条件断点等。探针工具,用于进行算法仿真,数据监视等。剖析工具,用于评估代码执行的时间。数据图形显示工具,可绘制时域/频域波形、眼图、星座图等,并可以自动刷新。提供GEI工具,用户可以根据需要编写自己的控制面板/菜单,从而方便直观地修改变量,配置参数。43CCS的配置点击桌面图标的“SETUPCCSTUDIOV33”图标,运行CCS设置程序,如图41所示点击ADDSAVEQUIT完成设置。吉林建筑大学城建学院电气信息工程系课程设计第10页共21页图4144CCS环境中工程文件的使用441建立工程文件在CCS集成环境下开发汇编程序或者C/C程序,首先要建立一个工程项目文件(PJT),再向
18、工程项目文件中添加汇编程序源文件(ASM),C/C源文件(C)和链接命令文件(CMD),并设置工程项目选项。使用CCS开发应用程序的一般步骤如下1创建或打开一个工程项目文件(PJT),编辑各类文件,可以使用CCS提供的集成编辑环境,对链接命令文件和源程序进行编辑。2对工程项目进行编译。在编译过程中如果出现语法错误,将在编译链接信息视窗(BUILD)窗口中显示错误信息,用户可以根据显示的信息找到错误的位置,更改错误。3对结果和数据进行分析和算法评估。用户可以利用CCS提供的探测点图形显示和性能评价等工具,对运行结果及输出数据进行分析,评估算法的可能性。下面分别进行介绍建立工程文件,单击PROJE
19、CTNEW命令,系统将弹出如图所示的对话框,在该对话框中输入项目文件名,如FIR单击“完成”系统就会创建一个名为FIRPJT的工程项目文件如图42所示。图42吉林建筑大学城建学院电气信息工程系课程设计第11页共21页442创立新文件选择FILENEW可打开一个新的编辑窗口。在新窗口中输入源代码。选择FILESAVE,在出现的对话框中输入一个文件名,并选择一个扩展名,然后单击保存将源程序保存。443向工程中添加文件添加文件单击PROJECTADDFILETOPROJECT命令然后会弹出如图所示的对话框,单击打开完成对文件的添加。导入C源程序,CMD文件以及RTSLIB文件,在ECCSTUDIO_
20、V31C5400CGTOOLSLIB文件夹下。如图43,44,45,46所示。图43图44吉林建筑大学城建学院电气信息工程系课程设计第12页共21页图45图4645编译链接装载对程序进行编译执行PROJECTCOMPILE命令就可以对当前的汇编程序进行编译生成OBJ文件。如果程序存在语法错误,那么就会在下面的编译链接信息框中显示错误信息。根据错误提示,读者可对程序进行修改。对程序进行编译链接执行PROJECTBUILD命令,就可以对当前的项目文件同时进行编译,汇编和链接操作,并生成与工程项目名称相同的可执行的OUT文件。如果有错误信息,则会在“编译链接”信息框中显示。也可以执行PROJECT下
21、的BUILDALL命令,所有项目中的文件重新编译,汇编和链接,生成OUT文件。装载单击主菜单“FILE”中“LOADPROGRAM”选项,在对话框中,在CCS安装目录下,找到构建该工程的DEBUG目录,选择构建生成后的OUT文件,并打开CCS装载吉林建筑大学城建学院电气信息工程系课程设计第13页共21页完毕后,该“OUT”文件到目标DSP之后,会自动弹出“DISASSEMBLY”窗口如图47,48所示。图47图4846利用MATLAB产生噪声信号用于滤波器测试将代码另存为M文件,在MATLAB中运行后将会生成INPUTDAT文件。该数据文件中含有500HZ、3000HZ、8000HZ三种频率的
22、信号,用于滤波器滤波效果测试。信号的时域图和频谱分别图49,图410所示。吉林建筑大学城建学院电气信息工程系课程设计第14页共21页图49图41047将滤波器设计文件载入到内存中选择FILEDATALOAD打开之前MATLAB生成的INPUTDAT文件。如下图411所示。图411吉林建筑大学城建学院电气信息工程系课程设计第15页共21页将ADDRESS设置为INPUT,LENGTH设置为200,PAGE设置为DATA。如下图412所示。图412运行程序,点击RUN按钮,程序即开始运行。48查看滤波器滤波效果打开VIEWGRAPHTIME/FREQUENCY,设置数据,如下图413所示。图413
23、然后重复前三个步骤,只改变图形选项中的DISPLAYTYPE、GRAPHTITLE、STARTADDRESS左上图数据时域图STARTADDRESSINPUT,右上图输入数据频谱(DISPLAYTYPEFFTMAGNITUDE),左下图输出数据时域图STARTADDRESSOUTPUT,右下图输出数据频谱(DISPLAYTYPEFFTMAGNITUDE)。吉林建筑大学城建学院电气信息工程系课程设计第16页共21页49观察结果图414图415吉林建筑大学城建学院电气信息工程系课程设计第17页共21页图416图417吉林建筑大学城建学院电气信息工程系课程设计第18页共21页第5章调试与分析在本系统
24、的硬件调试中主要测试步骤如下首先测量电路板的电源和地是否有短路现象,电路板上所采用器件多为小封装器件,管脚间距小,容易出现短路现象,焊接完成后要认真检查。系统上电检测,上电前应该首先检查电源的正负极性及输入电压的幅度,然后上电。上电后应快速检测电路板上主要电源芯片的输出电压和DSP内核电压,以免损坏电路板上器件。检测系统的复位信号是否工作正常,系统在复位后部分器件会检测自身的工作状态。用示波器查看系统中主要的时钟信号的波形,包括DSP输入时钟信号、DSP输出时钟信号、ADC和DAC的系统时钟信号及帧同步时钟信号需要结合DSP的开发环境和仿真器进行测试。测量所准备的测试信号源的工作电压和工作频率
25、是否在系统的允许范围内。利用TMS320VC5402实现FIR的程序中应注意以下几点1数据定标。输入数据和滤波器系数均小于1,以Q15表示,将FRCT标志置1,输入数据与滤波器系数乘完后结果自动左移一位,和累加器并取高16位输出。2数据存放要求。输入数据块和系数块都放在双寻址数据存储区,起始地址为M位地址边界(2MN)。3循环寻址的使用。为了使用循环寻址,还要设置BK为块长N。由于使用了循环寻址,数据和系数的指针在操作后以循环的方式增1。4数据的初始化。输入数据块要初始化为全0。利用TMS320VC5402的FIRS指令和循环寻址,可以更简洁的方法实现对称抽头的FIR滤波器。当给系统送入一个包
26、含LK,3K,5K的正弦波模拟信号源作为系统的输入信号源,并将MATLAB仿真得到的低通数字滤波器的系数带入所编写的程序代码中,编译运行后循环执行滤波程果符合预期结果。程序设置断点运行后,设置观察图形窗口变量及参数为采用双踪观察启始地址分别为X和Y,长度为256的单元中数值的变化,数值类型为32位浮点型变量,这两个数组中分别存放的是经A/D转换后的输入混叠信号(输入信号)和对该信号进行FIR滤波的结果;单击“ANIMATE”运行程序,调整观察窗口并观察滤波结果。吉林建筑大学城建学院电气信息工程系课程设计第19页共21页总结本次设计的主要工作是应用MATLAB软件设计FIR数字滤波器,并对所设计
27、的滤波器进行仿真;应用DSP集成开发环境一CCS调试汇编程序,用TMS320C5416来实现了FIR数字滤波。如何设置FIR滤波器的参数以及加窗的计算等对滤波器的功能有着非常重要的影响。本文在MATLAB平台上,研究了基于窗函数法并同时考虑衰减等多个参数设置问题。MATLAB具有强大的数值计算和图形功能,虽然其执行效率较低,但其编程效率与可读性、可移植性要远高于其他高级语言。它集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个界面友好的用户环境。它的信号处理工具箱包含了各种经典的和现代的数字信号处理技术,是一个非常优秀的算法研究与辅助设计的工具。在设计数字滤波器时,运用它来进行辅助设计
28、,在系统的准确性和高效率方面起到了至关重要的作用。在本次课程设计的过程中,我发现自己的知识面非常的狭隘,以至于,我不得不借阅大量的书籍来零时抱佛脚。在实际操作过程中,一开始发现自己的汇编语言知识严重缺乏,只好改用C语言,然而许久没用C语言的我,对于C语言程序的编写,依然有些陌生的感觉了,好在学过的东西,在回忆还不算太难。其次就是在硬件设计的时候遇到了不少的麻烦,只能大量的查阅书本或者上网寻找相应的资料。最后我想说的是,其实课程设计真的没想像的那么难,只要我们能够冷静下来思考,理清楚好设计思路,静下心来调试程序,我们就一定能独立的完成。吉林建筑大学城建学院电气信息工程系课程设计第20页共21页致
29、谢本设计是在老师的精心指导和严格要求下完成的,首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次设计的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把设计做得更加完善。同时感谢实验室的等老师,他们给我们提供了必要的实验器材,提供了很大的方便。其次要感谢我的同学,课程设计的完成,让我在其中学到了许多,尤其是学会了合作,懂得了合作造就的效益和成果。在这里再次感谢和我一起搭档的同学,还有对我们精心指导的老师。吉林建筑大学城建学院电气信息工程系课程设计第21页共21页参考文献1刘艳萍DSP技术原理及应用教程M北京航空航天大学出版社,20112郑红DSP
30、应用系统设计实践M北京航空航天大学出版社,20063姜建山FIR数字滤波器的MATLAB设计与DSP实现J电测与仪表2006124童诗白、华成英模拟电子技术基础北京高等教育出版社,20013453635罗军辉、罗勇江等,MATLAB7在数字信号处理中的应用北京机械工业出版社,2005631286楼顺天、李博函,基于MATLAB的系统分析与设计一信号处理西安西安电子科技大学出版社,199881887李勇、徐震等,MATLAB辅助现代工程数字信号处理西安电子科技大学出版社,200263828戴逸民、梁晓雯、裴小平,基于DSP的现代电子系统设计北京电子工业出版社20025231一2719苏金明、张莲花、刘波等,MATLAB工具箱应用北京电子工业出版社200412422810李真芳、苏涛、黄小宇,DSP程序开发一一MATLAB调试及目标代码生成西安西安电子科技大学出版社,200387163