毕业设计(论文)-基于FPGA的IIR滤波器设计_第1页
毕业设计(论文)-基于FPGA的IIR滤波器设计_第2页
毕业设计(论文)-基于FPGA的IIR滤波器设计_第3页
毕业设计(论文)-基于FPGA的IIR滤波器设计_第4页
毕业设计(论文)-基于FPGA的IIR滤波器设计_第5页
已阅读5页,还剩26页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、邯郸学晚本科卒此袼丈题目基于fpga的iir滤波器设计作者指导教师副教授年级2007级专业电子信息工程 二级学院信息工程学院邯郸学晚信息工程学晚2011年5月郑重声明本人的毕业论文(设计)是在指导教师郭红俊的指导下独立撰写 完成的。毕业论文(设计)没有剽窃、抄袭、造假等违反学术道德、 学术规范和侵权的行为,本人愿意承担由此产生的各种后果,直至法 律责任,并愿意通过网络接受公众的监督。特此郑重声明。平业论文(设计)作者(签名):摘要 在现代电子系统中,可编程逻辑器件和eda技术得到了飞速发展。基 于fpga的信号处理器在科学和工程技术等许多领域中得到了广泛的应用,其中现 代数字信号处理系统的重要

2、组成部分是数字滤波器。无限长单位冲激响应(iir) 数字滤波器是非常重要的一类滤波器,与有限长单位冲激响应(fir)数字滤波器 相比,iir能够以较低的阶次获得较高的频率选择特性从而得到了广泛的应用。本 论文采用一种基于现场可编程门阵列(fpga)的i ir数字滤波器的设计方案。首先 从速度和资源方面研究dsp算法中的加法器、乘法器、乘累加器,并讨论了基于iir 数字滤波器的相关理论知识。研究了 i ir数字滤波器的常用设计方法,并分析了各 种i ir数字滤波器的实现结构等基本理论,由分析结果确定了所要设计的i ir数字 滤波器的实现结构。然后基于fpga的结构特点,研究了 i ir数字滤波器

3、的fpga设计 与实现,并通过quartusll设计平台,采用自顶向下的模块化设计思想,将整个iir 数字滤波器分为:时序控制、延时、补码乘加和累加四个功能模块。分别对各模 块进行vhdl语言描述,并进行了仿真和综合。仿真结果表明,本设计的iir数字滤 波器运算速度较快,系数改变灵活,有较好的参考价值。关键词 数字滤波器无限长单位冲激响应现场可编程门阵列vhdl硬件描 述语言based on the fpga hr filter developmentma xiaohong directed by prof. guo hongjunabstract in the modem eletrical

4、 syatem,pld device and eda technology are developed,the signal processor based on fpgas have been applied to lots of field,such as in science and project technique, one of the important contents of digital signal process is digital filter,infiinite impulse response units (hr) digital filter is a ver

5、y important type of filters. with its good characteristic of frequency selection in lower order in comparison with finite impulse response (fir),iir digital filter is widely applied in modern signal processing systems. this subject is a iir digital filter design based on the using of field programma

6、ble gate array (fpga). firstly,based on the analysis of iir basic realization architectures and the related theoretic analysis,the design methods of iir sigital filter has been discussed and the structures of a variety of iir digital filter which can be realized has been analysised. for the results

7、of the theoretical analysis, the final architecture and realization of iir digital has been decided, based on the structural characteristics of fpga, the fpga design and realization of iir digital filter has been researched. by used the design plant of quartus ii,we adopt blocking method named “top-

8、down ” and divide the entire iir digital filter into four blocks, which are clock control, time delay,multiply-addition and progression. after described with vhdl,we do emulate and synthesis to each block. the result shows that, the introduced iir digital filter runs fast,and the coefficient changes

9、 agility. it has high worth for consulting.key words digital filter infinite impulse response units field programmable gate array vhdl hardware description language摘要夕卜领ii1 12选题背景2.1课题来源2.2课题的目的和意义3 iir数字滤波器及其硬件实现方法iir数字滤波器概念00000000000000 iir数字滤波器的原理11111111111111 iir数字滤波器的基本结构22222222222222 iir数字滤

10、波器的设计方法3.2 iir数字滤波器的硬件实现方案34 eda技术和可编程逻辑器件64.1电子设计自动化eda技术64.2可编程逻辑器件64.2.1可编程逻辑器件简介64.2.2使用fpga器件进行开发的优点64.2.3 fpga设计的开发流程,4.3硬件描述语言vhdl及数字系统设计方法4.3.1硬件描述语言vhdl简介4.3.2利用vhdl设计数字系统77775 iir数字滤波器的设计与仿真结果分析5.1各模块的设计与仿真结果分析5.1.1时序控制模块的设计与仿真结果分析5.1.2延时模块的设计与仿真结果分析5.1.3补码乘加模块的设计与仿真结果分析5.1.4累加模块的设计与仿真结果分析

11、5.1.5顶层模块设计5.2 iir数字滤波器的仿真与结果分析5.2.1 iir数字滤波器的系统设计5.2.2 iir数字滤波器的系统仿真与结果分析5.2.3高阶iir数字滤波器的实现(l) 7(li) 7(lii) 8 8 9101111111213参考文献14a wis麵16基于fpga的i ir滤波器设计1序言随着eda技术的发展和应用领域的扩大和深入,eda技术在电子信息、通信、自动控制及 计算机应川等领域的重要性口益突出。这些技术的使川使得现代电子产品的体积减小、性能 增强、集成化程度提高,与此同时其可编程能力也得以提高。在使用eda进行电子设计时, 设计人员可按照“自顶i4下”的设

12、计方法,对整个系统进行方案设计和功能划分,采用硬件 描述语言(dhl)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。vhdl 语言是eda设计中常用的一种ieee标准语言,其具有覆盖面广、描述能力强、可读性好、支 持大规模设计及逻辑单元利用等优点,因此受到越來越多的电子工程师的青睐。本次没计采用eda技术中的模块化没计思想,就iir数字滤波器中的一些关键电路进行 设计,主要a容包括:时序控制模块、延时模块、补码乘加模块、累加模块和1ik数字滤波器 的顶层设计。分别对各模块采用vhdl进行描述后,进行了仿真和综合,取得了较好的设计效 果。2选题背景2. 1课题来源有教师提供课题。

13、2. 2课题的目的和意义电子技术中全新的数字信号处理技术已经替代了传统的信号处理技术,实现了模拟技术 叫数字技术的过度,由于dsp的运用是的越来越多烦人岛性能电子产品得以实现。随着信息 技术的不断发展,新的信号处理的理论和技术不断涌现,信息科学和技术研究的核心内容重 要是信号的获取、传输和处理、识别及综合等,那么数字信号处理就成为一门及其重要的学 科和技术,它被应川到了很多领域,如通信、语音、图像、自动控制、雷达、军事、航空航 天、医疗等。数字信号处理不仅实现了高速度,而且具有较强的灵活性,提高了设备的实用 性,降低了成本,缩短了开发时间。现场可编程门阵列fpga是1985年xilinx公司推

14、出的,与复杂可编程器件(cpld)相比, fpga的结构与掩膜可编程门阵列(mpga),由许多独立的可编程模块组成,通过编程将多个模 块连接起来实现不同的设计。fpga技术具有现场可编程、现场修改、现场验证、现场实现的 应用优势,fpga具备了 mpga和cpld两者的优点,具有更强的逻辑实现能力、更高的集成度 和更好的设计灵活性。数字信号处理技术中最重要的是数字滤波器,数字滤波器是一个离散系统,该系统能对 输入的离散信号进行处理,通过一定的运算关系改变输入信号的频率成分的相对比例或是滤 除某些频率成分,提収和加强信号屮的有用成分,消弱无用的千扰成分,从而获取所需的有 用信息。与模拟滤波器相比

15、,数字滤波器具有精度高、可靠性高、灵活性好、易于大规模集 成等特点。数字滤波器主要有有限冲击响应数字滤波器(finite impulse response, fir)和无限冲 击响应数字滤波器(infinite impuse response, iir)两种。与fir滤波器相比,在相同指 标下ttr滤波器能用较低的阶数满足较高的要求,主要原因是tir滤波器具有反馈系统,并 且能够更好的通带和阻带衰减特性。用fpga來实现ttr滤波器是一种新的解决方案,eda技 术和dsp技术是现代电子技术发展的产物,对于数字信号处理是具有领先和实际意义,在传 统的dsp技术存在的诸多技术瓶颈问题,它都能克服,

16、在许多方面s示出很多优势,如高可 靠性,高速与实吋性,自主知识产权化,尤其系统的重配置与硬件重构性,单片dsp系统的可实现性以及开发技术的标准化和高效率等。ttr数字滤波器在信号处理中有着广泛的应川,基于fpga的tir数字滤波器体现电子系统的微型化和单片化,将数字信号处理与fpga结合,无论在理论研宂上还在通讯、hdtv 淸晰度电视)、雷达、图像处理数字音频等实际应用上都有着美好的技术前景和巨大的实用价 值。3 i ir数字滤波器及其硬件实现方法3.1 iir数字滤波器概念数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系 统。输入一组数字fi,通过运算输出的是另一

17、组数字璧。数字滤波器具有稳定性好、精度髙、 灵活性大等突出优点。随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们 的注意和广泛的应用。3.1.1 hr数字滤波器的原理一个数字滤波器的系统函数h(z)可以表示为:h(z) =r(z)x(z)m/=01 - zf7=1(3. 1. 1)直接巾h(z)得岀表示输入输岀关系的常系数线性差分方程为:mny (n) = an -bh y(n - j)(3. 1.2)/=oy=l式中a、bh为滤波系数,当均为零时,该滤波器为ftr数字滤波器,当办不均为零时,则为iir数字滤波器。与fir数字滤波器相比,iir数字滤波器可以用较低的阶数获得 高的选

18、择性,所用的存储单元少,成本低、信号延迟小,并且uk数字滤波器可以借助于模 拟滤波器的设计成果,设计工作量相对较小,为此,本文就iir数字滤波器进行相关讨论。3. 1.2 itr数字滤波器的基本结构ttr数字滤波器有直接型、级联型和并联型三种基本结构。由ttr数字滤波器的7v阶差 分方程(3. 1.2)式可知,设似=7v=2,则网络结构如图3-1所示。图3-1直接型结构 3.1.3 ir数字滤波器的设计方法iir数字滤波器的设计方法通常有模拟转换法、零极点累试法和优化设计法。iir数字滤波器的模拟转换设计法利用模拟滤波器成熟的理论和设计方法来设计iir数字滤波器是经常使用的方法。设计 过程是:

19、按照技术要求设计一个模拟滤波器,得到滤波器的传输函数/(心,再按一定的转 换关系将0,)转换成数字滤波器的系统函数h (z)。将传输函数go从s平囬转移到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。3.1 iir数字滤波器的零极点累试法上述介绍的模拟转换设计法实际上是数字滤波器的一种间接设计方法,而i幅度特性受 到所选模拟滤波器特性的限制。例如巴特沃斯低通幅度特性是单调下降,而切比雪夫低通特 性带ia)或带外有上、下波动等,对于要求任意幅度特性的滤波器,则不适合采川这种方法。 下述介绍的在数字域直接设计iir数字滤波器的没计方法,其特点是适合没计任意幅度特性 的滤波器。在

20、1ir数字滤波器的直接设计法屮零极点累试法较为常用,设单位脉冲响应的零极点表 达式为:h(z)=ank=(3. 1.3)按照(3. 1.3)式,系统特性取决于系统零极点的分布,通过分析,我们知道系统极点位 置主要影响系统幅度特性峰值位置及其尖锐程度,零点位置主要影响系统幅度特性的谷伉位 置及其凹下的程度;且通过零极点分析的儿何作图法可以定性地画出其幅度特性。上面的结 论及方法提供了一种直接设计滤波器的方法。这种设计方法是根据其幅度特性先确定零极点 位置,再按照确定的零极点写出其系统函数,画出其幅度特性,并与希望的进行比较,如不 满足要求。可通过移动零极点位置或增加(减少)零极点,进行修正。3.

21、优化设计法iir数字滤波器除模拟转换设计法和零极点累试法外,还有一种直接在频域或者时域中 进行设计,联立方程后需要计算机作辅助运算的方法,即所谓的优化设计法。3.2 iir数字滤波器的硬件实现方案滤波器的实现主要包括两大类:dsptms320系列芯片的实现和isp器件的实现(主要包括 fpga和cpld)。其中利用dsptms320系列芯片实现滤波时速度较慢,而利用isp器件实现时, 其运算速度比dsp器件要快好多倍。epga的实现包括其自带的核的实现方法和自编程实现方 法。核的实现方法虽然好用并且结构缜密,但一般情况下使用的权限都会受到注册购买的限 制,因此基于fpga的自编程实现方法成了滤

22、波器实现的首选。以下简要介绍ttr数字滤波器的设计方案和基于fpga的实现方法。方案一:直接相乘累加式对于二阶的iir数字滤波器,其传递函数为:h(z) =a0 +alz1 +a2z2(3. 2. 1)滤波器信号流阁见阁2-1,在第n时刻,是当时的输入样本;是n时刻的iir 滤波器的输出:d(n) = x (n) + bqd(n -1) + /?, d(n - 2)y(/7)= dn)a + d(n - y)ax + d(n- 2)a2(3. 2. 2)因此,可以用硬件乘法器和硬件加法器来实现乘法和加法。由式(3. 2. 2)可以看出,按照 这种设计方法,要用到5个乘法器和6个加法器。对于fp

23、ga的设计来说,这种方法的缺点是 比较耗费资源。方案二:基于rom查表法的viidl结构化没计采用kom查表的方法,主要是为了避免使用硬件乘法器。二阶iir的一般表示形式为:z: =+2-2(3. 2. 3)其中pf 是输入序列,y(n)是输出序列,r和/7m是系数。假设输入序列义)为w 位2的补码,并以定点表示,并|又0)|<1,对于可以表示为:y-!么二a _x()w(3.2.4)人=1式中:表示x(n)的第w-位,上标为0的是符号位,因此可以定义一个5bit为变 量的函数f为:f(xh-i,4-2,yh,y-2 ) = ao4 + aixn-i a2xn-2"*"

24、;1-2(3. 2. 5)由此可以得到:b-y=2-k fxkn, xt, <2,yt, ykn-2)-, xl, x°_2, yl, jl)(3.2.6)炎=1由于f函数仅有32种可能取值,因此可以设计一个32*b位的rom构成的如图3-2描述 的基于rom的实现结构。数据输入弋串行移入sr1和sr2,由抽头处得到每计算出一个值后, 便并行加载到sr3屮,然后串行移入sk4,并在抽头处得到的输入地址由 &tpxt2,ytpz-2 组成。按此方法设计的优点是避免了 a主要运算量的乘法运算,节省了 fpga的硬件资源,缺点 与ftr滤波器利用rom方法设计相同,即使川不够

25、灵活。当系数发生变化时,更改rom内的 数据十分不便,特别是当阶数比较大时,rom内的数据较多,程序外的运算量也很大,修改数 据更为不便。1f1加/器-1图3-2 rom杳表法实现框图方案三:基于rom查表法的改进型设计此方法结合了直接相乘累加式和rom査表法的优点,使得设计灵活,设计周期短,节省资源.二阶iir的一般表示形式为:+ 1-1 + a2xn-2 + 0 >-1 +>:-2(3- 2- 6)这里pf(/2)是输入序列,kb)是输出序列,r和是系数。设输入序列为v 位2的补码,并以定点表示,并|xgl)|l,对于x(z7)可以表示为:u,一l n- 0= x.xn 2 _

26、x w(3.2.7)jt=l式中:表示x(zt)的第w-a位,上标为0的是符号位,因此可以定义一个5bit为变s的函数尸为:(xn » xn-» xn-2 >n-2)= aqxn + axn + a2xn-2 + lw-2 (3.2.8)同理可得:fxkakb! xoc + vf +;-22 + 又卜+ yn-2b (3. 2. 9)巾此可以得到:bl(3.2.10)令可以推出:z>1=s2'"ow)(3.2.11)又,=1从式(3. 2. 11)巾可以看出,可以用一个五路8位*1位乘法器在8个时钟周期内实现上述 算式。其加法可以直接调用软件的

27、库实现。本方案实现结构如图3-3所示。输入z'cx(7c)xk11bko(tc)x累加器输出y(n)图3-3改进型实现框图图2-3屮的x(n)作为epga接口上的a/d器件的转换数据输入寄存器,各寄存器内的数裾与各自的系数的最髙位相乘后,送入累加器相加,并且苒和向左移一位,以实现乘2运算。 下一个吋钟,寄存器内数据与其系数的次高位相乘,再送入累加器与其数据相加,再左移一 位。接下的6个时钟进行类似的操作。第8个时钟后,累加器将其数据输出,即y(w,并对 累加器清零,同时将x(/7 -1)寄存器数据送入- 2)寄存器,将x(n)寄存器数据送入 x(/2-i)寄存器,同理,接着再进行下一次

28、运算。对上述三种方法相比较而言,方案三实现较为方便简洁,在节省了 fpga硬件资源的同时, 使得设计灵活,设计周期大为缩短,故本设计在方案三为基础上作改进后,来实现iir数字 滤波器的。4 eda技术和可编程逻辑器件4.1电子设计自动化eda技术eda是electronic design automation的缩写,意为电子设'll自动化,即利用计算机自 动完成电子系统的设计。回顾近30年的电子设计技术的发展历程,可将eda技术分力三个阶 段:七十年代为cad (computer aide design)阶段。这个阶段主要分别研制了一个个单独的 软件工具,主要有电路模拟、逻辑模拟、版图

29、编辑、pcb布局布线等,通过计算机的使用,从 而可以把设计人员从大量繁琐、重复的计算和绘图工作中解脱岀来。八十年代为cae阶段。这个阶段在集成电路与电子系统方法学,以及设计工具集成方面 取得了众多成果,与cad相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构 设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。九十年代为eda阶段,尽管cad/cae技术取得了巨大的成功,但在整个设计过程中,自动 化和智能化程度还不高,各种eda软件界面千差万别,学习实用困难直接影响到设环节间 的衔接。基于以上不足,人们开始追求贯穿整个设计过程的自动化,即电子系统设计自动化。4.2可编程逻辑

30、器件4.2.1可编程逻辑器件简介可编程阵列逻辑器件pal (programmable array logic)和通用阵列逆辑器件gal (generic array logic)都属于简单pld。随着技术的发展,简单pld在集成度和性能方面的局限性也暴 露出来。其寄存器、t/0引脚、时钟资源的数目有限,没有内部互连,因此包括复杂可编程逻 辑器件 cpld(complex pld)和现场可编程门阵列器件 fpga(field programmable gate array) 在闪的复杂pld迅速发展起来,并叫着岛密度、商速度、低功粍以及结构体系更灵活、适用 范围更广阔的方向发展。fpga具备阵列

31、型pld的特点,结构又类似掩膜可编程门阵列,因而具有更高的集成度和 更强大的逻辑实现功能,使设计变得更加灵活和易实现。相对于cpld,它还可以将配置数据 存储在片外的eprom或者计算机上,设计人员可以控制加载过程,在现场修改器件的逻辑功 能,即所谓的现场可编程。所以fpga得到了更普遍的应用。4.2.2使用fpga器件进行开发的优点使用fpga器件设计数字电路,不仅可以简化设计过程,而且可以降低整个系统的体积和 成本,增加系统的可靠性。使用fpga器件设计数字系统电路的主要优点如下:(1)增大功能密集度功能密集度是指在给定的空间能集成的逻辑功能数量。可编程逻辑芯片内的组件门数高, 一片fpg

32、a可代替儿十片乃至上百片屮小规模的数字集成电路芯片。用fpga实现数字系统时 用的芯片数量少,从而减少印刷板面积和数目,最终导致系统规模的减小。(2) 缩短设计周期由于fpga器件集成度高,使川时印刷线路板电路布局布线简单。fpga器件的可编程性和 灵活性,决定了用它设计一个系统所需时间比传统方法大为缩短。(3) 工作速度快ftga/cpld器件的工作速度快,一般可以达到儿百兆赫兹,远远人于dsp器件。使用fpga 器件后实现系统所需要的电路级数少,因而整个系统的工作速度会得到提高。fpga设计的开发流程没计开始需利用eda工具的文本或图形编辑器将设计者的设计意图用文本方式(如vi1dl 程序

33、)或阁形方式(原理阁、状态阁等)表达出来。完成设计描述后即可通过编译器进行排错编 译,变成特定的文本格式,为下一步的综合做准备。编译形成标准vhdl文件后,在综合前即 可以对所描述的内容进行功能仿真,又可称为前仿真。由于此时的仿真只是根据vhdl的语义 进行的,与具体电路没有关系,仿真过程不涉及具体器件的硬件特性,如延迟特性。设计的 第三步是综合,将软件没计与硬件的可实现性挂钩,这是软件化为硬电路的关键步骤。综合 后,可生成vhdl网表文件,利用网表文件进行综合后仿真。综合通过后必须利用fpga布局/ 布线适配器将综合后的网表文件针对某一具体的目标器件进行逻辑映射操作,这个过程叫做 实现过程。

34、布局布线后应进行吋序仿真。吋序仿真中应将布局布线后的时延文件反标到设计 中,使仿真既包含门时延,又包含线时延的信息。与前面各种仿真相比,这种仿真包含的时 延信息最为全而、准确,能较好地反映芯片的实际工作惜况。如果以上的所有过程,都没有发现问题,即满足原设计要求,就可以将适配器产生的配 罝/下载文件通过编程器或下载电缆载入目标芯片中。4.3 硬件描述语言vhdl及数字系统设计方法4.3.1硬件描述语言viidl简介硬件描述语言(very high speed integrated circuit hardware description language, vhdl)是一种用于设计硬件电子系统的

35、计算机语言,包括系统行为级、寄存器传输级和逻辑门 级多个设u层次,支持结构、数据流、行为三种描述形式的混合描述,因此vhdl几乎覆盖了 以往各种硬件描述语言的功能。它主要用于描述数字系统的结构、行为、功能和接口,非常 适用于可编程逻辑芯片的应川设计。与其它的hdl相比,vhdl具有更强大的行为描述能力, 从而决定了它成为系统没计颂域最佳的硬件描述语言。4.3.2利用vhdl设计数字系统利用vhdl语言设计数字系统硬件电路,与传统的设计方法相比,具有以下优点:采用自顶向下(top-down)的设计方法。自顶向下是指从系统总体要求出发,在顶层进 行功能方框图的划分和结构设计。由于设计的主要仿真和调

36、试过程在高层次上完成,这一方 面有利于提高了没计的效率。降低了硬件电路的设计难度。在使用vhdl语言设计硬件电路时,可以免除编写逻辑 表达式或真值表的过程,使得设计难度大大下降,从而也缩短了设计周期。主要设计文件是用vhdl语言编写的源程序。在传统的硬件电路设计中,最后形成的 主要文件是电路原理图,而采用vhdl语言设计系统硬件电路时主要的设计文件是vhdl语言 编写的源程序。方便as1c移植。vhdl语言的效率之一,就是如果你的设计是被综合到一个fpga或 cpld的话,则可以使你设计的产品以最快的速度上市。当产品的产量达到相当的数量时,采 用vhdl进行的设计很容易转换成专用集成电路来实现

37、。所以本次设计采川利川vhdl语言的数字系统设计方法。5 iir数字滤波器的设计与仿真结果分析5.1各模块的设计与仿真结果分析本课题在实现方案三的基础上,将iik滤波器的硬件系统分为四个模块:时序控制、延 时、补码乘加和累加模块。以下就各个模块的实现及仿真作简要的分析。5.1.1吋序控制模块的设计与仿真结果分析时序控制模块主要川來产生对其它模块的时序控制信号。模块的符号如图5-1 u)所示, 输入信号clk是时钟信号,res是复位信号,clk_reg及clk_regbt是输!li信号。controlclkcuk_re goutputiielk reqrescl.k_re gbtj3> e

38、lk regbt1;,;"ikpcrr":l/:,res 鄕 -3rivccname:ihres 卜elk -o clkjegbtclkjeg 0? counter图5-1 (a)时序控制模块图 o.ons泄 ons 200.0ns300.0ns o.ons 500.0ns6000ns 7m.0ns 800.0ns900.0ns图5-l(b)时序控制模块仿真图时序控制模块仿真如图5_2(b)所示,其中counter为程序内部计数信号,在elk的上升 延到來时,counter以6个时钟为周期开始进行计数,clk_regbt每隔6个时钟输出一个低电 平,clk_reg则每隔6个

39、时钟后输出一个高电平。输出的两个时钟信号正好控制延时模块、补 码乘加模块和累加模块的模块的运行。符合设计要求。时序控制模块程序见附录。5.1.2延时模块的设计与仿真结果分析延时模块的符号如图5-2(a)所示,其主要作用是在elk时钟作用下将差分方程的各x、 y值延迟一个时钟,以实现一次延时运算,即当输入为xn和yn时,经过一次延时后其输出分 别为x(n-l)和y (n-1).其屮yout是反馈输入信号,xn是输入信号。2dkl_>-3res1:4yout(8.0cz>-3难.01_>-vccwdolkyo【8oresyoutcs. - ©3t 1 l 3- c>

40、;jxo ,o o】.03x2 l 4 . < ojdelay4 < * < i i * ijoirrm.uwwyo8.o czd'yi'pj雪t 曾囑鬌攀*曹蒙會v售鬌9 1x04.0zz>24;.dj图5-2(a)延时模块图name:匾祕 resclkyoxnyoy1xox1x2hmm0.0ns100 ons200.0ns300 ons400.0nsd d d d d d d阁5-2(b)延时模块仿真图延时模块仿真图如图5-2(b)所示,由图5-4可以看山当输入的xn.yout都为0,l,2,3,4,5时,在时钟信号上升沿的作用下产生延时,经第一个时

41、钟后xo、xl、x2、yo、yl的值分别力 1, 0, 0, 1, 0。经第二个时钟后x0、xl、x2、y0、yl的值分别为2, 1, 0, 2, 1。经第三个时钟后x0、xl、x2、y0、yl的值分别为3, 2, 1, 3, 2。经第四个时钟后由此可见该模块仿真值正确。延时模块程序见附录。5.1.3补码乘加模块的设计与仿真结果分析补码乘加模块主要川來实现输入序列与系数、h分别相乘后再相加的 过程。即实现= aoxn +“|x,_1 + a2xn_2 + z?o+ /?,yw_2的算法。力丫避免过多地使用乘法器,本设计中乘加单元(mac)的乘法器采川阵列乘法器,以提高运算速度。由于quartu

42、s ii 的lpm库中乘法运算为无符号数的阵列乘法,所以使用时需要先将两个补码乘数转换为无符 号数相乘后,再将乘积转换为补码乘积输出。每个二阶节完成一次运算共需要6个时钟周期, 而且需采用各自独立的mac实现两级流水线结构,即每个数据经过两个二阶节输出只需要6 个时钟周期。模块的符号如图5-3u)所示。name:u>- clkjegbt clkjeg ao廣al na2 麥bo 廣b1 廣xo x1廣x2®=yiyout0 cnt 0 ytmp00d1d1d1d1d1d1515 15 15 15 do do do100.0ns200.0ns300.0ns400.0ns500.0

43、ns6000ns1515151515700.0ns800 0ns 900.0ns鱼iiuozrmzezdct7 15;( 30!(45 j so f7557s图5-3(b)补码乘加模块仿真图补码乘加模块仿真图如图3-5所示,clk_regbt及clk_reg为输入吋钟,由吋序控制模块提供。 at、/丨为系数,xo、xl、x2、yo、yl为输入信号,yout力输出信号,图5-3 (b)屮75为 xo、xl、x2、yo、yl的值15和系数久、相乘后再相加的结果,完成了补码乘加的功能。补码乘加模块程序见附录。5.1.4累加模块的设计与仿真结果分析补码乘加模块所输出的信号送入累加器后,与寄存于累加器屮

44、的上一步计算的屮间结果 相加,最后将此步的计算结果经由输出引脚输岀,所得信号即为最终结果。即该模块主要实 现youtput=yout+youtput (n_l)的算法,模抉的符号如图5_4 (a)所示。图5-4(a)累加模块图阁5-4(b)累加模块仿真阁累加模块仿真图如图5-4(b),其中res为复位信号,elk为时钟信号,yout为输入信号,由10补码乘加模块的输出信号yout提供,由图屮可以看出当输入信号为yout= 04,2,3,4,5,输出为youtput=0,l,3,6,10,15,实现了累加的功能。符合设计要求。累加模块程序见附录1。 5.1.5顶层模块设计顶层模块设计采用了原理图

45、输入方法,原理图输入方式非常直观,便于信号观察和电路 的调节。9f «930dkres9c(4 .0| a14:0j a2(4| bc(4 'of b1(4.:0|01i. /i< to1iircukres.olfix t .0】rootrot e u. 03.oj,o】bi4.-o】xnd.o1图5-5顶层模块图本课题设计的顶层文件名为iir.gdf,设计生成的逻辑符号如图5-5所示。顶层模块设计 程序见附录。5.2 iir数字滤波器的仿真与结果分析5. 2. 1 iir数字滤波器的系统设计 i ir数字滤波器顶层原理图如图5-6所示。为了便于理解整个系统的设计,现将

46、系统的运行过程进行说明:controlsiiul i nt>dlol.krb. >cuk.kilir,脚:邱:0糞瘍oi.mxor.oixm ( <1 .o jx jk <s .-o】vxr o.-oicuk .kil角丨磉»l c«xor 0 .xxr .x 蘑 t vo【rviro. out i(zz> ssxtgiilibj31图5-6 iir数字滤波器顶层原理图系统先开始处于初始状态,当清零信号为“1”吋,对整个系统进行清零。在清零信号为 “0”的前提,时序控制模块在时钟elk上升沿的作用下产生两个信号clk_reg及clk_regbt

47、, 其中clk_reg信号用来作为延时模块、补码乘加模块和累加模块的输入时钟,clk_regbt每隔 6个时钟产生一个高电平作为这三个模块的复位信号。延时模块在接收到clk_reg高电平信号 时清零输山端,接收到低电平时,在clk_regbt上升沿的作用下对输入信号进行延时,以实 现一次延时运算,而后将延吋信号输山,送给补码乘加模块。补码乘加模块在接收延吋信号 的同时也接收读者输入的系数信号,在clk_rrgbt上升沿的作用下实现系数和延时信号的补 码乘加运算,而此步骤需要6个时钟来完成,正好与时序校制模块的输出信号clk_regbt相 一致。补码乘加模块的输出一部分送入延时模块以实现信号的反

48、馈,另一部分则送入到累加 模块,在累加模块中进行结果累加后输出,得到最终结果。5.2.2 iir数字滤波器的系统仿真与结果分析在各模块编译通过后将各模块进行了综合,针对不同的输入信号和不同的输入系数对ttr 数字滤波器进行了仿真,仿真波形如图5-7所示。并将仿真値和计算值进行了比较,如表5. 2. 1 中所示。named1d1d1d1d1dodo0.0ns0aoa1趣a2 庚bo 逆b1 xnyoutputname:valj厂3( 4 j 11 j 2543 ;(_ 69 x 325 厂瓦(a)0.0ns1 .ous2.0us3.0us4.ous5.ous6.0us7.ous8.0usrese

49、lk ao a1 a2 bo b1xnyoutput10d1d1d1d1d1dodomrairammmmwwmnmfirammbwwrairararammi<b)name1 elk-c -pin001 新ao 逆a1 斯a2 bo 杂b1xnyoutput1.0us2.ous3 ous4.0us5.ous6.0us7 .ous8.0us9.1(c)图5-7 i ik数字滤波器仿真图 表5. 2.1滤波后输出的数据输入数据xn=0, 1,2, 3, 4, 5 ;a0=al=a2=b0=bl=l计算值01411244780仿真值01411254369输入数据xn=0, 1,0, 1,0, 1

50、 ;a0=al=a2=b0=bl=l计算值012581524仿真值012591523输入数据xn=0, 1, 0, 1,0, 1 ;a0=2, al=a2=b0=bl=l计算值0238142234仿真值0249172741由表5.2.1可见,仿真值结果正确,只是与真值之间存在一定的误差,仿真值越大吋误 差越大,这是由于有限精度算法所引起的误差,经累加器累加后使得误差变得越來越大,要 解决这一问题可以通过增加二进制位数來提高系统的运算精度。5.2.3高阶i1r数字滤波器的实现要实现一个高阶iir数字滤波器,如果采用直接型结构实现,需用的乘法器和延迟单元 相对较多,而且分子和分母的系数相差较大,需

51、要较多的二进制位数冰能实现相应的精度要 求。如果采用二阶节级联实现,一方面各基本节的零点、极点可以很方便地单独进行调整, 另一方面可以降低对二进制数位数的要求。以实现一个四阶iir数字滤波器为例,可以通过 两个二阶1ir数字滤波器级联的方式来实现较为简洁。阁5-8给出了一个四阶uk数字滤波 器实现的原理图' 具体的工作原理与二阶丨ir数字滤波器类似,在此本节即不再细述。ad 9图5-8四阶丨ir数字滤波器的顶层原理当然,更高阶的iir数字滤波器的实现方法与四阶滤波器的实现方法类似,只需将多个 二阶iir数字滤波器进行级联,即可实现。参考文献3.1.1 刘凌,胡永生译.数字信号处理的fp

52、ga实现m.北京:清华大学出版社.2003.3.1.2 丁玉美,高西全.数字信号处理m.西安:西安电子科技大学出版社.2004.3.1.3 潘松,王国栋.vhdl实用教程m.成都:电子科技大学出版社.2001.3.1.4 倪向东.基于fpga的四阶11r数字滤波器j.电子技术应用,2003.3.1.5 陈后金.数字信号处理m.北京:高等教育出版社.2004.3.1.6 罗苑棠.cpld/fpga常川模块与综合系统设计.电子工业出版社2007.3.1.7 王国强.eda技术与应用.电子工业出版社.3.1.8 郑君里.信号与系统m北京:高等教育出版社.2000.3.1.9 凌燮亭,秦巍,胡波.对数

53、域积分电路的分析与应用j.北京:电子学 报,2000, 28(2): 46-48.3.1.10 蔡理,马西奎.一种基于平衡式对数域积分器的高阶滤波器j.南京:固体电子学研 宂与进展,2002, 22(1):68-71.3.1.11 赵录怀.高阶对数域滤波器设计的一种新方法j.北京:电工技术学 报,1999, 14(5): 27-30.3.1.12 姚若河,彭亮,石磊.iir数字滤波器的fpga的实现j.中国集成电路,2005, 76 (9) : 54-72.3.1.13 基于c0rdic算法的iir数字滤波器硬件设计j.集成电路应用,2006, (1) 28-32.3.1.14 一种高效1ik

54、滤波器的结构设计及其fpga实现j.河南大学常州分校学报,2005, 19 (9) : 40-41.3.1.15 黄任.vhdl入门解惑经典实例经验总结m.北京:北京航空航天出版社.2005.3.1.16 王卫兵.高阶ttr数字滤波器的fpga描述j.电子元器件,2005, 16期:pp3_4.3.1.17 北京理工大学asic研宂所.vhdl语言100例详解m.北京:清华大学出版社.1999.3.1.18 joseph b. evans, "efficient fir filter architectures suitable for fpga implementation&quo

55、t;m. ieee trans, circuits and system, july 1994.3.1.19 javier vails, marcos m. peiro, trini sansaloni, eduardo boemo. "a study about fpga-baseddigital filters"j. terr sips, ppl91-201, october 1998.3.1.20 郭永彩,廉飞宇.数字信号处理m.重庆:重庆大学出版社,2009, 8.致谢本文是在导师郭红俊教授的精心指导和严格要求下完成的。从选题到论文的完成,都凝 聚着郭红俊老师的辛劳

56、和汗水。他在我这三个月的毕业没计期间给了我很多无微不至的关怀, 从11k数字滤波器的理论知识到滤波器的实现方法都有郭老师孜孜不倦的教诲,在郭老师的 帮助下本次毕业设u才能得意顺利完成。郭老师渊博的知识、严谨科学的治学态度和工作作 风将给我以后的学习和工作起着模范和激励的作用,在此对郭红俊老师表示深深的敬意和衷 心的感谢!此外,我在毕业没计期间还得到许多老师、同学、朋友的帮助,在此亦表示衷心的感谢!附录各模块vhdl程序时序控制模块程序library ieee;use ieee.std_logic_l 164.all;use ieee.std_logic_arith.all;use ieee.std_l

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论