数字滤波器是现代数字信号处理系统的重要组成部分之一..docVIP

数字滤波器是现代数字信号处理系统的重要组成部分之一..doc

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

数字滤波器是现代数字信号处理系统的重要组成部分之一,具有模拟滤波器所无法替代的新特性,因此在通信、语音与图像处理、自动控制等领域有着广泛的应用,它对于降低噪声、提高信噪比及信号的频谱纯度等方面有着重要的意义。数字滤波器根据单位脉冲响应的不同,可分为 FIR (有限长脉冲响应)滤波器和 IIR (无限长脉冲响应)滤波器,FIR 优点在于具有良好的相位特性,IIR 优点在于具有良好的幅频特性,可以根据不同的系统性能 要求选择不同的滤波器。 目前滤波器的主要实现方法:单片通用数字滤波器集成电路。该方法简单方便,但由于其字长和阶数不能调节,且规格较少,难以满足实际需要。采用 DSP 器件,DSP 集成了许多专用函数,设计数字滤波器相对简单方便,其应用也最为广泛,DSP 器件性能也不断提高,但在某些要求实时性、高速处理场合则受到很大限制。FPGA (现场可编程门阵 列)以其优越的实时性和设计的灵活性成了控制系统中重要的一部分,并且直接采用 Verilog 或 VHDL编程,简化了设计步骤,在 FPGA 上实现滤波器,使滤波器能适用高速场合。本文研究基于 FPGA 设计FIR 数字滤波器的相关理论、设计方法及仿真。 1 分布式算法的基本原理 分布式算法是一项重要的 FPGA 技术,现广泛地应用于相关、离散傅里叶变换和卷积计算中。随着可编程逻辑器件的发展,分布式算法在数字滤波器硬件设计中的研究和应用将进一步加强。为便于理解分布式算法的原理,考虑“乘积和”内积如下 假设 h(n)是已知常数,x(n)为变量,无符号数 x( n) 的表达式为: 式(2)中 表示 x(n)的第 b 位,而 x(n)是 x 的第 n 次采样。则内积 y 为: 对于有符号数 x(n): 为符号位。则内积 y 为: 公式(5)的形式被称为分布式算法,分布式算法是一种以实现乘累加运算为目的的运算方法。它与传统算法实现乘加运算的不同在于执行部分积运算的先后顺序不同。简单地说,分布式算法在完成乘累加功能时是通过将各输入数据每一对应位产生的部分积预先相加形成相应部分积,然后再对各部分进行累加得到最终结果。 2 分布式算法的 FPGA 实现 FPGA 中的基本单元称作可配置逻辑块( Con-figurable Logic Block,CLB),CLB 中的 Slice 又包含若干功能发生器(Function Generators,FG),FG 可编程配置为移位寄存器、查找表(LUT)或 RAM 存储器,这一能力为实现分布式算法提供了硬件基础。 在具体实现时,利用查找表(LUT)映射乘累加运算,LUT 可采用基于 FPGA 逻辑单元的 case 查找表或者 FPGA 自带的 RAM 来实现。如图1 所示,预先设定程序的 LUT 接收一个 N 位输入向量[Xi(N -1),…,Xi(1),Xi(0)],查找表的输出对应表 1 中输出值,然后将从 LUT 中读取的数据经过处理后送入加法器中。将每个输入数据的相同位传递给 LUT,不同的位有不同的值。上述算法的实现由于摒弃了大量的乘法运算,使运算效率得到成倍的提高。 3 FIR 滤波器设计及仿真 FIR 数字滤波器可用公式表示为: 根据线性相位 FIR 数字滤波器冲激响应 h(n)的对称性可以发现,当阶数 N 确定后,式(6)是一个内积公式。也就是说,FIR 滤波器可以采用分布式算法来实现。下面以一个截止频率为 10. 8 kHz,采样频率为 48 kHz 的 16 阶 FIR 低通数字滤波器为例说明硬件电路设计的方法和过程。 3. 1 利用 MATLAB 的滤波器设计工具进行滤波器系数的确定 滤波器系数可以使用 Matlab 的 FDATool 设计工具获得。FDATool 即为 Fiter Design & AnalysysTool,可以完成多种滤波器的设计、分析和性能评估。 启动 FDATool 后就是滤波器的设计界面,在该界面中进行滤波器设计,首先选择 Response Type 为Lowpass,然后选择 Design Method 为 FIR,在 FIR 的下拉窗口中选择 window,Fiter Order 指定为 15,win-dow 选为 kaiser,Beta 值为 0. 5,Fs ( 采样频率) 为48 kHz,Fc(截止频率)为 10. 8 kHz,然后点击 designfilter 按钮,便可生成所需的系数以及仿真的滤波器幅频特性图。由于得到的系数均为介于[-1,1]区间的浮点数,而 FPGA 上只能进行定点数乘法,故需将其量化为整数。量化后滤波器系数为: 3. 2 系统顶层文件设计 用 VHDL 语言实现硬件时,定义了一个顶层实体 fir

文档评论(0)

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

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

1亿VIP精品文档

相关文档