子带分解自适应滤波器优点及FPGA实现

2013-11-07 17:18 来源:电子信息网 作者:洛小辰
Subystem4是自适应滤波器。Subystem2,Subystem3自适应滤波器的阶数是Subysteml,Subystem4阶数的1/20。期望信号由sine wavel模块提供,输入信号由Sine wave2和Random Bitstream叠加在一起的信号组成。系统所需的模块都是直接调用DSP builder中的模块。Subystem2是7阶NLMS算法自适应滤波器,其框图见图4。如果调高提高收敛速度,则可增加延迟模块、自适应子系统模块,加法器模块即可,但需消耗更多的硬件资源。

14


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

FIR滤波器的单位冲激响应是有限长的,其z变换为

3


。分析和综合滤波器系统主要由延迟单元、加法器、加法器模块组成。分析和综合滤波器不可能有锐截止的理想特性,必须通过增加阶数来逼近。分析滤波器子系统h00,h01,h10,h11,综合滤波器子系统g00,g01均采用横截型结构。

15


权值更新子系统模块主要由乘法器、除法器、加法器、延迟单元、总线类型转换等模块组成。该子系统主要完成滤波器的权值更新。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所示,输出信号含有毛刺,这说明输出信号与期望信号还有一定的稳态误差。可以通过增加滤波器的阶数,或修改步长控制参数μ,以达到更好的效果。

16


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

5 结语

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

< 1 2 
FPGA 滤波器

相关阅读

暂无数据

一周热门