基于FPGA的FIR數字滤波器的设计与实现.docVIP

基于FPGA的FIR數字滤波器的设计与实现.doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于FPGA的FIR數字滤波器的设计与实现

基于FPGA的FIR数字滤波器的设计与实现 数字滤波是通信、语音与图像处理、模式识别和谱分析等应用中的一种基本的处理部件,它可以满足滤波器对幅度和相位特性的严格要求,避免模拟滤波器所无法克服的电压漂移、温度漂移和噪声等问题。数字滤波的作用是滤除信号中某一部分频率分量。信号经过滤波处理,就相当于信号频谱与滤波器的频率响应相乘的结果。从时域来看,就是输入信号与滤波器的冲激响应作卷积和。数字滤波器在各种领域得到广泛的应用,例如数字音响、音乐和语音合成、噪声消除、数据压缩、频率合成、谐波消除、过载检测、相关检测等。有限冲激响应(Finite Impulse Response,FIR)滤波器是数字信号处理系统中最基本的元件,它可以保证在任意幅频特性的同时具有严格的线性相频特性,同时其单位冲激响应是有限的,没有输入到输出的反馈,是稳定的系统[1]。目前FIR滤波器的硬件实现有以下几种方式,???种是使用通用数字滤波器集成电路,这种电路使用简单,但是由于字长和阶数的规格较少,不易完全满足实际需要。虽然可采用多片扩展来满足要求,但会增加体积和功耗,因而在实际应用中受到限制。另一种是使用DSP芯片。DSP芯片有专用的数字信号处理函数可调用,实现FIR滤波器相对简单,但是由于程序顺序执行,速度受到限制。而且,就是同一公司的不同系统的DSP芯片,其编程指令也会有所不同,开发周期较长。还有一种是使用可编程逻辑器件,如FPGA (Field Programmable Gate Array,即现场可编程门阵列),有着规整的内部逻辑块整列和丰富的连线资源,特别适合用于细粒度和高并行度结构的FIR滤波器的实现,相对于串行运算主导的通用DSP芯片来说,并行性和可扩展性都更好。本文采用基于单片机和FPGA相结合的设计方法,实现了FIR滤波器的功能,并可实现其他控制和检测功能的有效扩展。 1 FIR滤波器的网络结构 N阶FIR滤波器相对于输入时间序列x(n)的输出表达式为: y(n) = (1) 即输出序列为单位脉冲响应h(n)与输入x(n)的卷积,由卷积关系可直接画出结构图,称之为直接型结构, 该结构中共需要N个乘法器。每次采样y(n)需要进行n次乘法和n -1次加法操作实现乘累加之和,为了减少逻辑资源的占有量和提高系统的运行速度,对FIR滤波器进行了优化处理,本设计采用的优化主要有两种:一种是对表达式进行优化;另一种是在FPGA实现中利用特有的查找表进行优化编程。 2 FIR滤波器电路设计 FIR滤波器的硬件电路设计主要由前置放大电路、A/D转换、D/A转换、单片机、FPGA等部分组成。其中,数字滤波器利用Matlab工具箱设计窗函数计算FIR滤波器系数,基于FPGA最终实现。A/D采样、D/A输出由单片机控制FPGA实现。 2.1 A/D采样与存储的设计 A/D芯片采用TLC5540,此芯片为8位高速AD转换芯片,在本系统中FPGA时钟为20 MHz,通过PLL扩大为40 MHz单独控制A/D采样,因此在后级通过分频改变截止频率Fc时并不会造成输入数据失真。由于A/D采样采进的都是正数,所以在进入滤波器之前对采样数据进行了一次求补运算,在滤波器输出后再进行一次求补运算,最后再传给高速D/A转换 输出。采用双口RAM实现实时回放,完全采用独立的采样、回放模块,避免了无法实时回放的弊端。为了实现实时显示,达到滤波要求,利用QuartusⅡ中的LPM定制一个双口RAM核。 2.2 FPGA中程控截止频率Fc单元电路的设计 通过改变FIR滤波器的采样时钟频率,可以改变滤波器的截止频率。因此在滤波器顶层文件前加一个可预制数的分频器控制改变滤波器截止频率。截止频率Fc过低时,由于此时滤波器采样点的减少,将会造成输出波形的不连续。为了解决这一问题,需在外围输出电路加一个阻抗为1 kΩ,截止频率Fc为100 kHz的RC低通滤波器,这样既满足性能要求,又能使输出波形连续不失真。 2.3 Matlab滤波器参数的设定 使用Matlab软件中Filter Design-Toolbox工具箱中的FDATool,选择低通滤波器,通过不同的窗函数来实现FIR滤波器,观察到不同的窗函数而产生的不同波形,实现滤波功能效果不同。通过仿真分析,当Fc=1 kHz,Fs=2 001 kHz时,利用Blackman窗设计低通滤波器,若阶数为16时,即在-3 dB处为截止频率, 且滚降特性最好,线性相位。幅频、相频仿真图从略。设计出的线性相位16阶FIR数字低通滤波器的特性系数如下: h(1)=0 h(2)= 0.000 166 414 986 892 765 16 h(3)= 0.000 766 894 852 196 452 14 h(4)= 0.002 001 020 476

文档评论(0)

1234554321 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档