数字滤波器的设计.doc

上传人:laozhun 文档编号:4139949 上传时间:2023-04-07 格式:DOC 页数:35 大小:1.37MB
返回 下载 相关 举报
数字滤波器的设计.doc_第1页
第1页 / 共35页
数字滤波器的设计.doc_第2页
第2页 / 共35页
数字滤波器的设计.doc_第3页
第3页 / 共35页
数字滤波器的设计.doc_第4页
第4页 / 共35页
数字滤波器的设计.doc_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《数字滤波器的设计.doc》由会员分享,可在线阅读,更多相关《数字滤波器的设计.doc(35页珍藏版)》请在三一办公上搜索。

1、 摘要伴随技术的快速进步,电子领域的变化也是日新月异,而数字滤波器因为其优良性能而应用广泛,数字滤波器是数字信号处理的一个分支。在现实应用中,灵活与实时这两个特性是信号处理的基本要求,但是目前来说一般很难满足这两个指标。当FPGA和电子设计自动化技术进步越来越快,很多电子设计师开始选择用FPGA来完成数字滤波器的设计,因为FPGA不仅可以兼顾系统的灵活性而且实时性也可以保障。但是要改变滤波器的类型即修改其参数时,需要设计者通过再次变成来进行改变,这样一来设计资源产生极大浪费。面对这种现象,采用以多种算法为基础,在FPGA下进行操作,并且得到程序代码,在此基础上需要开发出相应的软件系统,这样系统

2、资源浪费现象可以受到抑制,从而使设计的周期极大的缩短。数字滤波器的方法是滤波器设计的关键。由于有限滤波器的线性相位性和时延的不变性,所以数字滤波器在实际应用的地位很重要。关键词:FIR数字滤波器;FPGA;EDA技术 AbstractWith the development of electronic technology, digital filters with its good characteristics is widely used in various fields. It belongs to the digital signal processing is one of th

3、e basic modules. In engineering practice, signal processing of flexibility and real time requirement high, and some existing software and hardware design way is difficult to achieve at the same time the two requirements. With programmable logic devices and EDA technology development, the use of FPGA

4、 to realize digital filters, can also give consideration to the real time and the flexibility of the system, more and more of the electronic engineer the FPGA device to realize the filter. However, when the filter filter parameters change, or need hardware engineer to write the code, which caused a

5、lot of design waste of resources. According to this problem, this paper studies the FPGA platform based on all kinds of the design of the digital filter algorithm, based on the algorithm of research that a with all sorts of algorithm to realize the filter code library, and based on this code library

6、 development that can automatically generate hardware of software code filter system, thus eliminating the design parameters for the design of change and lead to waste, greatly reducing the filter design cycle. Digital signal processing of the discipline of a great progress on digital filter is the

7、study of the method of design. And FIR digital filters can be realized linear phase, the group delay not on frequency change, so in digital signal processing occupied a very important position.Keywords: FIR digital filters ; FPGA;EDA technoligy 目录第一章 引言 1 第二章 滤波器简介22.1滤波器的原理22.2滤波器的分类22.2.1滤波器的基本分类2

8、2.2.2根据“最佳逼近特性”标准分类32.3理想滤波器32.4实际滤波器4第三章FPGA相关器件和发展状况53.1 FPGA简介53.2 FPGA工作原理63.3 CPLD与FPGA的关系63.4 FPGA的电源73.4.1 FPGA使用的电源类型73.4,2 FPGA的特殊电源要求73.4.3 FPGA配电结构83.5 FPGA芯片结构83.6 FPGA基本特点10第四章 系统硬件设计及外围硬件配置电路154.1 FIR滤波器硬件结构框架154.2 AD转换电路 154.3 DA转换电路174.4 FIR数字滤波电路 174.5 滤波效果测试 19第五章各模块的软件编程及仿真结果195.1

9、数字滤波器的模块组成195.2各模块中的单元 205.3部分模块的编程和仿真 21结论30参考文献31致谢.32第一章 引 言数字信号处理和数字滤波器,广义来说,数字信号处理是一种以数字技术为基础的,对各种信号进行分析处理的技术。由于在不同领域的它的作用不同,离散变换快速算法、数字滤波、谱分析方法现在是其主要应用。 数字电路、系统技术、pc机技术的发展愈来愈快,数字信号处理技术也发展迅速,它的应用也越来越受到重视。不同信号处理方法也不同,有通信信号,雷达信号,遥感信号,控制信号,生物医学信号,地球物理信号,振动信号的处理等。针对不同信号的特点,可把信号分为语音信号处理,图像信号处理,一维信号处

10、理和多维信号处理等。数字信号处理的目的是测量模拟信号和处理后对它的应用比如滤波。在处理信号的时候我们通常是把信号先转换成数字信号,然后再进行处理,一般用模数转换器来实现。处理完后的信号最终还要进一步转换成模拟量输出,通常用数模转换器实现。 数字信号处理的设备基础依赖于pc机或专用处理设备如数字信号处理器(DSP)和专用集成电路(ASIC)等。数字信号处理技术及设备具有灵活、准确、不易被干扰、设备尺寸小、价格便宜、运行快等优点,在这些方面数字处理要明显优于模拟处理。 数字信号主要的方法是离散傅立叶变换(DFT),DFT的应用便于pc机处理离散信号,因为DFT可以离散化数字域与频域,如此一来算法F

11、FT就变得更加实用,FFT的出现减少了DFT的运算量,完全实现了实时的数字信号处理。数字滤波器就是基于数字信号处理原理的一种应用,是数字信号分析中最重要的组成部分之一,与模拟滤波相比,他有精度和稳定性高,系统函数容易改变,灵活性强,便于大规模集成和实现多维滤波等功能。在信号的滤波、检测和参数的估计等方面,经典数字滤波器是使用最广泛的一种线性系统。本文研究利用FPGA的数字滤波器设计,是现在数字滤波器发展趋势,也是用户设计数字滤波器的理想载体。第二章 滤波器简介2.1 滤波器的原理滤波器是一种选频装置,特定的频率成分可以通过,从而极大地衰减其它频率成分。利用滤波器这种选频的作用,可以滤除干扰噪声

12、或进行频谱分析。总的来讲,不论哪种信息传输的信道都能当做一种滤波器。任何检测的信号都含有噪声,而滤波是去除噪声的基本方法之一。构成测试系统的任何一个环节,诸如,机械制造系统、电气工程网络、仪器仪表甚至连接导线这些领域,一定频率范围内,频域特性不同,信号变换与处理的方法也不同。滤波器在实际信号处理中发挥了不可小看的作用。任何装置的响应特性都是激励频率的函数,完全可用频域函数描述传输特性。 简单介绍下FIR滤波器。FIR滤波器是直接采用的数字式设计方法。针对FIR滤波器特征,首先介绍了其线性相位的实现条件,然后介绍了窗函数法和频率抽样法的设计方法。FIR数字滤波器分两个步骤:第一步,由给定频响容差

13、确定逼近函数。第二部:由系统函数表达式决定系统结构。这里要用到窗函数设计,即使设计的滤波器频率特性与要求的频率特性在频域均方误差在最小的情况下开始逼近。这里我们希望过渡带足够小,也就是如果通带外的频率成分衰减得越快、越多越好。所以,在设计fir滤波器时,通过各种方法来逼近理想滤波器。IIR滤波器的设计包括:巴特沃思、切比雪夫模拟低通滤波器设计;脉冲响应不变法和双线性变换法的数字化变换方法;数字高通、带通和带阻滤波器的设计。2.2 滤波器的分类2.2.1滤波器的基本分类低通滤波器频率从0f2, 只要是这部分的信号可以几乎无衰减的通过,在这范围之外的要受到极大的衰减。高通滤波器与低通滤波相反,从f

14、1的频率,在这范围内的信号可以无衰减的通过,而之外的频率会很大程度的被削减。 带通滤波器频率在f1f2之间,这其中的频率可以无损的通过,而在这范围外的频率要受到很大削减。带阻滤波器频率在f1f2之间,信号受到很大的衰减,在这范围外的频率可以顺利通过。滤波器几乎都可以由低通和高通组成,所以低通滤波器和高通滤波器两种最基本的形式。2.2.2根据“最佳逼近特性”标准分类巴特沃斯滤波器巴特沃斯滤波器的幅频响应表达式如2-1: (2-1) 贝塞尔滤波器贝塞尔滤波器的特性是延时不会出现太大的波动。并且。该滤波器的频率会随相移发生对应变化,且这种变化成正比。它的缺点是幅频效果不好,从而使用受到很大的影响。切

15、比雪夫滤波器在功能方面上,切贝雪夫滤波器也从幅频逼近,表达式为2-2: (2-2 )是决定通带波纹大小的系数,文波由电抗原件产生;Tn是第一类切贝雪夫多项式。2.3 理想滤波器使通带内信号的幅值和相位都不失真的滤波器是理想滤波器,阻带内的频率成分都衰减为零的滤波器,其阻带和通带之间有明显的分界线。换句话说,理想滤波器在通带外的幅频特性应为零;在通带内,幅频特性为常数,相频特性的斜率为常值。理想低通滤波器的频率响应函数,表达式为2-3: (2-3)2.4 实际滤波器基本参数理想带通(虚线)和实际带通(实线)滤波器的幅频特性。理想滤波器的特性只需用截止频率描述,而实际滤波器的特性曲线无明显的转折点

16、,两截止频率之间的幅频特性也非常相似,故需用更多参数来描述。理想滤波器是不存在的,通带和阻带在实际滤波器的幅频特性之间应没有严格的界限。在通带和阻带之间存在一个过渡带。纹波幅度d滤波器的幅频特性在不同频率范围会产生不同的波动,波动幅度d(越小越好,一般应远小于-3dB)和幅频特性均值A0相比即纹波幅度。滤波器因数(或矩形系数)滤波因数是利用滤波器幅频特性的 -60dB带宽与-3dB带宽的比值来衡量滤波器选择性,记作 理想滤波器的 =1,常用滤波器得 =15,明显, 越接近于1,滤波器选择性越好。倍频程选择性W在截止频率范围外,实际滤波器有一个过渡带,通过它的倾斜程度表示幅度变化大小,它决定着滤

17、波器对带宽外频率成分衰阻的能力。所谓倍频程选择性,是指在上截止频率fc2与 2fc2之间,也可以是下截止频率范围在fc1-fc1/2内的幅频特性衰减值,也就是衰减量在一个频率变化倍频程内 (2-4)或 (2-5)倍频程衰减量以dB/oct表示(octave,倍频程)。显然,衰减越快(W值愈大),滤波器的选择性愈好。对于远离截止频率的衰减率, 十倍频程衰减数也可以表示,即-dB10oct.带宽B和品质因数Q值在两范围间的频率定义滤波器带宽,单位赫兹(Hz)。带宽的大小是滤波器性能的一个指标。在2阶振荡这一部分中,q值就是系统的增益系数, q=1/2(:阻尼率)。对于带通滤波器来说,品质因数Q就是

18、中心频率f0()和带宽 B之比。举一个例子,一个中心频率为500Hz,若带宽为10Hz,则Q值为50。一般的情况,q值大说明分辨率好。截止频率fc幅频特性值是0.707A0对应的频率称为滤波器的截止频率。以A0为参考值,0.707A0对应于-3dB点,即相对于A0衰减3dB。如果以信号的幅值平方表示信号功率,那么所对应的点恰恰是半功率点。第三章 FPGA相关器件和发展状况3.1 FPGA简介 FPGA(FieldProgrammable Gate Array),也称现场可编程门阵列,它是在gAL、cAL、CPLD等可编程器件的基础上发展的产物。它是作为专用集成电路(ASIC)的一种电路,解决了

19、可编电路门电路和定制电路不足的问题。操作员可以通过可编辑的连接把FPGA内部的逻辑块连接起来,就像把一个电路试验板放在了一个固定的芯片中里。一个出厂后的成品FPGA的逻辑块和连接可以完全按照设计者的需要而改变,所以FPGA能完成所需要的逻辑功能。 FPGA一般来说比ASIC(专用的集成芯片)的速度慢,因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的FPGA上完成的,然后将设计转移到一个类似于ASIC的芯片上,另外一种方法是用CPLD(复杂可编程逻辑器件)。FPGA的缺陷:不能进行复杂的设计,耗能大。但是他们也有很多的优点,比如制造比较快,可以被修改来改正程序中的错误,造价便宜。目

20、前以硬件描述语言(Verilog 或 VHDL)所完成的电路设计,要经过整体布局设计,进行测试时,先要在FPGA上快速烧录。AND、OR、XOR、NOT等逻辑门电路完全能通过可编辑元件实现,而一些的更复杂组合功能比如解码器、数学方程式也可以被实现,而FPGA几乎都包含在内,大多可编辑的元件里也含有记忆元件像触发器(Flipflop)等其它更完整的记忆块。3.2 FPGA工作原理FPGA采取了逻辑单元阵列LCA(Logic Cell Array)的概念,其中包含Configurable Logic Block(CLB可配置逻辑模块)、(Interconnect内部连线)和Input Output

21、 Block(IOB输出输入模块)三大个模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。现场可编程门阵列(FPGA)具有可编程性,与PAL,GAL及CPLD等传统逻辑电路和门阵列比较结构不同,利用小型查找表(161RAM)来实现组合逻辑,所有查找表都需与一个D触发器的输入端连接,然后利用触发器驱动其他驱动I/O和逻辑电路,这样构成的模块可实现组合逻辑功能的同时,又可实现时序逻辑功能,采用金属线连接也可以通过接到I/O模块让各模块

22、实现连通。3.3 CPLD与FPGA的关系早在八十年代中期,FPGA已经在PLD设备中扎根。CPLD和FPGA包括了一些相对大数量的可编辑逻辑单元。FPGA通常是在几万到几百万而CPLD逻辑门的密度在几千到几万个逻辑单元之间。 CPLD和FPGA的系统结构是他们的主要区别,FPGA是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。而CPLD缺乏编辑灵活性,因为它的结构性是有点限制性,原因是此结构由一个或多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器组成,这样设计的好处是预计的延迟时间和逻辑单元对连接单元的高比率。CPLD和FPGA的另外一个区别是一些FPGA可

23、以让设备的一部分重新编辑而其他部分继续正常运行。大多数的FPGA含有高层次的内置模块和内置的记忆体。因此一个有关的重要区别是很多新的FPGA支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。3.4 FPGA的电源3.4.1 FPGA使用的电源类型FPGA电源要求输出电压范围从1.2V到5V,输出电流范围从数十毫安到数安培。可用三种电源:开关式DC-DC稳压器、低压差(LDO)线性稳压器、开关式电源模块。最终选择何种电源取决于系统、系统预算和上市时间要求。 若电路板空间是首要考虑因素,低输出噪声十分重要,或系统要求对输入电压变化和负载瞬变做出快速响应,那么应使

24、用LDO稳压器。LDO功效比较低(因为是线性稳压器),只能提供中低输出电流。输入电容通常可以降低LDO输入端的电感和噪声。LDO输出端也需要电容,用来处理系统瞬变,并保持系统稳定性。也可以使用双输出LDO,同时为VCCINT和VCCO供电。 若在设计中效率至关重要,且系统要求高输出电流,则开关式稳压器占优势。开关电源的功效比高于LDO,但其开关电路会增加输出噪声。与LDO不同的是,开关式稳压器需利用电感来实现DC-DC转换。 3.4.2 FPGA的特殊电源要求许多FPGA没有时序控制要求,所以VCCINT、VCCO和VCCAUX可以同时上电。若这一点无法实现,上电电流可以稍高。但时序要依具体F

25、PGA而异。对于一些FPGA,必须同时给VCCINT和VCCO供电。对于另一些FPGA,这些电源可按任何顺序接通。多数情况下,先给VCCINT后给VCCO供电是一种较好的做法。为确保正确上电,内核电压VCCINT的缓升时间必须在制造商规定的范围内。对于一些FPGA,由于VCCINT会在晶体管阈值导通前停留更多时间,因此过长的缓升时间可能会导致启动电流持续较长时间。若电源向FPGA提供大电流,那么较长的上电缓升时间会引起热应力。ADI公司的DC-DC稳压器提供可调软启动,缓升时间可以通过外部电容进行控制。缓升时间典型值在20ms至100ms范围内。 当VCCINT在0.6V至0.8V范围内时,某

26、些FPGA系列会产生上电涌入电流。在此期间,电源转换器持续供电。这种应用中,因为器件需通过降低输出电压来限制电流,所以不推荐使用返送电流限制。但在限流电源解决方案中,一旦限流电源所供电的电路电流超过设定的额定电流,电源就会将该电流限制在额定值以下。 3.4.3 FPGA配电结构在传统电源结构中,AC/DC或DC/DC转换器位于一个地方,并提供多个输出电压,在整个系统内分配。这种设计称为集中式电源结构 (CPA)。以高电流分配低电压时,铜线或PCB轨道会产生严重的电阻损耗,CPA就会发生问题。对于高速、高密度FPGA器件,保持良好的信号完整性对于实现可靠、可重复的设计十分关键。适当的电源旁路和去

27、耦可以改善整体信号完整性。若去耦不充分,逻辑转换将会影响电源和地电压,导致器件工作不正常。而且,采用分布式电源结构也是一种主要解决方案,给FPGA供电时可以将电源电压偏移降至最低。 CPA的替代方案是分布式电源结构(DPA)。采用DPA时,整个系统内仅分配1个半稳压的Dc电压器,每个DC/AC转换器与各负载匹配。DPA中,Dc/AC转换器与负载间的距离近得多,这样线路电阻和配线电感会使压降降低,像这种给负载提供本地电源的方法将其定义为负载点(POL)。 3.5 FPGA芯片结构当前主要的FPGA技术主要还是在查找表方面领先于旧版本,通过整合RAM、时钟管理和DSP的硬核(ASIC型)模块使其功

28、能更加强大。FPGA的芯片主要由7部分完成,分别为:内嵌专用硬件模块、可编程I/O单元、时钟管理、布线资源、可编程逻辑单元、RAM(嵌入块式)、内嵌底层单元。 每个模块的功能如下: 1 数字时钟管理模块(DCM) FPGA几乎都提供数字时钟管理。Xilinx提供数字时钟管理和相位环路锁定是很先进的。相位环路锁定可以精确的时钟综合,可以很好地控制抖动问题,在滤波效果上也表现不错。2 可配置逻辑块(CLB) CLB是FPGA内内的一个常用模块,是实现功能的逻辑单元之一,CLB的个数和功能会随器件的选择而出现差异,但是开关矩阵是CLB所必需的,此矩阵由6或4个输入模块、部分选型电路组成。开关矩阵比较

29、方便,能配置和处理装配逻辑、移位寄存器或随机存储器。CLB的结构:由(一般为2个或4个)一样的Slice和附加逻辑组成。CLB模块能做到组合逻辑、时序逻辑,除此之外配置随机存储器和分布式只读存储器。 3 可编程输入输出单元(IOB) 可编程输入/输出单元简称I/O单元,是芯片与外界电路的接口部分,实现各种条件下对I/O信号处理。FPGA内的I/O按组分类,每组都完全能够独立地支持不同的I/O标准。信号可以经过IOB模块中的存储单元,存贮到FPGA的里面,或直接输入FPGA 里面。且信号通过IOB模块中存储单元进FPGA里面时,可以降低其保持时间(Hold Time)的要求,通常默认为0。 4

30、嵌入式块RAM(BRAM) 大多FPGA都具有内嵌块(RAM),这样使FPGA的应用范围更广、灵活性更强。根据功能不同,块RAM 分单口RAM、双口RAM、内容地址存储器 (CAM)以及FIFO等。存储器CAM在每个存储单元中都有一个比较逻辑,这样所有的数据写入CAM后会与原有数据进行比较,然后将所有相同地址退回,此功能在路由的应用中发挥重要的作用。除了块RAM,还可以将 FPGA中的LUT灵活地配置成RAM、ROM和FIFO等结构。在具体选择FPGA芯片时,RAM的数量是我们参考的一个重要依据。 5 丰富的布线资源 通过布线联通FPGA内所需模块,布线要考虑到线的长短与技术,这些因素会影响到

31、传输速度和驱动好坏。FPGA芯片内部的布线资源可划分为4类:第一类:有芯片内部全局时钟和全局复位/置作用的全局布线资源;第二类:完成基本逻辑单元间的逻辑相连和短线资源;第三类:专用时钟、复位器控制的分布式布线的资源;第四类:实现芯片 BANK间的高速信号。 具体设计的时候,不用选择布线资源,因为布局布线器在联通各模块单元是通过输入逻辑网表的拓扑结构,并限制条件来选布线资源。6 底层内嵌功能单元 内嵌功能模块就是指PLL(Phase Locked Loop)、DLL(Delay Locked Loop)、DSP和CPU等软处理核(SoftCore)。目前越来越丰富的内嵌功能单元,使得单片FPGA

32、成为了系统级的设计工具,这样拥有软硬件综合设计的特性,并开始面向SOC过渡。 3.6 FPGA基本特点1)采用FPGA设计ASIC电路,用户不必投片生产,就能得到合用的芯片。 2)FPGA可做其它半定制、全定制ASIC电路的的样板。 3)FPGA内部有很多的触发器和输入输出引脚。 4)FPGA设计周期短、风险小、设计成本便宜。 5) FPGA用高速CMOS工艺,耗能少,可以与CMOS、TTL电平兼容。 FPGA芯片是小批量系统提高系统可靠性、集成度的最佳选择之一。 FPGA是由存放在片内RAM中的程序来设置其工作状态的,因此,工作时需要对片内的RAM进行编程。用户可以根据需要,不同的配置模式,

33、采用不同的编程方式。 加电时,FPGA芯片将EPROM中数据读入片内编程RAM中,配置完成后,FPGA进入工作状态。掉电后,FPGA恢复成白片,内部逻辑关系消失,因此,FPGA能够反复使用。FPGA的编程无须专用的FPGA编程器,只须用通用的EPROM、PROM编程器就行。当需要修改FPGA功能时,换一片EPROM即可。同样的一片FPGA,不同的编程数据,可以产生完全不同的电路功能。因此,FPGA的使用非常灵活。第四章 系统硬件设计及外围硬件配置电路4.1 FIR滤波器硬件结构框架 FIR的主要程序编完之后,需要把程序下载到所需要的器件中,这样配置的电路器件就能够完成滤波功能。利用测试仪器验证

34、设计的FIR滤波器的实际滤波效果,以下是滤波过程的整体框图,如图5-1所示。交流信号发生器A/D转换电路FIR数字滤波器D/A转换电路双踪示波器图5-1 硬件连接图此流程包含交流信号发生器、实验电路和示波器,主要由AD转换电路、FIR数字滤波电路和DA转换电路组成。42 AD转换电路 如下图4-2,此转换电路是 MAXIM公司的MAXl83,12位逐次逼近式,转换时间为3s。MAXl83设置为双极性工作模式,模拟信号的输入范围是5 V。图4-2 A/D转换电路该电路的基本流程:1).由交流信号发生器产生信号,经过运算放大器OP07构成的反向比例放大电路,然后将放大后的信号传送到A/D转换电路的

35、输入端AINl。2).我们确定好时序,将转化好的数字信号xin110输出。在转换器maxl83模拟量输入端连上rc滤波器,起到抗混叠的作用,这里采用的滤波器是低通的。43 DA转换电路数模转换电路作用:将数字输入信号转换为模拟信号,图4-3: 图4-3 D/A转换电路这里我们使用的是maxim生产的mx7245,该电路输出模拟量是电压量,并具有12位的数据输入端。在该电路中,MX7245被配置成双极性工作模式,模拟电压信号的输出范围5 V。我们输入确定的时序,数模转换器把接收端收到的数字量yout110转成模拟信号输出。在输出端连接一个由电阻和电容构成的一个低通滤波器,这样可以使输出的波形显得

36、平滑没有太大波动。44 FIR数字滤波电路 下面是FIR滤波电路图4-4。Fir滤波器中含有所需的FPGA(本设计采用的器件为AIXERA公司生产的FLEXlOK系列EPF10K20RC2403,此器件密度大可完成我们得要求),振荡器、若干的控制开关、十针的插座、不同大小的电阻。图4-4 FIR数字滤波器完成对fir滤波器的选择和分配后,可编程控制器中还有多余的资源,用EPFl0K20RC2404型FPGA控制模数转换器和数模转换器的功能。因此RD、ADCS、WR、LDAC、DACS这些引脚就是用于控制AD转换器电路和DA转换器电路的输出引脚。其中,引脚RD、ADCS分别与AD转换器的引脚RD

37、、CS相连,而引脚WR、LDAC、DACS分别与DA转换电路的引脚WR、LDAC、CS相连。4.5 滤波效果测试 把编号的程序依次下载到所需要的器件中准备测试,按要求连接好各硬件设备,通过示波器中信号波形滤波前后的幅值大小,得出滤波效果是否满足要求。在硬件的连接中,可以采用在最后部分连接上示波器的方式直接观测设计是否成功。具体操作是:将信号发生器产生的信号先直接输入示波器中,记录这一组波形,然后再次连接硬件设备,即信号发生器将产生的信号通过A/D转换器,经由滤波器,再通过D/A转换器,最后产生的信号输入示波器中。观察前后两次的波形变化。分析结果得出,本 FIR滤波电路实现了低通滤波器5 MHz

38、的采样频率,15 MHz的截止频率,以及16阶的技术指标参数。下面给出原始波形和滤波后的波形4-5。图4-5 波形前后对比第五章 各模块的软件编程及仿真结果5.1数字滤波器的模块组成数字滤波器主要由输入模块,乘累加模块,锁存模块,控制模块这四大部分组成。这四大部分的功能如下:控制模块:这部分功能主要是针对其他三个模块的控制,使其依次顺利完成各自功能,最后滤波成功。控制器单元和计数器单元是其主要组成部分。如图5-1图5-1锁存模块:这部分的主要作用是将乘累加模块的结果锁存后输出。在这部分要添加一个查表块,以方便人为修改查表单元。如图5-2图5-2乘累加模块:这部分的作用是让数据相乘和累加。由编码

39、单元、查找表单元、可控加减表单元和移位累加单元组成。如图5-3图5-3输入模块: 这部分的作用是完成对输入数据的处理,为后续电路做准备。由预相加、并/串转换、移位寄存单元组成。如图5-4图5-4数字滤波器各模块的具体组成框图5-5FIR滤波器顶层模块控制模块输入模块乘法器加法器锁存输出模块移位寄存预相加并串转换时序控制图5-5FPGA各模块的连接5.2各模块中的单元计数器 : 从计数器开始计数起,经过9个时钟周期后输出一个脉冲Z给控制器,可以使控制器继续向下运行。这里用74ls163计数器,该计数器包含的D触发器功能:计数8位以后延迟一个周期然后输出z,另外一个作用针对计数器门的翻转产生的毛刺

40、,触发器可以除去这个毛刺。控制器:主要让控制电路运行。并/串转换:因为总的电路以位串行方式工作,而输入数据是并行的,所以要将并行输入的数据转换成串行数据,用来作为下一级模块的输入。本设计中用到的并/串转换器是主要部分,另外,要预相加输入信号,所以涉及到溢出问题,用符号为扩展方法解决。在一位符号位扩展后,8位变9位并行数,再开始转换。移位寄存单元:将接收到的采样值经过移位寄存操作,而产生同步延迟。并/串转换器输出的位串行数一方面给下个处理模块,另一方面在延迟后变为新输入下个处理模块的数据。预相加单元:利用滤波器系数的对称性,把滤波器系数相同的相乘,预先相加这两个值,以减少硬件规模。本设计是16阶

41、滤波器,前后的阶数系数分别对称,这样乘法运算量减半。 它由串行加法器来构成,一个全加器与D触发器组成串行加法器。加法器2个输入是补码形式且为时钟同步,这里的加法器进位端由D触发器经一时钟周期延迟后返回输入端,作为下组的进位位。A7.0为串行数据输入,它与移位寄存器单元的输出Bout0.7分别相连,D7.0也为串行数据输入,它与移位寄存器单元的输出Bout15.8分别相连;CLK为同步时钟信号;clear为同步清零信号;x7.0为输出数据,作为查找表的地址线,X7为Dout0与Dout15相加的结果,x6为Bout1与Bout14相加的结果,后面的与之类似。编码单元:将原来的4位地址线的第一位与

42、后3位相异或得出新的地址总线,而且这两个LUT的编码方法相同。这样可以减少地址线的位数,以减少查找表的规模。B7.0为地址线数据输入;address12.0和address22.0为地址线输出,作为查找表的地址输入。具体实现过程是将X7分别与X6、X5、X4相异或后输出address12.0,X3分别与X2、X1、X0相异或后输出address22.0。查表单元:可以节省一定的硬件资源,避免大容量的Rom的使用。具体方法是,将八位地址总线的查表单元用分割技术分成2个四位地址总线的查表,再用OBC编码,把2个查表单元组合成三位。TABLE_IN2.0位地址线输入,TABLE_OUT为查找表输出,

43、为了防止中间的结果溢出,将原来的8位输出经过以为符号扩展后变成9位输出。可控加减器单元:将两个LUT输出信号累加,得出结果送到下一级以为累加模块。而两个查表单元输出内容加后结果就和用一个查表单元输出一样。可动加减法器单元由加法器单元、反向器单元和多路选择器单元组成。S7、S3和add_sub_s1为可控加减法器的控制信号,A8.0位数据输入,Sout8.0为计算输出,Cin_B为输出给移位累加器单元中加法器的Cin的控制信号。移位累加单元:移位累加单元的主要功能是把可控加减法器的输出移位累加,此单元由多路选择器的移位累加其组成。由OBC编码方式可知,当采样首位值输入,查找表输出的值要与Dextra相加,然后才能输入移位累加器单元,而非和上一次累计的值相加后输入移位累加器,这可以通过一个多路选择器来完成。当采样值首位来时,控制模块发出的控制信号add_Sub_s2控

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

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号