基于DSP的IIR滤波器系统设计_第1页
基于DSP的IIR滤波器系统设计_第2页
基于DSP的IIR滤波器系统设计_第3页
基于DSP的IIR滤波器系统设计_第4页
基于DSP的IIR滤波器系统设计_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

1、基于DSP的IIR滤波器系统设计摘要 随着计算机和信息技术的飞速发展,数字信号处理已经成为高速实时处理的一项关键技术,广泛应用在语音识别、智能检测、工业控制等各个领域。数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。DSP数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。传感器数字信号处理是利用传感器对模拟信号或数字信号进行采集并把其转换成计算机可识别的电信号

2、,并利用计算机对信号进行处理以达到计算机辅助控制或是计算机自动控制的目的。DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。用DSP 芯片实现IIR 数字滤波器,不仅具有精确度高、不受环境影响等优点,而且因DSP 芯片的可编程性,可方便地修改滤波器参数,从而改变滤波器的特性,设计十分灵活。本课题主要应用MATLAB软件设计IIR数字滤波器,并对所设计的滤波器进行仿真;应用DSP集成开发环境CCS调试汇编程序,文章结合TM320C5509的结构特点,介绍了一种IIR滤波器在TM320C5509中的实现方法。文中程序已经过硬件验证,仿真结果表明该设

3、计符合要求。 关键词   数字滤波;IIR;DSP;TM320C5509;MATLAB目录摘要I第1章 绪论11.1 数字滤波器的优越性21.2 数字滤波器实现的方法21.3 主要研究内容3第2章 滤波器基础42.1数字滤波器介绍42.2 IIR滤波器的设计方法及原理52.3 IIR滤波器的设计过程及MATLAB实现102.3.1设计过程102.3.2设计流程框图122.3.3 MATLAB程序122.3.4运行结果及分析142.4 本章小结14第3章 数字滤波器的DSP实现153.1 TMS320C5509特点153.2 DSP系统的设计与开发173.2.1 DSP系统的

4、特点173.2.2 DSP系统的设计流程183.2.3 DSP系统的开发工具CCS183.2.4 IIR滤波器的设计框图193.2.5程序源代码20第4章 本文总结234.1 总结23参考文献23第一章 绪论1.1 数字滤波器的优越性DSP 芯片是一种特别适合数字信号处理运算的微处理器,主要用来实时、快速地实现各种数字信号处理算法。数字信号处理由于具有精度高、灵活性强等优点,已广泛应用于图像处理、数字通信、雷达等领域。数字滤波技术在数字信号处理中占有极其重要的地位,数字滤波器根据其单位脉冲响应可分为IIR(无限长冲激响应滤波器)和FIR(有限长冲激响应滤波器)两类。IIR滤波器可以用较少的阶数

5、获得很高的选择特性,但在有限精度的运算中,可能出现不稳定现象,而且相位特性不好控制。数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。数字滤波器又分为无限冲激响应滤波器(IIR)和有限冲激响应滤波器(FIR)。FIR滤波器具有不含反馈环路、结构简单以及可以实现的严格线性相位等优点,因而在对相位要求比较严格的条件下,采用FIR数字滤波器。同时,由于在许多场合下,需要对信号进行实时处理,因而对于单片机的性能要求也越来越高。由于DSP控制器具有许多独特的结构,例如采用多组总线结构实现并行处理,独立的累加器和乘法器以及丰富的寻址方式,采用 DSP控制器就可以提高数字信号处理运

6、算的能力,可以对数字信号做到实时处理。DSP(数字信号处理器)与一般的微处理器相比有很大的区别,它所特有的系统结构、指令集合、数据流程方式为解决复杂的数字信号处理问题提供了便利,本文选用TMS320C5509作为DSP处理芯片,通过对其编程来实现IIR滤波器。对数字滤波器而言,从实现方法上,有FIR滤波器和无限冲激响应(IIR)滤波器之分。由于FIR滤波器只有零点,因此这一类系统不像IIR系统那样易取得比较好的通带与阻带衰减特性。但是IIR系统与传统的通过硬件电路实现的模拟滤波器相比有以下优点:1、单位冲击响应有无限多项;2、高效率(因为结构简单、系数小、乘法操作较少)3、与模拟滤波器有对应关

7、系4、可以解析控制,强制系统在指定位置为零点5、有极点,在设计时要考虑稳定性6、具有反馈,可能产生噪声、误差累积1.2 数字滤波器的实现方法目前数字滤波器的主要实现方法有:1在通用的微型计算机上用软件实现。软件可以是自己编写的,也可以使用现成的软件包,这种方法的缺点是速度太慢,不能用于实时系统,只能用于教学和算法的仿真研究。比如用MATLAB就几乎可以实现所有数字滤波器的仿真。而且在MATLAB下的部分仿真程序还可以通过转化为C语言,再通过DSP的C编译器直接在DSP硬件上运行。2用 DSP(Digital Signal Processing)处理器实现DSP处理器是专为数字信号处理而设计的,

8、如TI公司的TMS320C54x系列,AD公司的ADSP2IX,ADSP210X系列等。它的主要数字运算单元是一个乘累加器(Multiply-accumulator,MAC),能够在一个机器周期内完成一次乘累加运算,配有适合于信号处理的指令,具备独特的循环寻址和倒序寻址能力。这些特点都非常适合数字信号处理中的滤波器设计的有效实现,并且它速度快、稳定性好、编程方便。3用固定功能的专用信号处理器实现专用信号处理器采用专用集成电路ASIC(Application Specific Integrated Circuits)实现,适用于过程固定而又追求高速的信号处理任务,是以指定的算法来确定它的结构,使

9、用各种随机逻辑器件组成的信号处理器。它们体积小、保密性好,具有极高的性能,但灵活性差。4用FPGA等可编程器件来开发数字滤波算法。由于FPGA产品的迅速发展,人们可以利用Atera、Xilinx等产品,使用其相关开发工具和VHDL等硬件开发语言,通过软件编程用硬件实现特定的数字滤波算法。这一方法由于具有通用性的特点并可以实现算法的并行运算,无论是作为独立的数字信号处理器,还是作为DSP芯片的协处理器,目前都是比较活跃的研究领域。比较以上方法可见:可以采用MATLAB等软件来学习数字滤波器的基本知识,计算数字滤波器的系数,研究算法的可行性,对数字滤波器进行前期的设计和仿真。而后,用DSP处理器或

10、FPGA进行数字滤波的硬件实现。本课题设计的FIR数字滤波器就是用MATLAB进行设计和仿真,用DSP处理器来实现。1.3 主要研究内容本文主要研究了数字滤波器的基本理论和实现方法。接着研究分析了如何利用MATLAB仿真软件来设计出符合各种要求的数字滤波器,并对所设计的滤波器进行仿真得到系数,本文还应用DSP集成开发环境CCS调试汇编程序,为后面在DSP上实现提供必要的数据。本课题选择在TM320C5509 DSP综合实验开发系统平台上进行开发。最后采用窗函数法在CCS环境下,利用MATLAB仿真得到的滤波器系数,编程实现IIR数字滤波器,得出滤波结果波形,并对结果进行分析与总结。第2章 滤波

11、器基础2.1 数字滤波器的介绍数字滤波器是对数字信号实现滤波的线性时不变系统。数字滤波实质上是一种运算过程,实现对信号的运算处理。输入数字信号(数字序列)通过特定的运算转变为输出的数字序列,因此,数字滤波器本质上是一个完成特定运算的数字计算过程,也可以理解为是一台计算机。描述离散系统输出与输入关系的卷积和差分方程只是给数字信号滤波器提供运算规则,使其按照这个规则完成对输入数据的处理。时域离散系统的频域特性:,其中、分别是数字滤波器的输出序列和输入序列的频域特性(或称为频谱特性),是数字滤波器的单位取样响应的频谱,又称为数字滤波器的频域响应。输入序列的频谱经过滤波后,因此,只要按照输入信号频谱的

12、特点和处理信号的目的, 适当选择,使得滤波后的满足设计的要求,这就是数字滤波器的滤波原理。数字滤波器根据其冲激响应函数的时域特性,可分为两种,即无限长冲激响应(IIR)数字滤波器和有限长冲激响应(FIR)数字滤波器。IIR 数字滤波器的特征是,具有无限持续时间冲激响应,需要用递归模型来实现,其差分方程为:系统函数为:设计IIR滤波器的任务就是寻求一个物理上可实现的系统函数H(z),使其频率响应H(z)满足所希望得到的频域指标,即符合给定的通带截止频率、阻带截止频率、通带衰减系数和阻带衰减系数。2.2 IIR滤波器的设计方法及原理IIR数字滤波器是一种离散时间系统,其系统函数为假设MN,当MN时

13、,系统函数可以看作一个IIR的子系统和一个(M-N)的FIR子系统的级联。IIR数字滤波器的设计实际上是求解滤波器的系数和 ,它是数学上的一种逼近问题,即在规定意义上(通常采用最小均方误差准则)去逼近系统的特性。如果在S平面上去逼近,就得到模拟滤波器;如果在z平面上去逼近,就得到数字滤波器。1.用脉冲相应不变法设计IIR数字滤波器 利用模拟滤波器来设计数字滤波器,也就是使数字滤波器能模仿模拟滤波器的特性,这种模仿可以从不同的角度出发。脉冲响应不变法是从滤波器的脉冲响应出发,使数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),即将ha(t)进行等间隔采样,使h(n)正好等于

14、ha(t)的采样值,满足h(n)=ha(nT)式中,T是采样周期。如果令Ha(s)是ha(t)的拉普拉斯变换,H(z)为h(n)的Z变换,利用采样序列的Z变换与模拟信号的拉普拉斯变换的关系得(1-1)则可看出,脉冲响应不变法将模拟滤波器的S平面变换成数字滤波器的Z平面,这个从s到z的变换z=esT是从S平面变换到Z平面的标准变换关系式。图1-1脉冲响应不变法的映射关系 由(1-1)式,数字滤波器的频率响应和模拟滤波器的频率响应间的关系为(1-2)这就是说,数字滤波器的频率响应是模拟滤波器频率响应的周期延拓。正如采样定理所讨论的,只有当模拟滤波器的频率响应是限带的,且带限于折叠频率以内时,即(1

15、-3)才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,而不产生混叠失真,即|< (1-4)但是,任何一个实际的模拟滤波器频率响应都不是严格限带的,变换后就会产生周期延拓分量的频谱交叠,即产生频率响应的混叠失真,如图7-4所示。这时数字滤波器的频响就不同于原模拟滤波器的频响,而带有一定的失真。当模拟滤波器的频率响应在折叠频率以上处衰减越大、越快时,变换后频率响应混叠失真就越小。这时,采用脉冲响应不变法设计的数字滤波器才能得到良好的效果。图1-2脉冲响应不变法中的频响混叠现象 对某一模拟滤波器的单位冲激响应ha(t)进行采样,采样频率为fs,若使fs增加,即令采样时间间隔(

16、T=1/fs)减小,则系统频率响应各周期延拓分量之间相距更远,因而可减小频率响应的混叠效应。脉冲响应不变法优缺点:从以上讨论可以看出,脉冲响应不变法使得数字滤波器的单位脉冲响应完全模仿模拟滤波器的单位冲激响应,也就是时域逼近良好,而且模拟频率和数字频率之间呈线性关系=T。因而,一个线性相位的模拟滤波器(例如贝塞尔滤波器)通过脉冲响应不变法得到的仍然是一个线性相位的数字滤波器。脉冲响应不变法的最大缺点是有频率响应的混叠效应。所以,脉冲响应不变法只适用于限带的模拟滤波器(例如,衰减特性很好的低通或带通滤波器),而且高频衰减越快,混叠效应越小。至于高通和带阻滤波器,由于它们在高频部分不衰减,因此将完

17、全混淆在低频响应中。如果要对高通和带阻滤波器采用脉冲响应不变法,就必须先对高通和带阻滤波器加一保护滤波器,滤掉高于折叠频率以上的频率,然后再使用脉冲响应不变法转换为数字滤波器。当然这样会进一步增加设计复杂性和滤波器的阶数。2.用双线性变换法设计IIR数字滤波器脉冲响应不变法的主要缺点是产生频率响应的混叠失真。这是因为从S平面到平面是多值的映射关系所造成的。为了克服这一缺点,可以采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到-/T/T之间,再用z=esT转换到Z平面上。也就是说,第一步先将整个S平面压缩映射到S1平面的-/T/T一条横带里;第二步再通过标准变换关系z=es1T将此横带变换

18、到整个Z平面上去。这样就使S平面与Z平面建立了一一对应的单值关系,消除了多值变换性,也就消除了频谱混叠现象,映射关系如图1-3所示。图1-3双线性变换的映射关系为了将S平面的整个虚轴j压缩到S1平面j1轴上的-/T到/T段上,可以通过以下的正切变换实现(1-5)式中,T仍是采样间隔。当1由-/T经过0变化到/T时,由-经过0变化到+,也即映射了整个j轴。将式(1-5)写成将此关系解析延拓到整个S平面和S1平面,令j=s,j1=s1,则得再将S1平面通过以下标准变换关系映射到Z平面z=es1T从而得到S平面和Z平面的单值映射关系为:(1-6)(1-7)式(1-6)与式(1-7)是S平面与Z平面之

19、间的单值映射关系,这种变换都是两个线性函数之比,因此称为双线性变换式(1-5)与式(1-6)的双线性变换符合映射变换应满足的两点要求。首先,把z=ej,可得(1-8)即S平面的虚轴映射到Z平面的单位圆。其次,将s=+j代入式(1-8),得因此由此看出,当<0时,|z|<1;当>0时,|z|>1。也就是说,S平面的左半平面映射到Z平面的单位圆内,S平面的右半平面映射到Z平面的单位圆外,S平面的虚轴映射到Z平面的单位圆上。因此,稳定的模拟滤波器经双线性变换后所得的数字滤波器也一定是稳定的。双线性变换法优缺点双线性变换法与脉冲响应不变法相比,其主要的优点是避免了频率响应的混叠

20、现象。这是因为S平面与Z平面是单值的一一对应关系。S平面整个j轴单值地对应于Z平面单位圆一周,即频率轴是单值变换关系。这个关系如式(1-8)所示,重写如下:上式表明,S平面上与Z平面的成非线性的正切关系,如图7-7所示。由图7-7看出,在零频率附近,模拟角频率与数字频率之间的变换关系接近于线性关系;但当进一步增加时,增长得越来越慢,最后当时,终止在折叠频率=处,因而双线性变换就不会出现由于高频部分超过折叠频率而混淆到低频部分去的现象,从而消除了频率混叠现象。图1-4双线性变换法的频率变换关系但是双线性变换的这个特点是靠频率的严重非线性关系而得到的,如式(1-8)及图1-4所示。由于这种频率之间

21、的非线性变换关系,就产生了新的问题。首先,一个线性相位的模拟滤波器经双线性变换后得到非线性相位的数字滤波器,不再保持原有的线性相位了;其次,这种非线性关系要求模拟滤波器的幅频响应必须是分段常数型的,即某一频率段的幅频响应近似等于某一常数(这正是一般典型的低通、高通、带通、带阻型滤波器的响应特性),不然变换所产生的数字滤波器幅频响应相对于原模拟滤波器的幅频响应会有畸变,如图1-5所示。图1-5双线性变换法幅度和相位特性的非线性映射对于分段常数的滤波器,双线性变换后,仍得到幅频特性为分段常数的滤波器,但是各个分段边缘的临界频率点产生了畸变,这种频率的畸变,可以通过频率的预畸来加以校正。也就是将临界

22、模拟频率事先加以畸变,然后经变换后正好映射到所需要的数字频率上。2.3 IIR滤波器的设计过程及MATLAB实现 IIR滤波器的设计过程根据以上IIR数字滤波器设计方法,下面运用双线性变换法基于MATLAB设计一个IIR带通滤波器,其中带通的中心频率为p0=0.5,;通带截止频率p1=0.4,p2=0.6;通带最大衰减p=3dB;阻带最小衰减s=15dB;阻带截止频率s2=0.71.设计步骤:(1)根据任务,确定性能指标:在设计带通滤波器之前,首先根据工程实际的需要确定滤波器的技术指标:带通滤波器的阻带边界频率关于中心频率p0几何对称,因此ws1=wp0- (ws2-wp0)=0.3通带截止频

23、率wc1=0.4,wc2=0.6;阻带截止频率wr1=0.3,wr2=0.7;阻带最小衰减s=3dB和通带最大衰减p=15dB;(2)用=2/T*tan(w/2)对带通数字滤波器H(z)的数字边界频率预畸变,得到带通模拟滤波器H(s)的边界频率主要是通带截止频率p1,p2;阻带截止频率s1,s2的转换。为了计算简便,对双线性变换法一般T=2s通带截止频率wc1=(2/T)*tan(wp1/2)=tan(0.4/2)=0.7265wc2=(2/T)*tan(wp2/2)=tan(0.6/2)=1.3764阻带截止频率wr1=(2/T)*tan(ws1/2)=tan(0.3/2)=0.5095wr

24、2=(2/T)*tan(ws2/2)=tan(0.7/2)=1.9626阻带最小衰减s=3dB和通带最大衰减p=15dB;(3)运用低通到带通频率变换公式=(2)-(02)/(B*)将模拟带通滤波器指标转换为模拟低通滤波器指标。B=wc2-wc1=0.6499normwr1=(wr12)-(w02)/(B*wr1)=2.236normwr2=(wr22)-(w02)/(B*wr2)=2.236normwc1=(wc12)-(w02)/(B*wc1)=1normwc2=(wc22)-(w02)/(B*wc2)=1得出,normwc=1,normwr=2.236模拟低通滤波器指标:normwc=1

25、,normwr=2.236,p=3dB,s=15Db(4)设计模拟低通原型滤波器。用模拟低通滤波器设计方法得到模拟低通滤波器的传输函数Ha(s);借助巴特沃斯(Butterworth)滤波器、切比雪夫(Chebyshev)滤波器、椭圆(Cauer)滤波器、贝塞尔(Bessel)滤波器等。(5)调用lp2bp函数将模拟低通滤波器转化为模拟带通滤波器。(6)利用双线性变换法将模拟带通滤波器Ha(s)转换成数字带通滤波器H(z).2.3.2 IIR滤波器的流程框图开始读入数字滤波器技术指标将指标转换成归一化模拟低通滤波器的指标设计归一化的模拟低通滤波器阶数N和3db截止频率模拟域频率变换,将G(P)

26、变换成模拟带通滤波器H(s)用双线性变换法将H(s)转换成数字带通滤波器H(z)输入信号后显示相关结果结束2.3.3 MATLAB程序MATLAB 程序如下:clearwp0=0.5*pi;wp1=0.4*pi;wp2=0.6*pi;Ap=3;ws2=0.7*pi;As=15;T=2; %数字带通滤波器技术指标ws1=wp0-(ws2-wp0); %计算带通滤波器的阻带下截止频率wc1=(2/T)*tan(wp1/2);wc2=(2/T)*tan(wp2/2);wr1=(2/T)*tan(ws1/2);wr2=(2/T)*tan(ws2/2);w0=(2/T)*tan(wp0/2); %频率预

27、畸变B=wc2-wc1; %带通滤波器的通带宽度 normwr1=(wr12)-(w02)/(B*wr1);normwr2=(wr22)-(w02)/(B*wr2);normwc1=(wc12)-(w02)/(B*wc1);normwc2=(wc22)-(w02)/(B*wc2); %带通到低通的频率变换if abs(normwr1)>abs(normwr2) normwr=abs(normwr2)else normwr=abs(normwr1)end normwc=1; %将指标转换成归一化模拟低通滤波器的指标N=buttord(normwc,normwr,Ap,As,'s&#

28、39;); %设计归一化的模拟低通滤波器阶数N和3db截止频率bLP,aLP=butter(N,normwc,'s'); %计算相应的模拟滤波器系统函数G(p)bBP,aBP=lp2bp(bLP,aLP,w0,B); %模拟域频率变换,将G(P)变换成模拟带通滤波器H(s) b,a=bilinear(bBP,aBP,0.5); %用双线性变换法将H(s)转换成数字带通滤波器H(z)w=linspace (0,2*pi,500);h=freqz(b,a,w);subplot(2,1,2);plot(w,abs(h);grid onxlabel('w(rad)')y

29、label('|H(jw)|')title('频谱函数')subplot(2,2,1);plot(w,20*log10(abs(h);axis(0,2*pi,-120,20);grid onxlabel('w(rad)')ylabel('20*lg|H(jw)|(db)')title('20*lg|H(jw)|-w')2.3.4 运行结果及分析运行结果及分析: 图2.3程序运行结果:normwr=2.2361由设计流程计算得normwr=2.236与运行结果相同。低通原型的每一个边界频率都映射为带通滤波器两个相应的

30、边界频率。根据通带截至频率和阻带截至频率与频谱函数曲线比较,满足设计要求。2.4 本章小结本章主要介绍了IIR滤波器设计的理论基础,分别介绍了IIR滤波器的几种设计方法和实现方法,为后面IIR滤波器的设计奠定理论基础。介绍了用MATLAB实现步骤及运行结果。第三章 数字滤波器的DSP实现数字信号处理器(Digital Signal Processor)是一种适合对数字信号进行高速实时处理的专用处理器,其主要用来实时快速地实现各种数字信号处理算法。在当今的数字化时代,DSP己成为通信设备、计算机和其它电子产品的基础器件。数字信号处理器与数字信号处理有着密不可分的关系,我们通常说的“DSP”可以指

31、数字信号处理(Digital Signal Processing),也可以代表数字信号处理器(Digital Signal Processor)在本文里均指数字信号处理器。数字信号处理是一门包括了许多学科并应用于很多领域的学科,是指利用计算机或是专用处理设备,以数字形式对信号进行分析、采集、合成、变换、滤波、估值、压缩、识别等处理,得到符合要求的信号形式。数字信号处理器是用于处理数字信号的器件,因此它是伴随着数字信号处理才产生的。DSP发展历程大致分为三个阶段:20世纪70年代理论先行,80年代产品普及和90年代的突飞猛进。在DSP出现之前数字信号处理只能依靠微处理器(MPU)来完成。但MPU

32、较低的处理速度无法满足高速实时的要求。因此,直到20世纪70年代,有人才提出了DSP的理论和算法基础。随着大规模集成电路技术的发展,1982年世界上诞生了第一片DSP芯片。几年后,第二代基于CMOS工艺的DSP芯片应运而生。80年代后期,第三代DSP芯片问世。90年代DSP发展最快,相继出现了第四代和第五代DSP器件。经过20多年的发展,DSP产品的应用己扩大到人们的学习、工作和生活的各个方面,并逐渐成为电子产品更新换代的决定因素。3.1 TMS320C5509特点TMS320C5509采用双乘累加单元(MAC)结构。整个处理器内部分为5个大的功能单元:存储器缓冲单元(M)、指令缓冲单元(I)

33、、程序控制单元(P)、地址生成单元(A)和数据计算单元(D),各个功能单元之间通过总线连接。TMS320C5509中共有12条总线:1条32位程序数据总线(PB),1条24位程序地址总线(PAB),5条16位的数据总线(BB、CB、DB、EB、FB)和5条24位的数据地址总线(BAB、CAB、DAB、EAB、FAB)。作为嵌入式芯片的一种,DSP芯片是一种非常适合于进行数字信号处理的微处理器芯片,已经广泛应用于实现各种数字信号处理运算。其显著特点可以归纳如下:1哈佛结构哈佛结构是不同于传统的冯·诺曼(Von Neuman)结构的并行体系结构,其主要特点是将程序和数据存储在不同的存储空

34、间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问。与两个存储器相对应的是系统中设置了程序总线和数据总线两条总线,从而使数据的吞吐率提高了一倍。2流水线与哈佛结构相关,DSP芯片广泛采用流水线以减少指令执行时间,从而增强了处理器的处理能力。TMS320系列处理器的流水线深度从2-6级不等。第一代TMS320处理器采用二级流水线,第二代采用三级流水线,而第三代则采用四级流水线。也就是说,处理器可以并行处理2-6条指令,每条指令处于流水线上的不同阶段。3专用的硬件乘法器在一般形式的FIR滤波器中,乘法是DSP的重要组成部分。对每个滤波器抽头,必须做一次乘法和一次加法

35、。乘法速度越快,DSP处理器的性能就越高。在通用的微处理器中,乘法指令是由一系列加法来实现的,故需许多个指令周期来完成。相比而言,DSP芯片的特征就是有一个专用的硬件乘法器。4特殊的DSP指令DSP芯片的另一个特征是采用特殊的指令。例如TMS320C10中的LTD指令,可单周期完成加载寄存器、数据移动、同时累加操作。还有DMOV指令,它完成数据移位功能。在数字信号处理中,延迟操作非常重要,这个延迟就是由DMOV指令来实现的9。5快速的指令周期哈佛结构、流水线操作、专用的硬件乘法器、特殊的DSP指令再加上集成电路的优化设计,可使DSP芯片的指令周期缩短到200ns以下。现在,许多DSP处理器的指

36、令周期已经从第一代的200ns降低至现在的20ns以下,甚至在10ns以内。快速的指令周期使得DSP芯片能够实时实现许多DSP应用。6面向寄存器和累加器DSP所使用的不是一般的寄存器文件,而是专用寄存器,较新的DSP产品都有类似于RISC的寄存器文件。许多DSP还有大的累加器,可以在异常情况下对数据溢出进行处理。7.支持前、后台处理DSP支持复杂的内循环处理,包括建立起X、Y内存和分址/循环计数器。一些DSP在做内循环处理中把中断屏蔽了,另一些则以类似后台处理的方式支持快速中断。许多DSP使用硬连线的堆栈来保存有限的上下文,而有些则用隐蔽的寄存器来加快上下文转换时间。8.拥有简便的单片内存和内

37、存接口DSP设法避免了大型缓冲器或复杂的内存接口,减少了内存访问。一些DSP的内循环是在其单片内存中重复执行指令或循环操作部分代码,它多采用SRAM而不是DRAM,因为前者接口更简便。2000年3月,德州仪器(TI)公司推出了高性能低功耗的TMS320C55x芯片10。其性能可以达到400800MIPS,但功耗低到0.05 mW/MIPS。TMS320系列包括定点、浮点和多处理器等三种类型的数字信号处理器。它的结构是专门针对实时信号处理而设计的,具有指令灵活、可操作性强、速度快以及支持并行运算和C语言等特点,是性价比较高的一类DSP,在通信设备中得到了广泛的应用。C5000系列DSP是针对个人

38、便携设备而设计的,如音乐播放器、3G蜂窝电话、数码相机、高速音频设备、高精度的信号和多通道应用。通常人们把C54x和C55x系列通称C5000系列,主要用于功耗低、便携式的无线通信终端产品。C5000系列包括旧有的C5x、当前主流的C54x和较新的C55x系列。其中,C54x采用改进的哈佛结构,并集成有丰富的硬件逻辑和外部接口资源,具有较高的性能,及较低的成本和体积。C55x是在C54x的基础上发展起来的,也采用改进型哈佛结构,其器件功耗较C54x更低,性能更高。TMS320C55x采用多总线结构,由五组内部数据总线(3个用于读,2个用于写)和一组内部程序存储总线构成。32bit的程序总线(P

39、B)传送从程序存储器来的指令代码和立即数。三组16bit数据读总线(BB,CB和DB)连接数据读地址产生逻辑。CB和DB总线传送双操作数。DB总线传送单操作数。BB总线提供第三种读路径并且能够提供双乘操作数的系数。两组16bit数据写总线(EB,FB)连接数据写地址产生逻辑。六组24bit数据总线(PAB,CAB,DAB,BAB,EAB,FAB)传送执行指令所需要的地址。还有一条附加总线为DMA控制器和外设控制器提供服务。TMS320C55x的CPU结构主要包括四种功能单元:即指令缓冲单元(I单元),程序流程单元(P单元),地址数据流程单元(A单元)和数据计算单元(D单元)。其数据计算单元包括

40、一个40bit的可以提供-32到31移位范围的桶形移位器,一个40bit的算术逻辑电路(ALU),两个乘累加器(MAC)可以在一个周期中执行两个MAC操作,以及四个40bit的累加器。在其地址数据流程单元还包括一个16bit的算术逻辑电路(ALU),为主ALU提供简单的算术运算。55x的指令集功能强大而且使用灵活,它同时具有易于使用和程序效率高的特点。寻址方式包括绝对寻址、寄存器间接寻址、直接寻址,这些寻址方式降低了算法所需要的指令数量,减小了代码量,也提高了芯片运算速度。特别要提到的是C55x指令集中所提供的三操作数指令,这种指令可以实现3个操作数的同时处理(如写入寄存器或存储器等操作),大

41、大压缩了代码的指令数量。3.2 DSP系统的设计与开发DSP系统的开发是一个复杂的过程,在系统的设计和调试中不但需要数字信号处理方面的理论知识,而且还要熟悉掌握各种DSP芯片、外围硬件电路以及DSP开发工具等。3.2.1 DSP系统的特点DSP系统是以数字信号处理为基础的,因此不但具有数字处理的全部优点而且还具有以下特点24:1接口方便:DSP应用系统与其他以现代数字技术为基础的系统或设备都是相互兼容的,这样的系统接口以实现某种功能要比模拟系统与这些系统接口要容易得多。2编程方便:DSP应用系统中的可编程DSP芯片,能灵活方便地进行修改和升级。3稳定性好:DSP应用系统以数字处理为基础,受环境

42、温度及噪声的影响较小、可靠性高,无器件老化现象。4精度高:16位数字系统可以达到10-5级的精度。5可重复性好:模拟系统的性能受元器件参数性能变化的影响比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产。6集成方便:DSP应用系统中的数字部件有高度的规范性,便于大规模集成。当然,数字信号处理也存在一些缺点。例如,对于简单信号处理任务,若采用DSP则使成本增加。DSP系统中的高速时钟可能带来高频干扰和电磁泄漏等问题,而且DSP系统消耗的功率也较大。此外,DSP技术更新速度快,对于数学知识要求高,开发和测试工具还有待进一步完善。3.2.2 DSP系统的设计流程一个DSP系统的设

43、计过程大概要有以下几个步骤。1根据系统的任务要求,确定系统处理精度要求、速度要求、实时性要求等性能指标。2根据系统的要求进行高级语言的算法模拟,比如使用MATLAB等仿真工具,验证算法的可行性,得出最佳的处理方法。3DSP的系统设计,主要分为硬件设计和软件设计。硬件设计是指根据系统要求选择合适的DSP芯片,然后设计相应的外围电路。软件设计主要是指根据系统的要求和选用的DSP芯片编写相应的程序。程序的编写可以使用汇编语言,汇编语言编写的程序效率高,但比较烦杂;也可采用C语言,DSP的C语言基本上是标准C语言,编写比较简单,但效率低。在实际系统开发时往往是两种语言结合编写,在算法运算量大的地方使用汇编语言,在运算量小的地方使用C语言,这样既能缩短软件的开发周期,提高程序的可读性和可移植性,又满足了系统的实时性要求。本文的设计采用汇编语言编写、设计软件程序。 DSP系统的开发工具CCSCCS是一种针对TMS320系列DSP的集成开发环境,在Windows操作系统下,采用图形接口界面,提供有环境配置、源文件编辑、程序调试、跟踪和分析等工具。CCS有两种工作模式,即软件仿真器模式:可以脱离DSP芯片,在PC机上模拟DSP的指令集和工作机制,

温馨提示

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

评论

0/150

提交评论