基于vhdl的低通fir数字滤波器设计112111232周鹏

上传人:今*** 文档编号:105956425 上传时间:2019-10-14 格式:DOCX 页数:19 大小:1.47MB
返回 下载 相关 举报
基于vhdl的低通fir数字滤波器设计112111232周鹏_第1页
第1页 / 共19页
基于vhdl的低通fir数字滤波器设计112111232周鹏_第2页
第2页 / 共19页
基于vhdl的低通fir数字滤波器设计112111232周鹏_第3页
第3页 / 共19页
基于vhdl的低通fir数字滤波器设计112111232周鹏_第4页
第4页 / 共19页
基于vhdl的低通fir数字滤波器设计112111232周鹏_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《基于vhdl的低通fir数字滤波器设计112111232周鹏》由会员分享,可在线阅读,更多相关《基于vhdl的低通fir数字滤波器设计112111232周鹏(19页珍藏版)》请在金锄头文库上搜索。

1、EDA技术与应用课程设计报告作 者:周鹏学 号:112111232学院(系):理学院专 业:光学工程题 目:基于VHDL的低通FIR数字滤波器设计指导者: 蒋立平 教授 2013年 4月摘 要数字滤波器由数字乘法器、加法器和延时单元组成的一种算法或装置。主要用于对输入离散信号的数字代码进行运算处理,以达到改变信号频谱的目的。本文论述的数字滤波器是运用VHDL语言制作的,主要工作在于乘法器的设计,运用CSD编码方法改进乘法器系数。所完成的低通滤波器对由DDS产生的信号进行采样、滤波,经实验可以发现所制作的低通FIR数字滤波器能够很好地对输入信号进行滤波。关键字:FIR滤波器,VHDL,DDS,C

2、SD编码目录引言1数字滤波器1数字滤波器原理1数字滤波器分类2FIR滤波器的设计3FIR参数设置、获取冲击响应系数4CSD编码优化系数6乘法器的具体实现8FIR数字滤波器的整体实现9DDS设计11DDS简介11DDS的制作11实验结果13实验改进分析15总结与收获16引言数字滤波器是对数字信号进行滤波处理以得到期望的响应特性的离散时间系统。数字滤波器一词出现频率变高是在上世纪60年代,当时随着电子计算机技术和大规模集成电路的发展,数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。数字滤波器在语言信号处理、图像

3、信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。数字滤波器数字滤波器是一种电子滤波器,它与完全工作在模拟信号域的模拟滤波器不同。数字滤波器工作在数字信号域,它处理的对象是经由采样器件将模拟信号转换而得到的数字信号。数字滤波器的工作方式与模拟滤波器也完全不同:后者完全依靠电阻器、电容器、晶体管等电子元件组成的物理网络实现滤波功能;而前者是通过数字运算器件对输入的数字信号进行运算和处理,从而实现设计要求的特性。数字滤波器有着模拟滤波器所无法比拟的优越性,数字滤波器具有比模拟滤波器更高的精度,甚至能够实现后者在理论上也无法达到的性能。比如数字滤波器甚至可以使通带内极接近截止频率处还能保持

4、原信号幅度,而信号一过截止频率到达阻带就能发现信号有着明显的衰减。数字滤波器相较于模拟滤波器还具有更高的信噪比和无可比拟的可靠性。数字滤波器原理处理后的处理后的数字信号数模转换器待处理的数字信号数字信号处理器待处理的模拟信号模数转换器模拟信号图1-1 数字滤波器原理图数字滤波器是按照程序计算信号,到达滤波的目的。通过对数字滤波器的存储器编写程序,到达滤波的目的。通过对数字滤波器的存储编写程序,就可以实现各种滤波功能。数字滤波器的原理图如下1-1所示,其核心就是数字信号处理器。应用数字滤波器处理模拟信号(对应模拟频率)时,首先须对输入模拟信号进行限带、抽样和模数转换。数字滤波器输入信号的数字频率

5、,按照奈奎斯特抽样定理,要使抽样信号的频谱不产生重叠,应小于折叠频率,其频率响应具有以2为间隔的周期重复特性,且以折叠频率即=点对称。为得到模拟信号,数字滤波器处理的输出数字信号须经数模转换、平滑。数字滤波器分类数字滤波器有低通、高通、带通、带阻和全通等类型。它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。一般来说,数字滤波器主要分为两种,即IIR(Infinite Impulse Response,无限脉冲响应)和FIR(Finite Impulse Response,有限脉冲响应)。IIR数字滤波器采用递归型结构,即结构上带有反馈环路。IIR滤波器运算结构通常由延时、乘以系数

6、和相加等基本运算组成,可以组合成直接型、正准型、级联型、并联型四种结构形式,都具有反馈回路。由于运算中的舍入处理,使误差不断累积,有时会产生微弱的寄生振荡。而且IIR数字滤波器的相位特性不好控制,对相位要求较高时,需加相位校准网络。IIR的设计相对来说,较为复杂,不利于计算机编程,用于计算的时延也相对较大,这几点不利于信号的实时处理。FIR数字滤波器的结构上没有反馈回路,所以FIR数字滤波器的实现上相对于IIR数字滤波器要简单得多。虽然FIR滤波器的幅频特性精度较之于IIR低,其性能也不如同样阶数的IIR,但是FIR滤波器具有线性相位,即不同频率分量的信号经过FIR滤波器后它们的时间差不变,这

7、在信号处理中非常重要。FIR滤波器最重要的优点就是它不存在系统极点,所以FIR滤波器是绝对稳定的系统。而且由于数字计算硬件的飞速发展,FIR滤波器性能上的相对不足已经不成为问题。再加上引入计算机辅助设计,FIR滤波器的设计也得到极大的简化。现在应用最广的是线性、时不变数字滤波器,以及FIR滤波器。FIR滤波器的设计本次课题设计就是基于VHDL语言设计一个高效的FIR数字滤波器。FIR滤波器的单位脉冲响应长度是有限的,它的差分方程或输出方程如下式(1-1)所示:y(n)=m=0N-1hmx(n-m) (1-1)FIR的系统函数为:Hz=n=0N-1h(n)z-n (1-2)从FIR的系统函数可以

8、看出其有n-1个零点,极点都在原点上,其系统函数的分母为1,不存在反馈回路。FIR滤波器具有h(0),h(1)h(n-1)共n个冲击响应序列,即有n个系数,通常被称为n阶FIR滤波器。实现输出公式(1-1)的直接结构形式如下图(1-2)所示。图1-2 n阶FIR滤波器的直接结构形式从该图可以看出,要实现n阶FIR滤波器至少需要n个乘法器,n-1个加法器。在电路实现中,乘法器占用的逻辑单元数较多。乘法器的增加,意味着电路成本增加,另外对电路的工作速度也有影响。所以FIR滤波器设计的主要任务就是乘法器的设计。FIR滤波器的参数决定其冲击响应h(i),一旦FIR滤波器的参数确定后,其冲击响应也就随之

9、确定,即h(i)为一个常数。信号与一个常数进行相乘,可以针对特定系数设计特定的乘法器,可以用移位器,加法器和减法器来实现。一般情况下,移位器不消耗芯片资源,而减法器由加法器来实现。如此就可以将复杂的乘法器简化为简单的加法器,不仅节省芯片资源,也不会对电路的工作速度有所影响。那么具体需要多少加法器,必须先知道数字滤波器的冲击响应系数,接下来就进行获取系数的相关工作。FIR参数设置、获取冲击响应系数数字滤波器能比模拟滤波器做得更好,相应地,对数字滤波器的技术指标也比较高。模拟滤波器常用的技术指标是半功率点截止频率c,半功率点是指角频率=c时,滤波器的幅度平方等于其最大值的1/2。数字滤波器中常用的

10、技术指标有四个:通带截止频率、通带最大衰减、阻带截止频率和阻带最小衰减。本次课题设计所制作的是低通滤波器,下面就以低通滤波器为例,介绍上述四个指标。下图1-3所示为低通滤波器的频率响应图。其中,p为通带截止频率,p是通带允许的偏差,简称通带波动,=0p是通带的范围;s是阻带截止频率,s是阻带允许的波动,简称阻带波动,=s是阻带的范围;=ps的区间称过渡带,c也就是半功率点截止频率。如果通带和阻带的波动用分贝的衰减函数来表示的话,则叫做通带衰减和阻带衰减。图1-3 低通滤波器的频率响应本次课程设计通过使用Matlab中的FDATool(Filter Design & Analysis Tool

11、)工具来设计获取所设计的低通滤波器的冲击响应参数。本次课程设计的低通滤波器的相关系数设定如下:(1) 类型:FIR低通滤波器(16阶);(2) 采样频率:Fs=96kHz,截止频率:Fc=5kHz;(3) 输入序列位宽为10位(最高位为符号位)。Matlab中的FDATool的界面如图1-4所示,选择低通(Lowpass),Kaiser窗口法(Beta设定为0.5)来进行设计,设定阶数为15,采样频率96000Hz,截止频率5000Hz。经过Matlab的计算后可以对所设计的低通FIR滤波器进行分析。可以查看滤波器的幅频响应,相频响应,群延时,冲击响应,阶跃响应,零极点图等。图1-5和图1-6

12、分别显示了本次设计的幅频和相频响应,阶跃响应。从图1-5中可以看出所设计的FIR滤波器在通带范围内有很好的线性相位特性;从图1-6图1-4 FDATool设计界面中可以看出冲击响应在低频到高频呈现对称结构。图1-5 幅频和相频响应图1-6 冲击响应经过Matlab量化后得到的系数为:46 72 99 125 148 167 181 188 188 181 167 148 125 99 72 46从生成的系数中可以发现系数对称分布,所以在设计FIR数字滤波器中的乘法器时就可以只用设计一半的乘法器即可。获取冲击响应系数后,就可以开始设计FIR数字滤波器中的重要元件乘法器。由上述讨论可知乘法器的设计

13、可以由移位器,加减法器来实现。而加法器的个数则主要决定了乘法器所需资源和对电路速度的影响。当输入信号与固定系数相乘时,即一个二进制数与一常数(也用二级制表示)相乘时,常数表示成二进制数中的1的个数就决定了所需加法器个数。获得系数后所需要做的就是对系数的二进制码进行优化改进,以减少加法器的个数。CSD编码优化系数本次课程设计过程中,选择通过CSD编码方法来对系数进行优化改进。常规情况下,乘法器的系数如果是常数,会进行二进制编码,从而决定所需加法器个数。CSD编码方式就是对普通二进制码进行重新编码从而减少非零个数,即减少加法器个数,也就减少了芯片资源的占用,而且还会提高芯片运行的速度和效率。+20

14、2223242526125SSignal: S图1-7 常规二进制法乘法器构图以上述所得系数的125为例。FIR数字滤波器采样得到一个信号后,对信号模数转换后,得到一个二进制数,将该二进制数与125相乘就是乘法器的主要工作。125用二进制表示为:125=111 1101=26+25+24+23+22+20,其电路结构如下图1-7所示。从中可以看出该结构需要使用6个加法器。从上述乘法器系数为125的例子可以看出,很显然这样的方法会随着系数的增大而使加法器显著增多,这对芯片的使用会占用较多资源,不利于芯片高质量、高效率地完成任务。目前较为流行的方法就是对二进码进行改进,已达到减少非零数的个数,从而降低结构的复杂度。一种有效的方法是用有符号数字量(Signed Digit Numbers, SD)来表示二进制数。有符号数字量表示法与传统二进制有所不同,它具有三重值(也就是说数字的值域是0,1,-1,其中-1经常写成)。SD表示法应用在超前进位加法器或乘法器中已经被证明能够降低复杂性,这是因为:通常可以通过非零元素的数量来估计乘法的效率,而应用SD表示法可以降低非零元素的数量。统计表明,数字的二进制补码编码中有一半数位是零。对于SD编码而言,零元素的密度增加到三分之二,从而简化了乘法器的结构。例

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号