基于FPGA的带通数字滤波器设计与实现.docx

上传人:b****5 文档编号:11847725 上传时间:2023-04-06 格式:DOCX 页数:32 大小:354.11KB
下载 相关 举报
基于FPGA的带通数字滤波器设计与实现.docx_第1页
第1页 / 共32页
基于FPGA的带通数字滤波器设计与实现.docx_第2页
第2页 / 共32页
基于FPGA的带通数字滤波器设计与实现.docx_第3页
第3页 / 共32页
基于FPGA的带通数字滤波器设计与实现.docx_第4页
第4页 / 共32页
基于FPGA的带通数字滤波器设计与实现.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

基于FPGA的带通数字滤波器设计与实现.docx

《基于FPGA的带通数字滤波器设计与实现.docx》由会员分享,可在线阅读,更多相关《基于FPGA的带通数字滤波器设计与实现.docx(32页珍藏版)》请在冰豆网上搜索。

基于FPGA的带通数字滤波器设计与实现.docx

基于FPGA的带通数字滤波器设计与实现

毕业设计说明书

 

基于FPGA的带通数字滤波器

设计与实现

 

学生姓名

专业名称

电子信息工程

指导教师

 

电子与信息工程系

 

基于FPGA的带通数字滤波器设计与实现

 

FPGA-BasedBand-PassDigitalFilterDesignandImplementation

摘要

随着高速DSP技术的广泛应用,实时而又快速可靠地进行数字信号的处理越来越成为用户追求的目标。

本文分析了国内外数字滤波技术的应用现状与发展趋势,介绍了数字滤波器的基本结构,介绍了数字滤波器的理论及常见的实现方法。

FPGA是常用的可编程逻辑器件,它所具有的查找表结构非常的适用于实现实时而又快速可靠的数字滤波器上,加上Verilog语言灵活的描述方式以及与硬件无关的这种特点,使得使基于Verilog语言的FPGA芯片实现数字滤波器成为研究的方向。

本文正是围绕着硬件描述语言在数字硬件系统设计中的应用展开来的。

首先从比较传统的数字硬件系统的设计方法与采用硬件描述语言的数字硬件系统设计方法的特点出发,介绍了EDA技术发展的过程以及VHDL语言的特点。

介绍了分布式算法,基于ALTERA公司四输入查找表结构的FPGA器件的带通数字滤波器设计技术和结合先进的QuartusII软件、Matlab软件进行高效设计的方法和途径,给出了设计仿真结果。

该设计能够满足要求,设计效率高,对于FPGA硬件资源高效合理的利用。

关键词:

FPGA;Verilog;查找表;分布式算法

 

 

ABSTRACT

Withtheextensiveapplicationofhigh-speedDSPtechnology,theuserspursuitthetargetthatitisrealtimehigh-speedandreliabletoprocessdigitalsignal.Thispaperanalyzesthesituationofapplicationanddevelopmentofdigitalfiltertechnologyhomeandabroad,introducedthebasicstructureofthedigitalfilter,introducethetheoryofdigitalfilterandcommonmethodofitsimplementation.FPGAisonesofusualPLD,anditsarchitectureofLUTisbeapplicabletoimplementreal-time,high-speedandreliabledigitalfilter,inaddition,VerilogHDLcanbequicklylearnedandmastered,andhasnothingtodowithhardware,whichmakeittobearesearchproblemthatusingVerilogachievesdigitalfiltersbasedonFPGA.

ThispaperisarrangedaroundtheapplyofVerilogindigitalsystemdesign.WeanalyzethewayofdigitalsystemdesigntraditionalandusingVerilog,andintroducedthedevelopmentofEDA,thecharacteristicofVerilog.Introducedthedistributedalgorithm,thedesigntechnologyoftheband-passdigitalfilterindigitalalgorithmdesignandimplementationisdescribedbasedon4-inputlook-uptableinFPGA's,thewayandmethodofhigh-speeddesignusingexcellentQuartusIIsoftware,Matlabsoftware.Thedesigncanmeetthequestandbehigh-speed,properinusingFPGA’hardware.

Keywords:

FPGA;Verilog;LUT(Look-Up-Table);DistributedAlgorithm

 

第一章绪论

一.1数字滤波器研究的背景与意义

在航天、通信、医疗等电子系统的信号处理子系统中,数字信号处理(DSP:

DigtalSignalProcessing)占据着重要的地位。

与国民经济息息相关,与国防建设紧密相连;数字滤波技术在语音和图像处理、谱分析、模式识别等很多应用中经常被用到。

和模拟滤波相比,数字滤波含有非常突出的优点。

比如,它能够满足滤波器对幅度和相位特性的技术要求,可以避免使用模拟滤波过程中不能克服的电压漂移、温度漂移和噪声等等很多问题。

数字滤波器依照冲激响应函数的对时域的要求,能够把数字滤波器分成有限长冲激响应(FIR)和无限长冲激响应(IIR)滤波器滤波器两种。

因为FIR系统仅含有零点,所以系统十分稳定,使运算速度快、傅里叶变换(FFT)算法、线性相位的特性以及设计更有利于实现上更为的灵活等突出的优点因而在实际工程中得到了广泛的应用。

FPGA是可编程逻辑器件中相对其他的一种比较复杂的形式,其正处于数字信号处理的前沿。

FPGA与ASIC拥有许多的相同的特点。

例如,在重量、功耗以及规模等方面都有降低,吞吐量更高,可以更好的防止未授权复制、元器件以及开发成本的进一步降低,也大大的缩短了开发所需的时间。

在线路中重复编程是它的重要特性。

前端数字信号处理之运算都要用到它,PDSP和ASIC逐渐的被全新的可编程逻辑器件FPGA所替代。

电路设计的过程时候,它许可设计者基于计算机开发平台操作,再通过一系列的输入,仿真,测试以及校验。

最后能够达到要求,使最终的设计能够更为经济的实惠。

更进人瞩目的是,电路板级产品集成为芯片级产品完全可以用FPGA来实现,就像我们现在生活当中所见到的。

伴FPGA在数字信号处理应用中的大规模化,我们的生产和生活的方式正被影响或改变着。

程序设计过程中,将不同的功能代码分别进行存放,以便于设计的后期更新和维护。

可以使用FPGAExpress或LeonardoSpectrum对设计进行综合的处理,将产生的.edf文件放在QUARTUSII软件平台上仿真,假如仿真结果符合它的要求,就能够将代码下载到所对应的具体芯片里,从而完成数字滤波器设计。

一.2数字滤波器的研究基础

1.2.1电子设计EDA自动化技术

EDA是电子系统设计技术的核心,EDA技术就是把电子计算机作为工具,设计人员在EDA软件的平台上,自由的利用硬件描述语言VHDL来完成设计所需的文件,接着计算机自动地完成逻辑的编译、分割、化简然后综合再优化以及布局布线并且完成仿真,一直到对特定的芯片的适配的编译和逻辑的映射以及编程下载等等任务。

EDA技术大大的提高了电路设计的效率以及操作性,设计者的劳动强度降低。

使用EDA工具,使用者能够从概念、算法、协议等设计电子系统,通过计算机可以直接完成大量的工作,而且能够把电子的产品从电路的设计和性能的分析再到到设计出PCB的版图或者IC版图的过程在电子计算机上处理完成。

现在对EDA的概念以及范畴使用得都很宽。

包括在通信、机械、航空航天、电子、军事、化工、矿产、生物、等领域,均有EDA技术的应用。

目前EDA技术已经得到各大公司、企事业单位等部门的广泛使用。

例如在飞机制造的过程中,从设计、性能测试以及特性分析,直到飞行的模拟,都可能涉及到EDA技术。

EDA技术在教学、科研、产品设计与制造等各个方面均发挥着巨大的作用。

从应用的领域来看,EDA已经渗透到各行各业。

另外,EDA软件的功能日益强大,原来功能比较单一的软件,现在增加了很多的新用途。

例如AutoCAD软件可用于机械设计及建筑设计,也扩展到了建筑装璜和各类效果图、飞机和汽车的模型、电影特技等领域。

1.2.2可编程逻辑器件

可编程的逻辑器件(简称PLD)是二十世纪七十年代发展的新型逻辑器件,可编程的逻辑器件是大规模集成电路技术的需素发展以及电子计算机辅助设计(CAD)、电子计算机辅助测试(CAT)、电子计算机辅助生产(CAM)相结合的产物,是现代数字电子系统朝着极低功耗、超高集成度、超小型封装以及专业化发展方向重要的基础。

可编程逻辑器件是一种由用户编程实现所需功能的半定制集成电路,近年来发展十分迅速,已在国内外的计算机硬件、工业控制、智能仪表、数字视听设备、家用电器等领域得到了广泛的应用。

可编程逻辑器件与EDA技术的结合,使得系统设计人员与芯片设计人员的相互渗透,从而快速、方便地构建数字系统。

学习ASIC技术,掌握可编程逻辑器件的设计方法,已成为现代电子系统设计人员必须具备的基本技能之一。

1.目前使用的PLD产品主要有:

1)FPLA现场可编程逻辑阵列(fieldprogrammablelogicarray)

2)PAL可编程阵列逻辑(programmablearraylogic)

3)GAL通用阵列逻辑(genericarraylogic)

4)EPLD可擦除的可编程逻辑器件(erasableprogrammablelogicdevice);5)FPGA现场可编程门阵列(fieldprogrammablegatearray)

其中FPGA和EPLD的集成度相对比较高。

有时把这两种器件又称为高密度PLD。

FPGA采用了逻辑单元阵列LCA(LogicCellArray)这样一个概念,内部包括可配置逻辑模块CLB(ConfigurableLogicBlock)、输出输入模块IOB(InputOutputBlock)和内部连线(Interconnect)三个部分。

现在主要用的FPGA依据查找表技术,早已大大超出先前的版本的基本性能,完成整合常用的功能(如DSP、时钟管理和RAM)的硬核模块。

如图1-1所示(注:

图1-1只是一个示意图,实际中每个系列的FPGA都具有其对应的内部结构),FPGA芯片主要由6部分来完成,它们分别时:

基本可编程逻辑单元、可编程输入输出单元、嵌入块式RAM、丰富的布线资源、完整的时钟管理、内嵌专用硬件和内嵌底层功能单元模块。

2.FPGA的基本特点:

1)FPGA采用高速CHMOS工艺,功耗低,可以与CMOS、TTL电平兼容。

2)FPGA可做其它全定制或半定制ASIC电路的中试样片。

3)采用FPGA设计ASIC电路,用户就不需要投片生产,就得到合用的芯片。

4)FPGA内部有丰富的触发器和I/O引脚。

5)FPGA是ASIC电路中设计周期最短、开发费用最低、风险最小器件之一。

可以说,FPGA芯片是小批量系统提高系统集成度、可靠性的最佳选择之一。

FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。

用户可以根据不同的配置模式,采用不同的编程方式。

加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。

掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。

FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器即可。

当需要修改FPGA功能时,只需换一片EPROM即可。

这样,同一片FPGA,不同的编程数据,可以产生不同的电路功能。

因此,FPGA的使用非常灵活。

1.2.3硬件描述语言Verilog及数字系统设计方法

HDL是HardwareDescriptionLanguage(硬件描述语言)的缩写,不是HardwareDesignLanguage(硬件设计语言)的缩写。

1983年由GatewayAutomation首创,并在1995年成为IEEE标准,即IEEEstandard1364。

Verilog是基于C语言的基础上发展起来的一种用于硬件描述的具有时间概念的并行编程语言,是一种以文本的形式来描述数字系统硬件的行为和结构的语言,可以用它来表示逻辑表达式、逻辑电路图,还可以表示数字逻辑系统所完成的逻辑功能。

1.Verilog语言的特点:

1)支持不同抽象层次精确的描述和混合模拟,例如RTL级、开关级、行为级等

2)设计、测试以及模拟所用的语法都是相同的

3)较高层次的描述与具体的工艺无关

4)提供了类似C语言的高级程序语句,如case,loop,if-else等

5)提供了逻辑、算术以及位操作等运算符

6)包含完整的如or、and、xor等组合逻辑元件,无需自行定义

7)支持元件门级延时和元件门级驱动的强度

VerilogHDL程序是由模块构成的。

每一个模块的内容都嵌入在module和endmodule的两个语句之间。

每个模块实现各自特定地功能。

而且模块之间可以进行层次的嵌套。

在进行一些大型的数字电路设计的时候,我们可将其进行分割,做成各种不同的小模块来实现它特定的功能,最后再通过顶层的模块来调用子模块来达到对整体功能的实现。

各个模块都要进行端口的定义,说明输入和输出的端口,然后再对模块的功能进行行为逻辑的描述。

Verilog语言适用对各种抽象级的模型进行开发和验证。

一.3数字滤波器实现方法的现状分析

数字滤波实现的方法多种多样,其中最常见的按类别划分是以冲激响应的宽度来分类的。

数字滤波器依据冲激响应的宽度划分为无限冲激响应(IIR)滤波器和有限冲激响应(FIR)滤波器。

无限脉冲响应(IIR)滤波器具有良好的幅频特性曲线,系统函数的极点可位于单位圆内任何地方,因此,零点和极点相结合,可以用较低的阶数获得高选择性,所用的存储单元少,计算量小,所以经济高效。

这个高效率的实现是以相位的非线性作为代价的。

与之相反,FIR滤波器可得到比较严格的线性相位,但是由于FIR滤波器系统的函数极点是被固定在原点,所以只能够采用比较高的阶数来达到高的选择性;对于相同的滤波器幅频特性指标来讲,FIR滤波器所要求的阶数就要比IIR滤波器高5到10倍,成本比较高,信号延时也相对较大;要是按照同样的选择性和同样的线性相位要求,那么IIR滤波器就一定要加全通网络进行相位的较正,也就要大大地增加滤波器的阶数和其复杂性。

在结构方面,IIR滤波器必须使用递归结构,几点位置一定要在单位圆之内,不然系统将会不稳定。

还有就是,因为在这样的结构里,运算时要进行对序列的舍入处理这一处理过程,有限字长效应会在有的时候引起寄生震荡。

相反,FIR滤波器只要采用的是非递归结构,不论是在理论上还是在实际有限精度的运算中均不存在稳定性的问题,有运算误差引起的输出信号和噪声功率也比较小。

此外,FIR滤波器可以采用FFT算法实现,在相同阶数的条件下,运算速度可以大大提高。

从设计工具看,IIR滤波器可以借助成熟的模拟滤波器设计成果,因此一般都有封闭形式的设计公式准确计算,计算工作量比较小,对计算工具的要求不高。

FIR滤波器计算通带和阻带衰减等仍无显式表达式,其边界频率也不易精确控制。

一般情况下,对FIR滤波器进行设计的时候只有计算程序可循,因此对计算的工具要求会较高。

但在计算机普及的今天,很容易实现其设计计算。

另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有片段常数特性的选频型滤波器,比如低通、带通、高通以及阻带,通常脱不开这几种典型的模拟滤波器的频响特性约束。

但是FIR滤波器更加灵活,更能适应一些特殊应用,如构成积分器或微分器,或者用于切比雪夫,巴特沃斯等靠近但永远不可能达到预定目标的情形。

比如,因为一些原因要求三角形的幅频响应或者更为复杂的幅频响应的形状,因此FIR滤波器更能适应许多场合。

1.现在FIR滤波器的实现方法大概有以下几种:

(1)采用单片通用数字滤波器的集成电路121单片的通用数字的滤波器,例如TDC1028,还有仙童公司TMC2246,使用更加简单,但是因为字长以及阶数规格很少,不能够完美的满足实际的需要。

即使我们能够选用多片的扩展来达到满足,这样就增加功耗以及体积,所以在实际设计过程中就会受到一些限制。

好的一些数字通用滤波器,比如HARRIS的HSP43168,含有两个独立8阶的计算的单元,而且含有16位的延时因子,都能满足16-256阶的计算的精度需求,来实现多相位的功能;并且自带存储的单元,可以储存32组的系数;而且有计算机的接口,可以由电子计算机控制以及运算,但工作频率比较低,最大的数据速率是45MSPS,需要电子计算机的外部控制,时序很复杂,使用的人要仔细的研究操作手则。

基于使用者不同的设计的要求,那么这些有限的通用滤波器将很难满足这些设计者的个性化的要求,基于实现器件的通用性的目的,这类滤波器的电路工作当中的有效采样率也不是特别的高,已然不能实现高采样率环境的具体需求。

(2)使用DSP的器件来设计的FIR滤波器的应用也最广泛,TMS32CXX系列。

设计的时后有专用的函数可调用还有依据FIR滤波器的数据的移位相乘累加算法编写软件程序,利用软件及硬件互相结合来完成滤波器的开发设计。

软件运行,这些指令是串行执行的,得到满足的幅频的特性,当滤波器的字长数增加或者抽头增加的时侯,会大大增长计算的时间,这样就降低最大有效的数据的采样率,又因为DSP的芯片本身的时钟速度是有限的,这种方式常常应用于音频信号的处理,不适用数据采样率提高的情况。

DSP器件的性能不断的提高,在一定的场合会收到限制。

(3)可编程逻辑器件的速度和容量伴随着可编程逻辑器件FPGA的使用而正在不断的增加,使单片系统的集成SOC的实现已成为可能。

通过FPGA实现FIR带通数字滤波器,由于我们要实现的是硬件并行这一算法,因而在某些实时性的要求比较高的场合能够得到更好的应用。

FPGA器件的芯片适用频率比较高,密度相对较大,已成为目前大规模的数字逻辑设计的发展方向,是专业数字滤波器设计者的非常理想的一种载体。

FPGA拥有着相当丰富的连线资源以及整齐的内部逻辑块阵列,非常的适用于高并行度和细粒度这一结构特点的数字信号的处理工作,例如,FFT以及FIR滤波等等,对于以串行的运算为主导的通用DSP芯片来说可扩展性以及并行性都会更加的优异,相关记录在众文献中都可找到。

不过在长期的发展过程中,FPGA的运用一直被用在时序控制和系统逻辑上,信号处理方面的应用相对较少,FPGA内部功能电路的固有时延是其中的主要原因,在电路复杂的程度不断增加的时候,仍然没有办法摆脱通过简单的算法翻译式设计的方法所带来的时钟瓶颈这样的约束。

因而在FPGA中无法高效的实现信号处理中应用最广的乘法器。

所以,为了充分的开发和利用FPGA以及实现高速算法的要求,选择一种好的设计方法,充分地利用FPGA的高速度、大规模以及可编程的这些突出优点,让FPGA在它的最高时钟频率上飞跑成为关键。

根据以上给出的原因,本文设计以Verilog为描述方法,基于FPGA来实现FIR滤波器的设计。

一.4本文的研究内容

为了确定使用的方法在设计FIR滤波器上是有效并且是高效的,因此在本文中对比了两种不同的FIR滤波器的设计方法,通过对比得知,采用FPGA的FIR滤波器无论在速度上和所占用的资源上均优于普通的设计方式,因此可以确定采用FPGA来设计FIR滤波器占有优势。

在开始进行撰写论文之前阅读了大量的有关DSP和EDA的材料,了解并学习了很多的硬件和软件的相关知识。

学习并研究了Verilog实例的使用。

在不断的思考、讨论、理解和对比了几种实现FIR型带通数字滤波器的方法之后,最终决定运用分布式的算法作为基本算法来实现本论文的设计方法,用Verilog作为FIR滤波器描述的方法,采用自顶向下的模块化、层次化的设计,进行Verilog程序的编写,如果有条件的话可在FPGA芯片上进行调试以及仿真,并且给出仿真的结果。

1.本课题的研究的主要内容为:

1)对FIR数字滤波器的结构以及设计方法进行深入的了解,运用MATLAB软件对FIR带通滤波器进行设计,以便对设计的仿真结果进行比较。

2)理解使用硬件描述语言设计数字系统的方法。

掌握自顶向下层次化、模块化的设计方法。

3)理解Booth这一算法,以及以它为基础的实现FIR滤波器硬件结构。

最后利用FPGA器件实现FIR数字滤波器的硬件电路。

 

第二章数字滤波器原理及设计方法

在数字信号处理的领域中,对于信号处理的实时性以及快速性的要求在不断的提高。

而在处理许多信息的过程中,比如对信号进行的预测、检测以及过滤等等,滤波器经常的要被使用到。

数字滤波器具有众多突出的优点,比如设计精度高、稳定性强、实现方便、设计非常灵活等等,完成了模拟滤波器所不能克服的温度漂移、噪声以及电压漂移等很多的问题,因此,伴随着数字技术的不断发展,采用数字技术来实现一些特定功能的滤波器越来越多的得到大家的注意以及广泛的使用。

其中,有限冲激响应(FIR)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性,在语音、数据传输中应用非常广泛。

数字滤波器DigitalFilter,指的是用来将输入的信号执行滤波的软件和硬件。

数字滤波器,指的是它的输入和输出都是数字信号,然后经过给定关系的运算,从而改变输入信号中所含有的频率成分的一种器件。

模拟和数字滤波器相比较,由于信号的形式以及对滤波的实现所采取的方法不一样,数字滤波器相对模拟滤波器而言,它拥有灵活、重量轻、体积小、稳定、精度高以及不需要求阻抗匹配等优点。

数字滤波器的实现通常采用两种方法:

一种方法是使用通用的计算机,把滤波器需要进行的运算过程编写为可以用计算机来执行的程序,即通过计算机软件来实现设计;二是使用数字处理的硬件来实现。

由它的单位冲激响应函数时域特性我们可以将滤波器分成两种:

即IIR无限冲激响应滤波器、FIR有限冲激响应滤波器。

和IIR滤波器进行比较,FIR滤波器的实现过程是非递归的,而且是很稳定的;其中更为重要的是,FIR在达到幅频特性响应要求的同时,还能够获得非常严格的线性相位这一特性。

在数字信号处理系统中,FIR滤波器更加被广泛的使用,因此本章主要研究FIR滤波器的实现技术,其中的很多优化技术同样可以应用于IIR滤波器的实现中。

第三章基于FPGA设计FIR型带通滤波器

在前面的几章讨论了基于FPGA数字滤波器设计的相关原理和其相关基础知识。

本章将针对以上所提到的原理以及方法进行进一步的组合应用。

三.1指标的确定

在滤波器的设计中,所确定的指标如下:

(1)带宽100MHZ,最小阻带衰减-35db;

(2)进行综合仿真;

(3)设计FIR型带通滤波器,满足上述性能指标;

三.2设计的思路

将输入信号的每一位通过四个延时器后,以每位信号的4个引出点作为选择控制端,选择出己经算好的系数,每一位信号选取存储器中的不同位上的数值,达到乘法移位的功能,并送到累加器。

累加器将8位信号选择出的8个数据累加后输出,得到滤波结果。

为了FPGA中四输入查找表的电路结构的充分利用,我们采用每8节为滤波器的一个基本单元,对于64节滤波器的设计,采用8个基本滤波单元。

3.2.1FIR基本算法

(1)对加法器的设计

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1