基于LMS的自适应滤波器

基于LMS的自适应滤波器


by 庞健、袁健熊、刘思军&雷茂   

第一部分

设计概述 /Design Introduction

 

自适应滤波是近几十年发展起来的信号处理理论的的新分支。随着人们在该领域研究的不断深入,自适应处理的理论和技术日趋完善,其应用领域也越来越广泛。自适应滤波在通信、控制、语言分析和综合、地震信号处理、雷达和声呐波束形成,以及医学诊断等诸多科学领域均有着广泛的应用,也正是这些应用又反过来推动了自适应滤波理论和技术的发展。

自适应滤波是在维纳滤波、卡尔曼滤波等线性滤波基础上发展起来的一种最佳滤波方法。自适应滤波器使之能够根据环境的改变,采用某种自适应算法来改变滤波器参数,不改变结构。现代通信信号处理发展到 3G4G 时代后,每秒上百兆比特处理速度的要求对于自适应 处理技术是一个极大的挑战。使用具有高度并行结构的 FPGA 实现自适应算法以及完成相应的调整和优化,相比于在 DSP 芯片上的算法实现可以达到更高的运行速度。

直接求解维纳-霍夫方程是不现实的,因为不仅无法事先的知输入信号的统计特征,也无法利用FPGA等硬件平台快速实现诸如矩阵求逆等复杂的数学运算。一种可行的途径是寻找到一种迭代算法,通过不断的迭代运算,使滤波器系数最终收敛到最佳值,尽量接近维纳-霍夫方程中的最优解。LSM算法是由WID容我和Hoff1960年提出的,该算法基于最小均方误差准则,在梯度法的基础上,通过改进均方误差梯度的估计值计算方法,取单个误差样本平方的梯度作为均方误差梯度的估计值,有效减少了运算量,降低了最陡下降算法的复杂度,具有结构相对简单、运算量较小等优势,近年来在地球物理信号处理、通信信号处理、语音信号处理等领域得到了越来越多的应用

 

作品照片:

 

1-1自适应滤波器测试波形图

1-2 自适应滤波器实物测试图

 

1-3 自适应滤波器仿真波形图

 

第二部分

 

2.1计划实现及已实现功能

(1)MATLAB上进行仿真,验证自适应滤波的自适应性;

(2)HLS上实现并行化,最终达到LSM并行化计算能力,参数自动调整等功能;

(3)下载到板卡上进行测试,经过反复测试优化,最终实现基于HLS的自适应滤波;

2.2项目技术方案

自适滤波器是一种变系数的数字滤波器,由于其能够根据算法动态调整滤波系数,始终能够保持一个较好的滤波性能,目前已经在自适应噪声对消、移动通信信道均衡、自适应信号增强以及信号预测等领域得到了广泛的应用。

 

2-1 自适应滤波器框图

2-1为自适应滤波器框图,主要包括数字滤波器硬件和自适应算法两个大的部分。自适应滤波器硬件是基础,算法是灵魂。实际应用中,一般利用误差信号e(n)构造自适应滤波算法所需要的目标函数,在此基础上再定义滤波器的更新规则,从而构建不同的自适应算法。

LMS算法全称最小均方误差算法的简称,LMS算法是在维纳滤波器的基础上改进来的。我们知道,经典的维纳滤波器采用的是最陡下降沿算法来求解自适应滤波器的最优解,滤波器系数的最优解如(2-1)所示

   

LMS算法的实现结构如图2-2所示,由上图可知,完成一次LMS算法权值更新需要经过比较多的乘法器、加减法器、移位操作。当第一组输入信号进入自适应算法系统时,首先要完成N此乘法运算,而后依次完成加法运算、1次减法运算、N次乘法运算、N次移位操作及N次加法运算。

 

第三部分

完成情况及性能参数 /Final Design & Performance Parameters

 

MATLAB仿真如图3-1和图3-2所示,首先生成一个原始信号,和高斯噪声信号,并将噪声信号假如到原始信号中,再分别将原始信号和加噪后的信号作为参考信号dn和系统输入信号xn,最终通过自适应滤波算法,得到如图3-2所示的滤波结果,从图3-2分析可得,信号的滤波效果很好,误差很小,收敛于0.02。从仿真的角度,实现了基于LMS的自适应滤波器设计。

3-1 MATLAB仿真的原始信号和噪声信号

3-2 MATLAB的滤波信号

系统仿真完成后,在HLS中撰写LMS算法的滤波器,代码如图3-4所示,图3-3为优化后的资源占用情况和时钟总结情况,又分析可以看出,系统的数据处理到输出只需要一个时钟,实现了系统的流水线实时处理。再从资源的角度分析,可以看到,使用了40DSP105LUT1036FF,资源占用满足要求,可以实现下板测试。

3-3 HLS优化的结果

 

3-4 HLS代码

在仿真完成后,生成IP核并导入Vivado创建工程,使用MATLAB生成参考信号和系统输入信号,并写入文本,再制作成Vivado可用的.coe文件,在Vivado中添加ROM IP 核,并添加制作好的数据源.coe文件,作为整个系统的输入信号。完成整个系统的搭建,最后下板测试,下板测试结果如图3-5所示,使用Vivadoila工具,抓取数据源和滤波结果,从抓取到的波形可以看出,滤波后的信号效果比较理想,完成了自适应滤波的功能。

 

3-5 下载板卡测试

                                                                                                  

2020年9月21日 11:12
浏览量:0
点赞
首页    Catalog    2020 Summer School    基于LMS的自适应滤波器