2.3 归一化LMS算法(NLMS)
2.3.1 NLMS算法实现
NLMS算法是将LMS算法中的 值重新定义,让 值会随输入信号之正规化作改变,能提升收敛的稳定性。下面为NLMS算法实现所需的计算式:
; ; ; ;
各参数的定义和LMS算法定义相同,新增参数的定义为 :很小的正常数,一般取 =1e-10。
LMS算法的稳定度和收敛速率受到 值和参考信号的影响,由于 值为一固定值,因此LMS的整体收敛速率就受它的影响,收敛速率对变化较快的信号反应并不理想。而NLMS算法能改善输入信号对收敛因子的影响, 值随着时间n变化成为 (n),使之随时变化,从而调节至最佳值。另外为了避免当输入信号过小时造成收敛因子的发散,还加入 值。
下图为NLMS算法的流程图:
SHAPE \* MERGEFORMAT
2.3.2 NLMS算法的Matlab仿真分析
图(2.3.2.1)
图(2.3.2.2)
由图2.3.2.1和图2.3.2.2可以看出NLMS算法的自适应滤波过程及误差收敛情况,而且相比LMS算法在相同条件下,NLMS算法要比LMS算法收敛更快一些。这是因为NLMS算法的计算量与LMS相当,但是由于NLMS算法的收敛条件与输入信号的特征值无关,故NLMS算法比LMS算法的收敛速率快。
下图可以看出二者收敛的差别:
图4.2.3 LMS的误差收敛
图4.2.4 NLMS的误差收敛
LMS算法中大约在t=600时开始收敛,而NLMS则是在大约t=400时开始收敛。明显NLMS的收敛速度要快与LMS。
3自适应信号处理的应用及Matlab仿真
3.1 通信中的自适应噪声抵消
在通信和其他许多信号处理应用问题中,接受信号中往往伴随着干扰和噪声,从而显著影响接受信号的可靠性,或者导致误码率上升。一般来说,干扰和噪声的存在总是难免的。信号处理技术的核心问题之一就是从受到干扰污染的信号中估计,检测或者恢复出原始信号。而自适应噪声抵消的基本原理就是将被噪声污染的信号与参考信号进行抵消运算,从而消除带噪信号中的噪声。其关键问题是自适应噪声抵消系统的参考信号一定要与待消除的噪声具有一定的相关性,而与要检测或者提取的信号不相关。自适应噪声抵消系统经过自适应系统的控制和调整,系统能够有效地从噪声中恢复出原始信号。
作为自适应信号处理领域的重要分支之一,它已经受到了人们的普遍关注并得到了广泛的应用。
3.1.1 自适应噪声抵消系统的基本原理 下图为典型自适应噪声抵消系统的原理框图:
图3.1.1 自适应噪声抵消系统
在图3.1.1中,原始输入信号d(n)为有用信号s(n)与噪声v(n)之和,参考输入信号x(n)是与v(n)相关的噪声u(n)。假定s(n),v(n),u(n)均为零均值平稳随机过程,且满足s(n)与v(n)及u(n)互不相关。由图3.1.1可见,自适应滤波器的输出 为噪声u(n)的滤波信号。则整个自适应噪声抵消系统的输出y(n)为
式(3.1.1.1)