比较LMS和RLS算法的性能

1、仿真模型

比较LMS和RLS算法的性能_第1张图片

  水声通信模型             图源:网络

2、调制方式及信道设置

要求:调制方式QPSK、序列长度2048、训练序列长度1024、信噪比范围5-20dB,比较LMS和RLS算法的性能,均衡后的均方误差。

3、算法描述

(1)LMS算法

由于最陡下降法每次迭代都需要知道性能曲面上某点的梯度值,而实梯度值只能根据观察数据进行估计。而LMS算法实质上是用平方误差代替均方误差,即每次迭代中,其梯度具有如下形式:

比较LMS和RLS算法的性能_第2张图片

  由此,可以推出权值更新公式为:

比较LMS和RLS算法的性能_第3张图片

 一般来说,LMS算法简单且具有计算量小,易于实现等特点,但其收敛速度较慢: 

        1、增大步长,将会提高收敛速度,单收敛后误差较大

        2、减小步长,则正好相反

(2)RLS算法

   RLS算法是递归最小二乘算法,根据估计误差自动调节现时刻的参数,使得代价函数最小,从而实现最优滤波。RLS算法是利用已知n-1时刻滤波器抽头权系数的情况下,通过简单的更新,求出n时刻的滤波器抽头权系数,其代价函数公式为:

RLS的算法步骤为:

初始化:w(0)=0, R(0)=σI,

更新:对于n=1、2···计算估计误差:e(n)=d(n)-y(n)

更新:k(n)=P(n-1)x(n)/{λ+xH(n)P(n-1)x(n)}

更新:P(n)=1λ[P(n-1)-k(n)xH(n)P(n-1)]

更新权向量:w(n)=w(n-1)+k(n)e*(n)

滤波:y(n)=w^H(n-1)x(n)

4、实验参数说明

参数设定:

比较LMS和RLS算法的性能_第4张图片

 
基带信号加噪声与过信道后的QPSK星座图如下所示:

比较LMS和RLS算法的性能_第5张图片

 比较LMS和RLS算法的性能_第6张图片

 利用均衡器恢复的QPSK星座图如下所示:

比较LMS和RLS算法的性能_第7张图片

 比较LMS和RLS算法的性能_第8张图片

 各均衡器的学习曲线如下所示:

比较LMS和RLS算法的性能_第9张图片

 比较LMS和RLS算法的性能_第10张图片

 LMS算法的收敛速度明显较慢,约在第300次迭代时才收敛,NLMS算法收敛速度略有提升,约在第100次迭代时达到收敛,而RLS算法收敛速度较快,约在第50次迭代时就达到收敛,且算法的误差也相对较小。

两种算法性能的比较:

比较LMS和RLS算法的性能_第11张图片

通过仿真结果可以看出,两种信号的均方误差都在减小,均方误差随着信噪比的升高而降低,与理论计算值相符。

与LMS算法相比,RLS算法采用时间平均,因此,所得出的最优滤波器依赖于用于计算平均值的样本数,而LMS算法是基于集平均而设计的,因此稳定环境下LMS算法在不同计算条件下的结果是一致的。在性能方面,RLS的收敛速率比LMS要快得多,因此,RLS在收敛速率方面有很大优势。

【参考资料】

1:博客:水声通信课程作业业_二 | 漫漫人生路 (codekp.cn)

2: matlab qpsk调试 rls均衡,自适应滤波_长野君的博客-CSDN博客

3:陈海兰,胡晓毅,许茹,刘慧,蔡彦.LMS算法和RLS算法在水声信道通信系统中应用的比较[J].现代电子技术,2007(03):18-19.

PS:源代码也放在下载栏

比较LMS和RLS算法的性能_第12张图片

 

你可能感兴趣的:(学习笔记,通信知识,算法)