基于FPGA的数字滤波器的设计毕业设计论文.docx
- 文档编号:28436536
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:53
- 大小:897.76KB
基于FPGA的数字滤波器的设计毕业设计论文.docx
《基于FPGA的数字滤波器的设计毕业设计论文.docx》由会员分享,可在线阅读,更多相关《基于FPGA的数字滤波器的设计毕业设计论文.docx(53页珍藏版)》请在冰豆网上搜索。
基于FPGA的数字滤波器的设计毕业设计论文
重庆大学本科学生毕业设计(论文)
基于FPGA的数字滤波器的设计
学生:
黄建华
学号:
20094719
指导教师:
杨力生
专业:
电子信息工程
重庆大学通信工程学院
二O一三年六月
GraduationDesign(Thesis)ofChongqingUniversity
DesignofDigitalFilterBasedonFPGA
Undergraduate:
HuangJianhua
Supervisor:
YangLisheng
Major:
ElectronicInformationEngineering
CollegeofCommunicationEngineering
ChongqingUniversity
June2013
摘要
数字信号处理在通信、雷达、声纳等中有着广泛的应用。
数字滤波器的设计是数字信号处理的关键技术之一,有着十分重要的理论和实际意义。
随着数字技术的不断发展,在许多场合,数字滤波器正在快速取代模拟滤波器。
FPGA(现场可编程门阵列)在现代数字电路设计中发挥着越来越重要的作用。
从设计简单的接口电路到设计复杂的状态机,FPGA所扮演的角色已经不容忽视。
本论文完成了基于FPGA的FIR和IIR数字滤波器的设计与实现。
本论文首先理论分析讨论了数字滤波器的设计方法,并使用MATLAB工具验证采用哪种窗函数来设计FIR数字滤波器,使用哪种模拟滤波器原型映射IIR数字滤波器。
然后根据模拟滤波器的技术指标来确定数字滤波器的技术指标,在MATLAB环境下按照数字滤波器的技术指标设计数字滤波器,并得到滤波器系数,编程实现系数量化,并且比较分析量化前后系统响应的差异,由此得到合适的量化等级。
然后在ISE软件平台下根据MATLAB工具得到的量化系数,使用VHDL语言进行FIR和IIR滤波器算法模块编程,同时对AMP电路(可编程预放大器)模块、AD电路(模拟到数字转换器)模块和DA电路(数字到模拟转换器)模块分别进行编程配置,并且对各模块进行严格的软件仿真验证,其中AMP电路模块、AD电路模块和DA电路模块必须进行硬件验证。
最后将所有软件和硬件验证无误的模块整合,下载到FPGA硬件中,进行功能验证。
验证结果符合设计要求。
关键词:
FIR滤波器,IIR滤波器,MATLAB,FPGA,VHDL
ABSTRACT
Digitalsignalprocessinghasbeenwidelyusedincommunications,radar,sonarandmanyotherfields.Thedesignofdigitalfilterisoneofthekeytechnologiesofdigitalsignalprocessing,whichhasaveryimportanttheoreticalandpracticalsignificance.Asdigitaltechnologycontinuestodevelop,onmanyoccasions,thedigitalfilterisrapidlyreplacinganalogfilters.FPGA(field-programmablegatearray)inmoderndigitalcircuitdesignisplayinganincreasinglyimportantrole.Fromthedesignsimpleinterfacecircuittothedesignofthecomplexstatemachine,FPGA'srolehasnotbeentoignore.
ThisthesisaccomplishesaFPGA-basedFIRandIIRdigitalfilterdesignandimplementation.Thisthesisfirsttheoreticallyanalysesthemethodofdigitalfilterdesign,withMATLABtoolverifyingwhichwindowfunctionissuitablefortheFIRdigitalfilterdesign,whichanalogfilterprototypemapsIIRdigitalfilter.Andaccordingtothetechnicalspecificationsoftheanalogfilterthepaperdeterminesthespecificationsofthedigitalfilter.NextintheMATLABenvironmentinaccordancewiththetechnicalspecificationsofthedigitalfilterthepaperdesignsdigitalfilters.Andthepapergetsthefiltercoefficients,programmingtoquantifythecoefficients.Andthepaperhascomparativeanalysisofbeforeandafterquantitativedifferencesthesystemresponse,therebyobtainingasuitablequantizationlevels.ThenintheISEsoftwareplatformaccordingtotheobtainedquantizedcoefficientswithMATLABtools,thepaperusesVHDLlanguagetoprogramFIRandIIRfilteralgorithmmodule.WhiletheAMPcircuit(programmablepre-amplifier)module,ADcircuit(analogtodigitalconverter)circuitmoduleandDA(digitaltoanalogconverter)moduleareprogrammedtobeconfigured.Andeachmodulehasrigoroussoftwaresimulation,whereAMP,ADandDAcircuitmodulemusthavehardwareverification.Finallythepaperintegratesallthesoftwareandhardwareverificationcorrectmodules,downloadingtotheFPGAhardwareforthefunctionalverification.TheVerifiedresultmeetsthedesignrequirements.
Keywords:
FIRfilter,IIRfilter,MATLAB,FPGA,VHDL
1绪论
1.1课题研究背景及意义
数字信号处理(DigitalSignalProcessing,DSP)技术是从20世纪60年代以来,随着信息学科和计算机学科的高速发展而迅速发展起来的一门新兴学科。
因为多数科学和工程遇到的是模拟信号,所以以前都是研究模拟信号处理的理论和实现。
但是模拟信号处理难以做到高精度,受环境影响较大,可靠性差,且不灵活等。
随着电子技术的飞速发展,加之数字信号处理技术的不断成熟和完善,数字信号处理已经逐渐取代模拟信号处理。
相比于模拟信号处理,数字信号处理具有精度高、灵活性高、可靠性强、容易大规模集成、时分复用、可获得高性能指标、二维和多维处理等优点[1]。
数字信号处理广泛应用在滤波与变换、通信、语音、图像、消费电子、工业控制和自动化、医疗、军事等领域。
并且,数字信号处理在数字汇聚、远程会议系统、融合网络、数字图书馆、多媒体通信、个人信息终端等新兴领域有很大的应用前景。
数字滤波器是数字信号处理中很重要的一个分支。
数字滤波器是对数字信号实现滤波的离散时间系统,它将输入的数字序列通过特定运算转变为所需的数字序列[2]。
根据冲激响应函数的时域特性,可将数字滤波器分为两种,即无限长冲激响应IIR滤波器和有限长冲激响应FIR滤波器。
数字滤波器一般由数字乘法器、加法器和延时单元组成的一种算法或装置。
模拟滤波器分为有源和无源的,有源滤波器主要由集成运放、电阻、电容构成,无源的滤波器主要由R,L,C构成[3]。
模拟滤波器的物理构成导致存在电压漂移、温度漂移和噪声等问题。
模拟滤波器还存在一个很严重的问题,当技术指标改变时,其常常要更换电容、电感、运放等元件,相当繁琐。
FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,与早期的PROM、PLA、PAL、GAL、EPLD等可编程器件相比,在结构、工艺、集成度、功能、速度和灵活性方面都有很大的改进和提高[4]。
FPGA的在线可重编程特性使FPGA设计灵活性得到很大的提高。
这些改进和提高使FPGA广泛应用在控制、数字信号处理、嵌入式等领域有很大的应用空间。
1.2国内外研究现状
数字滤波器的实现研究都集中在不同的VLSI技术实现方式。
这些滤波器的架构已很大程度上取决于目标应用程序的特定实现。
如今几个广泛使用的数字信号处理器有德州仪器TMS320数字信号处理器,摩托罗拉56000和ADI公司的ADSP-2100系列,它们用来实现高速率的音频滤波处理。
这些器件是非常灵活的,但性能上有缺陷[5]。
而采样频率大于100MH的高性能滤波设计,可以采用CMOS和BiCMOS技术来实现并且使用从全定制技术到传统技术出厂配置门阵列的方法。
这些努力成果促进了特定应用领域的高性能滤波器设计的发展。
定制VLSI技术存在几个潜在的缺点,但对于特定的应用程序设计目的,它确实能保证最佳的性能和效率。
最明显的问题是这种定制技术缺乏灵活性[6]。
定制器件通常只适合某个特定的应用程序,并不能容易地重新配置,即使在同一领域的其他应用。
定制VLSI技术还存在另一个问题是缺乏适应性。
典型的定制技术不允许器件的功能在系统上进行修改比如故障维护。
虽然这些问题在周详考虑下可以克服,但性能上的代价,实现的复杂度以及额外的设计时间使问题的解决不是那么灵活[7]。
缺乏灵活性阻碍了某些特殊算法在高性能实时系统上进行有效的评估。
只有大批量应用或者极为关键的少批量应用才能平衡定制方案的开发费用。
但也存在很多算法在通用处理器上不能实现,并且在全定制的方案中不存在共通的地方。
这些算法也不能通过传统的方法进行评估,从而限制了创新[8]。
现场可编程门阵列(FPGA),可以缓解定制方法的一些问题。
FPGA是可编程逻辑器件,与传统的定制门阵列有明显类似。
虽然有各式各样的FPGA实现方法,但存在一些比较普及的方法,它们都涉及任意可编程逻辑阵列块以及用于互连阵列块可配置布线资源。
许多常用的FPGA是在系统可编程的,通过简单的重新编程,可以修改器件功能。
FPGA的可编程性也有很多限制。
特别是,FPGA的密集度只能达到单个模块一定复杂度的水平。
器件架构的约束性也导致FPGA有所缺陷,比如逻辑块中的逻辑单元制约性和阵列中的线路延迟。
但这些困难都可以通过周密设计来克服。
由于集成电路的制造技术日益发展,FPGA高密度和高速度的趋势也将愈发明显。
许多FPGA系列都是基于存储技术,这方面的发展也必然带来FPGA的发展。
这也使FPGA在某些具有挑战性的应用领域的应用变得可能[9]。
FPGA非常适合定点数字信号处理算法。
FPGA相比于DSP的优势在于FPGA的可重配置性所带来的附加灵活性。
除了低成本实现高性能系统,由于集成电路制造时间短,FPGA的设计测试周期也相当短。
考虑到不可预见的要求,这种新方法还可以进行调整。
相比于DSP,FPGA的缺陷在于FPGA架构带来的密集度和布线限制性。
另外逻辑门单元的数目和运算单元的数目也是有限的。
阵列中的模块互连也存在一定的延迟。
我国DSP技术起步较早,有很大的研究成果,基于FPGA数字信号处理的应用也与国外几乎同步发展。
各大高校和研究所在这方面与ALTERA、XILINX等FPGA公司都有密切联系和合作。
1.3研究思路
对模拟滤波器和数字滤波器进行比较,发现数字滤波器有很多优点。
由此对于数字滤波器的研究显得更为重要和富有前景。
选择在FPGA上实现数字滤波器是因为相比于其他硬件实现方法,它更具灵活性,成本又低,而性能又高。
数字滤波器分为两种,即有限长冲激响应FIR滤波器和无限长冲激响应IIR滤波器。
设计FIR滤波器有两种常用设计方法:
从时域出发的窗函数法和从频域出发的频率采样法。
本FIR滤波器设计采用窗函数法。
但窗函数有很多种类,比如矩形窗、三角形窗、汉宁窗、海明窗等。
本设计采用布拉克曼窗,其中原因会在下文加以阐述。
IIR滤波器可以利用模拟滤波成熟的设计理论进行设计。
模拟滤波器的原型也有很多种类,有巴特沃斯、切比雪夫、椭圆等。
本IIR滤波器选择椭圆滤波器来设计,原因会在下文阐述。
按照上述分析,利用MATLAB进行滤波器理论设计,从中获得滤波器系数。
在ISE平台下,根据滤波器系数,使用VHDL语言对滤波器算法进行编程并仿真验证。
对于滤波器算法的硬件功能效果,必然还要用到AD电路(模拟到数字转换)模块和DA电路(数字到模拟)模块。
所用本设计还要根据其时序电路,对AMP电路(可编程欲放大器)模块,AD电路模块和DA电路模块进行编程设计并且仿真验证。
为了确定这三个关键模块是否配置成功,还必须下载到硬件中进行测试。
各个模块都验证成功,将其整和到一个整体程序,下载到硬件中进行验证。
2FIR数字滤波器简介
2.1FIR数字滤波器的原理
一个数字滤波器可以用系统函数、单位脉冲响应和差分方程进行描述。
其中系统函数可表示为:
(式2.1)
直接由H(z)得出表示输入输出关系的线性常系数差分方程为:
(式2.2)
FIR数字滤波器是指其单位冲激响应h(n)是有限长序列。
故可知其系统函数只是z-1有理多式,即分母系数ak都为零。
长度为N的FIR滤波器系统函数可表示为:
(式2.3)
由式2.3得出其表示输入输出关系的常系数线性差分方程为:
(式2.4)
式2.4可以认为是x(n)与单位脉冲响应h(n)的直接卷积。
式2.3可以看出FIR滤波器系统函数在z平面上有N-1个零点,在z=0处有N-1阶极点,这与IIR滤波器零极点分布有很大的不同。
FIR滤波器的最主要特性之一是它可以在幅度特性任意设计的同时,满足严格的线性相位,同时保证稳定性。
相比,IIR滤波器很难产生线性相位。
所谓线性相位特性,是指滤波器对不同频率的正弦信号所产生的相移与正弦信号的频率成直线关系。
因此,信号通过滤波器后,除了由相频特性的斜率决定的延迟外,可以不失真地保留通带以内的全部信号。
这一特性使FIR滤波器在某些需要线性相位的数据通信、语音信号处理、图像处理等领域有着广泛的应用。
2.2FIR数字滤波器的基本结构
FIR滤波器有直接型、级联型、频率抽样型和快速卷积型等基本结构。
其中直接型简单直观,系数调整方便,是最常见的结构。
直接型结构如图2.1所示。
图2.1FIR滤波器直接型结构
这种结构也称为卷积型结构,或称横向滤波器结构。
由图2.1可知,y(n)是由输入x(n)延时链加权求和构成,加权系数是由单位冲激响应h(n)决定的。
在这种结构中,也存在缺点。
每一个h(n)的变化都将导致系统零点的变化,从而改变系统特性,对零点控制就不方便。
级联型结构能弥补这个缺点,它的结构特性使其能准确控制零点。
2.3线性相位FIR数字滤波器的结构
大多数FIR滤波器的应用,都需要它能满足线性相位。
如果FIR滤波器的单位冲激响应h(n)为实数,且满足以下两个条件之一:
偶对称h(n)=h(N-1-n);奇对称h(n)=-h(N-1-n),那么该FIR滤波器一定具有线性相位。
图2.2是当N为偶数的偶对称线性相位FIR数字滤波器的结构,本FIR滤波器设计也属于种类型。
根据该类型其幅度特性可知,适合设计低通滤波器,不适合设计高通和带阻滤波器。
故本FIR滤波器设计属于低通滤波器设计。
图2.2N为偶数的偶对称线性相位FIR数字滤波器的结构
2.4FIR数字滤波器的设计方法
FIR滤波器设计的本质问题是要使所设计的FIR滤波器的频率响应逼近所要求的理想滤波器的频率响应。
其有两种常用的设计方法:
窗函数法和频率采样法。
本设计采用的是窗函数法。
窗函数设计法的出发点是从时域出发,用窗函数截取具有理想频率特性的滤波器的单位冲激响应
来得到
,以有限长
近似理想的
,从而使频率响应
逼近理想的频率响应
。
理想的频率响应
逆傅里叶变换得到
:
(式2.5)
由于
的无限长,所以要对其加窗限制即将
与窗函数序列
相乘,以得到有限长的单位冲激响应
为:
(式2.6)
FIR滤波器设计常用的窗函数有:
矩形窗函数、三角形窗函数、汉宁窗函数、海明窗函数、和布拉克曼窗函数等。
具体参数指标可参看表2.1。
一般希望窗函数的频谱满足以下两项要求:
主瓣尽可能窄,以获得较陡的过渡带。
最大的副瓣相对于主瓣尽可能地小,即能量集中在主瓣中。
这样就可以减少肩峰和余振,
表2.15种窗函数基本参数的比较
窗函数类型
主瓣宽度/dB
旁瓣峰值/dB
过渡带宽/rad
阻带最小衰减/dB
矩形窗
-13
21
三角形窗
-25
25
汉宁窗
-31
44
海明窗
-41
53
布莱克曼窗
-57
74
提高阻带的衰减。
但是这两项要求不可能同时得到最佳满足,常用的窗函数是在这两者之间取得适当的折中,往往需要增加主瓣宽度以换取副瓣的抑制,表2.1很好的体现这一点,主瓣宽度与旁瓣峰值的大小成正比。
本FIR滤波器设计选择布莱克曼窗,大幅度地抑制副瓣。
3IIR数字滤波器简介
3.1IIR数字滤波器的原理
IIR数字滤波器,顾名思义,其单位冲激响应
是无限长的,故可推测其系统函数H(z)是z-1有理分式,可表示为:
(式3.1)
式3.1可得出其差分方程可表示为:
(式3.2)
式3.1中至少有一个ak不为零,若全为零则是FIR滤波器。
系统函数H(z)在有限长Z平面(0<|Z|<∞)有极点存在,且全部极点位于单位园内,以保证IIR滤波器稳定。
3.2IIR数字滤波器的基本结构
IIR滤波器结构上存在输出到输入的反馈,是递归型的,与FIR滤波器非递归型的结构不同。
IIR滤波的基本网络结构有直接型、级联型和并联型三种。
其中直接型又可分为直接I型和直接II型。
直接I型和直接II型结构,简单直观,是比较常用的结构。
图3.1和图3.2分别表示直接I型和直接II型结构。
图3.1直接I型结构
图3.1可以看出,直接I型结构的系统函数H(z)也可以看作两个互相独立的子系统函数相乘。
对于一个线性非移变系统,若交换级联子系统的次序,总系统函数不变,即总的输入与输出之间的关系不变。
若M=N,交换直接型结构中两个子系统网络,将相同的延时链合并,就得到直接II型结构。
比较图3.1和图3.2可知,直接II型相比直接I型结构来说,所用延时单元更少,用硬件实现时可以节省移位寄存器,比直接I型经济;若用软件实现则可以节省存储单元。
虽然直接II型相比于直接I型结构有上述优点,但不管是直接I型还是直接II型都存在一些共同的缺点,那就是对于高阶系
图3.2直接II型结构
统而言,直接型结构存在零点和极点调整困难的缺点,还存在极点位置灵敏度大,对系数量化效应敏感等缺点。
级联型和并联型结构能单独调整零极点位置,但并联型对于零点的调整不如级联型方便。
3.3IIR数字滤波器的设计方法
IIR滤波器设计相比于FIR滤波器设计的优势在于,它可以利用模拟滤波器成熟的设计理论进行设计,因而保留了一些典型模拟滤波器优良的幅度特性。
但IIR滤波器有一个明显的缺点,就是相位特性不好控制,如果需要线性相位特性,必须用全通网络进行复杂的相位校正[1]。
IIR数字滤波器的设计方法主要是将模拟滤波器按一定规则映射成数字滤波器。
为了利用模拟滤波器设计IIR数字滤波器,必须先设计一个满足技术指标的模拟滤波器原型。
常用的模拟低通滤波器原型有巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器等。
巴特沃斯低通滤波器的幅频特性随频率的增加而单调下降。
当阶数较小时,过渡带下降较慢,要想使其幅频特性接近理想低通滤波器,就必须增加滤波器的阶数。
滤波器阶数增加意味着滤波器复杂度的增加。
由于巴特沃斯滤波器的频率特性曲线无论在通带和阻带都是频率的单调函数。
因此当通带边界处满足指标要求式,阻带内肯定会有裕量。
一种更有效的设计方法应该是将精确度均匀地分布在整个通带内,或均匀地分布在整个阻带内,或同时分布在两者之中,这样就能用较低的阶数满足系统设计要求[2]。
切比雪夫滤波器和椭圆滤波器的幅频特性都具有这种等波纹特性。
切比雪夫滤波器幅频特性只是在通带内是等波纹的,在阻带内是单调的,称为切比雪夫I型滤波器,或者在阻带内是等波纹的,在通带内是单调的,称为切比雪夫II滤波器,然而椭圆滤波器在通带和阻带内都具有等波纹幅频响应特性。
因此,用椭圆滤波器来实现相同性能的滤波器时,所需的阶数更低,性能更好。
由此,本IIR滤波器设计采用椭圆滤波器原型。
为了使得数字滤波器与模拟滤波器频率特性之间有某种相似性,并且是一种因果稳定的映射,这种由S平面到Z平面的映射,应当满足以下两条:
第一,S平面的虚轴jΩ必须映射为Z平面的单位圆;第二,S平面的左半平面必须映射为Z平面的单位圆内[2]。
满足以上两条常用的映射方法有:
冲激响应不变法和双线性变换法。
冲激响应不变法的映射关系可表示为:
(式3.3)
设模拟系统函数
的全部极点sk是单阶的,且分母的阶数高于分子的阶数,则系统函数可表达为部分分式形势:
(式3.4)
冲激响应不变法得到的数字滤波器系统函数可表示为:
(式3.5)
用冲激响应不变法设计数字滤波器会产生频谱混叠现象,使数字滤波器的频率响应偏离模拟滤波器的频率响应。
如果不考虑频谱混叠现象,则这种方法设计的数字滤波器会很好的重现原模拟滤波器的频率特性。
双线性变换法的映射关系可表示为:
(式3.6)
式3.6中常数c的选择可以使模拟滤波器的频响特性和数字滤波器的频响特性在不同的频率范围有某种对应的关系,起到调节两者频带间关系的作用。
用双线性变换法将模拟滤波器系统函数
转换成数字滤波器系统函数
的变换公式可表示为:
(式3.7)
采用双线性变换法设计IIR数字滤波器可以很好地消除频谱混叠现象。
故本设计采用双线性变换法。
4MATLAB程序设计
4.1MATLAB简介
MATLAB是由美国MathWorks公司开发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA 数字滤波器 设计 毕业设计 论文