您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于dsp数字滤波器的课程设计
1摘要:数字滤波,是数字信号处理的基本核心内容之一,占有极重要的地位。它通过对采样数据信号进行数学运算处理来达到频域滤波目的,是图像处理、语音处理、模式识别、通信、软件无线电、谱分析等应用中的一个基本处理算法。与模拟滤波器相比,数字滤波器不用考虑器件的噪声、电压漂移、温度漂移等问题,可以容易的实现不同幅度和相位频率等特性指标,能够处理低频信号,频率响应特性可做成非常接近于理想的特性,且精度可以达到很高,容易集成等,这些优势决定了数字滤波器的应用很受欢迎。现在通过DSP编程并结合TI公司的数字信号处理器TMs320VC5402设计了一款稳定度高,低功耗的IIR数字滤波器系统,并完成了软硬调试工作。关键字:数字滤波器,DSP,IIR,低功耗,稳定Abstract:Digitalfilteringofdigitalsignalprocessing,isoneofthebasiccorecontents,occupiesanimportantposition.Itthroughsamplingdatasignalsofmathematicaloperationtreatmenttoachievethefrequencydomainfilteringpurposes,imageprocessing,audioprocessing,patternrecognition,communications,softwareradio,spectralanalysisofapplicationssuchasafundamentalalgorithms.Comparedwithsimulationfilter,digitalfiltersneednotconsiderdeviceofnoise,voltagedrift,temperaturedrift,caneasilyachievedifferentamplitudeandphasefrequencycharacteristicindices,abletohandlesuchlowfrequencysignal,frequencyresponsecharacteristicsbutmakeitveryclosetoidealcharacteristics,andtheprecisioncanreachhigh,easyintegrationetc,theseadvantagesdeterminestheapplicationofdigitalfilterisverypopular.NowthroughDSPprogrammingandcombinedwithTIcompany'sdigitalsignalprocessorTMs320VC5402designinahighdegreeofstability,lowpowerconsumption,IIRdigitalfiltersystemandcompletedsoftdebugging.Keywords:Digitalfilters,DSP,IIR,lowpowerconsumption,stable一、IIR数字滤波器的理论分析从IIR数字滤波器的实现来看,有直接型、级联型、并联型和格型等基本网络结构。不同的结构形式会有不同的运算误差,其稳定性、运算速度、所占用的存储空间等也有所不同[3]。其中直接Ⅱ型仅需要N级延迟单元,且可作为级联型和并联型结构中的基本单元,是最常用的IIR数字滤波器结构之一。IIR数字滤波器的设计方法有两类[4],一类是借助于模拟滤波器的设计方法设计出模拟滤波器,利用冲激响应不变法或双线性变换法转换成数字滤波器,然后用硬件或软件实现;另一类是直接在频域或时域中进行设计,设计时需要作辅助工具。对系统传递函数为00()1MrrrNkkkbzHzaz对应的差分方程为:01()()()MNrkrkynbxnraynk2的IIR数字波滤器来说,设计的任务就是寻求一种因果关系和物理上可实现的系统传递函数使H(z)满足上述的关系,为此可这样使其频率响应能够满足所希望得到的频域指标。二、TMS320C5402的体系结构TMS320VC5402处理器在本系列中处于先进水平。它具有运算速度快,内部存储空间大,外部接口性能好等优点。所以我选择了技术上比较先进,价格又较便宜的C5402作为硬件开发对象。下面结合C5402的实际情况,介绍一下该芯片的体系结构。C5402共有144个引脚,其中有20根地址线AO-A19,16根数据线DO-D15,4个外部可屏蔽引脚INTO#-INT3#和一个不可屏蔽中断引脚BIO#,剩下的引脚可以分成以下几类:存储器控制引脚,时钟/晶振引脚,多通道缓冲串口引脚,主机接口通讯引脚,电源引脚,初始化和复位引脚,通用输入/输出引脚,以及用于测试的IEEE1149.1标准JTAG口。三、IIR数字滤波器的设计流程在设计滤波器时首先要有清晰的思路,因此流程图的设计至关重要。本设计采用的是基于DSP的IIR数字滤波,针对其要完成的功能,对其流程进行了初步规划,如图8所示:3开始系统初始化分配数据空间设置数据指针从指定端口读数据x(n)并从数据存储器读读取系数完成数据的乘加运算修改数据指针为下一次乘加运算做准备保存结果从指定端口输出结果图1IIR数字滤波器设计流程根据设计流程,通过DSP仿真软件编译出适合参数要求的汇编程序。运用汇编语言进行程序编写使其具有更好的实时性,此外运用汇编语言编写更有助于以后的设计拓展。利用TMS320C5402实现IIR的程序中应注意以下几点:(1)数据存放要求。因为采用MAC指令和循环寻址,所以输入数据和滤波器系数的存放要按照一定的要求。数据块和系数块都要放在双寻址数据存储区。(2)循环寻址的使用。为了使用循环寻址,除了对数据的存放有要求外,先还要设置BK为块长N。由于使用了循环寻址,数据和系数的指针在操作后以循环的方式增加1。(3)数据的初始化。输入数据块要初始化为全0。这样在运算中不会对输入产生影响。四、IIR数字滤波器的软件和硬件设计44.1基于DSP的IIR数字滤波器的软件设计4.1.1IIR数字滤波器的数据存储器设计TMS320C54X定点DSP提供了单周期乘/累加指令MAC和循环寻址方式,使IIR数字滤波器每个样值的计算可以在一个周期内完成。IIR数字滤波器每个样值的计算就是实现两数组对应项乘积的累加和。在计算时有前向通道和反馈通道两部分,因此在计算设计时要充分考虑x(n)、y(n)和h(n)系数的存放位置,并正确初始化这两个存储块指针,这样在计算中才能够准确的提取数据,实现乘加运算。图7是IIR滤波器数据存放和系数表:X0X1X2B2B1B0A1A2数据存储器X:数据存储器COEF:AR2AR1图2IIR滤波器数据存放和系数表在程序设计中,首先将数据放入相应的段中,X数据指针AR2指向X0,同时将H(n)的指针AR1指向B0,利用乘加指令完成前向通道的一次运算;接着修改指针,AR2指针增1,H(n)的指针AR1减1,依次完成前向通道的乘加运算;反馈通道应用同样的方法进行乘加。在程序设计时,可以采用先增益后衰减的方法,亦可采用先衰减后增益的方法。但是采用先衰减后增益的方式其系统动态范围和鲁棒性较好,因此在设计中采用了后一种方法。4.1.2IIR滤波器的MATLAB辅助设计5具体在MATLAB中设计IIR数字滤波器的设计步骤如下:按一定规则将给出的数字滤波器的技术指标转换为模拟低通滤波器的技术指标;根据转换后的技术指标使用滤波器选择函数,确定最小阶数N和固有频率Wn;运用最小阶数N产生模拟低通滤波器原型,运用固有频率把模拟低通滤波器原型转换成模拟低通、高通、带通、带阻滤波器。本设计主要应用产生低通滤波器,运用脉冲响应不变法或双线性不变法把模拟滤波器转换成数字滤波器。对于脉冲响应不变法,它是将s域内的H(s)转换成z域内的H(z),但是在映射时,S域内不能一一对应到Z域内的单位圆上,因此容易在仿真中易产生混叠现象,影响实验效果。基于此,本次设计在MATLAB的仿真中优先考虑应用双线性变换法。MATLAB工具箱提供了几种模拟滤波器的原型产生函数,Butterworth滤波器原型,Chebyshev(I型、II型)滤波器原型、椭圆滤波器原型等不同的模拟滤波器原型,从模拟滤波器向数字滤波器转换的双线性变换法和脉冲响应不变法等方法,模拟IIR数字滤波器阶数选择函数以及数字滤波器直接设计函数等等。另外,MATLAB信号处理工具箱提供了几个直接设计IIR数字滤波器的函数。这一整套设计函数给在MATLAB中设计IIR数字滤波器带来了极大的方便。IIR低通数字滤波器根据相关技术指标进行matlab仿真,从而计算出相应的传输函数。其仿真结果结果如图5所示:图3利用matlab仿真图根据以上仿真结果及相应的系数和N值,在相关技术指标不变的情况下,我选用了ChebyshevI6型双线性变换法。4.2基于DSP的IIR数字滤波器的硬件设计4.2.1硬件设计总体方案TI公司的2000系列和5000系列的DSP都通用型的芯片,考虑到2000系列的DSP多用于控制方面,而5000系列较2000系列具有更高的时钟频率、更低的价格和更加强大的运算功能,所以在数字滤波器系统的设计中采用了TI公司的一款高性能、低功耗的定点DSP:TMS320VC5402。该DSP具有较快的运算速度:运算速度最快可达532MIPS;采用了低功耗设计方式:内核电压为1.8V,I/O电压为3.3V。数字滤波系统的具体方案框图如图6所示:ADCDACTMS320VC5402FLASHSRAMJTAG时钟电源图4数字滤波器系统方案框图通常的设计中会采用SV供电并行的ADC(模数转换)和DAC(数模转换)芯片与DSP连接,传输数据过程中会占用总线的时间,而且需要采用多片电平转换器件将SV电平转换为3.3V的逻辑电平。考虑到TMS320VC5402的片上包含两个McBSP(多通道缓冲串行口)接口,可以将这两个通道模仿实现SPI的时序,因此本设计中采用了SPI接口器件,ADC芯片采用的是TLV1570,实现将需要滤波信号从模拟转换到数字信号的实时采样。数模转换芯片采用的是TLV5608,实现滤波后的信号从数字信号恢复为所需要的模拟信号。JTGA口供DSP芯片下载程序调试。4.2.2复位电路设计为了确保系统能够稳定的工作,复位电路是系统中必不可少的电路。电源刚加上电时,TMS320VC5402芯片处于复位状态,瓜S为低使芯片复位。为使芯片初始化正确,一般应保证爪s为低至少持续3个CLKOuT周期。但是,在上电后,系统的晶体振荡器一般需要几百毫秒的稳定期,~般为100-200ms。对于实际的DSP应用系统,特别是产品化的DSP系统,其可靠性是一个不容忽视的问题。由于DSP系统的时钟频率较高,在运行时极有可能发生干扰和被干扰的现象,严重时系统可能会出现7死机现象。为了克服这种情况,除了在软件上做一些保护措施外,硬件上也必须做相应的处理。硬件上最有效的保护措施就是采用具有监视(Watchdog)功能的自动复位电路。自动复位电路除了具有上电复位功能外,还具有监视系统运行并在系统发生故障或死机时再次复位的功能。其基本原理就是通过电路提供一个高低电平发生变化的信号,如果在规定的时间内这个信号不发生变化,自动复位电路就认为系统运行不正常并重新对系统进行复位。根据上述原理,在本系统的设计中采用了ADM706TAR芯片。该芯片具有上电复位功能,电压监测功能和看门狗功能。IN1EN#2OUT4PG3TPS76818QDT1IN2OUT3EN#1TPS75733KTTT2MR#1Vcc4RESET#3WDI2PS3823-33DBVTT3VCC12U20A74F04S1SW-SPST/RSTXFreset复位电路U?GNDU?GNDU?GND图5复位电路4.2.3时钟电路设计给DSP芯片提供时钟一般有两种方法。一种是利用DSP芯片内部
本文标题:基于dsp数字滤波器的课程设计
链接地址:https://www.777doc.com/doc-5493945 .html