版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE29第一章数字滤波器概述数字滤波器是指用有限精度算法实现的,完成信号滤波处理的离散时间线性非时变系统,其输入是一组由模拟信号取样和量化得到的数字量,其输出是经过变换的另一组数子量。数字滤波器具有高稳定性、高精度、灵活性大等突出特点。这章主要讲述了数字滤波器的基本概念、及数学建模,以便在后续章节中实现滤波算法做好准备[1]。1.1数字滤波器的基本概念滤波器是一种能使有用频率信号通过而同时抑制无用频率信号的电子装置,或者说是可以人为调整参数来满足给定要求的硬件或软件系统[1]。滤波器也就是一个线性移不变离散系统,其基本输入输出关系为:(1-1)其中h(n)为系统的单位冲激响应。在Z域上,有:(1-2)分析式(1.2)可知,只要分母多项式ai(i=1,2,…,n)中有一个不为零,滤波器的的内部就存在反馈环。这种内部有反馈环的滤波器称为递归型滤波器。相反,所有系数ai(i=1,2,…,n)都为零的滤波器称为非递归型滤波器由于非递归型滤波器的内部没有反馈环,所以这种滤波器总是稳定的。从滤波器的单位冲激响应来看,滤波器可以分为IIR滤波器和FIR滤波器。由于IIR滤波器的传递函数存在0之外的极点,所以单位冲激响应是无限持续的。因而IIR滤波器与递归型滤波器是一致的。而FIR滤波器的传递函数不存在0之外的极点,所以,本质上FIR滤波器与非递归型滤波器是一致的。但是,如果稳定的递归型滤波器与非递归型滤波器级联后,其极点与零点相互抵消,使滤波器在0之外不存在极点,这种滤波器也是FIR滤波器[2]。这种情况下,由于滤波器内部存在反馈环,因而这种滤波器就成为递归型滤波器。频率采样滤波器就是这种结构的滤波器。具有频率选择功能的数字滤波器按功能分类有低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器[3]。另外,在全频带幅频特性固定的滤波器称为全通滤波器,可用于改善滤波器的相频特性。1.2数字滤波器的频率特性1.2.1幅频特性设采样周期为T,令z=jwT,从z变换理论即可得到H(z)的频率特性,可表示为:(1-3)图1-1理想幅频特性H(ejwT图1-1理想幅频特性H(ejwT)∠H(ejwT)、Ф(wT)表示相频特性[3]。另外,H(ejwT)是数字滤波器的频率传递函数,它表示决定数字滤波器的幅频特性与相频特性的频率特性。各种数字滤波器的理想幅频特性示于图1-1。1.2.2相频特性设计数字滤波器时,不仅要考虑它的幅频特性,相频特性也是需要考虑的重要问题。特别是在线性相位滤波器中,相位的延迟不会造成波形失真,所以在波形要求很高时,滤波器具有线性相位是非常重要的[4]。我们知道,一般情况下要减小(增大)通带与阻带的波纹,会造成过渡带的截止特性变差(变好)。根据滤波器的使用目的,其重点是不一样的,在滤波器的阶次确定后,合理的折中方案是必要的。但是当幅频特性要求很高,不能得到满意结果时,不仅要采用更高阶次FIR滤波器,还必须考虑采用IIR滤波器。1.3数字滤波器的数学建模任何线性时不变集总参数离散系统都可用下列数学形式之一来表述其输入输出关系,在时域中,滤波器的功能可以用差分方程(1.4)或卷积公式(1.5)来描述:(1-4)(1-5)在变换域中可用系统传递函数(1.6)来表示:(1-6)这三种方法是等价的,从任何一个都能推导出其他两个[5]。即使用同一类表示方法。也存在着许多等价的算法结构。不同的算法会影响系统的某些实际性能。滤波器的工程实现要用计算机的硬件或软件帮助完成,这需要考虑许多的问题:(1)计算的效率,即完成整个滤波所需要的乘法和加法次数;(2)需要的存储量;(3)滤波器系数的量化影响;(4)运算中的舍入和截断误差、饱和和溢出。不同的滤波器结构可以实现同样的传递函数,但不同的算法在满足上述的要求方面是有差别的,有的差别还很大,改变计算结构对提高计算效率和节省存储量能起很大的作用。1.4本章小结本章主要讨论了数字滤波器的一些基本概念。数字滤波器按单位冲激响应可以分为FIR和IIR滤波器,按频率选择功能的数字滤波器按功能分类有低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器。数字滤波的作用是滤除信号中某一部分频率分量。信号经过滤波处理,就相当于信号频谱与滤波器的频率相应相乘。从时域来看,就好似输入信号与滤波器的冲激相应作卷积和。数字滤波器具有幅度特性和相位特性。第二章数字滤波器的设计准则及基本步骤上一章主要讨论的是数字滤波器的数学表示及一些特性和分类的问题,并没有解决如何去设计一个数字滤波器。众所周知,计算机或DSP芯片处理的是数字信号,那么对于一个数字滤波器,要知道它设计准则。在这章主要讨论数字滤波器的设计准则和基本步骤。2.1数字滤波器的设计准则滤波器设计误差是滤波器的期望响应与实际响应之间的差别。在FIR滤波器设计中通常采用3种准则[6]。(1)最小平方(LS)近似,它是期望滤波器与设计滤波器频率响应之间平方误差的平均值。(2)切比雪夫(Chebjyshe)近似,它是频率响应指定区域内的最大误差。(3)巴特沃思(Butterworth)近似,它是基于泰勒级数近似的期望响应近似。大多数的有源滤波器设计算法都是以这3种近似法的一种和Parks—McCllan(最优)算法。频率采用快速,简单,但其对整体频率响应的控制最弱。傅立叶设计的频率响应中存在不合乎要求的震荡或过冲,可以使用窗口函数控制这些效应。加窗方法的重要优点在于其简单性,其主要缺点是缺少对通带和阻带纹波控制的灵活性。Parks-McCllan算法生成一个线性相位FIR滤波器,并使切比雪夫误差最小,但是如果不利用计算软件,其设计非常慢[6]。2.2数字滤波器设计的基本步骤2.2.1指标在设计一个滤波器之前,必须首先根据工程实际的需要确定滤波器的技术指标。在很多实际应用中,数字滤波器常常被用来实现选频操作。因此,指标的形式一般在频域中给出幅度和相位响应。幅度指标主要以两种方式给出。第一种是绝对指标。它提供对幅度响应函数的要求,一般应用于FIR滤波器的设计。第二种指标是相对指标。它以分贝值的形式给出要求。在工程实际中,这种指标最受欢迎。对于相位响应指标形式,通常希望系统在通频带中有线性相位。运用线性相位响应指标进行滤波器设计具有如下优点[7]:(1)只包含实数算法,不涉及复数运算;(2)不存在延迟失真,只有固定数量的延迟;(3)长度为N的滤波器(阶数为N-1),计算量为N/2数量级。因此,本文中滤波器的设计就以线性相位FIR滤波器的设计为例。2.2.2逼近确定了技术指标后,就可以建立一个目标的数字滤波器模型。通常采用理想的数字滤波器模型。之后,利用数字滤波器的设计方法,设计出一个实际滤波器模型来逼近给定的目标。2.2.3性能分析和计算机仿真上两步的结果是得到以差分方程或系统函数或冲激响应描述的滤波器。根据这个描述就可以分析其频率特性和相位特性,以验证设计结果是否满足指标要求;或者利用计算机仿真实现设计的滤波器,再分析滤波结果来判断。一些FIR滤波器的设计方法可能比较简单,如傅立叶技术。但是,不存在对于所有滤波器特性都是最优的单一方法。滤波器系数可以通过一些合理的公式来生成。但是,采用最优方法来获得最优滤波器需要大量的计算。此外,在定点DSP处理器实现实时滤波器的主要问题就是有限精度和动态范围。分析有限长效应的理论过于复杂,不适与手工计算,所以通常依靠计算机软件来设计数字滤波器[7]。2.3本章小结本章主要讨论了数字滤波器的设计准则,和设计数字滤波器的基本步骤。设计准则有最小平方(LS)近似、切比雪夫(Chebjyshe)近似、巴特沃思(Butterworth)近似,这三种方法各有优缺点,在工程实现时由于现在有了高效的滤波器设计软件包(如MATLAB)可供利用,所以Parks-McCllan算法被广泛应用于大多数应用中。设计一个数字滤波器时有一些基本的步骤,首先要按照实际需要,确定滤波器的性能指标,寻找一个满足预定性能要求的离散线性非时变系统,然后通过模拟,验证所设计的系统是否符合给定的性能指标。第三章滤波器的选择上一章我们解决了两个问题,那就是数字滤波器的设计准则及基本步骤。滤波器包括模拟滤波器和数字滤波器。但在许多信号处理应用中,使用数字滤波器代替模拟滤波器是有利的。数字滤波器不仅具有高可靠性、高精度,而且它是用可编程的处理器实现的,因而容易改变滤波器的参数。在应用环境改变时,这个特性方便设计工程师升级或修改已有的滤波器特性。并且数字滤波器容易实现不同的幅度和相位频率特性指标,克服与模拟滤波器器件相关的电压漂移、温度漂移和噪声问题,因此这里选择使用数字滤波器。而数字滤波器的设计又分为FIR(有限长单位冲激响应)滤波器和IIR(无限长单位冲激响应)滤波器。在这一章中,就专门讨论滤波器的选择问题及FIR滤波器的定义和FIR的几种基本结构。3.1FIR与IIR滤波器的比较从性能上说,IIR滤波器可用较低的阶数获得高的选择性,所用的存储单元少,计算量小,效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。FIR滤波器要达到高的选择性,必须用较高的阶数。对于同样的滤波器设计指标,FIR滤波器所要求的阶数可能比IIR滤波器高5~10倍,成本较高,信号延时也较大。如果按线性相位要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的阶数和复杂性。而FIR滤波器却可以得到严格的线性相位[1]。从结构上看,IIR滤波器必须采用递归结构来配置极点,并保证极点位置在单位圆内。由于有限字长效应,运算过程中将对系数进行舍入处理,引起极点的偏移。这种情况有时会造成稳定性问题,甚至产生寄生振荡。相反,FIR滤波器只采用非递归结构,不论是在理论上还是在实际的有限精度运算中都不存在稳定性问题,因此造成的频率特性误差也较小。此外FIR滤波器可以采用快速傅立叶变换算法,在相同阶数的条件下,运算速度可以快的多[1]。另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有分段常数特性的滤波器,如低通、高通、带通及带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活的多,尤其是他易于适应某些特殊应用,如构成数字微分器或西尔波特变换器等,因而有更大的适应性和广阔的应用领域。3.2FIR滤波器的定义根据上面的比较,在这次设计中我们选择的是FIR数字滤波器,所以我们只简单介绍FIR滤波器的结构。FIR网络结构特点是没有反馈支路,即没有环路,其单位脉冲响应是有限长的[8]。设单位脉冲响应h(n)长度为N,其系统函数H(z)和差分方程分别为(3-1)(3-2)其单位脉冲响应h(n)是有限长的,按照式(3-1)的Z反变换,h(n)表示为(3-3)(3-3)bn0≤N≤n-10其他h(n)=3.3FIR滤波器的结构3.3.1直接型设N=5(即四阶FIR滤波器),按照H(Z)或者差分方程式画出的直接结构图如图3-1所示,它可以用抽头延迟线实现[3]。则可以写出:(3-4)图3-1直接型结构x图3-1直接型结构x(n)y(n)z-1z-1z-1z-1z-1b0b1b2b3b4根据此信号流图可以直接写出方程式(3-4),而且不必写出联立方程了。3.3.2级联型将H(Z)进行因式分解,并将共轭成对的零点放在一起,形成一个系数对称为实数的二阶形式。这样级联型网络结构是由一阶或二阶实系数因式级联构成的,其中每一个因式都可以用直接型实现。设FIR网络系统函数H(Z)如式(3-5),要求画出H(Z)的直接型和级联型结构。(3-5)将H(Z)进行因式分解,得到:(3-6)其级联型结构和直接型结构如图3-2所示。aax(n)z-1bz-1z-1decy(n)x(n)y(n)z-1z-1z-1a1a2a3a4图3-2H(Z)的直接型和级联型结构级联型结构每个一阶因式控制一个零点,每个二阶因式控制一对共轭零点,因此调整零点位置比直接型方便,但H(Z)中的系数比直接型多,因而需要的乘法器多。在上例中直接型需要四个乘法器,而级联型则需要五个乘法器。分解的因式越多,需要的乘法器也越多。当H(Z)的阶次高于三阶时,不易分解,需要用Matlab协助。3.3.3线性相位形式一般的,理想的低通滤波器具有线性相位,如(3-7)式所示。(3-7)其中β=0或±π/2,τ为时延的拍数。要得到线性相位,实际滤波器的脉冲响应序列应当具有对称性。利用这种对称性可以简化滤波器的结构。线性相位结构在本质上仍然是直接形式,只是缩减了乘法计算量。因此,传递函数多项式的组成形式上,线性相位结构仍等于直接形式。3.4本章小结经过对FIR和IIR的比较得知:FIR滤波器可以得到严格的线性相位;FIR滤波器只采用非递归结构,有限精度的计算不会产生震荡;FIR滤波器可以采用FFT算法,在相同阶数下,运算速度可以快的多;IIR滤波器可以借助于模拟滤波器的成果;而设计FIR需要借助计算机辅助设计;FIR易于适用某些特殊应用。这里,选择的是FIR滤波器。FIR是没有反馈支路,即没有环路,其单位脉冲响应是有限长的。FIR的结构有直接型、接连型、转置型和线形相位型等结果,在实际中要根据不同的要求来选择不同的结构。
第四章FIR滤波器的Matlab工具箱实现本章介绍了设计滤波器的Matlab工具箱SPTool和FDATool,这两种数字信号处理工具箱都是一种图形用户界面,能够方便快捷的让我们设计自己的数字滤波器。这两种工具箱都能查看所设计滤波器的幅度响应、相位响应、群延迟、零点极点图、冲激响应和阶跃响应。4.1MatlabSPTool工具箱的FIR滤波器设计4.1.1SPTool工具箱简介SPTool是一个图形环境,提供了一种用于信号查看、滤波器设计和频谱分析的多图形环境。它为信号处理工具箱中的很多函数提供了易于使用的界面,只需要操纵鼠标就可以观察、分析和打印数字信号,分析、实现和设计数字滤波器,以及频谱分析等[6]。4.1.2用SPTool工具箱设计FIR滤波器启动Matlab后在命令窗口输入SPTool回车就可以打开SPTool的主窗口。如图4–1所示,由SPTool的主窗口可以看出,SPTool有3个列表框:Signals列表框,Filters列表框和Spectra列表框,它们对应着SPTool工具中的4个功能模块[6]:(1)信号浏览器;(2)滤波器设计器;(3)滤波器观察器;(4)谱观察器;图4-1SPTool的主窗口图4-1SPTool的主窗口首先在Matlab工作空间创建信号数据。这里以低通为例,创建信号数据时的Gen_Signal.m文件如下[9][10]:fs=1000;t=0:1/fs:1;x=sin(2*pi*5*t);xn=x+rand(size(t));[B,A]=butter(20,0.6);plot(t,xn)可以利用File菜单中的Import选项将其他信号、滤波器或频谱由Matlab工作区中导入到SPTool工作区内。如图4-2所示:图4-2导入信号xn图4-2导入信号xn图4-3信号sig1图4-3信号sig1选择Signals列中信号的名称,并单击列表下面的View按钮,就可以查看信号了。如图4-3给出了受干扰的正弦波sig1。SignalsBrowser窗口允许查看、测试和分析时域信号的特定区域。它包括有水平和垂直标记、带有轨迹和范围的标记,并显示信号的波峰和波谷,用于测试和对比。接下来的任务是设计一个FIR低通滤波器去滤除高频噪声分量。将滤波器导入到Matlab工作区中最简单的方法是单击File|Import,并导入分子B和分母A系数,如图4-4所示。并单击View来查看所导入滤波器的特性。FilterViewer窗口允许用户查看所设计滤波器的特性,包括滤波器的幅度响应、相位响应、群延迟、零点极点图、冲激响应和阶跃响应。图4-4导入分子分母系数图4-4导入分子分母系数图4-5FilterDesigner窗口SPTool工具箱中还可以根据自己定义的规格设计FIR和IIR滤波器,可以通过单击SPTool中Filters列之下的New按钮来完成这一操作。这里选择SPTool/Filters中的Edit,对输入信号进行滤波设计,将出现如图4-5所示设计的FilterDesigner窗口,这里也允许自己去选择一个滤波器设计算法、滤波器类型和频率规格。最后通过单击SPTool窗口中的Apply按钮,可以选择所设计的滤波器或所导入的滤波器LSLp,并将其应用至输入信号sig3。如下图4-6所示:图4-5FilterDesigner窗口图4-6信号sig3将出现一个新的窗口,他允许我们选择滤波器的结构,并指定输出信号的名称为sig3。由SPTool窗口中选择sig1和sig3,并单击Signal列下面的View按钮,可以查看输入信号(见图4-11)和滤波后输出信号的时域图。如图4-7(a)、(b)所示(a)滤波前信号(b)滤波后的信号图4-7从滤波前后波形对比,我们可以看出,高频分量被滤除掉了。4.2FIR滤波器的MatlabFDATool工具箱的简介Matlab中包括一组用于设计、分析和实现FIR滤波器的函数。利用FDATool来为实际应用设计、分析和量化FIR滤波器,FDATool中整合了滤波器设计工具箱和信号处理工具箱。这一强大的工具将传统的命令行滤波器设计功能集成在一个图形窗口环境中。4.2.1滤波器设计与FDATool工具箱简介在Matlab命令窗口中键入FDATool启动FDATool。FDATool打开默认设计模式,如图4-8所示。图4-8FDATool窗口FDATool包含一个交互式GUI,它允许使用者指定以下滤波器设计参数[6]:滤波器类型可以为低通、高通、带通、带阻、多频器、微分器、Hibert转换器、任意幅度、任意相位、升余弦。滤波器设计方法可以是用于FIR滤波器的等纹波、最小平方和加窗法。滤波器阶数可由使用者指定,也可以是由滤波器设计方法确定的最小阶数。窗口技术要求仅可用于采用傅立叶方法的FIR设计。其中共有16种窗口可供选择。频率设计要求可以是采样频率(fs)、通带截止频率或阻带截止频率。幅度技术要求可以是通带纹波和阻带纹波,单位可以为线性单位或dB.4.2.2有限长单位冲激响应滤波器的指标这里以一个具体例子为例利用FDATool设计FIR滤波器的过程。滤波器的技术要求给出如下:(1)应使用等纹波设计方法以最低阶数设计一个带通FIR滤波器。(2)以Hz为单位的频率技术要求为Fstop1=800Hz,Fstop2=1500Hz,Fpass1=1000Hz,Fpass2=1300Hz,采样频率Fs=8000Hz。(3)低阻与高阻带纹波的幅度技术要求分别为50dB(As1)和60dB(As2)。通带纹波限制为1dB(Ap)。4.3MatlabFDATool工具箱的FIR滤波器设计有了带通滤波器的技术要求后,就可以进行Matlab软件设计了。首先打开MATLAB进入命令窗口,在命令窗口中敲入“FDATool”命令,然后回车,就进入了FDATool的默认设计模式如上图4-7所示。在FDATool的默认设计模式中有“ResponseType”,可以从中选择“Lowpass”,“Bandpass”,“Highpass”等滤波器类型,这里以“Bandpass”为例。把技术指标填入相应的筐中,再点击“DesignFilter”,设计的滤波器就如图4-9Bandpass所示。完成滤波器的设计之后,可以分析滤波器的特性。如图4-8所示,可以通过选择Analysis菜单中所列的方法或单击工具栏按钮来访问分析方法。从Analysis菜单中选择MagnitudeResponse,在右上窗口中显示幅度响应曲线,如图4-10所示,还可以选择PhaseResponse如图4-11所示:图4-9图4-9Bandpass图4-10MagnitudeResponse图4-11PhaseResponseResponse图4-10MagnitudeResponse图4-11PhaseResponseResponseFDATool还提供了给出滤波器特性的附加显示。这些曲线包括相位响应、群延迟、冲激响应、阶跃响应、极零图和滤波器系数。FIR滤波器的冲激响应显示所设计滤波器的系数。极零图显示极点和零点的位置。例如,相位响应和冲激响应分别显示于图4-11和图4-12中。相位响应显示的滤波器在通带内具有线性相位,这是FIR滤波器的一个重要特性。获得对称系数即可获得线性相位滤波器,如冲激响应中所示(图4-12)图4-12ImpulseResponse图4-12ImpulseResponse已经利用FDATool根据给定技术要求设计了一个FIR滤波器。滤波器系数以双精度浮点格式表示,需要64位字长。需要将这些系数量化为定点数(14位或32位),以便在定点DSP处理器上实现。如图4-13所示:图4-13图4-13量化窗口在Analysis菜单中选择FilterCoefficents选项可以查看量化系数。在图图4-14图4-14FilterCoefficients图4-15GenerateCHeader4-14FilterCoefficients中可以显示以格式Q.16格式表示的量化系数。可以在列表的最左列显示符号+、-和0。符号+表示量化系数向+∞溢出,符号-表示量化系数向-∞溢出,符号0标志着系数已经被量化为零[6]。系数量化后,在FilterDesign&AnalysisTool界面下,单击菜单中的Targets的下拉菜单中的GenerateCHeader,如图4-15所示,以此可以完成导出过程。滤波器系数存储在长度为BL的数组B中。然后进入GenerateCHeader界面,选择Exportas为signed16-bitinteger,然后单击按纽Generate,将所得到的文件进行保存,在该文件中就可以得到一组16进制有符号数据,这组数据就是后面DSP实现中编程所要用到的滤波器参数。所生成的滤波系数如下(68阶):.word-93,21,130,194,104,-117,-299,-257,15.word305,360,136,-154,-251,-127,-3,-76,-232.word-131,369,895,783,-223,-1490,-1843,-621,1498.word2813,1988,-635,-3078,-3274,-869,2339,3802,2339.word-869,-3274,-3078,-635,1988,2813,1498,-621,-1843.word-1490,-223,783,895,369,-131,-232,-76,-3.word-127,-251,-154,136,360,305,15,-257,-299.word-117,104,194,130,21,-93从这组滤波器数据我们可以看出,这是一组对称的数据.4.4本章小结SPTool和FDATool工具箱都是一种图形用户界面,能够方便快捷的设计自己的数字滤波器。这两种工具箱都能查看所设计滤波器的幅度响应、相位响应、群延迟、零点极点图、冲激响应和阶跃响应。为设计数字滤波器提供了方便,为后面的DSP硬件实现提供了快捷的方法。第五章FIR滤波器的DSP实现本章采用上面MATLAB仿真得到的滤波系数,用循环寻址的方法,使用C54X汇编语言来实现FIR滤波器,并基于CodeComposerStudio开发平台进行的滤波运算。输入数据通过开发系统FileI/O功能完成待处理数据的输入,并将输入数据送入输入数据Buffer,运算结果也输出到输出Buffer中,通过开发系统的相应图形功能加以显示。5.1FIRDSP芯片内的循环寻址循环寻址(circularaddressing)是DSP中经常用到的一种寻址方式。该寻址方法可以对一块特定存储区实现循环的操作。可以把循环寻址理解为实现一个滑动窗,新数据引入后将覆盖老的数据,使得该窗中包含了需处理的最新数据。在数字信号处理中的FIR、卷积等运算中,循环寻址具有极其重要的意义[11]。在TI的DSP中,循环寻址通过如下方法实现[12]。(1)设定BK(寄存器块大小)值,以确定循环寻址缓冲区的大小,也可将它看作是循环的周期。(2)设定缓冲区的底部地址。必须注意:其低N位为零,其中N为满足式(4-3)的最小N值。(4-3)用辅助寄存器间接寻址循环缓冲区。5.2带通FIR滤波器DSP硬件实现先准备好实验箱,打开CCS软件,连接好USB接口,设置DSP工作在MP方式。设置CodeComposerStudio为Emulator方式。新建一个工程,加载程序,然后编译并下载程序到定点DSP处理器上。在接着打开观察窗口:选择菜单“View”、“Graph”、“Time/Frequency…”进行如下图5-1设置,点击“OK”后,就打开了变量input的显示图形窗。同上操作,选择菜单“View”、“Graph”、“Time/Frequency…”进行如下图5-2设置,点击“OK”后,就打开了变量output的显示图形窗。然后在程序中设置断点就可以了。图5-2output图5-1input图5-2output图5-1input断点设置好后运行并观察结果:(1)选择“Debug”菜单的“Animate”项(快捷键,F12键)运行程序。(2)观察“Input”、“Output”窗口中时域图形,如下图5-3所示;(3)鼠标右键单击“Input”和“Output”窗口,选择“Properties…”项,设置“DisplayType”为“FFTMagitude”,如下图5-5所示。(4)按F12运行程序。图5-4FFTMagitude图5-4FFTMagitude图5-3时域图形图5-3为input、output的时域波形,图5-4为input、output作FFT变换后的频域波形,其中横坐标显示实信号的归一化频率(f0=f/fs=0~0.5,式中f为实信号的实际频率,fs为采样频率。纵坐标显示幅度的相对值,可设置图形属性,改为dB作单位[6]。通过观察频域和时域图,结果表明,输入波形为一个1000Hz~1300Hz的正弦波与一个高频的正弦波叠加而成,输入波形中1000Hz~1300Hz的波形很好的通过了,输出波形中的低于800Hz和高于1500Hz的信号波形都很好的过滤掉了,实现了带通滤波效果。5.3误差分析因为在用定点DSP实现时,所有的数据都是定长的,运算也都是定点运算,因而会产生有限字长效应。所产生的误差主要包括:数模转换引起的量化误差、系数量化引起的误差以及运算过程中的舍入误差[3]。在用定点DSP时,产生误差是不能避免的,但是可以通过一些方法减小误差。如,可以用两个存储单元来表示一个数,运算时使用双字运算;可以根据需要要将滤波器系数都用双字表示,也可以只将一半的系数用双字表示,视需要而定[14]。另外,FIR数字滤波器和IIR数字滤波器所引入的量化误差是不一样的。FIR数字滤波器主要采用非递归结构,因而在有限精度的运算中都是稳定的。除了有限字长效应以外,不同结构引入的误差也有所不同[15]。在实际设计中,要注意实现中的误差问题。在选择不同的结构时,应考虑它们所引入的误差,并用高级语言进行定点仿真,以比较不同结构下误差的大小,从而作出合理选择。
结束语在数字信号处理中,数字滤波占有极其重要的地位。几乎每一科学和工程领域,例如声学、物理学、通信、数据通信、控制系统和雷达都涉及信号。在许多应用中,都希望根据期望的指标把一个信号的频谱加以修改、整形或运算。这些过程可能包含衰减一个频率范围、阻止或隔离一些频率成分。任何显示出上述频率选择特性的系统或网络称做一个滤波器。数字滤波是谱分析、雷达信号处理、通信信号处理等应用中的基本处理算法,它能够满足滤波器对幅度和相位的严格要求,解决了模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题,同时有很高的可编程性和灵活性。数字滤波器是DSP最基本的应用领域,一个DSP芯片执行数字滤波算法的能力反映了这种芯片的功能强弱,用DSP实现的数字滤波器可以十分方便地改变滤波器特性。实时数字信号处理的应用需求和超大规模集成电路技术水平的飞速发展,推动着数字信号处理器性能的不断提高,使其在信号处理、军事及民用电子技术领域发挥着越来越重要的作用,其应用广度和深度正在不断地扩展和深化。近几年,DSP技术发展很快,主要表现在:更新速度快;速度越来越高,内部结构越来越复杂,功能越来越强等;软件开发工具越来越完善,用高级语言设计已经成为一种趋势。未来DSP的理想设计模式是,设计人员编写通用的C程序,其中调用名称和参数规范的优化算法函数,当DSP或DSP电路板升级时,只要将C程序在新的DSP开发环境下重新编译和链接,就能生成与实际电路匹配的可执行代码。这样的开发研制过程是十分快捷的,也节省了大量的人力资源、软件开发与维护费用。附录滤波器汇编程序asm文件: .global start,fir .mmregs COFF_FIR_START:.sect"coff_fir" .include "bandpass\\bandpass68.inc"//68阶带通滤波系数K_FIR_BFFR .set32d_data_buffer .usect "fir_bfr",64FIR_DP .usect "fir_vars",0d_filin .usect "fir_vars",1output .usect "fir_vars",1input .usect"fir_vars",1d_filout .usect "fir_vars",100hstacksize.set256stack.usect"fir_vars",stacksize .asg AR4,FIR_DATA_P .asg AR6,INBUF_P .asg AR7,OUTBUF_P .asg AR3,OUTBUF .asg AR2,INBUF .sect "fir_prog" nopstart: stm#stack+stacksize,SP LD #FIR_DP,DP STM #d_data_buffer,FIR_DATA_P RPTZA,#K_FIR_BFFR-1 STL A,*FIR_DATA_P+ STM #d_filin,INBUF_P STM #d_filout,OUTBUF_P STM #output,OUTBUF STM #input,INBUF STM #100h,BKfir_loop: NOP;AddBreakpoint&porbepoint LD *INBUF_P,A STL A,*INBUF CALL fir STH A,*OUTBUF_P+% STH A,*OUTBUFmain_end: b fir_loop fir:; SSBX SXM;SSBXFRCT STM #d_data_buffer,FIR_DATA_P STL A,*FIR_DATA_P STM #(d_data_buffer+K_FIR_BFFR-1),FIR_DATA_Pfir_task: RPTZ A,#K_FIR_BFFR-1 MACD *FIR_DATA_P-,COFF_FIR_START,A RET .end 连接文件:MEMORY{ PAGE0: PROG: o=100h,l=2000h PAGE1: DATA1: o=2600h, l=1000h DATA2: o=2100h, l=100h DATA3: o=2200h, l=100h DATA4: o=2300h, l=100h DATA5: o=2400h, l=100h DATA6: o=2500h, l=100h }SECTIONS{ coff_fir:{}>PROG PAGE0 fir_prog:{}> PROG PAGE0 fir_vars:{}>DATA1 PAGE1fir_coff:{}>DATA2 PAGE1fir_bfr:{}> DATA3 PAGE1 }
参考文献[1]周霖.DSP通信工程技术应用.长沙:国防工业出版社,2004.198[2]陈怀琛.数字信号处理教程.电子工业出版社,2004.78[3]程佩青.数字信号处理教程.北京:清华大学出版社,1995.145~149,178~182[4]胡广书.数字信号处理.北京:清华大学出版社,2003.99[5]郑君里.信号与系统.高等教育出版社.2003.56~57[6]郭森楙,颜允圣.数字信号处理器—体系结构实现与应用.北京:清华大学出版社,2005.78~95[7]Miroslav.信号处理滤波器.电子工业出版社.2002.146~149[8]EmmanueL.数字信号处理实践方法.电子工业出版社.2004.199~203[9]张威.MATLAB基础与编程入门.西安电子科技大学出版社,2004.152~158[10]王华.Matlab在电信工程中的应用.中国水利水电出版社.2005.35~37[11]苏涛,卢光跃等.DSP实用技术.西安:西安电子科技大学出版社,2002.155~156[12]郑红.TMS320C54xDSP应用系统设计.北京航空航天大学出版社.2004.155~157[13]ICETEK-VC5416-A评估板实验指导书[14]郑红,吴冠.TMS320C54XDSP应用系统设计.北京:北京航空航天大学出版社,2002.132~135[15]赵红怡.DSP技术与应用实例.电子工业出版社,2003.45~47致谢经过长时间的忙碌,本次毕业设计已经接近尾声,通过进行这次设计,我对FIR滤波器的设计及实现有了较为清晰的认识。作为一个本科生的毕业设计,由于经验的匮乏,难免有许多不足的地方,如果没有指导老师的督促指导,以及一起学习的同学们的支持,想要完成这个设计是非常难的。在这里首先要感谢我的指导老师曹晖老师。曹老师平日里工作繁忙,但在我做毕业设计的每个阶段,都给予了我悉心的指导。在设计过程中经常遇到一些问题,曹老师都给了我详细的讲解,使我顺利的完成了毕业设计。我要感谢所有帮助过我的同学,在做毕业设计的过程中他们给予我莫大的帮助。我还要感谢所有教我的老师及实验室的指导老师,是你们的谆谆教诲,使我拥有了丰富的专业知识。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026届河北T8联考高三下学期4月联合测评英语+答案
- 2025杭州电子科技大学信息工程学院教师招聘考试题目及答案
- 2026年江西餐饮服务资格考试及答案
- 洛阳二建试卷试题及答案
- 2026北京市法院系统招聘聘用制审判辅助人员53人建设考试备考题库及答案解析
- 2026福建龙岩市第一医院医疗辅助岗位招聘4人建设笔试参考题库及答案解析
- 2026广东省惠东县教育局赴高校招聘公办学校教师126人(惠州场)建设笔试备考题库及答案解析
- 2026黑龙江黑河市鸿兴资本运营有限公司招聘工作人员12人建设笔试参考题库及答案解析
- 2026浙江温州市乐清市龙西乡卫生院招聘1人建设考试参考题库及答案解析
- 绍兴市镜湖开发集团有限公司下属企业招聘工作人员5人建设笔试备考试题及答案解析
- 第5课 从小爱劳动 课件(内嵌视频) 2025-2026学年道德与法治三年级下册统编版
- 一年级数学10以内加减法计算专项练习题(每日一练共12份)
- 2026特种作业场内专用机动车辆作业考试题及答案
- (二模)苏北七市2026届高三第二次调研测试生物试卷(含答案)
- TCABEE080-2024零碳建筑测评标准(试行)
- (正式版)DB37∕T 4863-2025 《数字经济发展评价指标体系》
- GB/T 17466.24-2017家用和类似用途固定式电气装置的电器附件安装盒和外壳第24部分:住宅保护装置和其他电源功耗电器的外壳的特殊要求
- 安全风险辨识记录
- 供方履约评价表(工程施工类)
- 风湿性多肌痛的诊断与治疗课件
- 烤箱能效测试标准
评论
0/150
提交评论