1.2 自适应系统的组成
自适应系统和常规系统类似,可以分为开环自适应和闭环自适应两种类型。开环自适应系统主要是对输入信号或信号环境进行测量,并用测量得到的信息形成公式或算法,用以调整自适应系统自身;而闭环自适应系统还利用系统调整得到的结果的有关知识去优化系统的某种性能,即是一种带“性能反馈”的自适应系统。
下图a表示一个开环自适应系统,控制该系统的自适应算法仅由输入确定。图b则表示一个闭环自适应系统,控制该系统响应的自适应算法除了取决于输入外,还依赖系统输出的结果。
开环自适应系统
输入 输出
图(a)
闭环自适应系统
输入 输出
图(b)
1.3基本自适应算法
这里主要介绍LMS,RLS,NLMS三种基本算法。
LMS算法是最被广泛应用的滤波器演算法,最大的特点就是计算量小,易于实现。基于最小均方误差准则,LMS算法使滤波器的输出信号与期望输出信号之间的均方误差最小。运算过程不需要对相关函数及复杂的反矩阵做运算,所以经常拿来用作比较的基准。
最小化,而RLS算法是将输出误差信号平方值总和最小化。虽然RLS算法复杂度和阶数平方成正比,但是由于它的收敛速度快,所以仍然受到广泛的应用。为克服常规的固定步长LMS自适应算法在收敛速率,跟踪速率与权失调噪声之间的要求上存在的较大矛盾,许多学者提出了各种各样的改进型LMS算法。比如归一化LMS,基于瞬变步长LMS以及基于离散小波变换的LMS自适应滤波算法。这里我们讨论归一化的LMS算法,即NLMS算法。
以上这些算法主要特点是不需要离线方式的梯度估值或者重复使用样本数据,而只需在每次迭代时对数据作“瞬时”梯度估计。因此自适应过程中的迭代比较简单,收敛速度比较快。
1.4 Matlab语言介绍
本文的算法仿真采用了MATLAB语言。MATLAB是Mathworks公司于20世纪80年代推出的数值计算软件,近些年来得到了广泛的应用。MATLAB的全称是Matrix Laboratory,意思是矩阵实验室。它是以矩阵运算为基础的新一代程序语言。与Fortran和C相比,MATLAB语句显得简单明了,更加符合人们平常的思维习惯。同时,MATLABB有着良好的数据可视化功能,能将数字结果以图形的方式表现出来,让人们一目了然。这些特点使得MATLAB从众多数值计算语言中脱颖而出,并正以相当快的速度在科学研究和工程计算中得到应用和普及。
MATLAB有着非常强大的数值计算能力,它以矩阵为基本单位进行计算,数域扩展到复数,这一特点决定了MATLAB有着非凡的解决数值问题的能力。绘图方面,MATLAB的绘图语句简单明了,功能齐全。它能够在不同坐标系里绘制二维、三维图形,并能够用不同颜色和线型来描绘曲线。正是由于MATLAB这些特点,从而使它适合与进行自适应算法仿真。