您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 基于TMS320VC5402的FIR数字滤波器的设计
1前言..................................................................................................................................................31任务提出与方案论证...................................................................................................................41.1TMS320VC5402的主要特点:........................................................................................41.2TMS320C5402编程.......................................................................................................51.3FIR数字滤波器.................................................................................................................62总体设计........................................................................................................................................72.1FIR滤波器的窗函数设计步骤.........................................................................................72.2FIR滤波器的matlab实现.................................................................................................72.3FIR滤波器的dsp实现......................................................................................................92.4滤波效果调试...................................................................................................................133总结............................................................................................................................................134参考文献.....................................................................................................................................132摘要数字FIR滤波器广泛地应用于数字信号处理领域。主要介绍了通过改进算法,利用TMS320C5402芯片的丰富指令和自动溢出保护功能,采用窗函数法,利用MATLAB工具软件辅助设计和仿真,对信号进行低通滤波,并使用CCS应用软件进行仿真及调试,实现了DSP下数字低通滤波器的设计。关键词:FIR数字滤波器;滤波器设计;数字信号处理3前言随着信息时代和数字世界的到来,数字信号处理已成为当今一项极其重要的学科和技术领域。在此领域中经常遇到的问题是:如何将信号中冗余的成分去掉获得所需要的有用信号。其中的一个方法是利用有用信号和需要抑制的成分之间在频谱上的差别,设计一个滤波器使接收到的信号通过该系统后,有用信号的成分保持不变而其它成分则大大衰减。FIR的实现是非递归的,稳定性好,精度高,而且可以获得严格的线性相位特性。因此,它在数字音频、图像处理、数据传输等领域得到广泛应用。41任务提出与方案论证FIR滤波器的设计方法有窗函数设计法和频率采样设计法,下面扼要介绍窗函数设计法。窗函数设计法的基本思想是要选取某一适合的理想频率特性,然后将它的脉冲响应截断以得到一个线性相位和因果的FIR滤波器。因此,这种方法的重点在于选择某种恰当的窗函数和一个合适的理想滤波器。假设所希望得到的滤波器的理想响应为)(()jwjnwiinaeaneFIR滤波器的设计就在于寻找一个传递函数10()()NjwinwiNAeane去逼近()jwiAe,设由于()jwiAe的矩形频率特性,故ai(n)一定是无限长的序列,而且是非因果的,要设计的FIR滤波器的a(n)必然是有限长的,所以要用有限长的a(n)来逼近无限长的ai(n),最有效的方法是截断ai(n),或者用一个有限长的窗函数序列w(n)来截取ai(n),即a(n)=w(n)ai(n)因此,窗函数序列的形状及长度选择很关键。在设计过程中,可由所设计滤波器的过度带宽和阻带最小衰减的要求选定窗函数w(n)的形状。1.1TMS320VC5402的主要特点:TMS320VC5402是TI公司于1999年10月推出的性价比极高的定点数字信号处理器(DSP)。运算速度高达100MIPS。图1是它的内部硬件组成框图,包括:CPU,总线,存储器,在片外设电路等。主要特点如下:●由一条程序总线、三条数据总线和四条地址总线构成增强型哈佛结构;●40位算术逻辑单元(ALU),包括一个40位桶形移位寄存器和两个独立的40位累加器;5●17bitx17bit并行乘法器单元和一个专用的40位加法器,用于非流水线的单周期乘法/累加(MAC)操作;●比较、选择、储存单元(CSSU),用于维特比加法/比较选择;●两个地址发生器,包括8个辅助寄存器(AR0-AR7)和2个辅助寄存器算术单元(ARAU0、ARAU1);●192K字×16bit可寻址的存储器空间(64K字的程序空间、64K字的数据空间、64K字的I/O空间),片内提供16K双存取RAM,4KROM;●在片外围电路包括:软件可编程等待状态发生器、片内锁相环(PLL)时钟发生器、2个多通道带缓冲串行接口(McBSP)、2个可编程的定时器等;除了上述高性能的硬件结构外,TMS320VC5402还提供了先进的指令集,实现单指令重复和块重复、32位长操作指令、具有并行存储和并行加载的算术指令、一条指令同时读2或3个操作数、从中断快速返回指令。图1TMS320C54XDSP内部硬件组成框图1.2TMS320C5402编程芯片TMS320C5402有7种寻址方式可供利用:立即数寻址、绝对寻址、直接寻址、累加器寻址间接寻址、存储器映像寄存器寻址、堆栈寻址。其中绝对寻址、直接寻址、间接寻址和存储器映像寄存器寻址在编程中用得比较频繁。而在一般的情况下,应首先使用间接寻址和存储器映像寄存器寻址,因为这样可以6节省指令周期。在使用直接寻址时,一般选用DP寄存器的直接寻址(DP-ReferencedAddressing)方式。此时,存储器被分为512页,地址0~127,这样一个确定的地址由DP值和指令的地址域两部分确定。所以选取DP值的直接寻址方式时,须设定DP值,这样在程序实现时比较麻烦,通用的做法是采用TMS320C5402提供的伪指令功能,因为伪指令不占用程序的执行空间和时间。加上TMS320C5402的多总线技术,提供了很多单字单指令周期的并行指令,如并行装入和存储指令、并行存储及加ö指令、并行存储与乘指令,在程序中恰当地加入这些指令,可以提高程序的执行效率。在实过程中,滤波器的通带截止频率和阻带下限截止频率分别为200Hz和500Hz.另外,C5402芯片在使用MAC或MAS指令时,首先对乘法结果进行溢出保护,即8000H×8000H得到结果7FFFFFFFH,然后再进行并行的加或减的运算。这样就进一步有效地减少了溢出,提高了FIR滤波器的性能,基本上克服了一般FIR滤波器对输入信号有衰减。通过MATLAB编程仿真,得到滤波器系数如下:Sec1b01.0000000b11.3328459b21.0000000a01.0000000a1-0.4316700a20.7075742Sec2b01.0000000b11.8611640b21.0000000a01.0000000a1-0.7714902a20.26176441.3FIR数字滤波器FIR滤波器实质上就是一个分节的延迟线,把每一节的输出用滤波器系数进行加权累加,便得到滤波器的输出结果,它总是稳定并且可实现的。在一些工程7实际应用(如:图像处理、数据调制解调)中,往往对相位要求较高。FIR滤波器可以实现严格的线性相位,从而得到了广泛应用。它的差分方程数学表达式为:10()()()Niynhixni式中,N是FIR滤波器的抽头数,x(n)表示在n时刻输入的信号样值,h(n)表示滤波器的第n级抽头系数。横截型FIR滤波器的结构如图2所示2总体设计2.1FIR滤波器的窗函数设计步骤(1)由数字滤波器理想特性Hd(ejw)进行傅里叶逆变换,获得理想滤波器的单位脉冲响应hd(n)。假设理想低通滤波器的截止频率为wc,其幅频特性为:00,010,()wwjwdwwHe或0sin()1()2()cwcjwnd(2)由性能指标确定窗函数w(n)和窗口长度N,由过渡带近似于窗函数主瓣宽度求得窗口长度。(3)求滤波器的单位脉冲响应h(n)=hd(n)w(n)。(4)检验滤波器的性能指标。2.2FIR滤波器的matlab实现MATLAB信号处理工具箱中的各种FIR数字滤波器设计函数都是采用双线性变(0)h(1)h(3)hN(2)hN(1)hN●●●●●●()xn1z1z1z1z()yn图2FIR滤波器的横截型结构8换法。滤波器设计函数butter、cheby1、cheby2和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。要求调用如上函数直接设计fIR数字滤波器。数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离。设计一个低通滤波器,性能指标为通带0~1000Hz,阻带截止频率为2000Hz,通带波动1%,阻带波动5%,采样频率为10000Hz,采用Kaiser窗。主要程序如下:fc=1000;fs=10000;[n,Wn,beta,ftype]=kaiserord([10002000][10],[0.050.05],fs);%得出滤波器的阶数w=23fcPfs%模拟到数字滤波器的技术指标的转换window=kaiser(n+1,beta);%使用kaiser窗函数b=fir1(n,w,window);%使用标准频率响应的加窗设计函数fir1freqz(b,1,512);%数字滤波器频率响应;t=(1:100)Pfs;s=sin(23pi3t3800)+sin(23pi3t33000)+sin(23pi3t
本文标题:基于TMS320VC5402的FIR数字滤波器的设计
链接地址:https://www.777doc.com/doc-2535199 .html