子带分解的自适应滤波器的FPGA实现

来源:电子工程世界 作者:—— 时间:2010-06-08 10:28

FIR滤波器的单位冲激响应是有限长的,其z变换为公式。分析和综合滤波器系统主要由延迟单元、加法器、加法器模块组成。分析和综合滤波器不可能有锐截止的理想特性,必须通过增加阶数来逼近。分析滤波器子系统h00,h01,h10,h11,综合滤波器子系统g00,g01均采用横截型结构。

  权值更新子系统模块主要由乘法器、除法器、加法器、延迟单元、总线类型转换等模块组成。该子系统主要完成滤波器的权值更新。w(k+1)=w(k)+μ/γ+xT(k)x(k)e(k)x(k)运算和wi(k)xi(k)运算。

  4 仿真

  Matlab的Simulink环境具有强大的图形化仿真验证功能,用DSP Builder模块设计好一个新的模型后,可以直接在Simulink中进行算法级、系统级仿真验证。该设计的Simulink仿真如图6所示,输出信号含有毛刺,这说明输出信号与期望信号还有一定的稳态误差。可以通过增加滤波器的阶数,或修改步长控制参数μ,以达到更好的效果。

  运行Signal complier可将通过Simulink的模块文件(.mdl)转换成通过的硬件描述语言VHDL文件;运行Testbench(测试平台)可将Sine wavel、Sinewavel+noise、Clock转换成针对HDL仿真器ModelSim的测试文件。由图7可知输出信号Sine out逐渐趋于稳定,逼近与期望信号sine wavel,因此设计结果满足要求,能够实现自适应过程。

Simulink仿真

  5 结语

  本文只是从硬件的角度出发设计两个子带自适应滤波器的FPGA实现。由于分解滤波器组的非理想特性,有必要采取子带间滤波,子带间的滤波可大大提高收敛速度。子带自适应滤波器的设计和研究过程是比较复杂的,这里就主要的设计研究思想做了一个阐述,鉴于设计中的自适应滤波器的阶数选取相对较小,因而对自适应滤波器的稳态误差有一定的影响,通过增加自适应滤波器的阶数,分析和综合滤波器的阶数、数据的位数来提高精度。

相关文章

资讯排行榜

  • 每日排行
  • 每周排行
  • 每月排行

华强资讯微信号

关注方法:
· 使用微信扫一扫二维码
· 搜索微信号:华强微电子