新闻中心

EEPW首页>模拟技术>设计应用> 子带分解的自适应滤波器的FPGA实现

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

作者: 时间:2010-05-26 来源:网络 收藏


模块主要由延迟单元,权值更新子系统、加法器模块,乘法器模块组成。它是将抽取过后的信号进行自适应滤波。
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 结语
本文只是从硬件的角度出发设计两个子带实现。由于滤波器组的非理想特性,有必要采取子带间滤波,子带间的滤波可大大提高收敛速度。子带的设计和研究过程是比较复杂的,这里就主要的设计研究思想做了一个阐述,鉴于设计中的自适应滤波器的阶数选取相对较小,因而对自适应滤波器的稳态误差有一定的影响,通过增加自适应滤波器的阶数,分析和综合滤波器的阶数、数据的位数来提高精度。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭