基于FPGA的FIR数字滤波器的设计.docx
- 文档编号:12279786
- 上传时间:2023-04-17
- 格式:DOCX
- 页数:83
- 大小:2.01MB
基于FPGA的FIR数字滤波器的设计.docx
《基于FPGA的FIR数字滤波器的设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA的FIR数字滤波器的设计.docx(83页珍藏版)》请在冰豆网上搜索。
基于FPGA的FIR数字滤波器的设计
毕业设计(论文)任务书
毕业设计(论文)题目:
基于FPGA的FIR数字滤波器的设计
设计(论文)的基本内容:
根据数字滤波器的原理和结构,利用分布式算法和OBC编码原理,将数字滤波器分成四个模块来设计,即控制模块,输入模块,乘累加模块,以及锁存模块,各模块的设计是通过VHDL语言和电路来实现,并通过软件QuartusII进行仿真和综合。
毕业设计(论文)专题部分:
题目:
设计或论文专题的基本内容:
学生接受毕业设计(论文)题目日期
第 周
指导教师签字:
年月日
基于FPGA的FIR数字滤波器的设计
摘要
在现代电子系统中,FIR数字滤波器以其良好的线性特性被广泛使用,属于数字信号处理的基本模块之一。
在工程实践中,往往要求对信号处理要有实时性和灵活性,而己有的一些软件和硬件实现方式则难以同时达到这两方面的要求。
随着可编程逻辑器件和FDA技术的发展,使用FPGA来实现FIR滤波器,既具有实时性,又兼顾了一定的灵活性,越来越多的电子工程师采用FPGA器件来实现FIR滤波器。
本文对基于FPGA的FIR数字滤波器实现进行了研究。
主要工作如下:
(1)以FIR数字滤波器的基本理论为依据,使用分布式算法为滤波器的硬件实现算法,并对其进行了详细的讨论。
针对分布式算法中查找表规模过大的缺点,采用多块查找表和OBC编码方式使得硬件规模极大的减小。
(2)在设计中采用了层次化、模块化的设计思想,将整个滤波器划分为多个功能模块,利用VHDL语言和原理图输入两种设计技术进行了各个功能模块的设计,最终完成了FIR数字滤波器的系统设计。
(3)最后给出了采用FLEX10K系列器件实现一个16阶的FIR低通滤波器的设计实例,用QuartusII软件进行了仿真,并对仿真结果进行了分析,证明所设计的FIR数字滤波器功能正确。
仿真结果表明,本论文设计的滤波器硬件规模较小,采样率达到了8.8MHz。
同时只要将查找表进行相应的改动,就能分别实现低通、高通、带通FIR滤波器,体现了设计的灵活性。
关键词:
FIR数字滤波器;FPGA;分布式算法;OBC编码;查找表
DesignoftheFIRDigitalFilterBasedonFPGA
Abstract
Inthemodernelectricalsystem,theFIRdigitalfilterisusedformanypracticalapplicationsforitsgoodlinearphasecharacter,anditprovideanimportantfunctionindigitalsignalprocessingdesign.Inengineeringpractice,thereisalwaysareal-timeandflexiblerequirementforsignalprocessing.However,softwareandhardwaretechniquesavailableforimplementationaredifficulttomeetthedemandforthetwoaspectsinthesametime.AlongwiththedevelopmentofPLDdeviceandEDAtechnology,moreandmoreelectricalengineersuseFPGAtoimplementFIRfilter,asitnotonlymeetthereal-timerequirement,butalsohassomeflexibility.
Inthispaper,amethodtoimplementtheFIRfilterusingFPGAisproposed.Theworkmainlyasfollow:
(1)AccordingtothebasictheoryofFIRfilters,aschemeofhardwareimplementationisworkedoutusingdistributedarithmeticalgorithm.AsthescaleoftheLUTinthedistributedarithmeticalgorithmissolarge,thethesisreducesitwiththeuseofmultiplecoefficientmemorybanks.
(2)Fromtheclewofimplementingatop-downstratified,modulardesign,thethesisdescribesthehardwaredesignofallfunctionalmodulesandtheFIRsystemwiththeVHDLandschematicdiagramdesignmethods.
(3)Atlast,asixteen-tappedlow-passFIRfilteristakenasanexample,andthesimulationdesigncarriedoutusingQuartusII.Andanalyzedtheresult,anditprovedthatthefunctionofthedesigniscorrect.
Theresultofthesimulationindicatesthatthescaleofthedesignissmall,andthesamplerateoftheFIRfiltercanreach8.8MHZ.ModifyingtheLUTcanrealizethelow-pass,high-passandband-passFIRfiltersrespectively,andincarnatestheflexibilityofthedesign.
Keywords:
FIRdigitalfilter;FPGA;DistributedArithmetic;Offset-BinaryCoding;LUT
第1章绪论
1.1本课题的研究意义和应用背景
几乎在所有的工程技术领域中都会涉及到信号的处理问题,其信号表现形式有电、磁、机械以及热、光、声等。
信号处理的目的一般是对信号进行分析、变换、综合、估值与识别等。
如何在较强的噪声背景下提取出真正的信号或信号的特征,并将其应用于工程实际是信号处理的首要任务。
根据处理对象的不同,信号处理技术分为模拟信号处理系统和数字信号处理系统。
数字信号处理(DigitalsignalProcessing,DSP)与模拟信号处理相比有许多优点,如相对于温度和工艺的变化数字信号要比模拟信号更稳健,在数字表示中,精度可以通过改变信号的字长来更好地控制,所以DSP技术可以在放大信号的同时去除噪声和干扰,而在模拟信号中信号和噪声同时被放大,数字信号还可以不带误差地被存储和恢复、发送和接收、处理和操纵。
许多复杂的系统可以用高精度、大信噪比和可重构的数字技术来实现[1]。
目前,数字信号处理已经发展成为一项成熟的技术,并且在许多应用领域逐步代替了传统的模拟信号处理系统,如通讯、系统控制、电力系统、故障检测、语音、图像、自动化仪器、航空航天、铁路、生物医学工程、雷达、声纳、遥感遥测等。
数字信号处理中一个非常重要且应用普遍的技术就是数字滤波。
所谓数字滤波,是指其输入、输出均为数字信号,通过一定的运算关系改变输入信号所含的频率成分的相对比例或滤除某些频率成分,达到提取和加强信号中的有用成份,消弱无用的干扰成份的目的。
数字滤波与模拟滤波相比,有精度高、可靠性高、灵活性好等突出优点,可以满足对幅度和相位的严格要求,还能降低开发费用,缩短研制到应用的时间,在很多领域逐步代替了传统的模拟信号系统[1]。
1.2国内外的研究现状
数字信号处理器具有灵活性、高稳定性、可靠性、集成度高等优点,促使科研人员不断对它进行研究和开发。
但数字信号处理目前仍存在的缺点是:
在一些重要研究领域,数字信号处理的速度还达不到实时处理的要求,例如超高频的习A/D转换器。
数信号处理可以采用两种方法实现:
软件实现和硬件实现。
软件实现是在通用计算机上执行数字信号处理程序。
这种方法灵活,但实现方法较慢,一般不能实时处理,主要用于教学和科研。
国内外的研究机构、公司己经推出了不同语言的信号处理软件包。
硬件主要采用MCU(单片机)、DSP(数字信号处理器)和ASIC(专用集成电路)来实现。
其中,单片机速度较慢;ASIC虽然性能良好,但通常是为专门限定的某一或某几个特定功能而设计,灵活性差;软件编程的通用数字信号处理器(DigitalsignalProcessor)芯片(如TMs32ocxx)是目前应用较广的一种方法。
DSP处理器实质上是一种适用于数字信号处理的单片微处理器,其主要特点是灵活性大,适应性强,具有可编程功能,且处理速度较高。
近年来由于多媒体技术和无线通信的发展对DSP应用的要求不断地增长,这些应用对信号处理要求高,需要采用处理速度高的硬件来实现DSP,所以,随着CMOS工艺的线宽不断缩小,从研制高性能的DSP专用芯片—DSP处理器,直到近年来可以在单片上集成DSP的应用,持续地推动了VLSIDSP这一领域的发展。
但是,采用DSP处理器的解决方案日益面临着不断增加的巨大挑战,而自身的技术瓶颈(如运行速度、吞吐量、总线结构的可变性、系统的可重构配置性、硬件可升级性等等)致使这种解决方案在DSP的许多新的应用领域中的道路越走越窄。
例如,软件无线电的概念在10年前就已经提出,并付诸研究和实现,仅其领域中的数字信号处理的等效速度也需达50GIPS。
然而到目前为止,最快的DSP处理器,如TI的C6X系列也没能超过SGIPS,至于现在最常用的TMS32OC54X系列,也只有0.IGIPS。
不言而喻,在许多应用领域,以DSP处理器为核心的DSP系统具有很大的局限性[2]。
现场可编程门阵列(FieldProgrammableGateArray,FPGA)在器件密度、处理速度等达到片上系统的要求后,它所具有的系统内可重构的特性成为实现DSP应用的优选方案之一。
在许多诸如实时图像处理、联合战术无线电通信系统、3G移动通信基站、实时工控系统、卫星导航设备等领域中,FPGA的DSP解决方案为数字信号处理开创了新的领域,使得构造的数字信号处理系统能够保持基于软件解决方案的灵活性又能接近ASIC的性能[2]。
国外有许多院校和科研机构在研究基于FPGA的DSP应用,比较突出的有Denmark大学的研究小组正在从事FPGA实现数字滤波器的研究。
由于FPGA实现乘法器有困难,因此他们重点研究开发无乘法的滤波器算法。
加州大学洛杉矶分校的研究小组采用运行时重构技术开发了一种视频通讯系统,该系统用一片FPGA可每帧重构四次完成视频图像压缩和传送的操作。
此外,他们还在进行Mojave项目的开发工作,力图采用运行时重构技术来实现自动目标识别应用。
我国在DSP技术起步较早,产品的研究开发成绩斐然,基本上与国外同步发展,而在FPGA方面起步较晚。
全国有100来所高等院校从事DSP&FPGA的教学和科研,除了一部分DSP芯片需要从国外进口外,在信号处理理论和算法方面,与国外处于同等水平.而在FPGA信号处理和系统方面,有了喜人的进展,正在进行与世界先进国家同样的研究。
如,西北工业大学和国防科学技术大学的ATR实验室采用了FPGA可重构计算系统进行机载图像处理和自动目标识别,主要是利用该系统进行复杂的卷积运算,同时利用它的可变柔性来达到自适应的目的。
北京理工大学研究利用FPGA提高加解密运算的速度,等等。
现在,可编程逻辑器件在密度、性能和功耗上都有显著的进步,为数字信号处理开创了新的领域,使得构造的数字信号处理系统能够保持基于软件的解决方案的灵活性,又能够接近ASIC的性能。
FPGA内部的功能块中的SRAM查找表(LookUpTable,LUT)构成函数发生器,这种结构特别适用于并行处理结构,如分布式算法(DistributedArithmetic,DA)。
相对于串行运算为主导的通用DSP芯片来说,其并行度和可扩展性都很好,它逐渐成为构造可编程的高性能算法结构的新的选择。
据分析,在未来,数字信号处理器将会主宰需要复杂算法的应用领域,而FPGA将会统治更多前端的应用,如FIR滤波器、CORDIC算法或FFT[3]。
1.3研究思路
(1)要研究基于FPGA实现的FIR数字滤波器,首先要选定FPGA器件。
ALTERA公司的FLEXIOK系列器件芯片密度大,使用频率高,是目前大规模数字逻辑设计的发展趋势,是用户专用数字滤波器设计的理想载体,并且它的设计软件方便易用,有现成的硬件开发板,所以选用它进行设计。
(2)对FIR数字滤波器的结构和设计方法要有一定的了解,选定合适的方法,本文采用模块化设计的思想,将滤波器划分为几个模块分别进行设计,最后综合起来。
(3)设计数字系统,有多种方法,可以采用传统的数字系统设计方法,也可以采用使用硬件描述语言的数字系统设计方法。
传统的设计方法不适合大规模系统的设计,所以采用使用硬件描述语言的数字系统设计方法。
这就要求学会自顶向下的系统设计方法、硬件描述语言VHDL(VeryHighSpeedIntegratedCircuitHardwareDescriptionLanguage),综合工具、仿真工具等。
(4)采用分布式算法实现FIR数字滤波器,对分布式算法要有深刻的理解,得出用它来实现FIR滤波器的硬件结构。
针对当滤波器阶数过大时,查找表的规模过大的缺点,用将大的查找表分化为2块小表及OBC(OffsetBinaryCoding)编码方式将查找表的规模减小。
最后利用FPGA器件实现FIR数字滤波器的硬件电路,并用MATLAB对结果进行仿真、分析。
1.4本论文的主要内容和主要工作
本论文讨论了利用FPGA器件实现FIR滤波器的研究过程。
其主要内容以及所做的主要工作如下:
(1)研究了采用分布式算法实现FIR数字滤波器的设计方法,分析了其不足之处,针对以速度快为最终目标和以硬件规模小为最终目标这两种情况,对各种方案进行了比较,得出速度与规模折衷考虑时最优化的方案,并对其进行了进一步的改进,减小了查找表的规模。
(2)采用了应用硬件描述语言和自顶向下的数字系统设计方法,对传统的数字系统设计方法和以使用硬件描述语言的数字系统设计方法以及自底向上和自顶向下的数字系统设计方法进行了比较,指出采用硬件描述语言和自顶向下方法设计数字系统的优势,并给出了利用FPGA器件进行数字系统设计的设计流程。
(3)利用硬件描述语言采用自顶向下的数字系统设计方法,给出有限脉冲响应(FIR)数字滤波器的各模块结构,对其进行可综合的寄存器传输级描述。
作者将FLEXIOK系列的结构、功能和特点进行了介绍,并利用Altera公司的FLEXIOK系列器件和QuartusII软件对设计进了综合和仿真,并将实验结果和用MATLAB软件计算的结果进行了比较。
(4)对此次设计作了小结,并提出了进一步对设计进行改进的方法。
随着大规模可编程逻辑器件在数字硬件系统设计中的应用,用VHDL语言设计数字系统,逻辑综合和仿真等EDA技术将成为对电子工程师的基本要求。
第2章FIR数字滤波器简介
2.1FIR数字滤波器
2.1.1数字滤波器的概述
信号中一般都包含噪声或者说其中有很多能量在感兴趣的最高频率之外,因此我们要用滤波电路将感兴趣的带宽之外的信号和噪声移去。
数字滤波器是数字信号处理中使用最广泛的一种线性系统环节,图2.1给出了一个具有模拟输入信号和输出信号的实时数字滤波器的简化框图。
这个模拟信号被周期地抽样,且转化成一系列数字x(n)(n=0,1,……,)。
数字滤波器依据滤波器的计算算法,执行滤波运算、把输入系列x(n)映射到输出系列y(n)。
DAC把数字滤波后的输出转化成模拟值,这些模拟值接着被模拟滤波器平滑,并且消去不需要的高频分量[4]。
图2.1实时数字滤波器的简化框图
在信号处理中,为了防止采样过程中的混叠现象,必须在A/D转换之前使用低通滤波器,把1/2采样频率以上的信号衰减掉。
如图2.2所示,在A/D转换前,加入一个低通滤波器,这样,经过A/D转换之后,有效地避免了混叠现象的发生,从而保证了后续数字处理的正常进行。
图2.2抗混叠滤波器的作用
在实时数字处理系统中,要根据实际情况设定不同的分析频率,即信号分析频率可由用户设定,那么抗混叠滤波的截止频率也要发生变化:
fc=Fs/2。
可以想象,信号分析系统需要多少档分析频率,就需要多少只抗混叠滤波器,这样导致模拟电路的设计十分繁琐,而且要保证每个滤波器参数一致、高精度、线性等较为困难[4]。
随着DSP技术广泛应用,现在逐步采用的技术是:
在经过A/D转换后,采用数字滤波技术满足不同分析频率下信号分析的需要。
相应地,A/D转换保持最高转换频率不变,只需要一个模拟抗混叠滤波器,而通过调节数字滤波器参数改变数字滤波器的输出,相当于改变不同的A/D转换频率。
如图2.3所示,A/D转换前端时域参数固定的模拟抗混叠滤波器,在A/D转换后使用参数可调的数字滤波器。
这样的设计简化了模拟抗混叠滤波器的设计,提高了系统的稳定性和抗干扰性能。
图2.3抗混叠数字滤波器的作用
2.1.2FIR滤波器的原理
一个数字滤波器可以用系统函数、单位脉冲响应和差分方程进行描述。
其中系统函数和表示输入输出关系的常系数线性差分方程为:
(2.1)
直接由H(z)得出表示输入输出关系的常系数线性差分方程为:
(2.2)
可以看出,数字滤波器是把输入序列经过一定的运算(如式2-2所示)变换成输出序列。
大多数普通的数字滤波器是线性非时变的(lineartime-invariant,LTI)滤波器。
对因果的FIR系统,其系统函数仅有零点(除z=0的极点外),并且因为系数a、全为零,所以(2-2)式的差分方程就简化为
(2.3)
式(2.3)可以认为是x(n)与单位脉冲响应h(n)的直接卷积。
数字滤波器的根据单位脉冲响应h(n)的时间特性可分为无限长单位脉冲响应(IIR,infiniteimpulseresponse)数字滤波器和有限长单位脉冲响应(FIR,finiteimpulseresponse)滤波器两种。
从离散时间域来看,若系统的单位取样响应延伸到无穷之长,称之为IIR系,若系统的单位取样响应是一个有限长序列,则称之为FIR系统。
FIR数字滤波器是指滤波器的单位脉冲响应h(n)是有限长序列,N-1阶FIR数字滤波器的系统函数H(z)可表示为[4]:
(2.4)
H(z)是
的N-1阶多项式,在z平面上有N-1个零点,而它的N-1个极点均位于z平面的原点z=0。
FIR滤波器相对于IIR滤波器有许多独特的优越性,在保证满足滤波器幅频响应要求的同时还可获得严格的线性相位特性,从而保持稳定。
对非线性相位的FIR滤波器一般可以用IIR滤波器来代替。
由于在数据通信、语音信号处理、图像处理以及自适应处理等领域往往要求信号在传输过程中不可能有明显的相位失真,而IIR存在频率色散的问题,所以FIR滤波器获得了更广泛的应用。
正因如此,本文对FIR滤波器进行相关讨论。
2.1.3FIR滤波器的基本结构
FIR滤波器有直接型、级联型和频率抽样型三种基本结构,其中直接型是最常见的结构,如图2.4所示。
由于本次设计采用的是直接型数字滤波器结构,所以只对直接型结构作讨论。
图2.4直接型结构
这种结构也称为抽头延迟线结构,或称横向滤波器结构。
从图2.4可以看出,沿着这条链每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就得到输出y(n)。
这种结构也称为抽头延迟线结构,或称横向滤波器结构。
从上图可以看出,沿着这条链每一抽头的信号被适当的系数(脉冲响应)加权,然后将所得乘积相加就输出y(n)。
2.1.4线性相位FIR数字滤波器的系统结构
在许多应用领域,例如通信和图像处理中,在一定的频率范围内维持相位的完整性是一个期望的系统属性。
可以证明,如果FIR滤波器的单位取样响应h(n)为实数,而且满足线性相位条件,则滤波器的单位取样响应h(n)满足以下两个条件之一:
偶对称h(n)=h(N-1-n);奇对称h(n)=-h(N-1-n),其对称中心在
处。
所谓线性特性相位是指滤波器对不同频率的正弦波所产生的相移和正弦波的频率成直线关系。
图2.5线性相位FIR滤波器结构
图2.5显示了线性相位FIR滤波器的结构。
可以看出,线性相位FIR滤波器的固有对称属性可以降低所需要的乘法器的数量,它使得乘法器的数量降低了一半,而加法器的数量则保持不变。
2.1.5FIR数字滤波器的设计方法
FIR滤波器设计方法以直接逼近所需离散时间系统的频率响应为基础。
设计方法包括窗函数法和最优化方法(等同波纹法)。
其中窗函数方法是设计FIR数字滤波器最简单的方法,也是最常用的方法之一。
本文也采用的窗函数设计法。
窗函数设计的基本原理是:
从所要求的理想滤波器的频率响应产
出发,经过反傅立叶变换导出
为:
(2.5)
由于
的无限长,所以要对其进行加窗处理,以得到满足要求的单位脉冲响应h(n)为:
(2.6)
设计FIR滤波器常用的窗函数有:
矩形窗函数、三角(Bartlett)窗函数、汉宁(Hanning)窗函数、汉明(Hamming)窗函数、布拉克曼(Blackman)窗函数和凯塞(Kaiser)窗函数。
具体指标可参看表2.1[4]。
表2.16种窗函数的主要参数
窗函数类型
主瓣宽度/dB
旁瓣电平/dB
过渡带宽度/rad
阻带最小衰减/dB
矩形窗
-13
21
三角窗
-25
25
汉宁窗
-31
44
汉明窗
-41
53
布莱克曼窗
-57
74
凯塞窗
=7.865
-57
80
窗函数的选择原则是:
(1)具有较低的旁瓣幅度,尤其是第一旁瓣幅度。
(2)旁瓣幅度下降速度要快,以利增加阻带衰减。
(3)主瓣的宽度要窄,以获得较陡的过渡带。
通常上述几点很难同时满足。
当选用主瓣宽度较窄时,虽然得到较陡的过渡带,但通带和阻带的波动明显增加:
当选用最小的旁瓣幅度时,虽然能得到匀滑的幅度响应和较小的阻带波动,但是过渡带加宽。
因此,实际选用的窗函数往往是它们的折中。
在保证主瓣宽度达到一定要求的条件下,适当牺牲主瓣宽度来换取旁瓣波动的减少。
FIR数字滤波器的窗函数法设计过程如图2.6所示。
图2.6窗函数法设计过程
近似的理想滤波器的频率响应,是w的连续函数;
是理想滤波器的单位脉冲响应,是无限长的序列:
为了获得实际应用的FIR滤波器,需将
截断,即把无限
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 FPGA FIR 数字滤波器 设计