FIR带通滤波器设计的FPGA实现.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
FIR带通滤波器设计的FPGA实现

FIR带通滤波器的FPGA实现 引 言 ????在FPGA应用中,比较广泛而基础的就是数字滤波器。根据其单位冲激响应函数的时域特性可分为无限冲击响应(Infinite Impulse Response,IIR)滤波器和有限冲击响应(Finite Impulse Response,FIR)滤波器。DSP Builder集成了Altera和Matlab/Simulink基于FPGA的信号处理的建模和设计。该工具可以将数字信号处理算法(DSP)系统表示成为一个高度抽象的模块,在不降低硬件性能的前提下,自动将系统映射为一个基于FPGA的硬件设计方案。即支持设计者在Matlab中完成算法设计,在Simulink软件中完成系统集成,然后通过SignalCompiler(模块名)生成在QuartusⅡ软件中可以使用的硬件描述语言,最终实现硬件系统的设计。FIR滤波器是DSPBuilder应用中最为常用的模块之一,在此基于上述基础,设计实现了基于模块的FIR数字带通滤波器。 1 基于DSP Builder的滤波系统设计 1.1 FIR滤波器原理 ??? 有限冲激响应(Finite Impulse Response,FIR)滤波器是由有限个采样值组成,实现的方式是非递归、稳定的,在满足幅频响应要求的同时,可以获得严格的线性相位特性,因此在高保真的信号处理等领域得到广泛应用。 ??? 对于一个FIR滤波器系统,它的冲击相应总是有限长的,其系统函数可记为: 最基本的FIR滤波器可表示为: 式中:z(n)是输入采样序列;h(n)是滤波器系数;L是滤波器阶数;y(n)表示滤波器输出序列,为x(n)和h(n)的卷积。FIR滤波器基本结构如图1所示。 ?对于一个4阶滤波器子系统其输出可表示为: ?可见在这个子系统中共需要4个延时器,4个乘法单元和一个4输入的加法器,并可以根据实际需要选择调用子系统构成多阶滤波器。 1.2 滤波的总体要求及实现 1.2.1 设计要求和滤波参数选取 ????该带通滤波器的技术指标为16阶FIR数字带通滤波器,对模拟信号的采样频率fs为102.4 kHz,通带频率为24~44 kHz,上限截止频率24 kHz,下限截止频率44 kHz,输入/输出序列位宽分别是9位、19位。滤波器系数由滤波器设计工具FDATools生成。因FIR数字滤波器的设计方法主要有窗函数法和等波纹一致逼近法等,比较最佳效果选定Equiripple等波纹法实验。输入信号采用DSPBuilder库中的增加/减少(Increment Decrement)模块和LUT模块,分别构成一个线性递增的地址发生器和正弦查找表模块。这样组建一组正弦信号,考虑组建通带内频率f1=24.414 kHz与带外频率f2=48.828 kHz叠加。之所以选这两个频率主要根据LUT中的信号的步进制即在一个周期(0~2π)中对信号采样点来决定的。 1.2.2 带通滤波器的模型设计 ??? 根据FIR滤波器原理和4阶子系统的输出公式,在Matlab的Simulink环境下,调用Altera DSP Builder库中的4个 Delay延迟模块、4个Product乘法模块、5个9位的Input输入端口、1个20位的Output输出端口和一个4输入的加法器,使9位的输入序列x(n)和FIR滤波器的系数h(0),h(1),h(2),h(3)作为输入,完成4阶滤波器子系统。调用4个这样的子系统级联起来构成16阶的滤波器。其中,滤波器系数h(0),h(1),…,h(15)由滤波器设计工具FDATools生成,系数与滤波器关联,建立出完整的滤波系统模型。 2 Simulink的模型仿真 ??? 在Simulink环境下设计仿真时间等参数,运行仿真得到滤波输出的幅频相应图和时域图如图2,图3所示。 ??? 图2中纵横坐标分别代表了幅值和频率值显示,Magnitude,Frequency单位分别是dB(幅值单位也称衰减倍数)和MHz(横坐标每格单位相比kHz被放大104便于观察)。纵横轴每格量为5 dB和50 MHz。从该频谱图中可看出,滤波后通带内幅频曲线相对平缓,带外衰减较大,由滤波前的连续幅频变成了选择通过的单一幅频曲线,起到了过滤带外频谱的作用。 ?该图坐标轴的纵横轴分别代表了幅度值和时间轴。单位分别为十进制数和s。图3(a)是两正弦信号经平行加法器合成的波形图3(b)滤波后的波形。可见高频信号衰减很大起到了过滤带外时间离散信号的作用。综上该带通滤波器在频域和时域都实现了相应的滤波功能,至此完成了模型仿真。 3 在ModeISim中实现RTL级仿真 ????Simulink中仅实现了算法级的仿真,而ModelSim需要对生成的VHDL代码进行功能仿真即RTL级仿真。如图4的波形。 ? 图4定性表

文档评论(0)

aicencen + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档