基于VHDL的IIR数字滤波器的设计.doc

上传人:b****1 文档编号:236109 上传时间:2022-10-07 格式:DOC 页数:29 大小:945KB
下载 相关 举报
基于VHDL的IIR数字滤波器的设计.doc_第1页
第1页 / 共29页
基于VHDL的IIR数字滤波器的设计.doc_第2页
第2页 / 共29页
基于VHDL的IIR数字滤波器的设计.doc_第3页
第3页 / 共29页
基于VHDL的IIR数字滤波器的设计.doc_第4页
第4页 / 共29页
基于VHDL的IIR数字滤波器的设计.doc_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

基于VHDL的IIR数字滤波器的设计.doc

《基于VHDL的IIR数字滤波器的设计.doc》由会员分享,可在线阅读,更多相关《基于VHDL的IIR数字滤波器的设计.doc(29页珍藏版)》请在冰豆网上搜索。

基于VHDL的IIR数字滤波器的设计.doc

淮阴师范学院毕业论文(设计)

毕业设计说明书

学生姓名

学号

170602045

院(系)

物理与电子电气工程学院

专业

电子信息科学与技术

题目

基于VHDL的IIR数字滤波器的设计

指导教师

教授/硕士

2010

5

摘要:

本课题采用一种基于VHDL的IIR数字滤波器的设计方案,首先分析了IIR数字滤波器的原理及设计方法,然后通过QUARTUSⅡ的设计平台,采用自顶向下的模块化设计思想将整个IIR数字滤波器分为:

时序控制、延时、补码乘加和累加四个功能模块。

分别对各模块采用VHDL进行描述后,进行了仿真和综合。

仿真结果表明,本课题所设计的IIR数字滤波器运算速度较快,系数改变灵活,有较好的参考价值。

关键词:

电子设计自动化,IIR数字滤波器(无限长冲激响应),现场可编程门阵列,硬件描述

Abstract:

AkindofIIRdigitalfilterdesignmethodwasintroducedinthepaper,whichisbasedonFPGA.Byusedthedesignplantof QUARTUSⅡ,weadoptblockingmethodnamed“Top-down”anddividetheentireIIRdigitalfilterintofourblocks,whichareClockcontrol,Timedelay,Multiply-additionandProgression.AfterdescribedwithVHDL,wedoemulateandsynthesistoeachblock.Theresultshowsthat,theintroducedIIRdigitalfilterrunsfast,andthecoefficientchangesagility.Ithashighworthforconsulting.

Keywords:

electronicdesignautomation,iirdigitalfilter,fieldprogrammablegatearray,veryhighspeedintegratedcircuithardwaredescriptionlanguage(VHDL)

28

目录

1.序言 3

2.IIR数字滤波器及其硬件实现方法 3

2.1IIR数字滤波器概念 3

2.2IIR数字滤波器的硬件实现方案 5

3.EDA技术和可编程逻辑器件 8

3.1电子设计自动化EDA技术 8

3.2可编程逻辑器件 9

3.3硬件描述语言VHDL及数字系统设计方法 9

4.IIR数字滤波器的设计与仿真结果分析 10

4.1各模块的设计与仿真结果分析 10

4.2IIR数字滤波器的仿真与结果分析 14

结束语 18

参考文献 19

致谢 20

附录1各模块VHDL程序 21

1.序言

随着EDA技术的发展和应用领域的扩大和深入,EDA技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。

这些技术的使用使得现代电子产品的体积减小、性能增强、集成化程度提高,与此同时其可编程能力也得以提高。

在使用EDA进行电子设计时,设计人员可按照“自顶向下”的设计方法,对整个系统进行方案设计和功能划分,采用硬件描述语言(DHL)完成系统行为级设计,最后通过综合器和适配器生成最终的目标器件。

VHDL语言是EDA设计中常用的一种IEEE标准语言,其具有覆盖面广、描述能力强、可读性好、支持大规模设计及逻辑单元利用等优点,因此受到越来越多的电子工程师的青睐。

本次设计采用EDA技术中的模块化设计思想,就IIR数字滤波器中的一些关键电路进行设计,主要内容包括:

时序控制模块、延时模块、补码乘加模块、累加模块和IIR数字滤波器的顶层设计。

分别对各模块采用VHDL进行描述后,进行了仿真和综合,取得了较好的设计效果。

实验结果表明,本课题所设计的IIR数字滤波器具有运算速度快,系数改变灵活方便等特点。

2.IIR数字滤波器及其硬件实现方法

2.1IIR数字滤波器概念

数字滤波器是完成信号滤波处理功能的,用有限精度算法实现的离散时间线性非时变系统。

输入一组数字量,通过运算输出的是另一组数字量。

数字滤波器具有稳定性好、精度高、灵活性大等突出优点。

随着数字技术的发展,用数字技术设计滤波器的功能越来越受到人们的注意和广泛的应用。

2.1.1IIR数字滤波器的原理

一个数字滤波器的系统函数可以表示为:

==(1.1.1)

直接由得出表示输入输出关系的常系数线性差分方程为:

(1.1.2)

式中、为滤波系数,当均为零时,该滤波器为FIR数字滤波器,当不均为零时,则为IIR数字滤波器。

与FIR数字滤波器相比,IIR数字滤波器可以用较低的阶数获得高的选择性,所用的存储单元少,成本低、信号延迟小,并且IIR数字滤波器可以借助于模拟滤波器的设计成果,设计工作量相对较小,为此,本文就IIR数字滤波器进行相关讨论。

2.1.2IIR数字滤波器的基本结构

IIR数字滤波器有直接型、级联型和并联型三种基本结构。

由IIR数字滤波器的N阶差分方程(1.1.2)式可知,设M=N=2,则网络结构如图1-1所示。

a0

x(n)

y(n)

a1

z-1

b0

a2

z-1

b1

图1-1直接型结构

2.1.3IIR数字滤波器的设计方法

IIR数字滤波器的设计方法通常有模拟转换法、零极点累试法和优化设计法。

1.IIR数字滤波器的模拟转换设计法

利用模拟滤波器成熟的理论和设计方法来设计IIR数字滤波器是经常使用的方法。

设计过程是:

按照技术要求设计一个模拟滤波器,得到滤波器的传输函数,再按一定的转换关系将转换成数字滤波器的系统函数。

将传输函数从s平面转移到z平面的方法有多种,但工程上常用的是脉冲响应不变法和双线性变换法。

2.IIR数字滤波器的零极点累试法

上述介绍的模拟转换设计法实际上是数字滤波器的一种间接设计方法,而且幅度特性受到所选模拟滤波器特性的限制。

例如巴特沃斯低通幅度特性是单调下降,而切比雪夫低通特性带内或带外有上、下波动等,对于要求任意幅度特性的滤波器,则不适合采用这种方法。

下述介绍的在数字域直接设计IIR数字滤波器的设计方法,其特点是适合设计任意幅度特性的滤波器。

在IIR数字滤波器的直接设计法中零极点累试法较为常用,设单位脉冲响应的零极点表达式为

(1.1.3)

按照(1.1.3)式,系统特性取决于系统零极点的分布,通过分析,我们知道系统极点位置主要影响系统幅度特性峰值位置及其尖锐程度,零点位置主要影响系统幅度特性的谷值位置及其凹下的程度;且通过零极点分析的几何作图法可以定性地画出其幅度特性。

上面的结论及方法提供了一种直接设计滤波器的方法。

这种设计方法是根据其幅度特性先确定零极点位置,再按照确定的零极点写出其系统函数,画出其幅度特性,并与希望的进行比较,如不满足要求。

可通过移动零极点位置或增加(减少)零极点,进行修正。

3.优化设计法

IIR数字滤波器除模拟转换设计法和零极点累试法外,还有一种直接在频域或者时域中进行设计,联立方程后需要计算机作辅助运算的方法,即所谓的优化设计法。

2.2IIR数字滤波器的硬件实现方案

滤波器的实现主要包括两大类:

DSPTMS320系列芯片的实现和ISP器件的实现(主要包括FPGA和CPLD)。

其中利用DSPTMS320系列芯片实现滤波时速度较慢,而利用ISP器件实现时,其运算速度比DSP器件要快好多倍。

FPGA的实现包括其自带的核的实现方法和自编程实现方法。

核的实现方法虽然好用并且结构缜密,但一般情况下使用的权限都会受到注册购买的限制,因此基于FPGA的自编程实现方法成了滤波器实现的首选。

1.方案一:

直接相乘累加式

对于二阶的IIR数字滤波器,其传递函数为:

(1.2.1)

滤波器信号流图见图1-1,在第n时刻,是当时的输入样本;是n时刻的IIR滤波器的输出:

(1.2.2)

因此,可以用硬件乘法器和硬件加法器来实现乘法和加法。

由式(1.2.2)可以看出,按照这种设计方法,要用到5个乘法器和6个加法器。

对于FPGA的设计来说,这种方法的缺点是比较耗费资源。

2.方案二:

基于ROM查表法的VHDL结构化设计

采用ROM查表的方法,主要是为了避免使用硬件乘法器。

二阶IIR的一般表示形式为:

(1.2.3)

其中是输入序列,是输出序列,和是系数。

假设输入序列为位2的补码,并以定点表示,并<1,对于可以表示为:

(1.2.4)

式中:

k表示的第位,上标为0的是符号位,因此可以定义一个5bit为变量的函数F为:

(1.2.5)

由此可以得到:

-(1.2.6)

由于F函数仅有32种可能取值,因此可以设计一个32*b位的ROM构成的如图1-2描述的基于ROM的实现结构。

数据输入串行移入SR1和SR2,由抽头处得到,每计算出一个值后,便并行加载到SR3中,然后串行移入SR4,并在抽头处得到和。

ROM的输入地址由组成。

按此方法设计的优点是避免了占主要运算量的乘法运算,节省了FPGA的硬件资源,缺点与FIR滤波器利用ROM方法设计相同,即使用不够灵活。

当系数发生变化时,更改ROM内的数据十分不便,特别是当阶数比较大时,ROM内的数据较多,程序外的运算量也很大,修改数据更为不方便

图1-2基于ROM的实现结构

3.方案三:

基于ROM查表法的改进型设计

此方法结合了直接相乘累加式和ROM查表法的优点,使得设计灵活,设计周期短,节省资源。

二阶IIR的一般表示形式为:

(1.2.6)

这里是输入序列,是输出序列,和是系数。

设输入序列为位2的补码,并以定点表示,并<1,对于可以表示为:

(1.2.7)

式中:

k表示的第位,上标为0的是符号位,因此可以定义一个5bit为变量的函数为:

(1.2.8)

同理可得:

(1.2.9)

由此可以得到:

(1.2.10)

令,可以推出:

(1.2.

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

当前位置:首页 > 幼儿教育 > 少儿英语

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

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