最新基于FPGA的FIR滤波器设计.docx
- 文档编号:25430536
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:38
- 大小:334.59KB
最新基于FPGA的FIR滤波器设计.docx
《最新基于FPGA的FIR滤波器设计.docx》由会员分享,可在线阅读,更多相关《最新基于FPGA的FIR滤波器设计.docx(38页珍藏版)》请在冰豆网上搜索。
最新基于FPGA的FIR滤波器设计
计算机N51存放计算机成绩
A、网络接口层B、传输层C、互联网层D、应用层
【答案】B
s=s+MOD(x,10)
dowhile.t.
3、常用的传输介质有两类:
有线和无线。
有线介质有_双绞线_______、_同轴电缆___、__光纤__。
A.视图与查询没有区别B.视图是一个虚表,不形成对应的磁盘文件
appendblank
5.分别使用自定义函数和子程序两种方法,编写计算圆环面积的程序,其中圆半径从键盘输入。
11.设工资=1200,职称="教授",下列逻辑表达式的值是________。
摘要
在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用,随着可编程逻辑器件和EDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。
本论文对基于FPGA的FIR数字滤波器实现进行了研究,以FIR数字滤波器的基本理论为依据,并且采用查找表以及线性FIR波器的对称性特点使得硬件规模极大的减小。
为了验证仿真结果的正确性,文中应用了MATLAB和VHDL联合仿真方法对设计的电路进行仿真测试,结果达到设计指标。
并用MATLAB对仿真结果进行了分析,证明了所设计的FIR数字滤波器功能正确。
关键词:
有限脉冲响应现场可编程门阵列查找表窗函数仿真
ABSTRACT
Inthemodernelectricalsystem,theFIRdigitalfilterisusedformanypracticalapplicationsforitsgoodlinearphasecharacter,AlongwiththedevelopmentofPLDdeviceandEDAtechnology,moreandmoreelectricalengineersuseFPGAtoimplementFlRfilter,asitnotonlymeetthereal-timerequirement,butalsohassomeflexibility.
Inthispaper,amethodtoimplementtheFIRfilterusingFPGAisproposed.AccordingtothebasictheoryofFIRfilters,thethesisreducesitwiththeuseofmultiplecoefficientmemorybanksandthesymmetrycharacteristicoflinearFIRfilter.Inordertomaketheverificationmoreavailable,thecomplexsimulationwithMatlabandVHDLisusedtotestifythedesignwhetherfulfillstherequirement.AndalsotheresultofthesimulationisanalyzedwiththeuseofMATLAB,anditprovedthatthefunctionofthedesigniscorrect.
KEYWORDS:
FIRFPGAWindowsFunctionSimulation
第一章绪论
1.1背景和选题依据
本课题的研究背景是针对数字信号处理实验室的需要而开展的工作。
由于信号在复杂的环境中经常受到大量的干扰及噪声的影响,因而设计高性能的FIR滤波器来滤掉这些干扰及噪声起着非常关键的作用。
在数字处理中,滤波占有重要的地位。
数字滤波在语音和图像处理、HDTV(High-DefinitionTelevision)、模式识别、谱分析等应用中经常用到。
与模拟滤波相比,数字滤波具有很突出的优点。
例如它可以满足滤波器对幅度和相位特性的严格要求,可以避免模拟滤波所无法克服的电压漂移、温度漂移和噪声等问题。
根据数字滤波器冲激响应函数的时域特性,可将数字滤波器分为无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器两种。
由于FIR系统只有零点、系统稳定,便于实现FFT算法、运算速度快、线性相位的特性和设计更为灵活等突出优点而在工程实际中获得广泛应用[1]。
FPGA(FieldProgramGateArray)是可编程逻辑器件中一种比较复杂的形式,它正处于革命性数字信号处理的前沿。
全新的FPGA系列正在越来越多的替代ASIC(Application-SpecificIntegratedCircuit)和PDSP(ProgrammableDigitalsignalprocessors)用作前端数字信号处理的运算。
FPGA具有许多与ASIC相同的特点。
例如:
在规模、重量和功耗等方面都有所降低。
而且吞吐量更高、能更好的防止未授权复制、元器件和开发成本的进一步降低,开发时间也大大缩短。
还具有在线路中可重复编程的特性。
它允许电路设计者利用基于计算机的开发平台,经过设计输入、仿真、测试和校验,直至达到预期的效果,从而可以产生更为经济的设计。
更吸引人的是,采用FPGA器件可以将原来的电路板级产品集成为芯片级产品。
正如我们现在所看到的,随着FPGA在数字信号处理中的大规模应用,正在日渐深入地影响我们的生产和生活,也必将在这领域引起深刻的变革。
在本课题的研究中,采用超大规模集成电路硬件描述语言(VHDL)对设计进行描述。
在程序设计的过程中,将不同功能代码分别存放,以利于设计的后期更新和维护。
可以使用LeonardoSpectrum或FPGAExpress对设计进行综合处理,将产生的.edf文件放在MaxplusII平台上进行仿真,如果仿真通过并符合要求,就可以将代码下载到具体的芯片中,完成FIR滤波器的设计[2]。
1.2国内外研究现状和发展动态
在现代信号处理和电子应用技术领域,滤波器作为一种必不可少的组成部分处在了一个十分重要的位置,并日益显示出其巨大的应用价值。
尽管滤波技术的发展到现在只有七十多年的历史,但它的发生与发展已经历了诸多变化,作为一种信号处理的技术已相当完善,并不断发挥着其重要的作用。
长期以来,人们不断地探索滤波器的设计与实现方法,努力地追求着简化设计、减少体积、改善性能、提高灵活性和可靠性、便于制作等问题。
随着微电子学迅速发展,以单个芯片进行FIR滤波器的设计正在发展和应用中。
如今FIR滤波器的硬件设计有多种实现方法。
第一种是采用单片机来实现,但单片机的处理速度比较慢。
第二种是采用专用的DSP芯片,但是DSP的串行指令执行发式,使其工作速度和效率大打折扣,因此当滤波器的系数增加或字长增长时,计算时间会成倍增加,从而降低了最大有效数据采样率。
而且在一些高速的应用中,系统性能不断增长,而DSP性能的提高却落后于需求的增长。
第三种是采用市场上通用的FIR滤波器集成电路,但由于它的通用性,很难满足设计者独特的要求。
第四种是采用可编程逻辑器件(PLD)的方法来实现。
可编程逻辑器件在电子技术领域中的应用,为数字硬件电路系统的设计带来了极大的灵活性。
由于可编程逻辑器件可以通过软件编程而对其硬件结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷。
这一切极大地改变了传统的数字硬件电路系统设计方法、设计过程、乃至设计观念。
纵观可编程逻辑器件的发展史,它在结构原理、集成规模、下载方式、逻辑设计手段等方面的每一次进步都为现代电子设计技术的革命与发展提供了不可或缺的强大动力。
自从1989年美国Xilinx公司率先发明FPGA(现场可编程门阵列)的概念以来,FPGA技术以其现场设计、现场修改、现场验证、现场实现的可达数万门级的数字系统单片化的应用优势,随着亚微米CMOS集成电路制作技术的成熟和发展,器件集成度不断增大,器件价格不断下降的趋势,逐渐受到各国电子系统应用领城的设计工程师的广泛关注和欢迎。
时至今口,FPGA技术不再是ASIC技术领域的一个点缀和补充,而跃为电子应用(包括通讯技术、计算机应用、自动控制、仪器仪表、ASIC设计)等诸多领域受欢迎的实用技术,成为数字系统科研实验、样机试制、小批量产品即时实现的最佳途径。
1.3论文研究的目的和主要内容
本文研究的主要目的是为数字信号处理实验室设计出性能指标优良的滤波器,使其在复杂的环境中快速过滤掉无用信号及噪声。
并根据此目的进行进一步的研究及拓展。
为了确定使用的方法在设计FIR滤波器上是有效并且是高效的,因此在本文中对比了两种不同的FIR滤波器的设计方法,通过对比得知,采用查找表的FIR滤波器无论在速度上和所占用的资源上均优于普通的设计方式,因此可以确定采用查找表来设计FIR滤波器占有优势。
本文主要内容分为五部分:
第一章简要介绍背景、选题以及文章的概要;
第二章对FIR滤波器的原理,尤其是线性相位的FIR滤波器进行了详细的说明;
第三章对FPGA进行了介绍,并具体说明在设计中用到的数字及部件在设计中是如何实现的;
第四章进行具体的设计论述,详细说明了每一步是如何进行并给出了对比结果;
第五章对全文进行了总结并指出本设计的发展方向。
第二章FIR滤波器的结构及设计
数字滤波器通常都是应用于修正或改变时域或频域中信号的属性。
最为普通的数字滤波器就是线性时间不变量(lineartime-invariant,LTI)滤波器。
LTI与其输入信号之间相互作用,经过一个称为线性卷积的过程。
表示为y=f
x,其中f是滤波器的脉冲响应,x是输入信号,而y是卷积输出。
线性卷积过程的正式定义如下:
LTI数字滤波器通常分成有限脉冲响应(finiteimpulseresponse,也就是FIR)和无限脉冲响应(infiniteimpulseresponse,也就是IIR)[3]两大类。
顾名思义,FIR滤波器由有限个采样值组成,将上述卷积的数量降低到在每个采用时刻为有限个。
而IIR滤波器需要执行无限数量次卷积。
研究数字滤波器的动机就在于它们正日益成为一种主要的DSP操作。
数字滤波器正在迅速的代替传统的模拟滤波器,后者是利用RLC元器件和运算放大器实现的。
模拟原型设计只能应用在IIR设计之中,而F1R通常采用直接的计算机规范和算法进行分析的。
2.1FIR数字滤波器基础
数字滤波器(DF)是个离散系统,它所处理的对象是用序列表示离散信号或数字信号。
DF的因果离散系统函数可表示成:
(2-1)
其常系数线性差分方程为:
(2-2)
可以看出,数字滤波器是把输入和之前输出的序列经过一定的运算变换成输出的序列。
大多数普通的数字滤波器都是LTI滤波器,对于FIR系统,其系统函数仅有零点(除Z=0的极点外),因此FIR系统的差分方程可以表示为:
(2-3)
转移函数为:
(2-4)
由(2-3)式可知,系统的脉冲响应是因果序列,因为其输出仅与即时输入以及过去的输入数据有关,而与过去的输出数据没有直接的关系,所以FIR滤波器是因果的,是物理可实现的系统,因而它在实际中往往采用非递归(无反馈作用)形式的结构来实现。
人们把用非递归形式实现的FIR滤波器叫做非递归型滤波器。
而且,由(2-3)式还可以知道,此系统的脉冲响应是绝对可加的,所以FIR滤波器总是稳定的。
FIR滤波器相对于IIR滤波器有很多独特的优越性,在保证满足滤波器幅频响应的同时,还可以获得严格的线性相位特性。
对于非线性FIR滤波器一般可以用IIR滤波器来替代。
由于在数据通信、语音信号处理、图像处理以及自适应等领域往往要求信号在传输过程中不允许出现明显得相位失真,而IIR存在明显得频率色散的问题,所以FIR滤波器得到了更广泛的应用。
2.2FIR数字滤波器的基本结构
FIR滤波器的构成形式主要有直接型、级联型、线性相位FIR滤波器的结构等,下面分别加以讨论。
1.直接型结构
图2-1给出了N阶LTI型FIR滤波器的图解。
可以看出FIR滤波器是有一个“抽头延迟线”加法器和乘法器的集合构成的。
传给每个乘法器的操作数就是一个FIR系数,显然也可以称作“抽头权重”因此该结构也称为“横向滤波器”。
图2-1直接型结构的FIR滤波器
直接FIR模型的一个变种称为转置式FIR滤波器,它是根据转置定理定义如果将网络中所有支路的方向倒转,并将输入x(n)和输出y(n)互换,则其系统传递函数H(z)不变。
其转置结构见图2-2[4]。
图2-2转置结构的FIR滤波器
转置式滤波器通常是指FIR滤波器的实现。
该滤波器的优点在于我们不再需要给x(n)提供额外的移位寄存器,而且也不必要为达到高吞吐量给乘积的加法器(树)添加额外的流水线级。
2.级联型
如将(2-4)式分解为二阶实系数因子形式:
便可得二阶级联结构。
这种结构每一节控制一对一零点,因而在需要控制传输零点时可以采用。
但相应的滤波系数增加,乘法运算次数增加,因此需要较多的存储器,运算时间也比直接型增加。
3.线性相位FIR系统的结构
在许多应用领域,例如通信和图像处理中,在一定频率范围内维持相位的完整性是一个期望的系统属性。
因此,设计能够建立线性相位频率功能的滤波器是必须遵循的规范。
系统相位线性度的标准尺度就是“组延迟”,其定义为[5]:
(2-5)
完全理想的线性相位滤波器对于一定频率范围的组延迟是一个常数。
可以看到如果滤波器是对称或者反对称的,就可以实现线性相位。
线性相位(相移)表示一个系统的相频特性与频率成正比,由于不同频率传输速度都一样,所以信号通过它产生的时间延迟等于常数k,所以不出现相位失真,对一个数字系统来说,即
。
假设一个离散时间系统的幅频特性等于1,则当信号x(n)通过该系统后,其输出y(n)的频率特性:
所以y(n)=x(n-k),这样输出y(n)等于输入在时间上的唯一,达到了无失真输出的目的。
可以证明,线性相位条件为:
h(n)=h(N-1-n)偶对称
h(n)=-h(N-1-n)奇对称
即如果单位脉冲响应h(n)为实数,且具有偶对称或奇对称性,则FIR数字滤波器具有严格的线性相位特性。
其对称中心在
处。
当N分别为奇数和偶数时,其网络结构可以分别用图2-3(a),(b)的信号流图来实现。
由该信号流图可以看出,线性相位结构比图2-1的直接实现形式少用个乘法器(或乘法运算)。
图2-3a线性相位FIR滤波器(奇数阶)
图2-3b线性相位FIR滤波器(偶数阶)
2.3FIR数字滤波器的设计
FIR滤波器设计方法是以直接逼近所需离散时间系统的频率响应为基础。
设计方法包括窗函数法和最优化方法(等同纹波法),其中窗函数方法是设计FIR数字滤波器是最常用的方法之一。
1.窗函数法
任何数字滤波器的频率响应
都是w的周期函数,它的傅立叶级数展开式为:
(2-6)
(2-7)
傅立叶系数h(n)实际上就是数字滤波器的冲击响应,由于h(n)可能是无限长序列且为非因果响应,是物理不可实现的。
为此要寻找一个因果的h(n),在相应的误差准则下最近逼近h(n)。
窗函数法设计的初衷是使设计的滤波器频率特性
在频域均方误差最小意义下进行逼近,即
窗函数法就是用被称为窗函数的有限加权序列GN(n)来修正式((2-7),则所需h(n)表示为:
h(n)=hd(n)GN(n)(2-8)
GN(n)是有限长序列,当n>N-1及n<0时,GN(n)=0,这里我们仅以冲激响应对称即h(n)=h(N-1-n)(n=0,1,2,...N-1)时低通滤波器为例进行说明。
低通滤波器的频率响应函数
如下式所示:
(2-9)
在
时为0,其中w为对抽样频率归一化的角频率,
为归一化截止角
频率。
利用反傅立叶变换公式求出式(2-9)对应的冲激响应h(n)为:
(2-10)
几种窗函数及其窗函数选择原则:
设计FIR滤波器常用的窗函数有:
矩形窗函数、三角窗(bartlett)函数、汉宁(Hanning)窗函数、海明(Hamming)窗函数、布莱克曼(Blackman)窗函数和凯塞(Kaiser)窗函数,具体性能指标可参看表2.l[5]。
表2.1窗函数性能指标比较
窗的类型
最大旁瓣幅度
(相对值)
过渡带宽度
最大逼近误差
20
等效kaiser窗
矩形
-13
-21
0
Barlett
-25
-25
1.33
Hanning
-31
-44
3.86
Hamming
-41
-53
4.86
Blackman
-57
-74
7.04
窗函数的选择原则是:
(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。
(2)旁瓣幅度下降速度要快,以利于增加阻带衰减。
(3)主瓣宽度要窄,以获得较陡的过渡带。
通常上述几点很难同时满足,当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加;当选用最小的旁瓣幅度时,虽然能得到匀滑的幅度响应和较小的阻带波动,但是过渡带加宽。
因此,实际选用的窗函数往往是它们的折中。
在保证主瓣宽度达到一定要求的情况下,适当地牺牲主瓣的宽度来换取旁瓣波动的减少。
2.等同纹波设计方法
窗函数存在某些缺陷。
首先,在设计中不能将边缘频率
和
精确的给定;也就是意味着在设计完成之后无论得到何值都必须接受。
其次,不能够同时标定纹波因子
和
;在窗函数设计法上只能设定
=
。
最后,近似误差在频带区间上不是均匀分布的,在靠近频带边缘误差愈大,远离频带边缘误差愈小。
一种非常有效的解决这种问题的FIR滤波器就是等同纹波FIR滤波器。
对于线性相位FIR滤波器来说,有可能导得一组条件,对这组条件能够证明,在最大近似误差最小化的意义下,这个设计时最优的。
具有这种性质的滤波器就称为等同纹波滤波器,因为近似误差在通带和阻带上都是均匀分布的。
等同纹波法通常都是采用Park-McClellan迭代方法来实现的,与直接频率法相比,等同纹波设计法的优点在于通频带和抑制带偏差可以分别指定,且实现相同指标的滤波器时所用的滤波器阶数较小。
3.借助Matlab设计FIR滤波器
在Matlab的SIGNALPROCESSINGTOOLBOX中有一个专门的数字滤波器设计软件模块FDA(FilterDesign&AnalysisTool),其功能强大,可以设计多种滤波器,而可以采用多种方法设计FIR滤波器,包括窗函数法和等同纹波法,它使用起来非常直观有效,在输入设计要求和设计方法选择后,计算出各阶系数,并以图形的直观方式显示幅频、相频、冲击响应和零极点图。
它还可以把各阶系数以二进制补码的形式导出到文本文件中去,方便了系数的转换。
第三章FPGA在设计中的具体应用
在利用FPGA进行FIR滤波器研究时,为了确保设计的顺利完成,必须对一些问题仔细考虑。
在本章中将详细讨论基于FPGA设计硬件电路的方式优于传统的硬件电路的设计模式,FPGA的结构和用到的器件的结构、FPGA的开发环境及开发语言,在本设计中数是如何具体表示的和运算在FPGA中是如何完成的,以及在FIR滤波器的设计中重要部件的设计方法。
3.1硬件电路的设计方式
随着计算机软件、硬件和集成电路制造技术的飞速发展,以及数字硬件设计复杂度快速增长和设计成果可继承性的需要,对数字硬件系统的设计方法产生了极大的影响,传统的以线路图为基础的数字硬件系统设计方法正逐步被以硬件描述语言为基础的设计方法所取代。
3.1.1传统的硬件电路设计方法
在传统的硬件电路设计中,设计者需要先了解整个系统的原理,画出相应的原理图,再根据原理图生成相应的线路图,还需要对软件生成的线路图进行布线,布线好的图再拿到工厂生产电路板,再按原理图和电路图将相应的元件插入到PCB板中,焊接,整体调试等[6]。
整个过程很繁杂,有点像搭积木的性质,设计者的许多时间会被无谓的浪费,而且设计的周期非常长,并且要求设计者具有过硬的电子电路知识和设计开发经验.
从上述描述看出,系统硬件的设计是从选择具体元器件开始的,并用这些元器件进行逻辑电路设计,即从最底层开始设计,完成系统各独立功能模块设计,然后再将各功能模块连接起来,直到最高层,完成整个系统的硬件设计。
这是一种自底而上的设计模式。
由于进行仿真和调试的仪器一般为系统仿真器、逻辑分析仪和示波器等,所以在传统硬件电路设计中,仿真和调试只能在系统硬件设计完成后期进行,若系统设计存在布线不合理或设计不满足需要或器件的问题也只能在后期出现,因此在整个设计过程中对系统设计人员有较高的要求。
用上述设计方法设计的数字硬件系统最后形成的设计文件,主要是由若干张电路原理图构成的文件。
在电路原理图中详细标注了各逻辑单元、器件的名称和相互之间的信号连接关系。
对于小的系统,这种电路原理图可能只要几张或十几张就行了。
但是,若系统比较大,硬件比较复杂,那么这种电原理图可能需要几十、甚至上百张或更多。
这么多的电路原理图给设计归档、阅读、修改和使用带来很大的不便。
更主要的是在传统设计过程中,设计者的知识与经验若不够丰富,可能会造成设计的失误和偏差,这样就可能造成设计过程中的多次反复,这将延长设计周期。
而且由于设计是这种一级级搭上来的,对后期的扩展带来了很大的不便,若设计者想更改其中的一部分或增加一些功能,就一切要从头开始,这很不利于设计的更改和扩展。
3.1.2基于FPGA的硬件电路设计方法
基于FPGA来设计电路与传统的方法有本质的不同,它摒弃了传统设计中的不灵活性,其可以通过软件编程的方法而对其硬件结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样方便快捷,从这一点上来说,软件设计师只要具备一定的电子设计思想,就完全可以转到此项工作。
FPGA这一切极大地改变了传统的数字硬件电路系统设计方法、设计过程、乃至设计观念。
随着FPGA的不断发展,自身功能的不断完善和计算机辅助设计技术的提高,在现代电子系统设计领域中的电子设计自动化(EDA)便应运而生了,而电子设计自动化的关键技术之一就是采用硬件描述语言(VHDL)来设计数字硬件系统。
这样,传统的数字硬件电路设计模式,就将被人们慢慢地淘汰,而可编程逻辑器件的使用将给电子电路的设计带来新的活力[7]。
在本文中使用的是VHDL语言,最早是由美国国防部为描述电子电路所开发的一种语言,它可以很方便地描述一个系统的功能,也可以详细描述一个器件的状态。
EDA自上而下的设计方法具有如下的特点[8]:
1.设计人员可自行设计所需的功能模块,使电路设计更趋合理,其体积功耗也可大为缩减;
2.用系统早期仿真可以发现设计中存在的问题,可大大缩短设计周期,降低费用;
3.降低了硬件电路设计难度,避免了很多繁杂的工作;
4.要设计文件是用VHDL语言编写的源文件,资料量小,便于保存,可继承性好且阅读方便。
从上面的对比可以看出,采用FPGA设计硬件电路存在极大的优越性,省时、省力、节约成本、灵活性好且可移植性好。
3.2FPGA简介
FPGA的发展非常迅速,形成了各种不同的结构。
按逻辑功能块的大小分类,可分为细粒度FPGA和粗粒度FPGA。
细粒度FPGA的逻辑功能块小,资源可利用度高,但连线和开关多,速度慢;粗粒度FPGA的逻辑功能模块大,功能强,但资源不能充分利用。
从逻辑功能块的结构上分类,可分为查找表结构、多路开关结构和多级与非门结构。
根
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 基于 FPGA FIR 滤波器 设计