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

[09-12 18:31:50]   来源:http://www.88dzw.com  EDA/PLD   阅读:8885

文章摘要:自适应滤波器模块主要由延迟单元,权值更新子系统、加法器模块,乘法器模块组成。它是将抽取过后的信号进行自适应滤波。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

子带分解的自适应滤波器的FPGA实现,标签:eda技术,eda技术实用教程,http://www.88dzw.com


  自适应滤波器模块主要由延迟单元,权值更新子系统、加法器模块,乘法器模块组成。它是将抽取过后的信号进行自适应滤波。

  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,因此设计结果满足要求,能够实现自适应过程。

  5 结语

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


上一页  [1] [2] 


Tag:EDA/PLDeda技术,eda技术实用教程EDA/PLD

《子带分解的自适应滤波器的FPGA实现》相关文章

分类导航
最新更新
热门排行