




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于DSP的FIR滤波器的设计与实现 # 基于DSP的FIR滤波器的设计与实现摘要DSP技术一般指将DSP处理器用于完成数字信号处理的方法与技术。目前的DSP芯片以其强大的数据处理功能在通信和其他信号处理领域得到广泛注意并已成为开发应用的热点技术。许多领域对于数字信号处理器的应用都是围绕美国德州仪器所开发的DSP处理器来进行的。DSP芯片是一种特别适合于进行数字信号处理运算的微处理器。主要应用是实时快速的实现各种数字信号处理算法,如卷积及各种变换等。其中利用DSP来实现数字滤波器就是很重要的一种应用,本文深入研究基于美国德州仪器公司(TI)TMS320C5410DSP芯片的滤波器系统软件实现方
2、法,用窗口设计法实现FIR滤波器,给出了MATLAB仿真结果,并在以TITMS320C5410为微处理器的DSK上实现,实验结果表明滤波结果效果良好,达到了预期的性能指标,用时间抽取法实现的FFT/IFFT算法,介绍了自适应滤波器的基本原理及应用,并对LMS算法进行了深入的研究。关键词:DSP;TMS320C5410;FIR滤波器;FFT/IFFT;自适应滤波器 #基于DSP的FIR滤波器的设计与实现目录TOC o 1-5 h z1绪论3引言3 HYPERLINK l bookmark0 课题背景及研究意义4 HYPERLINK l bookmark2 课题背景4 HYPERLINK l bo
3、okmark4 研究意义4 HYPERLINK l bookmark6 1.3国内外相关领域的研究4 HYPERLINK l bookmark8 1.4主要研究内容5DSP及其开发环境7 HYPERLINK l bookmark10 DSP系统的构成7 HYPERLINK l bookmark12 DSP系统硬件电路图8TIDSP介绍9 HYPERLINK l bookmark20 CCS开发环境10CCS集成开发环境11FIR滤波器的设计13 HYPERLINK l bookmark24 FIR滤波器的基本理论13 HYPERLINK l bookmark22 FIR滤波器的特点13 HYP
4、ERLINK l bookmark28 FIR滤波器的常规设计方法14 HYPERLINK l bookmark30 窗函数法14 HYPERLINK l bookmark46 Chebyshev逼近法16FIR滤波器的MATLAB实现17 HYPERLINK l bookmark58 3.3.1带通滤波器的MATLAB实现17低通滤波器的MATLAB实现19FIR滤波器的应用及其DSP实现20FFT/IFFT算法程序及应用21 HYPERLINK l bookmark62 FFT设计方法21 HYPERLINK l bookmark70 FFT算法的实现22FFT算法的仿真和测试结果24FI
5、R滤波器的DSP的实现25 HYPERLINK l bookmark80 FIR滤波器的实现方法25FIR滤波器的软件设计及其调试26参考文献31附录AMATLAB程序32附录BFFT的DSP实现程序34基于DSP的FIR滤波器的设计与实现基于DSP的FIR滤波器的设计与实现 1绪论1.1引言随着信息时代和数字世界的到来,数字信号处理已成为如今一门极其重要的学科和技术领域。数字信号处理在通信、语音、图像、自动控制、雷达、军事、航空航天、医疗和家用电器等众多领域得到了广泛的应用。数字信号处理(DSP)包括两重含义:数字信号处理技术(DigitalSignalProcessing)和数字信号处理器
6、(DigitalSignalProcessor)。数字信号处理(DSP)是利用计算机或专用处理设备,以数值计算的方法、对信号进行采集、滤波、增强、压缩、估值和识别等加工处理,借以达到提取信息和便于应用的目的,其应用范围涉及几乎所有的工程技术领域。在数字信号处理的应用中,数字滤波器很重要而且得到了广泛的应用。按照数字滤波器的特性,它可以被分为线性与非线性、因果与非因果、无限长冲击响应(IIR)与有限长冲击响应(FIR)等等。其中,线性时不变的数字滤波器是最基本的类型;而由于数字系统可以对延时器加以利用,因此可以引入一定程度的非因果性,获得比传统的因果滤波器更灵活强大的特性;IIR滤波器的特征是具
7、有无限持续时间冲激响应,这种滤波器一般需要用递归模型来实现,因而有时也称之为递归滤波器,而FIR滤波器的冲激响应只能延续一定时间,在工程实际中可以采用递归的方式实现,也可以采用非递归的方式实现,但其结构主要还是是非递归结构,没有输出到输入的反馈,并且FIR滤波器很容易获得严格的线性相位特性,避免被处理信号产生相位失真,而线性相位体现在时域中仅仅是h(n)在时间上的延迟,这个特点在图像信号处理、数据传输等波形传递系统中是非常重要的,且不会发生阻塞现象,能避免强信号淹没弱信号,因此特别适合信号强弱相差悬殊的情况。相对于IIR滤波器,FIR滤波器有着易于实现和系统绝对稳定的优势,因此得到广泛的应用;
8、对于时变系统滤波器的研究则导致了以卡尔曼滤波为代表的自适应滤波理论的产生。自适应滤波即利用前一时刻已获得的滤波器参数等结果,自动地调节(更新)现时刻的滤波器参数,以适应信号和噪声未知的统计特性,或者随时间变化的统计特性,从而实现最优滤波。几种主要的自适应滤波器为:最小均方(LMS)自适应滤波器、递推最小二乘(RLS)自适应滤波器、格型自适应滤波器、无限冲击响应(IIR)自适应滤波器。而自适应去噪电路是信号处理领域一个简单应用,一个被噪声污染的信号借助于相关噪声可以把信号提取出来,而噪声不断变化,为了得到较清晰的语音信号必须采用自适应去噪技术,随噪声变化进行自适应滤波.滤波器自动调整它们的系数。
9、目前FIR滤波器的实现方法大致可分为三种:利用单片通用数字滤波器集成电路、DSP器件和可编程逻辑器件实现。单片通用数字滤波器使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要,使用以串行运算为主导的通用DSP芯片实现要简单,是一种实时、快速、特别适合于实现各种数字信号处理运算的微处理器,借助于通用数字计算机按滤波器的设计算法编出程序进行数字滤波计算。由于它具有丰富的硬件资源、改进的哈佛结构、高速数据处理能力和强大的指令系统而在通信、航空、航天、雷达、工业控制、网络及家用电器等各个领域得到广泛应用2。课题背景及研究意义1.2.1课题背景数字信号处理就是用数字信号处理器(DSP)来实现各种
10、算法,由于具有精度高、灵活性强等优点,已广泛应用在数字图像处理、数字通信、数字音响、声纳、雷达等领域。数字滤波技术又是进行数字信号处理的最基本手段之一,它是对数字输人信号进行运算,产数字输出信号,以改善信号品质,提取有用信息,或者把组合在一起的多个信号分量分离开来为目的。在信号处理领域中,对于信号处理的实时性、快速性的要求越来越高,因此在许多信息处理过程中,如对信号的过滤、检测、预测等,都要广泛地用到滤波器。其中数字滤波器具有稳定性高、精度高、设计灵活、实现方便等许多突出的优点,避免了模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题,因而随着数字技术的发展,用数字技术实现滤波器的功能越来越
11、受到人们的注意和广泛的应用。而有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性,在示否音、数据传输中应用非常广泛3。1.2.2研究意义用可编程DSP芯片实现数字滤波可通过修改滤波器的参数十分方便地改变滤波器的特性。因此,我们有必要对滤波器的设计方法进行研究,理解其工作原理,优化设计方法,设计开发稳定性好的滤波器系统。我们将通过DSP设计平台,实现较为重要的FIR和自适应滤波器系统。从而通过本课题的研究,掌握滤波器的设计技术,为通信、信号处理等领域实用化数字滤波器设计提供技术准备。本科题的研究,将为今后设计以DSP为核心部件的嵌入式系统集成提供技术准备,这不仅具有重要
12、的理论意义,同时还具有重要的实际意义。国内外相关领域的研究20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生,并得到了迅猛的发展。当时还没有DSP,数字信号处理只能依靠MPU来完成。但MPU(微处理器)的速度无法满足高速实时的要求。因此数字信号处理技术多是停留在理论上,得不到广泛的应用,但这为DSP的诞生打下了基础。70年代至80年代初是DSP发展的第二阶段。70年代初,有人提出了DSP的理论和算法基础。但是直到1978,世界上第一个世界上第一枚DSP才诞生,它是由1978AMI公司发布的S2811。1979年美国Intel公司发布的商用可编程器件2920是DSP芯
13、片的一个主要里程碑;980年NEC公司推出的PD7720是第一个具有乘法器的商用DSP芯片。美国德州仪器公司TexasInstruments也于1982年推出了其第一代DSP芯片TMS32010及其系列产品,它们都是基于NMOS工艺。此时的DSP运行速度较以前的MPU有了较大的提高,但由于制造工艺所限,体积和功耗都比较大,内部资源较少,且价格昂贵。80年代中期直到现在是DSP得到了蓬勃发展并广泛应用的时期。80年代中期,随着大规模集成电路技术尤其是CMOS技术的发展,基于CMOS工艺的DSP应运而生,体积功耗都大大减少,而存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础;
14、80年代后期,DSP运算速度进一步提高,应用范围逐步扩大到通信、计算机领域。90年代直到现在,DSP发展最快,此时的DSP集成度极高,体积、功耗进一步减少,内部资源更是成倍增加,而价格却进一步下降。此时,DSP芯片不仅在通信、计算机领域大显身手,而且已扩大到人们的学习、工作和生活的各个方面。生产DSP器件的公司也不断壮大,目前,市场占有率前四名依次为:TexasInstruments、Lucent、AnalogDevice、Motorola。在所有生产DSP的公司中,TI可谓一枝独秀,它是世界上最大的DSP供应商,TI系列的DSP也是公认的最成功的DSP。其DSP市场份额占全世界份额近50%。
15、其产品覆盖了高、中、低端几乎所以市场,广泛应用于各种领域。自从在1982年成功推出了其第一代DSPTMS32010及其系列产品TMS32011、TMS320C10/C14/C15等,TI相继推出了第二代DSPTMS32020、TMS320C25/C26/C28,第三代DSPTMS320C30/C31/C32,第四代DSPTMS320C40/C44,第五代DSPTMS3205X/C54X/C55X及目前速度最快的第六代DSPTMS320C62X/C67X等等。DSP器件应用面从起初的局限于军工,航空航天等军事领域,扩展到今天的诸多电子行业及消费类电子产品中。在TI公司的DSP产品中C1X、C2X
16、、C2XX、C5XX、C54X、C62X等系列是定点运算指令系统的DSP;C3X、C4X、C67X等系列是浮点运算指令系统的DSP;AV7100、AV7110等系列是用于视频、音频领域的专用数字压缩产品。1.4主要研究内容本课题是基于TI公司近年推出的高性能定点DSPTMS320C5410设计滤波器系统,如:有限冲击响应滤波器(FIR)。本次课题的主要任务,就是掌握DSP芯片开发技术,完成如下工作:1、用窗函数法实现FIR滤波器,通过调用四种窗口函数,截取不同的带通与低通滤波原型,满足以下性能要求:带通滤波器:下阻带边缘:二0.2兀,A二60dB;下通带边缘:二0.35兀,R二1dB1ss1p
17、p上通带边缘:co=0.65兀,R=1dB;上阻带边缘:=0.8兀,A=60dB2pp2ss低通滤波器:o=0.2兀,R=0.25dB;o=0.3兀,A=50dBppss2、用时间抽取法实现FFT/IFFT算法,通过此算法,对信号进行频域分析、频域处理;3、自适应滤波器是目前数字滤波器领域中最为活跃的分支,讨论采用经过改进的LMS(最小圴方误差)算法实现自适应滤波器。4、研究DSP的结构特点,了解TI公司的TMS3205410DSP器件,掌握DSP系统的构成及软硬件设计方法和CCS软件的调试方法;并以TI公司的TMS3205410DSP为核心处理器,在DSK上实现FIR滤波器系统。本论文共分为
18、五个部分,第一章为绪论部分,介绍DSP及其滤波器的发展现状;第二章详细介绍DSP的特点、性能指标、软件开发工具、指令系统及硬件结构;第三章介绍了FIR滤波器的设计方法,并详细阐述了用窗口设计方法设计FIR滤波器及MATLAB实现;第四章介绍FIR滤波器的应用及其实现;第五章介绍自适应滤波器基本理论、算法及其应用。其中,三、四章是本论文的核心部分。DSP及其开发环境2.1DSP系统2.1.1DSP系统的构成一个典型的DSP系统如图2.1示。图2.1典型的DSP系统图2.1是一个用DSP做信号处理的典型框图。由于DSP是用来对数字信号进行处理的,所以首先必须将输入的模拟信号变换为数字信号。于是先对
19、输入模拟信号进行调整,输出的模拟信号经过A/D变换后变成DSP可以处理的数字信号,DSP根据实际需要对其进行相应的处理,如FFT、卷积等;处理得到的结果仍然是数字信号,可以直接通过相应通信接口将它传输出去,或者对它进行D/A变换将其转换为模拟采样值,最后再经过内插和平滑滤波就得到了连续的模拟波形模拟信号。当然,图中的有些环节并不是必需的。如A/D转换,如果输入的是数字信号,就可以直接交给DSP进行运算。2.1.2DSP系统的特点及设计过程由于数字信号处理系统是以数字信号处理理论为基础,所以具有数字信号处理的全部优点:接口方便DSP系统与其它以数字技术为基础的系统或设备都是相互兼容的,比模拟系统
20、与这些系统接口要容易的多。编程方便DSP系统中的可编程DSP芯片可以使设计人员在开发过程中灵活方便的进行修改和升级,可以将C语言与汇编语言结合使用。(3)具有高速性DSP系统的运行较高,最新的DSP芯片运行速度高达10GMIPS以上。(4)稳定性好DSP系统以数字处理为基础,受周围环境,如噪声、温度等的影响小、可靠性高;(5)精度高例如16位数字系统可以达到10-5的精度;(6)可重复性好模拟系统的性能受元件参数性能变化影响大,而数字系统基本不受影响,更便于测试、调试和大规模生产。(7)集成方便DSP系统中的数字部件有高度的规范性,便于大规模生产。当然DSP也存在一定的缺点。例如,对于一些简单
21、的信号处理任务,如与模拟交换线的电话接口,若采用DSP则使成本增加。另外,DSP系统中的高速时钟通常在几十兆赫,可能带来高频干扰和电磁泄漏等问题,而且DSP的功率消耗在系统中也是较大的。此外,DSP技术发展得很快,数学知识要求多,开发和调试工具还很不完善。虽然DSP系统还存在一些缺点,但是随着近两年来DSP技术突飞猛进的发展,成本的下降,很多问题都得到了缓解。其突出的优点已经使其在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。一般来说DSP的设计过程应遵循一定的设计流程,如图2.2示。图2.2DSP基本设计流程2.1.3DSP系统硬件电路图根据使用DSP芯
22、片的相关原则,以及芯片手册具体决定未用端子是接上拉电阻还是悬空。可以得出DSP数字滤波器的整体硬件电路连线图,如图2.3所示AtNCSr-AVddSDJNDVddSDOUTAGNDD&ND5CLKTLV5?agaF-=NONCNCGXDNCEN-LFBENSl】ININOCTNCiRISET-NCNC2ONDNC2EN-25EN5EUN2OCTUN2OCTNCNCNCNCMODEOCTADINAVddWCTDVddAGND5CLKDGNDXFBDLBDRIBFSXBCLOOBCLKXLBChKMECIKKIRW-ES-XiX-LKJNEMULOFF-CVddEMLiQ1ACK-DVidNT3-
23、ND-NT1-NTO-READYHOLD-GNDVC54OI图2.3DSP系统硬件电路图WJVCCRWDOPFIR5TGND2.2TIDSP介绍TI公司DSP种类多,品种齐全,适合各种需要。目前,使用较为广泛的主要有三个系列:C2000,C5000和C6000。其他系列产品应用较少或已经淘汰。每个系列又有多种DSP可供选择。同一系列的DSP具有相同的内核、相同或兼容的汇编指令集;它们之间的差别是具有不同大小的片内存储器、不同的片内外设和外部接口等,工作电压和速度也有所区别。以上3大系列DSP实现功能的侧重点不同,也就是说应用领域有所不同:C2000系列是16位定点DSP。它是一个控制器系列,主
24、要应用于工业控制领域,它除了具有一个DSP内核外,还有大量的片内外设资源,如A/D、定时器、各种同步和异步串口、看门狗、CAN总线接口等;加上其价格低廉,速度更高,可靠性更强,可以取代传统单片机。内部具有Flash,方便固化程序,而其他系列DSP都没有内部Flash。C5000系列DSP是16位定点低功耗DSP,性价比极高,主要应用于无线通信系统及手持式通讯产品,如手机,PDA和GPS等。C5000又分为C54X和C55X两个系列。相对C2000系列来说,其内部存储更大,运行速度更快,更适合执行较为复杂的数字信号处理任务,但控制功能相对较弱。一般由核心电压和I/O电压两种电压供电。核心电压较低
25、,所以功耗很低,且体积很小,方便集成。(3)C6000系列是32位的DSP系列。在TI的所有系列DSP中运行速度最快。其中C62XX是定点DSP,而C64XX和C67XX是浮点DSP,它主要应用于需要大量快速运算的场合,如数字视频处理、无线基站等。由于速度很高,所以功耗也很大。C54x芯片在本设计中使用的DSP是TMS320VC5410。它属于TIC5000系列中的C54X系列,正如前面所说,同一系列的DSP具有相同的内核、相同或兼容的汇编指令集,差别仅在于内存储器的大小,片内外设等等,所以就首先介绍一下C54系列DSP普遍具有的特点和性能。54X具有改进的哈佛结构,使其处理能力达到最大。分开
26、的程序空间和地址空间提供了高度的并行性,可以同时访问程序指令和数据,例如三次读操作和一次写操作可以在一个周期内完成。带并行存储的指令和具有特殊应用的指令充分利用了这种结构。这种并行性支持一套强大的算术运算、逻辑运算和位操作运算,所以使得这些运算可以在单个机器周期内完成。而且54X的运行机制还支持中断处理、重复操作和函数调用等等6。对于任意通用可编程芯片来说,一般都具备以下几个部分:内部存储器:主要用来存储程序、执行程序、存储数据等;中央处理单元(CPU):用来实现各种运算功能;片内外设:用来实现一些特定功能,如时钟发生器、硬件定时器等等;外部总线接口:用来和其他芯片接口,协同工作;通信接口:用
27、来从外围芯片获得数据或者将处理完的数据传输出去;内部总线:用来连接芯片中不同的单元。也就是说,以上各个部分的通信是通过内部总县来完成的。2.3.CCS开发环境本节将介绍CCSCodeComposerStudio的基本开发环境、软件开发过程、CCS组件。CCS提供了配置、建立、调试、跟踪和分析程序的工具,它便于实时、嵌入式信号处理程序的编制和测试,能够加速开发进程,提高工作效率。CCS概述CCS全称是CodeComposerStudio它提供了基本的代码生成工具,具有一定的调试、分析能力,在CCS下的程序开发过程如图2.4示8。图2.4程序开发过程CCS包括:1、CCS代码生成工具2、CCS集成
28、开发环境IDE3、DSP/BIOS插件程序和APIRTDX插件,主机接口和API等。下面将着重介绍前两项。2.3.1CCS集成开发环境调试DSP目标程序,它主要由几个主要的窗口组成:工程组显示窗口、程序内容显示窗口、编辑信息提示窗口和主要工具栏。另外,在编辑过程中还可以显示诸如存储器观察窗口、变量监视框、图形显示框等调试界面,他们为程序编写调试提供多种手段为软件开发提供了极大的方便。图2.5就是基本编辑界面。图2.5CCS基本编辑界面在利用CCS编程的过程中,不可避免的要遇到如何将程序变量分配到内存中去的问题。因为,即使DSP的存储空间比较大,速度也十分快,但是如果内存空间分配不当的话,还是会
29、出现空间不够行速度下降,甚至程序跑飞的情况,这样会时程序调试起来十分麻烦。所以,一定要分配好内存空间CCS提供了两种分配空间的方法:利用cmd文件或rcp文件分配空间,其中cmd文件是纯文本格式的描述性的空间分配方式,它的优点是程序员对空间的可控制性较高,可以将不同的块分配到指定的地址,并规定长度。但它对于初学者来说,要求对C5410的内存空间的分配有较清楚的认识,否则容易将数据分配到不该分配的地方,引起程序运行的冲突,甚至程序跑飞。所以,一般在编程过程中,使用rcp文件对程序进行内存分rcp文件全称是recipe文件,这是一种图形化界面的内存分配文件。对于一个新生成的工程组rep文件的生成方
30、法是:选择CCS菜单上的Tools项,选择linkerconfiguration项,将分配方式改为usethevisuallinker之后直接编译,编译信息提示窗口中会显示出错信息,提示找不到rep文件,双击提示CCS会自动弹出rep生成向导,按照要求选择rep模板,就会生成这个工程对应的rep文件,双击生成的rep文件,通过visuallinker连接器可以打开这个文件。当程序中新增加了变量后,在rep文件中会出现Notyetplaeed项,只要将其下的文件夹,根据类型拖动到run_view下的相应的数据存储器或程序存储器即可。还可以选择用何种类型的存储器空间装载,通过观察存储空间以使用的状
31、况自行分配空间,所以十分灵活,并且不会出现空间重叠的现象,避免了程序跑飞。3FIR滤波器的设计FIR滤波器的基本理论FIR滤波器的特点数字滤波器的功能,就是把输入序列通过一定的运算变换成输出序列。可以用两种方法来实现数字滤波器:种方法是采用通用计算机,利用计算机的存储器、运算器和控制器把滤波器所要完成的运算编成程序通过计算机来执行,也就是采用计算机软件来实现;另一种方法是设计专用的数字硬件(通常称之为数字信号处理器)。数字滤波器的实现方法是多种多样的,其中比较常用到的是无限长脉冲响应滤波器IIR和有限长脉冲响应滤波器FIR两种,另外还有维纳滤波器、自适应滤波器等,但是在一般通信领域,尤其是信号
32、传输领域,在一个信号的发送与接收端都是发出或接收一路信号。所以,前两种滤波器还是现在滤波器设计的主要方面,例如在线谱分析、基音检测、线性预测编码等方面都有着广泛的应用。本来在计算量相等的情况下,IIR数字滤波器比FIR滤波器的幅频特性优越,频率选择性也好,但是,它有着致命的缺点,相位特性不好控制。它的相位特性f(w)=argH(ejw)是使频率产生严重的非线性的原因,这种与的非线性关系,使数字滤波器与模拟滤波器在响应与频率的对应关系上发生了畸变。如果需要线性相位,就必须用全通网络进行复杂的相位校正,但是,在对程序运行周期数要求十分严格的DSP处理中加上一个全通均衡器是十分浪费资源的。另外,即使
33、加上全通均衡器,对于因果的IIR滤波器,仍将得不到线性的相位。在现代电子系统中,如图像处理、数据传输等波形传递系统中都越来越多的要求信道具有线性的相位特性。在这方面FIR滤波器具有独到的优点,它可以在幅度特性随意设计的同时,保证精确、严格的线性相位,因此这类滤波器应用很广泛。FIR滤波器的基本结构数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列y(n)和输入x(n)之间的关系,应满足常系数线性差分方程,见公式3.1,y(n)=Sbx(n-i)一迓ay(n一i)n0(3.1)iii=0i=1其中,x(n)为输入序列,y(n)为输出序列,a
34、和b为滤波器系数,N是滤波器的阶数。kk若上式中所有的b均为零,则有FIR滤波器的差分方程为:k(3.2)(3.3)y(n)=1ax(n-k)kk=0对上式进行Z变换得到FIR滤波器的传递函数为:H(z)=牢=匸bz-kXz丿ki=0由上式可以看出,H(z)是Z-1的N-1次多项式,它在z平面内有N-1个零点,同时在原点处有N-1个重极点。N阶滤波器通常采用N个延迟单元、N个加法器与N+1个乘法器,取图3-1中(a)、(b)两种结构。3心图3.1FIR滤波器的一般结构因为FIR滤波器的单位抽样响应是有限长的,所以它永远是稳定的。另外,若对h(n)提出一些约束条件,那么可以很容易地使H(z)具有
35、线性相位,这在信号处理的很多领域是非常重要的。FIR滤波器的设计任务,是要决定一个转移函数H(z),使它的频率响应满足给定的要求。这里所说的要求,除了通带频率、阻带频率及两个带上的最大p和最小衰减d和3夕卜,很重要的一条是保证H(z)具有线性相位。ps3.2FIR滤波器的常规设计方法FIR滤波器的设计任务就是给定要求的频率特性,按一定的最佳逼近准则,选取滤波器转移函数H(z)中的各个参数h(n),即滤波器的单位抽样响应及阶数N,使得频率特性满足设计要求。通常FIR滤波器的设计方法主要有三种:窗函数法、频率抽样法和切比雪夫等波纹逼近法。其中窗函数法可以应用比较现成的窗函数,因而设计简单,在指标要
36、求不高的场合使用方便灵活。下面我们来简单介绍一下这三种设计方法。3.2.1窗函数法窗函数法也称为傅立叶级数法。理想的数字滤波器频率特性H(ejw)是无法实现的,FIR的设计就是要寻找一个可以得到的频率特性H(ejw)=匸h(n)e-w来逼近H(ejw),这相当于用一个可实现的单位脉冲响应h(n)去逼近一个理想单位脉冲响应h(n)。h(n)可dd由理想频率特性H(e;w)通过傅氏反变换得到,dh(n)=FH(ejw)ejwd(3.4)d2兀_冗d一般来说,这样得到的理想单位脉冲响应序列h(n)是个无限长序列,因而是非因d果的。设有一个截止频率为的理想线性相位低通,延时为t其频率特性是:c0W屈c
37、|Kc(3.5)得到:h(n)=dsinLd(n-tc兀(n-t)ang(3.6)这是一个以n=T为中心偶对称的无限长非因果序列,要想用一个有限长的因果序列去逼近它,最简单的方法是截取n从0到N-1的一段来表示它,即h(n)=h(n)d(0nN1);其他N:h(n)=0。同时,为了保证线性相位,还要满足偶对称h(n)=h(N-1-n)。这就好像通过一个窗口观看到的一段h(n),因此h(n)就表示成h(n)和一个窗口函数的乘积,这样对h(n)的求dd解就变为h(n)=h(n)*W,这里的W就称为窗口函数,既然一个频域上的标准的矩形窗dnn口对应于时域是一个无限长的序列,那么在时域上截取一段势必造
38、成频域的矩形窗口的失真。结果就是截取出的信号也相应失真,为了补偿这种失真,只有改变原来窗口的形状,修正经过时域截取后的窗口失真。窗函数设计方法的基本步骤是:把HJw)展成FS,得h(n);dd对h(n)自然截短到所需的长度,如2M+1;d(3)将截短后的h(n)右移M个采样间隔,得h(n);d将h(n)乘以合适的窗口,即得所要滤波器的冲击响应,窗函数以n=M对称。利用所求得的单位抽样响应,即可用硬件构成滤波器的转移函数H(z),也可利用h(n)在计算机上用软件来实现滤波。jw)jw(3.7)3.2.2频率抽样法d出发,将给定的理想频响H(jw)加以等间隔抽样。d窗函数法是从时域出发,用窗函数截
39、取理想的hd(n)得到h(n),以此有限长的h(n)近(n),这样得到的频率响应H(妙)逼近于理想的频响HCw)。频率抽样法是从频率d沁d=N然后以此H()作为FIR滤波器的频率响应抽样值H(k),再根据DFT(离散付氏变d换)定义由频域这N个抽样值来唯一确定一个有限长序列h(n),同样也可以算出FIR滤波器的系统函数H(z)及频率响应H(妙),可以推出频率响应H(妙)是频率抽样值H(k)与线性相位因子e-D1)/2及如下内插函数S(,k)的线性组合。(3.8)1j比sinS(dk)=-e-丿nN.(兀ksm-I12N丿所以,在各频率取样点上,实际滤波器的频响是严格地和所要求的滤波器的频响一致
40、的,逼近误差为零,但在抽样点之间的频响是各取样点的内插函数的延伸叠加而成,有一定的逼近误差,误差大小取决于频率响应曲线的圆滑程度和抽样点的密度为了减少误差就要增加抽样点数目即增大采样频率,抽样点之间的理想频率特性变化越陡,则逼近误差越大,在理想频率特性的不连续点附近会产生肩峰和纹波。频率抽样法的优点是可以直接在频域设计,适于利用最优化方法,而且这种方法特别适用于窄带选频滤波器,但频率抽样法的抽样频率只能是2n/N的整数倍或2n/N的整数倍加上n/N不能保证截止频率3c的准确取值,要实现精确的3c就必须取N大,相应的计算量也大。此外,它的阻带最大衰减一般,也只有30-50dB左右,很难满足频域特
41、性要求较高的场Chebyshev逼近法窗函数法和频率采样法设计出的滤波器的频率特性都是在不同意义上对所给理想频率特性H(川)的逼近。由数值逼近理论可知,对某个函数f(x)的逼近一般有以下三d种方法:插值法(InterpolatingWay)最小平方逼近法(LeastSquareApproachingWay)一致逼近法(ConsistentApproachingWay)切比雪夫最佳一致逼近的基本思想是,对于给定区间a,b上的连续函数f(x),在所有n次多项式的集合倒中,寻找一个多项式p(x),使它在a,b上对f(x)的偏差和n其它一切属于倒的多项式p(x)对f(x)的偏差相比是最小的,即n(3.
42、9)max|p(x)-f(x)=minmax(p(x)-f(x)切比雪夫逼近理论,这样的多项式是存在的,且是唯一的,并指出了构造这种最佳一致逼近多项式的方法,就是有名的“交错点组定理”。切比雪夫逼近理论解决了p(x)的存在性、唯一性和如何构造等问题。J.H.McClellan、T.W.Parks、L.R.Rabiner等人应用切比雪夫逼近理论提出了一种设计FIR滤波器的计算机辅助算法。这种算法由于是在一致意义上对H(川)作最佳逼近,因d而获得了较好的通带和阻带性能,并能准确地指定通带和阻带的边缘。但它的效率依赖于初始极值频率点的估计,且通带和阻带内波纹数较多,这是Chebyshev方法的两个主
43、要缺点。3.3FIR滤波器的MATLAB实现MATLAB信号处理工具箱提供了基于窗函数法的FIR滤波器的设计函数firl。fir1是采用经典窗函数法设计线性相位FIR数字滤波器,且具有标准低通、带通、高通和带阻等类型1112。语法格式:B=fir1(n,W)nB=fir1(n,W,ftype)nB=fir1(n,W,window)nB=fir1(n,W,ftype,window)n其中,n为FIR滤波器的阶数,对于高通、带阻滤波器n取偶数。W为滤波器截止n频率,取值范围为01。对于带通、带阻滤波器,W=W,W,且W图4.5测试结果通过测试波形可以看到,该DSP5410实际滤波表现达到了算法仿真
44、的要求。考虑到DSP5410是定点DSP,所以将输入信号以及滤波器系数都转换成了定点数,为了防止溢出,将输入信号的幅值进行缩小,将其控制在-1到1之间。参考文献1(日)谷秋隆嗣著.数字滤波器与信号处理.科学出版社.2003.赵刚,黄建明,隋燕.基于数字滤波器设计的讨论J.南开大学学报(自然科学版),2003.26(3):15218.潘松,黄继业,王国栋.现代DSP技术.西安电子科技大学出版社.2003陈金鹰.DSP技术及应用.机械工业出版社.2004.6孙宗瀛.DSP原理设计与应用M.北京:清华大学出版社,2002.TMS320C54XDSPREFERRENCESETVOL.3:Algebra
45、icInstructionSet.TexasInstrumentsIncorporated.2001汪安民.TMS320C54XXDSP实用技术.清华大学出版社.2002:5-15TMS320C54xCodeComposerStudioTutorial.TexasInstrumentsIncorporated.2000薛年喜.Matlab在数字信号处理中的应用M北京:清华大学出版社,2003.楼顺天,李博菡.基于MATLAB的系统分析与设计-信号处理M.西安:西安电子科技大学出版社.2001.王立宁.Matlab与通信仿真M.北京:人民邮电出版社,2000.276281.余成波,杨菁,杨如民编
46、著.数字信号处理及MATLAB实现.清华大学出版社.2005.程佩青.数字滤波与快速傅里叶变换.北京:清华大学出版社,1988胡广书.数字信号处理理论、算法与实现.清华大学出版社.1997彭启.DSP与实时数字信号处理.成都:电子科技大学出版社,1995付丽琴,桂志国,王黎明.数字信号处理原理及实现.国防工业出版社.2004张雄伟,陈亮,徐光辉.DSP集成开发与应用实例M.北京:电子工业出版社.2002.张雄伟曹铁勇.DSP芯片的原理与开发应用.电子工业出版社.2000周霖.DSP算法设计与系统方案.国防工业出版社,2004.7.WidrowB,StearsSD.自适应信号处理M.成都:四川大
47、学出版社,1989.附录AMATLAB程序A1:产生窗函数波形的MATLAB程序:%MATLABPROGRAM%ComparethedifferentwindowclfNwin=21;N=0:Nwin-1;fori=1:4switchicase1W=boxcar(Nwin);Stext=RectangularWindow;case2W=hanning(Nwin);Stext=HammingWindow;Case3w=bartlett(Nwin);stext=BartlettWindow;endPosplot=22int2str(i);Subplot(posplot);Stem(n,w);hol
48、donplot(n,w,r);xlabel(n);ylabel(w(n);title(stext);holdoffgridendA2:产生窗函数幅频响应曲线的MATLAB程序:%MATLABPROGRAM%ComparethedifferentwindowclfNfft=512;Nwin=20fori=1:4switchicase1W=boxcar(Nwin);Stext=RectangularWindow;case2W=hanning(Nwin);Stext=HanningWindow;case3w=hamming(Nwin);stext=HammingWindow;case4w=bartl
49、ett(Nwin);stext=BartlettWindow;endy,f=frez(w,1,Nfft);mag=abs(y);posplot=22int2str(i);subplot(posplot);plot(f/pi,20*log10(mag/max(mag);xlable(NormalizedFreqeuency);ylable(MagnitudedB);title(stext);gridendA3:窗口函数设计FIR带通滤波器的MATLAB程序:ws1=0.2*pi;wp1=0.35*pi;wp2=0.65*pi;ws2=0.8*pi;As=60;tr_width=min(wp1-w
50、s1),(ws2-wp2);N=ceil(11*pi/tr_width)+1n=0:1:M-1;wc1=(ws1+wp1)/2*pi;wc2=(ws2+wp2)/2*pi;delta_w=pi/500;Rp=-min(db(wp1/delta_w+1:1:wp2/delta_w)%Actua;PasshandRippleRp=0.0030As=-round(max(db(ws2/delta_w+1:1:501)%MinStophandAttenuationAs=75b=fir1(N,wc1,wc2,window)A4:hamming窗设计FIR低通滤波器wp=0.2*pi;ws=0.3*pi;
51、tr_width=ws-wp;N=ceil(6.6*pi/tr_width)+1n=0:1:N-1;wc=(ws+wp)/2;delta_w=2*pi/1000;Rp=-min(db(1:1:wp/delta_w+1)Rp=0.0394As=-round(max(db(ws/delta_w+1:1:501)As=52B=fir1(N,wc,hanmming)附录BFFT的DSP实现程序B1:FFT.c程序externvoidInitC5410(void);externvoidOpenMcBSP(void);externvoidCloseMcBSP(void);externvoidREADAD5
52、0(void);externvoidWRITEAD50(void);*MainFunctionProgram/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#includestdio.h#includemath.hvoidkfft(pr,pi,n,k,fr,fi,l,il)intn,k,l,il;double
53、pr,pi,fr,fi;intit,m,is,i,j,nv,l0;doublep,q,s,vr,vi,poddr,poddi;for(it=0;it=n-1;it+)m=it;is=0;for(i=0;i=k-1;i+)j=m/2;is=2*is+(m-2*j);m=j;frit=pris;fiit=piis;pr0=1.0;pi0=0.0;p=6.283185306/(1.0*n);pr1=cos(p);pi1=-sin(p);if(l!=0)pi1=-pi1;for(i=2;i=n-1;i+)p=pri-1*pr1;q=pii-1*pi1;s=(pri-1+pii-1)*(pr1+pi1)
54、;pri=p-q;pii=s-p-q;for(it=0;it=0;l0-)m=m/2;nv=2*nv;for(it=0;it=(m-1)*nv;it=it+nv)for(j=0;j=(nv/2)-1;j+)p=prm*j*frit+j+nv/2;q=pim*j*fiit+j+nv/2;s=prm*j+pim*j;s=s*(frit+j+nv/2+fiit+j+nv/2);poddr=p-q;poddi=s-p-q;frit+j+nv/2=frit+j-poddr;fiit+j+nv/2=fiit+j-poddi;frit+j=frit+j+poddr;fiit+j=fiit+j+poddi;i
55、f(l!=0)for(i=0;i=n-1;i+)fri=fri/(1.0*n);fii=fii/(1.0*n);if(il!=0)for(i=0;i=n-1;i+)pri=sqrt(fri*fri+fii*fii);if(fabs(fri)0)pii=90.0;elsepii=-90.0;elsepii=atan(fii/fri)*360.0/6.283185306;voidmain(void)inti,n,k=0;doublex128,pr128,pi128,fr128,fi128,mo128;intxm,zm;int*px=(int*)0 x3000;int*pz=(int*)0 x308
56、0;n=128;InitC5410();/*initializeC5410DSP*/OpenMcBSP();for(;)READAD50();px=(int*)0 x3000;for(i=0;i=n-1;i+)xm=*px;xi=xm/32768.0;pri=xi;pii=0;px+;kfft(pr,pi,128,7,fr,fi,0,1);pz=(int*)0 x3080;for(i=0;iVECSPAGE0/*interruptvectortable*/.text:PROGPAGE0/*programcode*/.data:PROGPAGE0/*initializeddata*/.coeff
57、s:PROGPAGE0/*initializedparameters*/.stack:STCKPAGE1/*softwarestacksection*/.variable:DAT1PAGE1/*uninitializedvarsforDSP&AIC10*/.bss:DAT2PAGE1/*uninitializedvarsforapplications*/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J
58、*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*EndofFile-AIC10EVM.cmd/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*
59、#J*#J*#J*#J*#J*#J*#J*#J*#J*/附录CFIR的DSP实现程序C1:FIR.c/V/#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*#J*V#J*#J*#J*#J*#J*#J*TheprogrammeoftheFIRfilter.UsingINT2togettheinputsignal.Ar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025水电安装合同范本CC
- 2025北京新版房屋租赁合同(合同示范文本)
- 买公租房合同标准文本
- 卖房佣金结算合同标准文本
- 买卖丝绸合同标准文本
- 储粮设备出售合同标准文本
- 公众号收购合同范例
- 中铁十七局合同标准文本
- 制作钢结构合同范例
- 上海室内设计合同标准文本
- 脑出血钻孔引流手术后护理
- 职业院校技能大赛中职组《直播电商》赛项样卷
- 氢能产业园规划设计方案
- 无机及分析化学I(王日为)17572课件
- 【地理】2024届高三地理一轮复习课件《工业集聚与工业地域》
- 校园一卡通系统建设解决方案
- 居民自建桩安装告知书回执
- 国开2023秋《人文英语4》第5-8单元作文练习参考答案
- 期末复习Unit+6-10+单元信息摘录专项练习-人教版英语八年级上册
- 1 热工测量基础知识
- 肺癌肿瘤标志物检测与临床应用
评论
0/150
提交评论