基于FPGA的数字高通滤波器设计.doc_第1页
基于FPGA的数字高通滤波器设计.doc_第2页
基于FPGA的数字高通滤波器设计.doc_第3页
基于FPGA的数字高通滤波器设计.doc_第4页
基于FPGA的数字高通滤波器设计.doc_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

(2014届)本科毕业设计(论文)资料题 目 名 称:基于fpga的数字高通滤波器设计学 院(部): 理学院 专 业: 电子信息科学与技术 学 生 姓 名: 班 级: 电科 学号: 指导教师姓名: 职称: 讲师 最终评定成绩: 湖南工业大学教务处2014届本科毕业设计(论文)资料第一部分 毕业论文 (2014届)本科毕业设计(论文)题 目 名 称:基于fpga的数字高通滤波器设计 学 院(部): 理学院 专 业: 电子信息科学与技术 学 生 姓 名: 班 级:电科1 学号 指导教师姓名: 职称 讲师 最终评定成绩: 2014年5月 i湖南工业大学本科毕业论文(设计)诚信声明本人郑重声明:所呈交的毕业论文(设计),题目基于fpga数字高通滤波器设计是本人在指导教师的指导下,进行研究工作所取得的成果。对本文的研究作出重要贡献的个人和集体,均已在文章以明确方式注明。除此之外,本论文(设计)不包含任何其他个人或集体已经发表或撰写过的作品成果。本人完全意识到本声明应承担的责任。作者签名: 日期: 年 月 日ii摘 要 数字滤波器是现代数字信号处理系统中的重要组成部分,它具有模拟滤波器所无法替代的新特性,所以在通信、语音与图像处理、自动控制等领域有广泛的应用,它在降低噪声、提高信噪比及信号的频谱纯度等方面有着重要的意义。数字滤波器根据单位脉冲响应的不同,可分为fir(有限长脉冲响应)滤波器和iir(无限长脉冲响应)滤波器,fir的优点在于具有良好的相位特性,iir的优点在于具有良好的幅频特性,可以根据不同的系统性能要求选择不同的滤波器。目前滤波器的主要实现方法有三种,分别是:单片通用数字滤波器集成电路、采用dsp器件和fpga(现场可编程门阵列)器件。本文采用fpga器件来实现滤波器的设计,在实现方法上先用matlab/simulink工具箱建立滤波器模型,然后用signalcompiler把simulink的模型文件(后缀是.mdl)转化为硬件描述语言vhdl文件,最后利用quartusii完成滤波器的仿真、配置、编译和下载。本文最后用实例介绍了fir数字滤波器的实现过程。关键词:数字滤波器 通信 集成电路 dsp fpgaiii湖南工业大学本科毕业设计(论文)abstract the digital filter is in modern digital signal processing systems , one important part of it can not be replaced with analog filters new features , so in communications, voice and image processing, automatic control and other fields have a wide range of applications , it is reduce noise, improve spectral purity , and signal to noise ratio and other aspects of great significance . the digital filter according to the unit impulse response can be divided into fir (finite impulse response ) filters and iir ( infinite impulse response ) filter , the advantage is that fir has good phase characteristic has the advantage that a good iir amplitude-frequency characteristics , you can select different filters depending on the system performance requirements . at present, there are three types of filter implementation , namely: a monolithic integrated universal digital filters using dsp device and fpga (field programmable gate array ) devices. in this paper fpga devices to implement filter design , first create a filter model with matlab / simulink toolbox on the implementation and use signalcompiler the simulink model files ( suffix . mdl) into a hardware description language vhdl files, last quartusii completed filter simulation use , configure , compile and download. finally, this paper describes the implementation process with examples fir digital filter .keywords: digital filter communication integrated circuit dsp fpga iv目 录第1章 绪论11.1 研究背景11.2 研究现状11.3 本课题研究内容方法3第2章 数字滤波器简介42.1 数字滤波器概述42.1.1 数字滤波器的定义42.1.2 数字滤波器的分类52.1.3 数字滤波器的设计要求和方法52.2 fir数字滤波器原理6第3章 数字滤波器的总体设计方案73.1 fir和iir设计方法概述73.2 滤波器设计方法比较73.3 基于fpga的dsp设计流程9第4章 基于dsp builder的滤波器设计与仿真114.1设计软件简介114.1.1 dsp builder的简介114.1.2 matlab的简介114.1.3 quartus的简介124.2 16阶fir滤波器设计134.2.1 4阶滤波器模型的建立134.2.2 在simulink仿真并生产vhdl代码154.2.3 16阶fir滤波器模型的建立164.2.4用matlab的滤波器设计工具计算fir滤波器的系数184.2.5 ide软件工具生成vhdl文件并用synplify进行综合224.2.6 quartus ii编译24结 论25致 谢26参考文献27附 录28附录1 软件相关程序2829第1章 绪论1.1 研究背景当今,飞速发展的数字信号处理技术,已经自成一门学科,并且以不同形式影响和渗透到其它学科当中;与经济有者紧密的联系,与国防建设也紧密相连;影响并改变着我们的生产和生活方式,所以受到了广泛的关注。数字化,智能化和网络化是当今信息技术发展的三大趋势,而数字是智能化和网络化的基础上,预示着我们的现实生活中的许多信号,如无线电信号,电视信号,雷达信号,通信信号,射电天文学的信号多种多样,基本的生物医学信号,控制信号,天气信号,地震信号,机械振动信号,依此类推。大多数这些信号是模拟信号,也可将数字信号的一小部分。模拟信号参数的一个连续函数,该参数可以是一维的,二维的,或者可以是多维的。在大多数情况下,由于模拟信号是下一维变量的时间离散化(采样) ,而这样的离散(量化)的幅度的模拟信号变为一维数字信号。因此,数字信号实际上是由一个数字序列,它是一种数字音频信号进行采样和量化的信号,以获得一维离散时间序列;而数字图像信号进行采样,并获得量化的信号是一个两维离散空间序列。数字信号处理方法,是从数字值的处理顺序不同,信号被转换成一种形式,它是合适的。例如,数字信号被滤波以限制噪声和干扰的数目后,他或过滤,或其他信号中分离;信号或功率谱分析发现该数据信号的频谱的频谱标识信号的组合物;变换的信号,使得它更适合于传输,存储和应用程序;编码的信号,以实现数据压缩的目的。数字滤波技术是数字信号分析与处理技术的一个重要分支。同时采集,传输,或信号处理和交换信号是分不开的滤波技术,是高效,灵活和可靠的信号传输是必不可少的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。1.2 研究现状在信号处理的过程中,我们所处理的信号往往与噪声混合,信号传输和处理中一个十分重要的问题就是消除或者减弱从接收到的信号中的噪音。所谓的滤波就是从有用信号和噪声中通过它们的不同特性来提取有用信号的过程,而滤波器就是能实现滤波功能的系统。数字滤波器广泛的应用于现代通信设备和各类控制系统中,在这里则列举了部分应用最成功的领域。1、语音处理语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。它主要包括5个方面的内容:第一,语音信号的分析。就是对语音信号的波形特征、统计特性、模型参数等进行分析和计算;第二,语音合成。利用专用数字硬件或在通用计算机上运行软件来产生语音;第三,语音识别。即用专用硬件或计算机来识别人讲的话,或者识别说话的人;第四,语音增强。即从噪音或干扰中提取被掩盖的语音信号。第五,语音编码。主要用于语音数据压缩,目前已经建立了一系列语音编码的国际标准,大量用于通信和音频处理。近年来,这5方面都取得了不少研究成果,并且,在市场上已经出现了一些相关的软件和硬件产品,例如,盲人阅读机、哑人语音合成器、口授打印机、语音应答机,各种会说话的仪器和玩具,以及通信和视频产品大量使用的音频压缩编码技术。2、图像处理数字滤波技术成功地适用于恢复了静止图像和运动图像和增强,数据压缩,噪声和干扰,图像识别断层x射线摄影,并进一步在雷达,声纳,超声波和红外线信号的可见图像成像成功使用。3、通信数字滤波技术在现代技术在通信领域中的影响之大,以至于几乎没有一个分支不会受到它的影响。信源编码,信道编码,调制,复用,数据压缩和自适应信道均衡,数字滤波器被广泛使用,特别是在数字通信,网络通信,图像通信,多媒体通信应用,如叶的数字滤波器,几乎无法移动。这被认为是软件无线电技术通信技术的未来发展方向,更是以数字滤波技术为基础。4、电视数字电视取代模拟电视是一个必然的趋势。高清晰度电视指日可待的普及,与之配套的视频光盘技术已成为行业具有巨大的市场;可视电话和视频会议产品的更新换代。视频压缩和音频压缩技术成果和标准化工作,促进了蓬勃发展的电视行业,而数字滤波器及其相关技术是视频压缩和音频压缩技术的重要基础。5、雷达雷达信号占据很宽的频带,数据传输速率是非常高的,从而降低了压缩的数据量和数据传输速率是所面临的雷达信号的数字处理的一个问题。在现代雷达系统,数字信号处理部分是必不可少的,因为从信号生成,筛选,治疗的目标参数估计和目标成像是分不开的数字滤波技术。数字滤波器是现代雷达信号非常活跃的研究领域之一。6、其他领域数字滤波器的应用领域如此广泛,以至于想完全列举他们是一个根本不能完成的事情,除了以上几个方面,还有很多其他的应用。例如,在军事上被广泛应用于导航,制导,电子对抗,战场侦察;在配电系统中使用的能源规划和自动检测;在环保应用到自动监测空气污染和噪音干扰;在经济领域被应用到股市预测和经济分析。1.3 本课题研究内容方法 数字滤波器的实现,大体上有如下几种方法:1、单片通用数字滤波器集成电路使用简单便捷是单片通用数字滤波器的最大优点,但是如果它使用多字长和阶数规格不够多,在实际应用中有很大局限性。单片扩展的方式则能使其应用范围变广,但是这会使滤波器的体积和功耗增加,导致另一种局限性。2、专用的dsp器件dsp芯片较单片机则有着更为突出的优点,如它的内部带有乘法器、累加器,它的工作方式为流水线及并行结构,多总线,速度快,配有适于信号处理的指令等。但是,由于它是采用程序顺序执行,所以受限于一些要求高的实时性场合中的应用。3、fpga(现场可编程门阵列)器件fpga器件与采用dsp器件相对应,用可编程逻辑器件实现数字滤波器,它主要适用于一些要求比较高的实时性场合,在可编程逻辑器件容量不断增大、速度不断提高的情况下,使单片系统集成成为了可能。本论文介绍的数字滤波器则是采用fpga器件来实现。先是用matlab/simulink工具箱建立滤波器模型,然后用signalcompiler把simulink的模型文件(后缀是.mdl)转化为硬件描述语言vhdl文件,最后利用quartusii软件完成滤波器的仿真、配置、编译和下载。第2章 数字滤波器简介2.1 数字滤波器概述一个信号选择系统可以被理解为滤波器。它的主要功能是实现某些信号成分的通过并且阻止或衰减其它的成分。它通常被窄意的理解为选频系统,如带通、带阻、低通、高通。在频域和时域均衡器也是一个滤波器,传输介质,如通信系统开放电线,电缆或类似物的特性也是滤波器。滤波器系统可以分成三类:模拟滤波器,采样和数字滤波器。模拟滤波器(af)可以由rlc无源滤波器也可以用运算放大器有源滤波器,它是一种连续时间系统相结合来构成。从电阻,电容,电荷转移器件,放大器等采样滤波器(sf) ,属于离散时间系统中,振幅是连续的。开关电容滤波器,电荷耦合器是一种过滤器。数字滤波器( df)是由一个加法器,乘法器,一个延迟存储单元,时钟滤波电路和其他数字逻辑单元构成。其具有精度高,稳定性好,不存在阻抗匹配问题,时分复用,能够完成一些模拟滤波器的滤波任务就可以完成。其缺点是采样的需要,量化,编码,和一个手时钟频率限制,可处理的信号的最高频率还不够高。此外,由于有限字长效应将导致频域设计偏差值,量化和操作噪音和极限环振荡。2.1.1 数字滤波器的定义输入和输出信号是数字信号,并改变由一些输入信号的动作之间的关系中包含的频率成分,或该设备的某些成分的相对比例就是数字滤波器。因此,数字滤波和模拟滤波相同的概念,但是该信号并实现不同的滤波方法的形式。因为有这种差异,未达到特殊的滤波模拟滤波器无法实现等需要具有高的精度比模拟滤波器,稳定,体积小,重量轻,柔性,和阻抗匹配的数字滤波器。如果对模拟信号进行处理,通过a / dc和d / ac,在匹配信号变换的形式,数字滤波器也可用于过滤模拟信号。 数字滤波器的实现有两种:一是使用通用计算机的,过滤器操作完成编制计算机程序来执行,它是利用计算机软件来实现;第二,在硬件实现中,使用加法器,乘法器常数和延迟组装成专门的设备,当然,这种方法通常是可以达到的,但需要在计算机上进行编程。2.1.2 数字滤波器的分类通过不同的分类方法来对数字滤波器进行分类,则可以分出不同的种类,但总的来说是分成两类。一类称为经典滤波器,该滤波器的特征通常由输入信号的频率成分有用且要过滤掉所有的频率分量占据不同的频带,通过适当的过滤器来实现的频率选择性滤波的目的。例如,该输入信号包括噪声,如果信号频带重叠并干扰不能有效地完成筛选出的干扰,这需要使用另一个类的被称为现代滤波器,如维纳滤波器,卡尔曼滤波器自适应滤波器最优滤波器。这些过滤器可以根据随机信号的内部,从干扰的最佳提取信号的一些统计分布可以。从功能分类,滤波器可分为高通,低通,带阻和带通。理想滤波器是不可能实现的,因为他们都是非因果脉冲响应是无限长的,我们只能按照设计用于过滤一定的标准,从而有可能逼近,这些过滤器可以作为一个理想的近似标准使用。还请注意,数字滤波器的传递函数h(ejw)是周期性的在2,低通带滤波器在2的整数倍,而高频带在的奇数倍,即,模拟的附近过滤器是有区别的。从单位脉冲响应或从现实的网络结构分类,数字滤波器可以分成无限脉冲响应(iir)滤波器和有限脉冲响应(fir)滤波器。他们的系统函数分别为: 式2.1中的h(z)称为n阶iir滤波器函数,(n-1)阶fir滤波器函数为式2.2中的h(z)。2.1.3 数字滤波器的设计要求和方法滤波器的指标常常在频域给出。数字滤波器的频响特性函数h(ejw)一般为复函数,所以通常表示为: (2.3)在式2.3中,|h(ejw)|称为幅频特性函数:(w)称为相频特性函数,幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通滤波器后在时间上的延时情况。一般对iir数字滤波器,通常只用幅频响应函数|h(ejw)|来描述设计指标,相频特性一般不作要求。而对于线性相位特性的滤波器,一般用fir数字滤波器设计实现。2.2 fir数字滤波器原理 fir数字滤波器在数字信号处理的应用中扮演者举足轻重的角色,fir数字滤波器可以提供理想的线性相位响应,获得了恒定的群延迟,在整个频带中,得到的输出信号的零失真,它是通过使用一些简单的算法。这些优势使得fir数字滤波器已成为设计工程师的首选。采用vhdl硬件描述语言或用veriloghdl设计数字滤波器。自写程序往往不能达到很好的优化,使得在性能一般,但良好的ipcore altera公司需要收费的。因此,使用dsp builder的fpga设计方法,fir滤波器设计的基础上更加简单,同时也能满足设计要求。1、fir滤波器的原理fir滤波器系统是有限长的冲激响应,具体的fir滤波器可用下列式子表示: (2.6)在上述公式式2.6中:x(n-r)表示的是延时,r则代表的是fir滤波器的抽头数;b(r)为第r级抽头数(即单位脉冲响应);m是滤波器阶数;滤波器的输出序列由y(n)表示。滤波器就是为了找到一个可实现的系统函数h(z),使其频率响应h(ej)满足条件的频域信号,用卷积的形式表示如下式2.7:y(n)=z(n)*h(n) (2.7) 2、 fir滤波器的参数选取使用matlab软件中的滤波器专用设计工具fdatool仿真设计的数字滤波器,可以满足要求的fir滤波器幅频特性,因为浮点小数在fpga中实现得比较困难,并且成本太高,因而需要将滤波器的系数和输人数据转化为整数,量化后的系数可以在软件中直接进行转换,将输入的数据,乘以28的增益用altbus来控制位宽实现数据转换成整数输入。第3章 数字滤波器的总体设计方案3.1 fir和iir设计方法概述iir数字滤波器设计方法有脉冲响应不变法和双线性变换法等;fir数字滤波器设计方法有窗函数法、频率采样法、切比雪夫逼近法等。fir滤波器和iir滤波器的设计方法各有千秋。 iir滤波器的设计方法可以有两种类型的设计方法,我们经常使用的设计方法是通过开展模拟滤波器设计方法的手段。它的机身设计的步骤是:首先,模拟滤波器的设计一个方法来获得传递函数ha(s) ,然后将ha(s)转换数字滤波器系统函数h(z) 。这个类的方法是比较容易一些,这是因为模拟滤波器的设计方法已经非常成熟,它不仅有完整的设计公式,而且还拥有完善的图表以供查阅;此外,还有一些提供给我们一些典型数字滤波器的类型。另一种是直接在时域到频域或设计,由于联立方程组的解,设计者需要使用计算机辅助设计做出。 fir数字滤波器不能用于转换模拟滤波器设计方法是经常使用窗函数法和频率采样法。还有种方法更有效,如波纹切比雪夫逼近法,你需要通过计算机辅助设计完成。对于线性相位滤波器来说,通常采用fir数字滤波器,其单位脉冲响应该满足一定的条件,可以证明其相位特性在整个频带中是有严格线性的,这是模拟滤波器所不能达到的。当然,我们也可以采用iir滤波器,但必须使用全通网络对其非线性相位特性进行相位校正,这样增加了我们设计与现实的复杂性。 3.2 滤波器设计方法比较目前数字滤波器的实现方法大致有三种:利用单片通用集成电路、dsp器件和可编程逻辑器件实现。1、单片通用集成电路目前针对dsp算法的集成电路器件主要有assp和asic,它们都是半定制集成电路,所以在性能指标、工作速度和可靠性上具有不可比拟的优势。但是这种芯片的开发周期长、开发成本高,特别是在功能重构以及应用性修正上缺乏灵活性,所以正在逐渐失去其实用性。2、专用的dsp器件在过去的持续很长一段时间里,dsp应用系统的核心器件惟一选择就是dsp处理器(如ti的tms320系列)。虽然dsp处理器在硬件结构上不断的改进,但是并没有摆脱传统cpu的工作模式。因此,尽管它拥有多个硬件乘加器,使用了环形叠代的方法进行乘法操作,且许多dsp处理器还拥有使用多乘法器的并行指令,用于加速算术运算,然而由于其顺序的工作方式、较低的数据处理速率,以及缺乏实时工作的性能,使得其至今仍只适用于低端的数字信号处理。面对迅速变化的dsp应用市场,特别是在面对现代通信技术的发展,dsp处理器早已经显得力不从心。如其硬件结构的不可变性导致了它的总线的不可改变性,固定的数据总线宽度,已成为dsp处理器难以通过一个的瓶颈。这个固定的dsp处理器的硬件结构,没有特别适合于许多现有的应用程序所需的结构特性可在任何时候被改变,即所谓的面向用户的类型的dsp系统或可重构dsp应用(定制dsp或可重构dsp等类型),如软件定义无线电,医疗设备,导航,工业控制等各个方面。至于速度,以满足要求,采用顺序执行的cpu架构,更是不堪重负的dsp处理器。 3、fpga(现场可编程门阵列)器件fpga采用了逻辑单元阵列lca(logic cell array)的概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部线(interconnect)三个部分。用户可以对fpga内部的逻辑模块和i/o模块进行重新配置,来实现用户的逻辑。它还具有静态可重复编程和动态在系统重构的特性,使得硬件的功能可以像软件一样通过编程来修改。fpga构成的dsp电路可以同样以并行或顺序方式来工作。如图3.1图3.1 dsp处理器顺序工作方式与fpga的并行工作方式在并行工作,fpga和asic / assp性能相当,但比dsp处理器好得多。 dsp处理器需要大量的计算为在指令方面所做的工作,fpga就可以在一个时钟周期来完成。在顺序执行方面,fpga比dsp处理器,fpga的速度更快,因为不同的状态机可以使用,或嵌入式微处理器来完成的工作,并为每个时钟周期的工作顺序是并行执行多个同时执行,dsp处理器,其未完成。在灵活性方面,fpga的灵活性远远高于asic / assp,也比dsp处理器更好。综上所述,虽然单片通用集成电路使用方便,但还是弥补不了它因为字长和阶数的规格较少,不能满足实际的需求。而dsp器件的使用实现虽简单,但是由于程序顺序执行,程序的执行速度必定会受到影响。而fpga规整的内部逻辑阵列和丰富的连线资源的特点,特别适合于数字信号处理任务,相对于以串行运算为主导的通用dsp芯片来说,其并行性和可扩展性更好。从长期发展来看,fpga主要被用于系统逻辑或时序控制上,很少在信号处理方面得到应用,其主要原因是因为在fpga中缺乏实现乘法运算的有效结构。而现在这个问题得到了解决,所以使得fpga在数字信号处理方面有了长足的发展。3.3 基于fpga的dsp设计流程本次设计采用系统级的开发方法,开发流程如图3.2所示。 图3.2 dsp builder设计流程图根据客户的不同设计需求和设计目的,dsp builder对外提供了两种不同的设计流程,分别为自动流程和手动流程。在手动流程中,设计者可以灵活地指定综合、适配条件。不过,需要手动的调用vhdl综合器进行综合,调用quartus进行适配,调用modelsim或者quartus进行仿真,最后用quartus产生相应的编程文件用于fpga的配置。当使用手动流程中,除了行为仿真和设计输入,其它过程与标准的基于vhdl的eda设计流程是完全一致的。从上一步中的dsp builder设计流程的vhdl文件(从simulink模型文件。 mdl通过signalcompiler转换而来) ,融入了合成获得的。合成器可以synplifypro ,也可以是lelnardospectrum ,或使用自己的altera公司的quartus 。在合并,您可能需要配置或合成器提供全面的约束。因为这种操作可能会更复杂,因此相应的dsp builder中的signalcompiler提供了设计一个接口,自动生成的tcl脚本用的synplify合成或lelnardospectrum相。合成后的一体化经营将产生一个网表文件,以用于下道工序。在这里,产生所谓的atom网表文件(图3.2 ) ,主要edif网表文件1种参数可以设置,并且包含特定的硬件设备系列的功能(如逻辑宏信用证, i / o单元,该产品期限嵌入式系统块esb等。 )网表文件。如果用dsp builder产生的dsp模型只是庞大设计中的一个子模块,则可以在设计中调用dsp builder产生的vhdl文件,以构成完整的设计。同时,一样可以使用quartus强大的logiclock功能和signaltap测试技术。在图3.2的流程中,其中hdl仿真是dsp设计中是不可或缺的。与dsp builder配合使用的hdl仿真器是modelsim。dsp builder在生成vhdl代码时,可以同时生成用于测试dsp模块的testbench(测试平台)文件,dsp builder生成的testbench文件使用的是vhdl 语言,测试向量与该dsp模块在simulink中的仿真激励相一致。通过modelsim仿真生成的testbench可以验证生成的vhdl代码与simulink中dsp模型的一致性。另外,dsp builder在产生testbench的同时,还产生了针对modelsim仿真的rcl脚本来简化用户的操作,掩盖modelsim仿真时的复杂性。第4章 基于dsp builder的滤波器设计与仿真4.1设计软件简介4.1.1 dsp builder的简介dsp builder是美国altera公司推出的一个面向dsp开发的系统级设计开发工具,它在quartus设计环境中集成了matlab和simuiinkdsp开发软件。以往我们所使用的matlab工具仅仅是作为dsp算法的建模和基于纯数学的仿真,其数学模型不能为我们硬件dsp应用系统来直接产生实用的程序代码,仿真测试的结果也往往是基于数学的算法结果。然而以往的fpga所需要的传统基于硬件描述语言的设计因为考虑了fpga硬件的延时和vhdl递归算法的衔接,以及补码运算和乘积结果截取等问题,因此相当繁琐。dsp builder作为matlab的一个simulink工具箱,使得用fpga设计的dsp系统可以通过simulink的图形化界面进行建模、系统级仿真。设计模型可以直接向vhdl硬件描述语言转换,并且自动调用quartus等eda设计软件,来完成综合、网表生成以及器件适配乃至fpga的配置下载,使系统描述与硬件实现有机地融合,完美体现了现代电子技术自动化开发的优势和特点。4.1.2 matlab的简介matlab的名子出自matrix laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。matlab将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用matlab产品的开放式结构,可以非常容易地对matlab的功能进行扩充,从而在不断深化对问题认识的同时,不断完善matlab产品以提高产品自身的竞争能力。 目前matlab产品族可以用来进行:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通讯系统设计与仿真、财务与金融工程。4.1.3 quartus的简介altera quartus ii 作为一种可编程逻辑的设计环境, 由于其强大的设计能力和直观易用的接口,越来越受到数字系统设计者的欢迎。altera quartus ii (3.0和更高版本)设计软件是业界唯一提供fpga和固定功能hardcopy器件统一设计流程的设计工具。工程师使用同样的低价位工具对 stratix fpga进行功能验证和原型设计,又可以设计hardcopy stratix器件用于批量成品。系统设计者现在能够用quartus ii软件评估hardcopy stratix器件的性能和功耗,相应地进行最大吞吐量设计。 altera的quartus ii可编程逻辑软件属于第四代pld开发平台。该平台支持一个工作组环境下的设计要求,其中包括支持基于internet的协作设计。quartus平台与cadence、exemplarlogic、 mentorgraphics、synopsys和synplicity等eda供应商的开发工具相兼容。改进了软件的logiclock模块设计功能,增添 了fastfit编译选项,推进了网络编辑性能,而且提升了调试能力。4.1.4 软件安装问题本次毕业设计设计中,为了使设计能够顺利完成,在安装这三个软件时需要注意的是:双击软件安装包里的setup,然后按提示步骤去安装软件,完成后我们还需要留意license是否已经匹配。打开quartus ii软件的在tools中点击进入license setup界面,勾上“use lm_license_file variable”,pc用户通过新建环境变量lmlicensefile 来指定license的保存路径。将dsp builder的license.dat和quartus的license.dat两者的路径都加到lm_license_file里,多个路径之间用分号;隔开。这样,“licensed ampp/megacore functions”中即包含了dsp builder模块,又包含了原来quartus的模块,如图4.1所示;此时进入打开matlab软件进入simulink模块,然后运行一个实例,双击文件中的signalcompiler,如果能完成指定操作则表明软件已经安装成功。图4.1 options界面4.2 16阶fir滤波器设计4.2.1 4阶滤波器模型的建立通过理解fir数字滤波器原理,我们可以利用fpga来实现fir滤波电路。dsp builder设计流程的第一步是在matlab的simulink环境中建立一个mdl模型文件,如图4.2所示,从dsp builder和其他simulink库中调用相关的图形模块,构成4阶fir滤波器节,如图4.3所示。图4.2 建立新模型图4.3 4阶fir滤波器节4.2.2 在simulink仿真并生产vhdl代码我们可以在simulink中对设计完成后的滤波器模型进行仿真,通过simulink中的示波器模块来查看仿真的结果,分析是否符合要求。双击已完成模块中的signalcompiler并选择相应的芯片,然后就可以将以上设计模块图文件“翻译”成vhdl语言。 双击模型中的“signalcompiler”模块的时候,会弹出如图4.4所示的对话框,选择“analyze”(分析)按钮,可以对模型进行分析,系统检查模型设计中是否存在错误,并会在matlab主窗口弹出对话框给出相关信息。如果存在错误(error)信息,则signalcompiler会停止分析过程,并将错误信息在matlab主窗口“command window”命令窗口中显示出来;在分析过程结束后,打开signalcompiler窗口(如图4.4所示),如果存在警告(warning),同样会把警告信息显示在命令窗口中。图4.4 双击signalcompiler后的对话框图4.5 signalcompiler窗口当设置好后,右侧的硬件编译“hardware compilation”部分就会列出一个操作流程,如图4.5所示,该流程为:(1)“convert mdl to vhdl”:将.mdl文件转换为vhdl文件;(2)“synthesis”:综合;(3)“quartus ”:quartus编译适配,生成编程文件。通过上述的流程,然后点击图标,系统就会将*.mdl文件转换成vhdl文件。转换成功后,则会在“messages”信息窗口中显示相关信息。4.2.3 16阶fir滤波器模型的建立首先,新建一个mdl模型文件,将上述4阶fir高通滤波器模型转变为一个子系统(subsystem),将子系统取名为fir4tap, fir4tap的内部结构如图4.6 所示。图4.6 fir4tap子系统内部原理图复制4个fir4tap子系统,将它们组合起来。前面的子系统的输出窗口out2接后面的子系统的ln1输入端口,并且附上16个常数端口,作为fir滤波器系数的输入。把4个子系统fir4tap的输出端口out1连接起来,接入一个4输入端口的加法器,得到fir滤波器的输出yout。修改它的mask参数:选中子系统模型,然后选择菜单“edit”中的,在对话框中选择“documentation”选项页,设置“mask type”为“subsystem alterablockset”(子系统altera模块集),如图4.7所示。图4.7 编辑模块的“mask type”设置完“mask type”后,signalcompiler就可以为我们正常地生成vhdl代码了。设计好的16阶fir滤波器如图4.8所示。图4.8 16阶直接i型fir滤波器模型4.2.4用matlab的滤波器设计工具计算fir滤波器的系数(1)滤波器指标如果需要设计一个16阶的fir高通滤波器,给定的参数如下:1、采样频率fs为100khz,滤波器fstop为30khz ,fpass为50khz;2、输入序列位宽为9位(最高位为符号位)。在此利用matlab来完成fir滤波器系数的确定。 首先,打开matlab的fdatool, fdatool界面如图4.9所示。图4.9 fdatool界面再在fdatool界面的相应位置输入该高通滤波器的参数,并点击design完成滤波器的设计,如图4.10所示。图4.10 滤波器设计界面(2)滤波器分析滤波器系数的计算完成后,需要我们对设计好的fir滤波器进行相关的性能分析,以便于了解该滤波器是否满足我们的设计要求,分析结果如下:如图4.11是fir滤波器的幅频响应;如图4.12是fir滤波器的相频响应;如图4.13是幅频响应与相频响应的比较;如图4.14是fir滤波器的冲激响应;如图4.15是fir滤波器的阶跃响应;如图4.16是fir滤波器的零极点;如图4.17是fir滤波器系数;如图4.18是fir滤波器的量化。图4.11 fir滤波器的幅频响应图4.12fir滤波器的相频响应图4.13幅频响应与相频响应的比较图4.14fir滤波器的冲激响应图4.15fir滤波器的阶跃响应图4.16fir滤波器的零极点图4.17fir滤波器系数图4.18fir滤波器的量化(3)修改fir滤波器模型添加参数:把计算出的系数逐个填入到fir滤波器模型中,如图4.19所示。这样就完成了一个16阶直接i型fir高通滤波器的设计。图4.1916阶高通fir滤波器4.2.5 ide软件工具生成vhdl文件并用synplify进行综合(1)双击signalcompiler,对以上的设计模型进行分析,选择相应的芯片,将以上设计模块图文件“翻译”成vhdl语言,如图4.20所示。图4.20生成的vhdl文件(2)在signalcompiler的窗口,选用synplify对生成的vhdl代码进行综合,如图4.21所示。在进行综合之前,需要执行mdl转换成vhdl的操作。因为在这个过程中,会生成控制操作器件综合器的tcl脚本。图4.21选择synplify综合生成的tcl文件如图4.22所示。图4.22综合后生成的tcl文件4.2.6 quartus ii编译通过软件获取vhdl文件则可以对verilog综合器进行调用,选用quartus ,获得它网表文件对应的rtl电路图。如图4.23所示图4.23滤波器rtl电路图然后执行上图4.21中的步骤3的操作,调用quartus ii完成编译适配过程,生成编程文件:文件和文件,就可以直接用于fpga的编程配置。结 论大四上学期末,开始了毕业设计课题的挑选。通过6个月的时间,论文已经基本完成。从最初的茫然,到渐入佳境,再到对思路逐渐的清晰,这是一个艰辛又开心的过程。历经了几个月的奋战,毕业设计终于落下了帷幕。回想在这段日子的经历和感受,真是感慨万千,这必将会成为我生命中的一段美好回忆。本次我所选择的课题是:基于fpga数字高通滤波器的设计与实现。当选题报告,开题报告定下来的时候,我当时便立刻着手资料的收集工作中,当时面对浩瀚的书海真是有些茫然,不知如何下手,我很快将这一困难告诉了导师,在导师细心的指导之下,终于使我对自己的工作方向和方法有了大致的掌握。在搜集资料的过程中,我在学校图书馆和网上查找各类相关资料,将这些宝贵的资料全部记录下来,尽量使我的资料完整、精确、数量多,这有利于论文的撰写。我将收集到的资料仔细整理分类,及时拿给导师进行沟通。当我终于完成了所有的任务后整个人都很累,但同时看着电脑荧屏上的毕业设计稿件我的心里是甜的,我觉得这一切都值了。这次毕业论文的制作过程是我的一次再学习,再提高的过程。在论文中我充分地运用了大学期间所学到的知识。在此期间,我掌握了数字滤波器的设计过程,了解了fir和iir的原理和特性,学习了fir和iir滤波器的dsp实现原理.熟悉设计fir数字滤波器和iir数字滤波器的原理和方法。在了解和学习的同时不仅培养了我严肃认真的做事作风,还是一次意志的磨练,是对我实际能力的一次提升。在这次毕业设计中也使我们的同学关系更进一步了,同学之间互相帮助,有什么不懂的大家在一起商量,听听不同的看法对我们更好的理解知识,所以在这里非常感谢帮助我的同学。通过本次毕业设计,我悟出了一个真理,那就是必须把理论运用到实际中去。没有经过实践检验的理论那都是站不住脚跟的,平常在课堂上我们只是学一些理论的知识,而这次毕业设计就是将我们的理论知识来进行实践的大号时机。在这次设计过程中我深信的理论知识往在实践中往往不能往我所预期的轨迹走。但幸好在老师的帮助和同学的支持下,让我自己挺过来了,最终完成了此论文。致 谢时间荏苒,一转眼大学四年匆匆离去,在这一百多天的时间里,我得到了尊敬的导师的悉心指导和无私的教诲,本课题从做开题报告和查找资料以及仿真过程开始,直至今天完成课题的研究和论文的撰写,导师都给予了我无私的帮助。

温馨提示

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

评论

0/150

提交评论