




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录目录 引引 言言5 5 第一章第一章 fpgafpga 的设计流程的设计流程6 6 1.11.1 fpgafpga 概述概述 6 6 1.21.2 fpgafpga 设计流程设计流程 8 8 1.31.3 硬件描述语言硬件描述语言 hdl(hardwarehdl(hardware descriptiondescription language)language)1010 1.41.4 fpgafpga 开发工具开发工具 quartusquartus 软件设计流程软件设计流程1111 第二章第二章 有限冲激响应有限冲激响应(fir)(fir)滤波器的原理及设计滤波器的原理及设计1414 2.12.1 数字信号处理基础原理数字信号处理基础原理 1414 2.22.2 firfir 滤波器背影知识滤波器背影知识 1717 2.32.3 firfir 数字滤波器原理数字滤波器原理 1818 2.42.4 利用窗函数法设计利用窗函数法设计 firfir 滤波器滤波器2222 第三章第三章 firfir 数字滤波器的数字滤波器的 fpgafpga 实现实现2727 3.13.1 串行串行 firfir 滤波器原理滤波器原理 2727 3.23.2 分布式算法基础分布式算法基础 2727 3.33.3 直接型直接型 firfir 滤波器的原理结构图滤波器的原理结构图 3030 3.43.4 具有转置结构的具有转置结构的 firfir 滤波器滤波器 3131 第四章第四章 结论与总结结论与总结3636 谢谢 辞辞3737 参考文献参考文献3838 摘要摘要: :本论文课题是基于 fpga 的 fir 滤波器设计与实现 。数字滤波器是 语音与图象处理、模式识别、雷达信号处理、频谱分析等应用中的一种基 本的处理部件,它能满足滤波器对幅度和线性相位的严格要求,避免模拟 滤波器所无法克服的电压漂移、温度漂移和噪声等问题。有限冲激响应 (fir)滤波器能在设计任意幅频特性的同时保证严格的线性相位特性。 因此在许多应用领域都显示了强大的生命力,具有重要应用意义。本文介 绍了用 vhdl 实现线性相位 fir(有限长单位冲激响应)滤波器。提出了一 种基于 fpga 的 fir 滤波器设计方案。介绍了基于 fpga 的 fir 滤波器的数 字信号处理的算法设计,采用直接型和转置型的基本结构来设计,其运算 效率明显提高,并结合先进的 eda 软件进行高效的设计和实现,并给出了 用 quartus 运行的仿真结果。该设计对 fpga 硬件资源的利用高效合理, 用 vhdl 编程,在 pfga 中实现了高采样率的 fir 滤波器。 关键字:关键字:fir 滤波器;fpga;vhdl;matlab;quartus abstract:abstract: digital filter is a fundamental device used in pronunciation d h 4 验算技术指标是否满足要求。求设计出的滤波器频率响应用下式计算: h()= 2.3.1 ; 即 h()=dtfth(n) j e 1 0 )( n n nh nj e j e 检验是否满足要求,如果 h()不满足要求根据具体情况重复 2、3、4 步,直 j e 到满足要求。 注:窗函数法是从时域出发的一种设计方法,若技术指标在频域给出的,则用 频率采样法设计 fir 滤波器。本论文不涉及频率采样法设计 fir 滤波器。 3 设计实例 设计理想 fir 线性滤波器,已知 其它0 ,1 )( cc j d eh 故单位冲激响应为 c lc dedenh n nj n nj d ) 2 1 () 2 1 ( 2 1 2 1 )( = ) 2 1 ( ) 2 1 sin() 2 1 (sin n n n n n n c 若 n 为奇数,当 n=时,由上式得 h()=1- 2 1n 2 1n c 当 n时,=0 2 1 n ) 2 1 ( ) 2 1 (sin n n n n 设截止频率,h(n)的长度 n=21,则 fir 滤波器的 matlab 实现程序如下: 4 c clear; close all; n=21; wc=3*pi/4; n=0:n-1; r=(n-1)/2; hdn=-sin(wc*(n-r)/pi/(n-r); if rem(n,2)=0 hdn(r+1)=1-(wc/pi); end hn1=fir1(n-1,wc/pi,high,boxcar(n); hn2=fir1(n-1,wc/pi,high,hamming(n); subplot(2,2,1) stem(n,hn1,.) line(0,20,0,0); title(矩形窗设计的 h(n); xlabel(n);ylabel(h(n); subplot(2,2,3) stem(n,hn2,.) line(0,20,0,0); title(hamming 窗设计的 h(n); xlabel(n);ylabel(h(n); hn11=fft(hn1,512); w=2*0:511/512; subplot(2,2,2) plot(w,20*log10(abs(hn11) grid; axis(0,2,-80,5); title(幅度特性); xlabel(w/pi);ylabel(幅度(db); hn22=fft(hn2,512); subplot(2,2,4) plot(w,20*log10(abs(hn22) grid axis(0,2,-80,5); title(幅度特性); xlabel(w/pi);ylabel(幅度(db); 用矩形窗和 hamming 窗设计的 fir 高通滤波器 3 3 firfir 数字滤波器的数字滤波器的 fpgafpga 实现实现 在上一章中,我们已经对数字滤波器的一般设计方法(窗函数法)进行了 说明。本章主要对数字滤波器的结构进行分析,展示 fir 转置结构滤波器原理 图,以及如何用 fpga 实现 fir 数字滤波器,即如何用 vhdl 编程并在 quartus中进行逻辑综合及时序仿真。 3.13.1 串行串行 firfir 滤波器原理滤波器原理 串行结构的最大优点是实现简单,串行设计只需要一个乘法器,一个循环移位 寄存器(或ram结构),一个只读存储器。当对电路运行速度要求不高时,采用此 种结构将大大节省硬件资源。此时通过提高内部时钟方法,输入信号数据率为 1mhz的16阶串行滤波器,移位寄存器的触发时钟和计数器时钟为16mhz,计数器 给系数rom地址产生权系数与移位寄存器串行输出的数据乘法累加输出。计数器 每16个时钟给乘法累加器一个清零时钟信号。 3.23.2 分布式算法基础分布式算法基础 传统算法强调乘-累加(multiply-accumulate,mac)的。比如下式给出了线性 卷积和。 1 0 * l k knxkfnxnfny 对于每次采样都需要进行l次连续乘法和l-1次加法操作来计算乘积之ny 和。这种做法所需的硬件电路规模比较大,而且电路的执行速度也比较慢。对 于传统pdsp的mac,计算乘积还有另一种方法da算法。 分布式算法(distributed arithmetic,da)是一项重要的fpga技术,广泛应用在 计算乘积和 中 1 0 , n n nxncxcy 当使用传统算法单元完成一个滤波周期时,大约需要用n个mac循环。使用 流水线可以缩短这一数量,但也非常有限,仍旧非常长。当使用通用乘法器 (sop,sum of products)时,这就成了一个简单问题了。 为了理解da设计范例,考虑“乘积和”如下: 1 0 , n n nxncxcy = 1 1. 1 1 00nxncxcxc 假设系数是已知常数,是变量。无符号da系统假设变量的表达式ncnxnx 如下: 1 0 1 , 0,2 b b b b b nxnxnx 其其中表示的第位,而也就是的第次采样,而内积可以表示nxbnxbnxxny 为: 1 0 1 0 2 n n b b b b kxncy 重新分别求和(分布式算法的由来),其结果如下: )202020(0 0 0 2 2 1 1 xxxcy b b b b +)202 1 2 1 (1 0 0 2 2 1 1 xxxc b b b b . . . +)2 1.22(1 0 0 1 1 nxnxnc b b = 1 111 2)1 1. 1 1 00( b bbb nxncxcxc + 2 222 2)1 1 1 1 00( b bbb nxncxcxc . . . + 0 000 2)1 1. 1 1 00(nxncxcxc 或者可以写成简洁的如下形式: 1 0 1 0 1 0 1 0 ),(22 b b n n b b n n b b b b nxncfnxncy 函数的实现需要特别的注意。所指的实现方法就是利用一个lut实),(nxncf b 现映射。也就是说字宽预先设定程序的lut接受一个n位输入向),(nxncf b n 2 量 ,输出为。各个映射都由1,.,1 ,0nxxxx bbbb ),(nxncf b ),(nxncf b 相应的二次幂加权并累加。利用如下图(b)所示的移位加法器就能有效地实现 累加。在n次查询循环后就完成了对内积的运算。y 3.33.3 直接型直接型 firfir 滤波器的原理结构图滤波器的原理结构图 数字滤波器通常都是应用于修正或改变时域或频域中信号的属性。最为普 通的数字滤波器是线性时不变量(linear time-invariant,lti)滤波器。lti 与输入信号之间相互作用,经过一个称为线性卷积的过程,表示为 y=f*x,其中 f 是滤波器的脉冲信号,而 y 是卷积输出。线性卷积过程定义如下: *nfnxny kk knxkfknfkx lti 数字滤波器通常分成有限脉冲响应(finite impulse response,fir)和 无限脉冲响应(in finite impulse response,iir)两类。带有常系数的 fir 滤 波器是一种 lti(linear time-invariant,线性时不变量)数字滤波器。l 阶或者 长度为 l 的 fir 输出对应于输入时间序列 xn的关系由一种有限卷积数量形式 给出,具体如下: yn=xx*fn= 3.3.1 1 0 l k knfkx 其中从f00一直到fl-10均是滤波器的l阶的系数,同时也对应于 fir的脉冲响应。对于lti系统可以更为方便的将(3.3.1)表达成z域内的形式: y(z)=f(z)x(z) 其中f(z)是fir的传递函数,其z域内的定义形式如下: f(z)= 1 0 l k k zkf 下图给出了l阶lti型fir滤波器的图解。可以看出fir滤波器是由一个“抽头 延迟线”加法器和乘法器的集合构成的。传给每个乘法器的操作就是一个fir系 数,显然也可以称作“抽头权重” 。过去也将fir滤波器称为“横向滤波器” ,就 是说它的“抽头延迟线”结构。 这种普通的直接型结构是等到所有乘积产生之后再进行相加来完成乘加运 算的,它实质上是一个分节的延迟线,每一节的输出加权累加使得到滤波器的 输出。这种做法所需的硬件电路规模比较大,而且电路的执行速度也比较慢。 在实际应用中,为了减少逻辑资源的占有量和提高系统的运算速度,对 fir 滤 波器需要进行优化处理。考虑到 fir 滤波器的对称性,本文首先对它的表达式 进行优化,然后在 fpga 实现中利用特有的查找表进行优化。 3.43.4 具有转置结构的具有转置结构的 firfir 滤波器滤波器 直接 fir 模型的一个变种称为转置式 fir 滤波器,可以根据上图中的 fir 滤波 器来构造: (1) 输出互换 (2) 颠倒信号流的方向 (3) 用一个差分放大器代替一个加法器,反之亦然 转置式 fir 滤波器结构如下土图所示,通常是指 fir 滤波器的实现。该滤波 器的优点在于我们不在需要给 xn提供额外的移位寄存器,也没有必要为达到 高吞吐量给乘积的加法器添加额外的流水线级。 下面的vhdl代码实现了长为4的滤波器。 library lpm; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity fir_gen is generic(w1:integer:=9; w2:integer:=18; w3:integer:=19; w4:integer:=11; l:integer:=4; mpipe:integer:=3 ); port(clk :in std_logic; load_x:in std_logic; x_in:in std_logic_vector(w1-1downto 0); c_in:in std_logic_vector(w1-1downto 0); y_out:out std_logic_vector(w4-1downto 0) ); end fir_gen; architecture flex of fir_gen is subtype n1bit is std_logic_vector(w1-1downto 0); subtype n2bit is std_logic_vector(w2-1downto 0); subtype n3bit is std_logic_vector(w3-1downto 0); type array_nibit is array(0 to l-1)of n1bit; type array_n2bit is array(0 to l-1)of n2bit; type array_n3bit is array(0 to l-1)of n3bit; signal x: n1bit; signal y: n3bit; signal c: array_n1bit; signal p: array_n2bit; signal a: array_n3bit; begin load:process begin wait until clk=1; if(load_x=0)then c(l-1)w1,lpm_widthb=w1, lpm_pipeline=mpipe, lpm_representation=“signed“, lpm_widthp=w2, lpm_widths=w2) port map(clock=clk,data=x, datab=c(i),result=p(i); end generate; y_out=y(w3-1downto w3-w4); end flex; 通过quartus软件编译正确通过,其rtl级结构如下图所示: 具体过程的第一步是load,如果load_x=0,就将系数下载到抽头延迟线上。 否则就将数据字下载到x寄存器中,第二步称为sop,执行乘积和的计算,对乘 积p(i)进行一位有符号扩展,并加到前面的部分乘积上。还要注意所有的乘法 器都由generate声明来举例说明的,这一声明允许额外流水线级的分配。最后, 输出y_out被赋以sop除以256的植,因为事先假定的系数都是分数形式的(也就 是) 。设计使用了890个lc,以46。72mhz的registered performance0 . 1kf 运行。 要仿真这一长度为4的滤波器,先来研究一下daubechies db4滤波器系数: g(z)=(1+)+(3+)+(3-)+(1-)33 1 z3 2 z3 3 z 24 1 g(z)=0.48301+0.8365+0.2241-0.1294 1 z 2 z 3 z 将系数量化成8位(加上符号位)精度模式,结果如下: g(z)=(124+214+57-33)/256 1 z 2 z 3 z =+ 256 124 1 256 214 z 2 256 57 z) 256 33 ( 3 z 下载了daubechies滤波器系数的4抽头可编程fir滤波器仿真 从波形图可以看出在前面4个阶段,我门将系数124,214,57,-33下载到 抽头延迟线。接下来通过将100下载到 x寄存器中来核对滤波器的脉冲响应。首 次有效输出出现在450ns之后,就像我们在波形图上看到的一样。 4 4 结论与总结结论与总结 数字滤波器日益发展,逐渐取代了传统的模拟滤波器,在数字信号处理方 面取得了长足的发展。由于 fir 滤波器具有 iir 滤波器所没有的线性相位,在 实现方面比较容易,所以具有广泛的应用。本课题的主要设计任务就是要用 fpga 实现 fir 数字滤波器,主要讨论了 fir 数字滤波器串行低通结构。 普通的直接型结构直观,但是当滤波器的阶数比较大时,它实现起来就比 较困难,不但又大量的运算,而且运算的速度也非常慢。对于 fir 数字滤波器 的 fpga 实现,本文用了 vhdl 语言进行了编程,具体是以一个转置结构的 fir 滤波器为例。利用 vhdl 语言,采用可重复配置的 fpga,降低了设计成本,提 高了系统的适用性。由于 fir 滤波器的系数是常数,可以保存在 rom 中,在运 算的通过查找表的方法可很快得到乘法输出,减少了使用的资源和布线延时, 节省了运算时间。 vhdl 设计的验证综合等过程需要借助 vhdl 的工具软件来完成。本文采用 可将 vhdl 描述转换为 fpga 实现的工具 quartus软件。它是国内比较常用的 一种仿真软件,本次设计所用的是 quartus,quartus的逻辑综合工具为 vhdl 语言设计能充分利用芯片的特点提供了有利条件。而且本设计中所用到的 flex 系列芯片,其特有的结构能够使 vhdl 语言的存储器设计事半功倍。 在本次毕业设计过程中,我学会了应用 quartus软件和 matlab 软件,大 大提高
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第六单元说课课件下载
- 出口委托代理协议书范本
- 出轨家暴协议书范本
- 抽签互换协议书范本
- 定制戒指协议书范本大全
- 房产委托拍卖协议书范本
- 民宿房东分成协议书范本
- 心理健康课件网站
- 空分装置安全管理课件
- 二零二五年度新型城镇化施工合同编号
- 预防呆滞库存管理制度
- 医院培训课件:《非计划拔管应急预案》
- 生产能力提升与效率提升实施计划
- 2024年计算机二级考试真题及答案
- 牛津译林版小学英语二年级上册同步练习试题及答案(全册)
- 麻醉主任述职报告
- 食管癌术后并发吻合口瘘的护理查房
- 河北衡水中学的管理制度
- 行政管理学思维导图课件
- 2024-2025学年宁德市九年级第一学期期末质检试卷附答案解析
- 城市建设用地租赁合同
评论
0/150
提交评论