d0q基于FPGA的IIR滤波器设计.doc
《d0q基于FPGA的IIR滤波器设计.doc》由会员分享,可在线阅读,更多相关《d0q基于FPGA的IIR滤波器设计.doc(38页珍藏版)》请在三一办公上搜索。
1、 基于FPGA的IIR滤波器设计摘 要:数字信号处理在科学和工程技术许多领域中得到广泛的应用,与FIR数字滤波器相比,IIR数字滤波器可以用较低的阶数获得较高的选择性,故本课题采用一种基于FPGA的IIR数字滤波器的设计方案,首先分析了IIR数字滤波器的原理及设计方法,然后通过MAX+PLUS的设计平台,采用自顶向下的模块化设计思想将整个IIR数字滤波器分为:时序控制、延时、补码乘加和累加四个功能模块。分别对各模块采用VHDL进行描述后,进行了仿真和综合。仿真结果表明,本课题所设计的IIR数字滤波器运算速度较快,系数改变灵活,有较好的参考价值。关键词:电子设计自动化,IIR数字滤波器,现场可编
2、程门阵列,硬件描述语言The design for IIR digital filter based on FPGAAbstract: Digital signal processing is widely used in lots of fields, such as in science and project technique. Compared with FIR digital filter, IIR digital filter can get high selectivity with low factorial. A kind of IIR digital filter des
3、ign method was introduced in the paper, which is based on FPGA. By used the design plant of MAX+PLUS, we adopt blocking method named “Top-down ” and divide the entire IIR digital filter into four blocks, which are Clock control, Time delay, Multiply-addition and Progression. After described with VHD
4、L, we do emulate and synthesis to each block. The result shows that, the introduced IIR digital filter runs fast, and the coefficient changes agility. It has high worth for consulting.Key words: Electronic Design Automation, IIR Digital Filter, Field Programmable Gate Array, very High Speed Integrat
5、ed Circuit Hardware Description Language (VHDL)目 录序言1第1章 IIR数字滤波器及其硬件实现方法21.1 IIR数字滤波器概念21.1.1 IIR数字滤波器的原理21.1.2 IIR数字滤波器的基本结构21.1.3 IIR数字滤波器的设计方法31.2 IIR数字滤波器的硬件实现方案4第2章 EDA技术和可编程逻辑器件82.1 电子设计自动化EDA技术82.2 可编程逻辑器件82.2.1 可编程逻辑器件简介82.2.2 使用FPGA器件进行开发的优点92.2.3 FPGA设计的开发流程92.3 硬件描述语言VHDL及数字系统设计方法102.3.1
6、 硬件描述语言VHDL简介102.3.2 利用VHDL设计数字系统10第3章 IIR数字滤波器的设计与仿真结果分析113.1 IIR数字滤波器各模块的设计与仿真结果分析113.1.1 时序控制模块的设计与仿真结果分析113.1.2 延时模块的设计与仿真结果分析123.1.3 补码乘加模块的设计与仿真结果分析123.1.4 累加模块的设计与仿真结果分析143.1.5 顶层模块设计143.2 IIR数字滤波器的仿真与结果分析153.2.1 IIR数字滤波器的系统设计153.2.2 IIR数字滤波器的系统仿真与结果分析163.2.3 高阶IIR数字滤波器的实现17结束语19参考文献20致 谢21附录
7、1 各模块VHDL程序22附录2 英文翻译29 基于FPGA的IIR滤波器设计序 言随着EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。这些技术的使用使得现代电子产品的体积减小、性能增强、集成化程度提高,与此同时其可编程能力也得以提高。在使用EDA进行电子设计时,设计人员可按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,采用硬件描述语言(DHL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。VHDL语言是EDA设计中常用的一种IEEE标准语言,其具有覆盖面广、描述能力强、可读性好、支持大规模设计及逻辑
8、单元利用等优点,因此受到越来越多的电子工程师的青睐1。本次设计采用EDA技术中的模块化设计思想,就IIR数字滤波器中的一些关键电路进行设计,主要内容包括:时序控制模块、延时模块、补码乘加模块、累加模块和IIR数字滤波器的顶层设计。分别对各模块采用VHDL进行描述后,进行了仿真和综合,取得了较好的设计效果。实验结果表明,本课题所设计的IIR数字滤波器具有运算速度快,系数改变灵活方便等特点。第1章 IIR数字滤波器及其硬件实现方法1.1 IIR数字滤波器概念数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统2。输入一组数字量,通过运算输出的是另一组数字量。数字滤波器具有
9、稳定性好、精度高、灵活性大等突出优点。随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们的注意和广泛的应用。1.1.1 IIR数字滤波器的原理一个数字滤波器的系统函数可以表示为2:= (1.1.1)直接由得出表示输入输出关系的常系数线性差分方程为: (1.1.2)式中、为滤波系数,当均为零时,该滤波器为FIR数字滤波器,当不均为零时,则为IIR数字滤波器。与FIR数字滤波器相比,IIR数字滤波器可以用较低的阶数获得高的选择性,所用的存储单元少,成本低、信号延迟小,并且IIR数字滤波器可以借助于模拟滤波器的设计成果,设计工作量相对较小,为此,本文就IIR数字滤波器进行相关讨论。 1.1
10、.2 IIR数字滤波器的基本结构IIR数字滤波器有直接型、级联型和并联型三种基本结构2。由IIR数字滤波器的阶差分方程(1.1.2)式可知,设=2,则网络结构如图1-1所示。x(n)a0b1a2b0a1y(n)z-1z-1图1-1 直接型结构 1.1.3 IIR数字滤波器的设计方法IIR数字滤波器的设计方法通常有模拟转换法、零极点累试法和优化设计法2。1. IIR数字滤波器的模拟转换设计法利用模拟滤波器成熟的理论和设计方法来设计IIR数字滤波器是经常使用的方法。设计过程是:按照技术要求设计一个模拟滤波器,得到滤波器的传输函数,再按一定的转换关系将转换成数字滤波器的系统函数。将传输函数从s平面转
11、移到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。2. IIR数字滤波器的零极点累试法上述介绍的模拟转换设计法实际上是数字滤波器的一种间接设计方法,而且幅度特性受到所选模拟滤波器特性的限制。例如巴特沃斯低通幅度特性是单调下降,而切比雪夫低通特性带内或带外有上、下波动等,对于要求任意幅度特性的滤波器,则不适合采用这种方法。下述介绍的在数字域直接设计IIR数字滤波器的设计方法,其特点是适合设计任意幅度特性的滤波器。在IIR数字滤波器的直接设计法中零极点累试法较为常用,设单位脉冲响应的零极点表达式为2: (1.1.3)按照(1.1.3)式,系统特性取决于系统零极点的分布,通过分析
12、,我们知道系统极点位置主要影响系统幅度特性峰值位置及其尖锐程度,零点位置主要影响系统幅度特性的谷值位置及其凹下的程度;且通过零极点分析的几何作图法可以定性地画出其幅度特性。上面的结论及方法提供了一种直接设计滤波器的方法。这种设计方法是根据其幅度特性先确定零极点位置,再按照确定的零极点写出其系统函数,画出其幅度特性,并与希望的进行比较,如不满足要求。可通过移动零极点位置或增加(减少)零极点,进行修正。3.优化设计法IIR 数字滤波器除模拟转换设计法和零极点累试法外,还有一种直接在频域或者时域中进行设计,联立方程后需要计算机作辅助运算的方法,即所谓的优化设计法。1.2 IIR数字滤波器的硬件实现方
13、案滤波器的实现主要包括两大类:DSPTMS320系列芯片的实现和ISP器件的实现(主要包括FPGA和CPLD)。其中利用DSPTMS320系列芯片实现滤波时速度较慢,而利用ISP器件实现时,其运算速度比DSP器件要快好多倍。FPGA的实现包括其自带的核的实现方法和自编程实现方法。核的实现方法虽然好用并且结构缜密,但一般情况下使用的权限都会受到注册购买的限制,因此基于FPGA的自编程实现方法成了滤波器实现的首选3。以下简要介绍IIR数字滤波器的设计方案和基于FPGA的实现方法4。1.方案一:直接相乘累加式对于二阶的IIR数字滤波器,其传递函数为: (1.2.1)滤波器信号流图见图1-1,在第n时
14、刻,是当时的输入样本; 是n时刻的IIR滤波器的输出: (1.2.2)因此,可以用硬件乘法器和硬件加法器来实现乘法和加法。由式(1.2.2)可以看出,按照这种设计方法,要用到5个乘法器和6个加法器。对于FPGA的设计来说,这种方法的缺点是比较耗费资源。2.方案二:基于ROM查表法的VHDL结构化设计采用ROM查表的方法,主要是为了避免使用硬件乘法器。二阶IIR的一般表示形式为: (1.2.3)其中是输入序列,是输出序列,和是系数。假设输入序列为位2的补码,并以定点表示,并1,对于可以表示为: (1.2.4)式中:表示的第位,上标为0的是符号位,因此可以定义一个5bit为变量的函数为: (1.2
15、.5)由此可以得到:- (1.2.6)由于函数仅有32种可能取值,因此可以设计一个32*b位的ROM构成的如图1-3描述的基于ROM的实现结构。数据输入串行移入SR1和SR2,由抽头处得到,每计算出一个值后,便并行加载到SR3中,然后串行移入SR4,并在抽头处得到和。ROM的输入地址由组成。按此方法设计的优点是避免了占主要运算量的乘法运算,节省了FPGA的硬件资源,缺点与FIR滤波器利用ROM方法设计相同,即使用不够灵活。当系数发生变化时,更改ROM内的数据十分不便,特别是当阶数比较大时,ROM内的数据较多,程序外的运算量也很大,修改数据更为不便。 图1-2 ROM查表法实现框图3.方案三:基
16、于ROM查表法的改进型设计此方法结合了直接相乘累加式和ROM查表法的优点,使得设计灵活,设计周期短,节省资源。二阶IIR的一般表示形式为: (1.2.6)这里是输入序列,是输出序列,和是系数。设输入序列为位2的补码,并以定点表示,并1,对于可以表示为: (1.2.7)式中:表示的第位,上标为0的是符号位,因此可以定义一个5bit为变量的函数为: (1.2.8)同理可得: (1.2.9)由此可以得到: (1.2.10)令,可以推出: (1.2.11)从式(1.2.11)中可以看出,可以用一个五路8位*1位乘法器在8个时钟周期内实现上述算式。其加法可以直接调用软件的库实现。本方案实现结构如图1-3
17、所示。X(n)X(n-1)X(n-2)X(n-1)X(n-2)输入b0kb1ka0ka2ka1k输出Y(n)累 加 器 图1-3 改进型实现框图图1-3中的作为FPGA接口上的A/D器件的转换数据输入寄存器,各寄存器内的数据与各自的系数的最高位相乘后,送入累加器相加,并且其和向左移一位,以实现乘2运算。下一个时钟,寄存器内数据与其系数的次高位相乘,再送入累加器与其数据相加,再左移一位。接下的6个时钟进行类似的操作。第8个时钟后,累加器将其数据输出,即,并对累加器清零,同时将寄存器数据送入寄存器,将寄存器数据送入寄存器,同理,。接着再进行下一次运算。对上述三种方法相比较而言,方案三实现较为方便简
18、洁,在节省了FPGA硬件资源的同时,使得设计灵活,设计周期大为缩短,故本设计在方案三为基础上作改进后,来实现IIR数字滤波器的。第2章 EDA技术和可编程逻辑器件2. 1 电子设计自动化EDA技术EDA是Electronic Design Automation的缩写,意为电子设计自动化,即利用计算机自动完成电子系统的设计。回顾近30年的电子设计技术的发展历程,可将EDA技术分为三个阶段4:七十年代为CAD(Computer Aide Design)阶段。这个阶段主要分别研制了一个个单独的软件工具,主要有电路模拟、逻辑模拟、版图编辑、PCB布局布线等,通过计算机的使用,从而可以把设计人员从大量繁
19、琐、重复的计算和绘图工作中解脱出来。八十年代为CAE阶段。这个阶段在集成电路与电子系统方法学,以及设计工具集成方面取得了众多成果,与CAD相比,除了纯粹的图形绘制功能外,又增加了电路功能设计和结构设计,并且通过电气连接网络表将两者结合在一起,实现了工程设计。九十年代为EDA阶段,尽管CAD/CAE技术取得了巨大的成功,但在整个设计过程中,自动化和智能化程度还不高,各种EDA软件界面千差万别,学习实用困难直接影响到设计环节间的衔接。基于以上不足,人们开始追求贯穿整个设计过程的自动化,即电子系统设计自动化。2. 2可编程逻辑器件2.2.1可编程逻辑器件简介可编程阵列逻辑器件PAL(Programm
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- d0q 基于 FPGA IIR 滤波器 设计
链接地址:https://www.31ppt.com/p-4140943.html