




免费预览已结束,剩余43页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要数字滤波器是现代数字信号处理系统的重要组成部分之一,具有模拟滤波器所无法替代的新特性,因此在通信、语音与图像处理、自动控制等领域有着广泛的应用,它对于降低噪声、提高信噪比及信号的频谱纯度等方面有着重要的意义。数字滤波器根据单位脉冲响应的不同,可分为FIR(有限长脉冲响应)滤波器和IIR(无限长脉冲响应)滤波器,FIR的优点在于具有良好的相位特性,IIR的优点在于具有良好的幅频特性,可以根据不同的系统性能要求选择不同的滤波器。目前滤波器的主要实现方法有三种,分别是:单片通用数字滤波器集成电路、采用DSP器件和FPGA(现场可编程门阵列)器件。本文采用FPGA器件来实现滤波器的设计,在实现方法上先用MATLAB/Simulink工具箱建立滤波器模型,然后用SignalCompiler把Simulink的模型文件(后缀是.mdl)转化为硬件描述语言VHDL文件,最后利用QuartusII完成滤波器的仿真、配置、编译和下载。本文最后用实例介绍了FIR数字滤波器和IIR数字滤波器的实现过程。关键词:数字滤波器 通信 集成电路 DSP FPGAAbstractDigital filter is a digital signal processing system is one of the important component, analog filters cannot be replaced by the new characteristic, therefore in the communication, speech and image processing, automatic control and other fields have a wide range of applications, it can reduce noise, improve the signal to noise ratio and signal spectrum purity has important significance. Digital filter according to unit impulse response of different, can be divided into FIR ( finite impulse response filter ) and IIR ( infinite impulse response ) filter, FIR have the advantages of good phase characteristics, IIR have the advantages of good amplitude-frequency characteristics, according to different system performance requirements of different filter. The filter main realizing methods has three kinds, respectively is: the monolithic integrated circuit, digital filter with DSP device and FPGA ( field programmable gate array ) device. This paper uses FPGA to realize filter design, the realization method on the first MATLAB / Simulink toolbox to establish filter model, then use SignalCompiler the Simulink model file ( the suffix is . MDL ) into the VHDL hardware description language file, finally using QuartusII complete filter simulation, configure, compile and download. Finally, examples of the FIR digital filter and IIR digital filter implementation process.Keywords: digital filter communication integrated circuit DSP FPGA目 录1 绪论11.1 研究背景11.2 研究现状11.3本课题研究内容方法32 相关知识简介52.1数字滤波器概述52.1.1数字滤波器的定义52.1.2数字滤波器的分类62.1.3FIR和IIR数字滤波器的比较62.1.4数字滤波器的设计要求和方法82.2设计软件简介92.3软件安装问题103 数字滤波器的总体设计方案123.1FIR和IIR设计方法概述123.2滤波器设计方法比较124 FIR设计实例164.1FIR数字滤波器原理164.216阶FIR滤波器165 IIR设计实例275.1IIR数字滤波器原理275.2使用DSP Builder设计IIR滤波器305.2.14阶直接型IIR滤波器设计305.2.24阶级联型IIR滤波器设计326 总结38参考文献40致谢411 绪论1.1 研究背景当今,数字信号处理(DSP:Digtal Signal Processing)技术正飞速发展,它不但自成一门学科,更是以不同形式影响和渗透到其他学科:它与国民经济息息相关,与国防建设紧密相连;它影响或改变着我们的生产、生活方式,因此受到人们普遍的关注。数字化、智能化和网络化是当代信息技术发展的大趋势,而数字化是智能化和网络化的基础,实际生活中遇到的信号多种多样,例如广播信号、电视信号、雷达信号、通信信号、导航信号、射电天文信号、生物医学信号、控制信号、气象信号、地震勘探信号、机械振动信号、遥感遥测信号,等等。上述这些信号大部分是拟信号,也有小部分是数字信号。模拟信号是自变量的连续函数,自变量可以是一维的,也可以是二维或多维的。大多数情况下一维模拟信号的自变量是时间,经过时间上的离散化(采样)和幅度上的离散化(量化),这类模拟信号便成为一维数字信号。因此,数字信号实际上是用数字序列表示的信号,语音信号经采样和量化后,得到的数字信号是一个一维离散时间序列;而图像信号经采样和量化后,得到的数字信号是一个二维离散空间序列。数字信号处理,就是用数值计算的方法对数字序列进行各种处理,把信号变换成符合需要的某种形式。例如,对数字信号进行滤波以限制他的频带或滤除噪音和干扰,或将他们与其它信号进行分离;对信号进行频谱分析或功率谱分析以了解信号的频谱组成,进而对信号进行识别;对信号进行某种变换,使之更适合于传输,存储和应用;对信号进行编码以达到数据压缩的目的,等等。数字滤波技术是数字信号分析、处理技术的重要分支。无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传输是至关重要的。在所有的电子系统中,使用最多技术最复杂的要算数字滤波器了。数字滤波器的优劣直接决定产品的优劣。1.2 研究现状在信号处理过程中,所处理的信号往往混有杂音,从接收到的信号中消除或减弱噪音是信号传输和处理中十分重要的问题。根据有用信号和噪音的不同特性,提取有用信号的过程成为滤波,实现滤波功能的系统称为滤波器。在近代电信设备和各类控制系统中,数字滤波器应用极为广泛,这里只列举部分应用最成功的领域。1、语音处理语音处理是最早应用数字滤波器的领域之一,也是最早推动数字信号处理理论发展的领域之一。该领域只要包括5个方面的内容:第一,语音信号分析。即对语音信号的波形特征、统计特性、模型参数等进行分析计算;第二,语音合成。即利用专用数字硬件或在通用计算机上运行软件来产生语音;第三,语音识别。即用专用硬件或计算机识别人讲的话,或者识别说话的人;第四,语音增强。即从噪音或干扰中提取被掩盖的语音信号。第五,语音编码。主要用于语音数据压缩,目前已经建立了一系列语音编码的国际标准,大量用于通信和音频处理。近年来,这5方面都取得了不少研究成果,并且,在市场上已经出现了一些相关的软件和硬件产品,例如,盲人阅读机、哑人语音合成器、口授打印机、语音应答机,各种会说话的仪器和玩具,以及通信和视频产品大量使用的音频压缩编码技术。2、图像处理数字滤波技术以成功地应用于静止图像和活动图像的恢复和增强、数据压缩、去噪音和干扰、图像识别以及层析X射线摄影,还成功地应用于雷达、声纳、超声波和红外信号的可见图像成像。3、通信在现代通信技术领域内,几乎没有一个分支不受到数字滤波技术的影响。信源编码、信道编码、调制、多路复用、数据压缩以及自适应信道均衡等,都广泛地采用数字滤波器,特别是在数字通信、网络通信、图像通信、多媒体通信等应用中,离开了数字滤波器,几乎是寸步难行。其中,被认为是通信技术未来发展方向的软件无线电技术,更是以数字滤波技术为基础。4、电视数字电视取代模拟电视已是必然趋势。高清晰度电视的普及指日可待,与之配套的视频光盘技术已形成具有巨大市场的产业;可视电话和会议电视产品不断更新换代。视频压缩和音频压缩技术所取得的成就和标准化工作,促成了电视领域产业的蓬勃发展,而数字滤波器及其相关技术是视频压缩和音频压缩技术的重要基础。5、雷达雷达信号占有的频带非常宽,数据传输速率也非常高,因而压缩数据量和降低数据传输速率是雷达信号数字处理面临的问题。于是数字器件的出现促进了雷达信号处理技术的进步。在现代雷达系统中,数字信号处理部分是不可缺少的,因为从信号的产生、滤波、加工到目标参数的估计和目标成像都离不开数字滤波技术。雷达信号的数字滤波器是当今十分活跃的研究领域之一。生物医学信号处理数字滤波器在医学中的应用日益广泛,如对脑电图和心电图的分析、层析X射线摄影的计算机辅助分析、胎儿心音的自适应检测等。6、音乐数字滤波器为音乐领域开辟了一个新局面,在对音乐信号进行编译、合成、以及在音乐中加入交混回响、合声等特殊效果特殊方面,数字滤波技术都显示出了强大的威力。数字滤波器还可用于作曲、录音和播放,或对旧录音带的音质进行恢复等。7、其他领域数字滤波器的应用领域如此广泛,以至于想完全列举他们是根本不可能的,除了以上几个领域外,还有很多其他应用领域。例如,在军事上被大量应用于导航、制导、电子对抗、战场侦察;在电力系统中被应用于能源分布规划和自动检测;在环境保护中被应用于对空气污染和噪声干扰的自动监测;在经济领域中被应用于股票市场预测和经济效益分析,等等。1.3本课题研究内容方法数字滤波器的实现,大体上有如下几种方法:1、单片通用数字滤波器集成电路单片通用数字滤波器的最大优点就是使用简单便捷,但是其如果使用多字长和阶数规格不够多,在实际应用中有很大局限性。片扩展的方式则能使其应用范围变广,但是这会使滤波器的体积和功耗增加,导致另一种局限性。2、专用的DSP器件DSP芯片较之单片机有着更为突出的优点,如内部带有乘法器、累加器,采用流水线工作方式及并行结构,多总线,速度快,配有适于信号处理的指令等。但是,由于它采用程序顺序执行,因此在一些要求高的实时性场合中的应用受到制约。3、FPGA(现场可编程门阵列)器件与采用DSP器件相对应,用可编程逻辑器件实现数字滤波器,其主要适用于一些要求较高的实时性场合,在可编程逻辑器件容量不断增大、速度不断提高的情况下,使单片系统集成成为了可能。本文介绍的数字滤波器采用FPGA器件来实现。在实现方法上先用MATLAB/Simulink工具箱建立滤波器模型,并用SignalCompiler把Simulink的模型文件(后缀是.mdl)转化为硬件描述语言VHDL文件,最后利用QuartusII完成滤波器的仿真、配置、编译和下载。382 相关知识简介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滤波器函数,式2.2中的H(z)称为(N-1)阶FIR滤波器函数。这两种类型的设计方法有很大的区别,下面对它们进行简要比较。 2.1.3 FIR和IIR数字滤波器的比较首先,从性能上来说,IIR滤波器传输函数的极点可位于单位圆内的任何地方,因此可用较低的阶数获得较高的选择性,所用的存贮单元少,所以经济而效率高。但是这个高效率是以相位的非线性为代价的。选择性越好,则相位非线性越严重。相反,FIR滤波器却可以得到严格的线性相位,然而由于FIR滤波器传输函数的极点固定在原点,所以只能用较高的阶数达到高的选择性;对已同样的滤波器设计指标,FIR滤波器所要求的阶数可以比IIR滤波器高510倍,结果,成本较高,信号延时也较大;如果按相同的选择性和相同的线性要求来说,则IIR滤波器就必须加全通网络进行相位校正,同样要大大增加滤波器的节数和复杂性。从结构上看,IIR滤波器必须采用递归结构,极点位置必须在单位圆内,否则系统将不稳定。另外,在这种结构中,由于运算过程中对序列的舍入处理,这种有限字长效应有时会引起寄生振荡。相反,FIR滤波器主要采用非递归结构,不论在理论上还是实际的有限精度运算中都不存在稳定性问题,运算误差也较小。此外,FIR滤波器可以采用快速傅里叶变换算法,在相同阶数的条件下,运算速度可以快得多。从设计工具看,IIR滤波器可以借助于模拟滤波器的成果,因此一般都有有效的封闭形式的设计公式可供准确计算,计算工作量比较小,对计算工具的要求不高。FIR滤波器设计则一般没有封闭形式的设计公式。窗口法虽然仅仅对窗口函数可以给出计算公式,但计算通带阻带衰减等仍无显示表达式。一般,FIR滤波器的设计只有计算机程序可循,因此对计算工具要求较高。另外,也应看到,IIR滤波器虽然设计简单,但主要是用于设计具有片段常数特性的滤波器,如低通、高通、带通及带阻等,往往脱离不了模拟滤波器的格局。而FIR滤波器则要灵活的多,尤其它能易于适应某些特殊的应用,如构成微分器或积分器,或用于巴特沃斯、切比雪夫等逼近不可能达到预定指标的情况,例如,由于某些原因要求三角形振幅响应或一些更复杂的幅频响应,因而有更大的适应性和更广阔的天地。从上面的简单比较我们可以看到IIR与FIR滤波器各有所长,所以在实际应用时应该从多方面考虑来加以选择。例如,从使用要求上来看,在对相位要求不敏感的场合,如语言通讯等,选用IIR较为合适,这样可以充分发挥其经济高效的特点,而对于图像信号处理,数据传输等以波形携带信息的系统,则对线性相位要求较高,如果有要求,采用FIR滤波器较好。当然,在实际应用中应考虑经济上的要求以及计算工具的条件等多方面的因素。2.1.4 数字滤波器的设计要求和方法滤波器的指标常常在频域给出。数字滤波器的频响特性函数H(ejw)一般为复函数,所以通常表示为:其中,|H(ejw)|称为幅频特性函数:(w)称为相频特性函数,幅频特性表示信号通过该滤波器后各频率成分的衰减情况,而相频特性反映各频率通滤波器后在时间上的延时情况。一般对IIR数字滤波器,通常只用幅频响应函数|H(ejw)|来描述设计指标,相频特性一般不作要求。而对线性相位特性的滤波器,一般用FIR数字滤波器设计实现。IIR低通滤波器指标参数如图2.1所示。图2.1 低通滤波器的技术要求图中p和N分别为通带边界频率;1和2分别为通带波纹和阻带波纹;允许的衰减一般用dB数表示,通带内所允许的最大衰减(dB)的阻带内允许的最小衰减(dB)分别为P和N表示:一般要求:当0|P时,-20lg|H(ejw)|P;当S|时,S-20lg|H(ejw)|。2.2 设计软件简介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的配置下载,使得系统描述与硬件实现有机地融合,充分体现了现代电子技术自动化开发的特点与优势。2、MATLAB简介MATLAB的名称源自Matrix Laboratory,它是一种科学计算软件,专门以矩阵的形式处理数据。MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛地应用于科学计算、控制系统、信息处理等领域的分析、仿真和设计工作,而且利用MATLAB产品的开放式结构,可以非常容易地对MATLAB的功能进行扩充,从而在不断深化对问题认识的同时,不断完善MATLAB产品以提高产品自身的竞争能力。目前MATLAB产品族可以用来进行:数值分析、数值和符号计算、工程与科学绘图、控制系统的设计与仿真、数字图像处理、数字信号处理、通讯系统设计与仿真、财务与金融工程。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编译选项,推进了网络编辑性能,而且提升了调试能力。2.3 软件安装问题本次设计中,MATLAB软件仅仅实现滤波器的建模和基于纯数学的仿真,而DSP Builder提供了一个从MATLAB/Simulink直接到FPGA硬件实现的设计接口,Quartus II则实现了编译、适配和下载的功能。为了能够顺利完成本次设计,安装这三个软件时需要注意的是:双击软件安装包里的setup,按提示步骤去安装软件,完成后还需要留意license是否匹配。即打开Quartus II软件的License Setup界面,勾上“Use LM_LICENSE_FILE variable”,使用LMLICENSEFILE 环境变量来指定license。将dsp builder的license.dat和Quartus的license.dat两者的路径都加到LM_LICENSE_FILE里,多个路径之间用分号;隔开。这样,“Licensed AMPP/MegaCore functions”中即包含了dsp builder模块,又包含了原来Quartus的模块,如图2.2所示:图2.2 Options界面此时进入matlab/simulink,运行一个实例,打开SignalCompiler,如果其功能能够实现则说明软件安装成功。3 数字滤波器的总体设计方案3.1 FIR和IIR设计方法概述IIR数字滤波器的设计方法有脉冲响应不变法和双线性变换法等;FIR数字滤波器的设计方法有窗函数法、频率采样法、切比雪夫逼近法等。IIR滤波器和FIR滤波器的设计方法是很不同的。IIR滤波器设计方法有两类,经常用的一类设计方法是借助于模拟滤波器的设计方法进行的。其设计步骤是:先设计模拟滤波器得到传输函数Ha(s),然后将Ha(s)按某种方法转换成数字滤波器的系统函数H(z)。这一类方法相对容易一些,这是因为模拟滤波器设计方法已经很成熟,它不仅有完整的设计公式,还有完善的图表供查阅;另外,还有一些典型的滤波器类型可供我们使用。另一类是直接在频域或者时域中进行设计的,由于要解联立方程,设计师需要计算机作辅助设计。FIR滤波器不能采用模拟滤波器的设计进行转换的方法,经常用的是窗函数法和频率采样法。还有一种比较有效的方法是切比雪夫等波纹逼近法,需通过计算机辅助设计完成。对于线性相位滤波器,通常采用FIR滤波器,其单位脉冲响应满足一定条件,可以证明其相位特性在整个频带中是严格线性的,这是模拟滤波器无法达到的。当然,也可以采用IIR滤波器,但必须使用全通网络对其非线性相位特性进行相位校正,这样增加了设计与现实的复杂性。3.2 滤波器设计方法比较数字滤波器是语音与图像处理、模式识别、雷达信号处理、频谱分析等应用中的一种基本的处理部件,它能满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。1、实现方案目前滤波器的实现方法有三种:利用单片通用集成电路、DSP器件和可编程逻辑器件实现。1)单片通用集成电路目前针对DSP算法的集成电路器件主要是ASSP和ASIC,它们均是半定制集成电路,故在性能指标、工作速度和可靠性上具有不可比拟的优势。但这种芯片的开发周期长、开发成本高,特别是在功能重构以及应用性修正上缺乏灵活性,正在逐渐失去其实用性。2)专用的DSP器件在过去很长一段时间,DSP处理器(如TI的TMS320系列)是DSP应用系统核心器件的惟一选择。DSP处理器在硬件结构上不断改进,但并没有摆脱传统CPU的工作模式。因而,尽管拥有多个硬件乘加器,使用了环形叠代的方法进行乘法操作,且许多DSP处理器还拥有使用多乘法器的并行指令,用于加速算术运算,然而由于其顺序的工作方式、较低的数据处理速率,以及缺乏实时工作的性能,使其至今仍只适合于低端的数字信号处理。面对当今迅速变化的DSP应用市场,特别是面对现代通信技术的发展,DSP处理器早已显得力不从心。例如其硬件结构的不可变性导致了其总线的不可改变性,而固定的数据总线宽度,已成为DSP处理器一个难以突破的瓶颈。DSP处理器的这种固定的硬件结构特别不适合于当前许多要求能进行结构特性随时变更的应用场合,即所谓面向用户型的DSP系统,或可重配置型的DSP应用系统(Customized DSP或Reconfigurable 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所示,在并行工作方面,FPGA与ASIC/ASSP相当,远优于DSP处理器。对DSP处理器需要大量运算指令完成的工作,FPGA只需一个时钟周期的时间就能完成。而在顺序执行方面,FPGA也比DSP处理器快,因为FPGA中可以使用各种状态机,或使用嵌入式微处理器来完成,并且,每一顺序工作的时钟周期中都能同时并行完成许多执行,而DSP处理器却不能。就灵活性而言,FPGA的灵活性远胜于ASIC/ASSP,也胜于DSP处理器。图3.1 DSP处理器顺序工作方式与FPGA的并行工作方式综上所述,单片通用集成电路使用方便,但由于字长和阶数的规格较少,不能完全满足实际需要。使用DSP器件实现虽然简单,但由于程序顺序执行,执行速度必然不快。而FPGA有着规整的内部逻辑阵列和丰富的连线资源,特别适合于数字信号处理任务,相对于串行运算为主导的通用DSP芯片来说,其并行性和可扩展性更好。但长期以来,FPGA一直被用于系统逻辑或时序控制上,很少有信号处理方面的应用,其原因主要是因为在FPGA中缺乏实现乘法运算的有效结构。现在这个问题得到了解决,使FPGA在数字信号处理方面有了长足的发展。2、基于FPGA的DSP设计流程本次设计采用系统级的开发方法,开发流程如图3.2所示。图3.2 基于FPGA的系统级开发流程顶层的开发工具就是MATLAB /Simulink,整个开发过程程真正实现了自顶向下的设计流程,包括DSP系统的建模、系统级仿真、设计模型向VHDL硬件描述语言代码的转换、RTL级功能仿真测试、编译适配和布局布线、时序实时仿真,直至对DSP目标器件的编程配置。整个设计流程将系统描述和硬件实现有机地融为一体,充分显示了现代电子设计自动化开发的特点与优势。4 FIR设计实例4.1 FIR数字滤波器原理FIR数字滤波器在数字信号处理的各种应用中发挥着十分重要的作用,它能够提供理想的线性相位响应,在整个频带上获得常数群时延,从而得到零失真输出信号,同时它可以采用十分简单的算法予以实现。这些优点使FIR滤波器成为设计工程师的首选。在采用VHDL或VerilogHDL等硬件描述语言设计数字滤波器时。由于程序的编写往往不能达到良好优化而使滤波器性能表现一般,而采用调试好的IP Core需要向Altera公司购买。在此,采用一种基于DSP Builder的FPGA设计方法,使FIR滤波器设计较为简单易行,并能满足设计要求。1、FIR滤波器原理对于一个FIR滤波器系统,它的冲激响应总是有限长的,最具体的FIR滤波器可用下式表示:式中:r是FIR滤波器的抽头数;x(n-r)是延时,r是抽头的输入信号;b(r)是第r级抽头数(单位脉冲响应);M是滤波器的阶数;y(n)表示滤波器的输出序列。滤波器就是寻求一个可实现的系统函数H(z),使其频率响应H(ej)满足所希望得到的频域信号,也可以用卷积的形式来表示:y(n)=z(n)*h(n)2、FIR滤波器参数选取采用Matlab提供的滤波器专用设计工具FDAtool仿真设计的滤波器,可满足要求的FIR滤波器幅频特性,由于浮点小数在FPGA中实现得比较困难,且代价太大,因而需要将滤波器的系数和输人数据转化为整数,其中量化后的系统可以在Matlab主窗口中直接转化,对于输入数据,乘以28的增益用Altbus控制位宽转化为整数输入。4.2 16阶FIR滤波器1、模型的建立根据FIR滤波器原理,可以利用FPGA来实现FIR滤波电路。DSP Builder设计流程的第一步是在MatlabSimulink中进行设计输入的,即在Matlab的Simulink环境中建立一个MDL模型文件,如图4.1所示,用图形方式调用DSP Builder和其他Simulink库中的图形模块,构成4阶FIR滤波器节,如图4.2所示。图4.1 建立新模型图4 4阶FIR滤波器节2、在Simulink中的仿真并生成VHDL代码完成模型设计之后,可以先在Simulink中对模型进行仿真,可以通过Simulink中的示波器模块查看各个步骤的中间结果。双击SignalCompiler可对以上的设计模型进行分析,选择相应的芯片,将以上设计模块图文件“翻译”成VHDL语言。双击模型中的“SignalCompiler”模块,会出现如图4.3所示的对话框,点击“Analyze”(分析)按钮后,SignalCompiler就会对模型进行分析,检查模型有无错误,并在Matlab主窗口弹出对话框给出相关信息。若有错误(Error)存在,SignalCompiler就会停止分析过程,并把错误信息显示在Matlab主窗口“Command Window”命令窗口中;反之,在分析过程结束后,打开SignalCompiler窗口(如图4.4所示),如果有警告(Warning)存在,同错误一样把警告信息显示在命令窗口。图4.3 双击SignalCompiler后的对话框图4.4 SignalCompiler窗口当设置好后,右侧的硬件编译“Hardware Compilation”部分就会列出一个操作流程,如图4.4所示,该流程为:(1)“Convert MDL to VHDL”:将.mdl文件转换为VHDL文件;(2)“Synthesis”:综合;(3)“Quartus ”:Quartus编译适配,生成编程文件。按上述流程,点击图标,完成Simulink文件(*.mdl)到VHDL文件的转换。转换完成后,在“Messages”信息提示框中会显示。3、16阶FIR滤波器模型的建立建立一个新的DSP Builder模型,将上述4阶FIR滤波器模型建立子系统(SubSystem),将子系统更名为fir4tap, fir4tap的内部结构如图4.5所示。图4.5 fir4tap子系统内部原理图复制4个fir4tap,并将它们衔接起来。前一级的输出窗口x4接后一级的x输入端口,并附上16个常数端口,作为FIR滤波器系数的输入。把4个子系统fir4tap的输出端口y连接起来,接入一个4输入端口的加法器,得到FIR滤波器的输出yout。修改其Mask参数:选中子系统模型,然后选择菜单“Edit”中的,在对话框中选择“Documentation”选项页,设置“Mask type”为“SubSystem AlteraBlockSet”(子系统Altera模块集),如图4.6所示。图4.6 编辑模块的“Mask type”设置完“Mask type”后,SignalCompiler就可以正常地生成VHDL代码了。设计好的16阶FIR滤波器如图4.7所示。图4.7 16阶直接I型FIR滤波器模型4、用MATLAB的滤波器设计工具计算FIR滤波器的系数(1)滤波器指标若需要设计一个16阶的FIR低通滤波器(h(0)=0),给定的参数如下:1、采样频率Fs为48kHz,滤波器Fc为10.8kHz;2、输入序列位宽为9位(最高位为符号位)。在此利用MATLAB来完成FIR滤波器系数的确定。打开MATLAB的FDATool, FDATool界面如图4.8所示。图4.8 FDATool界面在FDATool界面的相应位置输入该低通滤波器的参数,并点击design完成滤波器的设计,如图4.9所示。图4.9 滤波器设计界面(2)滤波器分析计算完FIR滤波器系数后,往往需要对设计好的FIR滤波器进行相关的性能分析,以便了解该滤波器是否满足设计要求,分析如下:如图4.10是FIR滤波器的幅频响应;如图4.11是FIR滤波器的相频响应;如图4.12是幅频响应与相频响应的比较;如图4.13是FIR滤波器的冲激响应;如图4.14是FIR滤波器的阶跃响应;如图4.15是FIR滤波器的零极点;如图4.16是FIR滤波器系数;如图4.17是FIR滤波器的量化。图4.10 FIR滤波器的幅频响应图4.11 FIR滤波器的相频响应图4.12 幅频响应与相频响应的比较图4.13 FIR滤波器的冲激响应图4.14 FIR滤波器的阶跃响应图4.15 FIR滤波器的零极点图4.16 FIR滤波器系数图4.17 FIR滤波器的量化(3)修改FIR滤波器模型添加参数:把计算出的系数逐个填入到FIR滤波器模型中,如图4.18所示。这样就完成了一个16阶直接I型FIR低通滤波器的设计。图4.18 16阶低通FIR滤波器5、生成VHDL文件并用Synplify进行综合(1)双击SignalCompiler,对以上的设计模型进行分析,选择相应的芯片,将以上设计模块图文件“翻译”成VHDL语言,如图4.19所示。图4.19 生成的VHDL文件(2)使用Synplify进行综合在SignalCompiler窗口,选择“Synthesis”下拉框中的“Synplify”项,如图4.20,即选用Synplify对生成的VHDL代码进行综合。在进行综合这一步骤之前,还需要把mdl转换成VHDL。因为在mdl转换到VHDL的过程中,SignalCompiler会自动生成控制操作综合器的TCL脚本。图4.20 选择synplify综合综合后的TCL文件如图4.21所示。图4.21 综合后生成的TCL文件6、Quartus II编译单击图4.20中的步骤3图标,调用Quartus II完成编译适配过程,生成编程文件:文件和文件,可以直接用于FPGA的编程配置。5 IIR设计实例5.1 IIR数字滤波器原理IIR滤波器差分方程的一般表达式为:式中x(n)为输入序列;y(n)为输出序列; ai和bi为滤波器系数。若所有系数ai等于0,则为FIR滤波器。IIR滤波器具有无限长的单位脉冲响应,在结构上存在反馈回路,具有递归性,即IIR滤波器的输出不仅与输入有关,而且与过去的输出有关。将上式展开得出y(n)表达式为:在零初始条件下,对上式进行z变换,得到:设N=M,则传递函数为:上式可写成:上式具有N个零点zi和N个极点pi。若有极点位于单位圆外将导致系统不稳定。由于FIR滤波器所有的系数ai均为0,不存在极点,不会造成系数的不稳定。对于IIR滤波器,系统稳定的条件如下:若|pi|1,当n时,h(n),系统不稳定。IIR滤波器具有多种形式,主要有:直接型(也称直接I型)、标准型(也称直接II型)、变换型、级联型和并联型。二阶IIR滤波器,又称为二阶基本节,分为直接型、标准型和变换型。对于一个二阶IIR滤波器,其输出可以写成:1、直接型(1)直接型根据上式可以得到直接二型IIR滤波器的结构图。如图5.1所示。共使用了4个延迟单元(z-1)。图5.1 直接I型二阶IIR滤波器直接型二阶IIR滤波器还可以用图5.2的结构实现。图5.2 直接I型二阶IIR滤波器此时,延时变量变成了w(n)。可以证明上图的结构仍满足二阶IIR滤波器输出方程。前向通道:yn=i=12biwn-i (式5.1)反馈通道:W(n)=xn-j=12ajwn-j 式(5.2)将5.2式代入5.1式可得:从图5可以看出,左右两组延迟单元可以重叠,从而得到标准二阶IIR滤波器的结构图,如图5.3所示.由于这种结构所使用的延迟单元最少(只有2个),得到了广泛地应用,因此称之为标准型IIR滤波器。图5.3 标准型二阶IIR滤波器2、级联型级联型结构的系统函数为:如图5.4为级联型IIR数字滤波器结构框图。图5.4 级联型IIR数字滤波器结构框图采用级联型结构的主要优点:一是各基本节的零点、极点可以很方便地单独进行调整;二是可以降低对二进制数位数的要求,所需的存储单元较少,在硬件实现时甚至还可以用一个二阶节进行时分复用,进一步降低对FPGA硬件资源的要求。5.2 使用DSP Builder设计IIR滤波器5.2.1 4阶直接型IIR滤波器设计在此需要设计一个4阶滤波器,给定滤波器的系统函数如下:H(z)=0.05+0.20z-1+0.31z-2+0.20z-3+0.05z-41+1.95z-1-1.74z-2+0.72z-3-0.12z-4从系统函数我们可以提取各项系数如下:a0=1,a1=-1.95,a2=1.74,a3=-0.72,a4=0.12,b0=0.20,b1=0.20,b2=0.31,b3=0.20,b4=0.05在DSP Builder中,建立一个新模型,按照上述参数设计完成4阶IIR滤波器模型,如图5.5所示。图5.5 4阶IIR滤波器模型建立IIR滤波器模型后就可以进行仿真了。Simulink仿真模块“Pulse Generator”(脉冲发生器)模拟了一个单位冲激函数。通过“Scope”模块来观察该直接型IIR滤波器的冲激响应。修改Simulink的仿真参数设置,设置“Stop time”仿真停止时间为“50”,“Solver options”中“Type”为“Fixed-Step”。启动仿真。仿真结果如图5.6所示。图5.6 IIR滤波器仿真结果在SignalCompiler窗口,选择“Synthesis”下拉框中的“Synplify”项,选用Synplify对生成的VHDL代码进行综合。生成的VHDL代码如图5.7所示。图5.7 4阶直接II型IIR数字滤波器生成的VHDL文件综合后的TCL如图5.8所示。图5.8 综合后的TCL文件Quartus II编译:单击SignalCompiler中的步骤3图标,调用Quartus II完成编译适配过程,生成编译文件:文件和文件。5.2.2 4阶级联型IIR滤波器设计(1)建立模型建立一个4阶的级联型IIR滤波器模型,该模型共有两节2阶直接型IIR滤波器构成,如图5.9所示。图5.9 4阶级联型IIR滤波器在上述模块参数设置中,A11等增益模块应设置为IIR滤波器的系数,这需要给定或者按照设计要求进行计算。(2)IIR滤波器系数的计算假设4阶IIR滤波器的设计指标如下:采样频率Fs为50MHz;滤波器类型为高通(HighPass);滤波器Fc为5MHz;滤波器设计类型为Butterworth。打开MATLAB中的FDATool进行滤波器系数计算,如图5.10所示。图5.10 计算IIR滤波器系数设置阶数为4,输入相关参数指标,进行相关分析。如图5.11是IIR滤波器的相频特性;图5.12是IIR滤波器的阶跃响应。图5.11 IIR滤波器的相频特性图5.12 IIR滤波器的阶跃响应(3)设置系数选择FDATool的“File”
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石嘴山市招标采购从业人员考试(招标采购专业实务初级)在线复习题库及答案(2025年)
- 河北招标采购从业人员专业技术能力考试(招标采购合同管理中级)全真题库及答案(2025年)
- 《红岩》整本书课件
- 教育扶贫项目合同-教育扶贫项目合同5篇
- 膝关节置换术配合护理
- 《礼记一则》课件
- 城中村拆迁办合同范本9篇
- 广东省深圳市龙华区2023-2024学年高一上学期第二次月考化学试卷及答案
- 广东省梅州市蕉岭县2023-2024学年高二上学期第二次月考历史考试题目及答案
- 公司放假期间安全培训课件
- (中职中专)财经法规与会计职业道德课件完整版电子教案
- 宝钢集团生产安全事故案例汇编
- DB37T 5151-2019 园林绿化工程资料管理规程
- 贝多芬F大调浪漫曲—小提琴谱(带钢伴谱)
- 为老年人更换纸尿裤评分标准
- 压力传感器(课堂PPT)
- 热力厂锅炉车间2#锅炉大修施工方案
- (施工方案)场地三通一平施工方案
- 深圳市政府投资市政工程施工质量检查用表
- 工业经济能力提升培训班学习心得
- 高卡全营养配方对于过敏好转后序贯治疗的应用PPT课件
评论
0/150
提交评论