自适应均衡算法LMS研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
自适应均衡算法LMS研究
一、自适应滤波原理与应用
所谓自适应滤波器,就是利用前一时刻已获得的滤波器参数等结果,自动地调节现时刻的滤波器参数,以适应信号和噪声未知的或随时间变化的统计特性,从而实现最优滤波。
根据环境的改变,使用自适应算法来改变滤波器的参数和结构。
1.1均衡器的发展及概况
均衡是减少码间串扰的有效措施。
均衡器的发展有史已久,二十世纪60年代前,电话信道均衡器的出现克服了数据传输过程中的码间串扰带来的失真影响。
但是均衡器要么是固定的,要么其参数的调整是手工进行。
1965年,Lucky在均衡问题上提出了迫零准则,自动调整横向滤波器的权系数。
1969年,Gerhso和Porkasi,Milier分别独立的提出采用均方误差准则(MSE)。
1972年,ungeboekc将LMS算法应用于自适应均衡。
1974年,Gedard 在kalmna滤波理论上推导出递推最小均方算法RLS(Recursive least-squares)。
LMS类算法和RLS类算法是自适应滤波算法的两个大类。
自适应滤波在信道均衡、回波抵消、谱线增强、噪声抑制、天线自适应旁瓣抑制、雷达杂波抵消、相参检测、谱估计、窄带干扰抑制、系统辨识、系统建模、语音信号处理、生物医学、电子学等方面获得广泛的应用。
1.2均衡器种类
均衡技术可分为两类:线性均衡和非线性均衡。
这两类的差别主要在于自适应均衡器的输出被用于反馈控制的方法。
如果判决输出没有被用于均衡器的反馈逻辑中,那么均衡器是线性的;如果判决输出被用于反馈逻辑中并帮助改变了均衡器的后续输出,那么均衡器是非线性的。
图1.1 均衡器的分类
1.3自适应算法LMS 算法
LMS 算法是由widrow 和Hoff 于1960年提出来的,是统计梯度算法类的很重 要的成员之一。
它具有运算量小,简单,易于实现等优点。
LMS 算法是建立在Wiener 滤波的基础上发展而来的。
Wiener 解是在最小均方误差(MMSE)意义下使用均方误差作为代价函数而得到的在最小误差准则下的最优解。
因其结构简单、稳定性好,一直是自适应滤波经典有效的算法之一,被广泛应用于雷达、通信、声纳、系统辨识及信号处理等领域。
1.3.1 MSE 的含义
LMS 算法的推导以估计误差平方的集平均或时平均(即均方误差,MSE )为基础。
下面先介绍MSE 的概念。
设计一个均衡系统如下图所示:
图1.2
图1.2中的均衡器为一FIR 横式滤波器,其结构如图1.3所示。
其输入矢量为
[]T
M n x n x n x n )1(,),1(),()(+--=Λx (1.1)
加权矢量(即滤波器抽头系数矢量)为
[]T
M w w w ,,,21Λ=w (1.2)
可知滤波器的输出
*1*)()()1()(ˆw x x w n n i n x w n y
T H M
i i ==+-=∑= (1.3)
则有
)()()(ˆ)()(n n d n y
n d n e H x w -=-= (1.4) 其中H 表示共轭转置。
根据最小均方误差准则,最佳的滤波器抽头系数矢量
opt
w 应
{
}2
)
(n e E
w f =)( (1.5)
使得性能函数—均方误差为最小。
式(1.5)称为均方误差性能函数。
图1.3时域FIR 横式滤波器
在指定的信道条件下,)(w f 为各滤波器抽头系数的函数。
现在来研究系统处于平稳
状态时的情况。
将式(1.4)代入式(1.5)可得
{}w
R w r w r w xx
H
xd
H
xd
H
n d E
+--=*
2
)()
(
{
}{}w R w r w xx
H
xd H n d E +-=Re 2)
(2
(1.6)
其中
xd
r 表示)(n d 和)(n x 的互相关矢量。
)
(n xx R 表示)(n x 的自相关矩阵。
对(1.6)式两端对w 求导,并令导数为零,得到:
xd
xx r w R = (1.7)
当xx R 为满秩时,从而可得到该横式滤波器抽头系数的最优维纳解为:
xd
xx opt r R w 1
-= (1.8)
LMS 迭代算法
由式(1.8)知Wiener 滤波器的抽头系数的直接计算需要矩阵求逆,当M 较大时,计算量较大且由于信号和干扰环境的变化常须对求逆过程不断进行。
所以常用其它递推求解的方法。
下面我们介绍从最陡下降法来推导LMS 算法。
根据最陡下降法,有: )
()()1(w f n n w ∇-=+μw w (1.9)
其中,
)
(w f w ∇为)(w f 的梯度,而μ为常数并被称为步长因子。
又因为:
xd
xx w w f r w R 22)(-=∇ (1.10)
为了实现上述迭代算法需要知道梯度
)
(w f w ∇的精确值,这就要求输入信号)(n x 和
)(n d 平稳且其二阶统计特性已知。
这时才能根据信号)(n x 和需要信号)(n d 的采样值来估
计
xx
R 和
xd
r ,从而寻找
opt
w 。
为了克服上述困难和减少求解每次迭代的计算量的问题。
一种粗略的但是却是十分有效的计算
)
(w f w ∇的近似方法是:直接取
2
)
(n e 作为均方误差
{
}2
)
(n e E
的估计值,即
{
}2
2
)
()
(ˆ)(ˆn e n e E w f w
w
w ∇
=∇=∇ (1.11)
由式(1.4)可得
)
()(2)
(2
n n e n e w x -=∇ (1.12)
将式(1.11)和式(1.12)代入式(1.9)得
)()(2)()1(n n e n n x w w μ+=+ (1.13) 上式就是B.Windrow 在60年代初提出的LMS 自适应迭代算法。
LMS 算法的流程归纳如下:
⑴ 初始化:T
M ]000[Λ=w
⑵ 更新:Λ,2,1=n
在第二步中,若取μ=常数,则称之为基本LMS 算法;若取μ=
)()(n n H
x x +βα
,其中)2,0(∈α,≥β0,则得到归一化LMS 算法。
LMS 算法的重要特点是将其期望值近似为瞬时值。
故在迭代收敛后,加权矢量不会等于最优的加权矢量,而是在最优加权矢量附近随机性的波动,等效于在最优加权矢量上叠加了一个噪声,也就是说这种近似存在误差。
所以,LMS 算法又被称为随机梯度法。
此法可以被视为最陡下降法的近似。
其另一个重要的特点是每次迭代需要1+M 次乘法和M 次加法,因而运算处理相当简单。
LMS 算法采用瞬时值代替期望值,则会存在着一个算法收敛、稳定性的问题。
在本节中,主要来讨论LMS 算法的收敛性及稳定性。
§ LMS 算法的稳定性
比较LMS 算法递推公式(1.13)和最陡下降法递推公式(1.9)可以看出,LMS 算法用
2
)
(n e w ∇作为
{
}2
)
(n e E
w ∇估计。
从而可以想象,LMS 算法的加权矢量平均值{}
)(n w E 将按最陡下降法的加权矢量的变化规律变化。
现在,假设)(n x 和)(n w 不相关来寻找LMS 算法的加权矢量平均值的变化规律。
将式(1.4)代入(1.13)LMS 算法的递推公式可写为:
)]()()()()([2)()1(n n n n d n n n H
w x x x w w -+=+μ (2.1) 或
)()(2)()]()(2[)1(n d n n n n n H
x w x x I w μμ+-=+ (2.2) 对式(2.2)求均值,可得
{}{}xd
xx n E n E r w R I w μμ2)(]2[)1(+-=+ (2.3)
并令误差矢量)(n v 为
opt
n n w w v -=)()( (2.4) 则 {}{}opt
n E n E w w v -=)()( (2.5)
由式(2.3)可得 {}{}
)(]2[)1(n E n E xx v R I v μ-=+ (2.6)
和
{})
0(]2[)(v R I v n xx n E μ-= (2.7)
式中 opt
w w v -=)0()0( (2.8)
根据矩阵理论有
1
-=Q xx Q ΛR (2.9)
其中Q 是可以将
xx
R 对角化的酉矩阵,Λ(),,,(21M Diag λλλΛ=Λ)是以xx R
的特征值
为对角线元素的对角线阵。
在令
)()(1'n n v Q v -= 即
{}
{})()(1
'n E n E v Q v -= (2.10) 由式(2.7)可得
{}
)0(]2[)('
'v ΛI n v E n μ-= (2.11) 由式(2.5)还有
{}]
)0([]2[)(1opt n opt w w Q I Q w n w E --+=-Λμ (2.12)
由式(2.11)和(2.12)可得: 当且仅当
max
/10λμ<< (2.13)
时 {}opt
n n E w w =∞→)(lim (2.14)
其中
m ax λ为滤波器对应的输入信号相关矩阵xx R 的最大特征值。
式(2.13)即为LMS
算法的加权矢量平均值的收敛条件。
实际上,有
xx Tr R ≤max λ (2.15)
式中
xx
Tr R 为
xx
R 的迹,且
{}
in
M
i M i i xx MS i n x E Tr =+-==∑∑==1
21
)1(λR (2.16)
式中
in
S 为滤波器输入信号)(n x 的功率。
这样还可以得到加权矢量收敛的充分条件
1
)(0-<<in MS μ (2.17)
式(2.17)导出了一个大M 的LMS 算法滤波器步长参数μ稳定性界的必要条件,滤波器步长参数μ对M 为较小长度时,至今没有理论上得到μ的固定上界。
但是对于步长μ小的时候:小步长理论对收敛性提供了理论描述[9]即满足式(2.13)的要求。
由上面的收敛稳定性分析可以看出,LMS 算法的收敛是有条件的。
步长μ必须要满足一定的要求。
§ LMS 算法的收敛速度
对信道均衡自适应算法的选择,除了算法本身的稳定性,我们还要考虑它的收敛速度。
收敛速度是指对于恒定输入,当迭代算法的迭代结果已经充分接近最优解时,即已经收敛时,算法所需的迭代次数。
一般来说快速的收敛算法可以快速地适应稳定的环境,而且也可以及时地跟上非稳定环境的特性变化。
从均方误差来看,LMS 算法的最终收敛速度要取决于最慢的一个指数过程,相应的时间常数为
1
min max )2(-=μλτmse
(2.18)
min λ为矩阵xx R 的最小特征值。
从式(2.13)可知,为了保证自适应算法收敛μ受限于
m ax λ,将式(2.13)代入时(2.18)有
m in
m ax
m ax 2λλτ>
mse (2.19)
所以,当xx
R 的特征值分散时,即
m ax λ和min λ相差很大时,LMS 算法的收敛速度性能将
变的很差。
特征值分散定义为:
min max
)(λλ=
xx R cond (2.20)
它反映了一个矩阵
xx
R 的条件数。
当
)
(xx R cond 大时,称矩阵
xx
R 及相应的
xx
R 方程为病
态,所以当
xx
R 为病态时,LMS 算法的收敛性能很差。
由上分析可知,LMS 算法的收敛速度主要是由两个参数来决定:步长μ和特征值分散。
即对
xx
R 的特征值分散敏感。
也就是说,对于不同的特征值分散,LMS 算法的收敛速度不同。
另一方面,LMS 算法的收敛速度和步长μ之间也有关系。
由(2.13)和(2.18)可知在收敛范围内,μ愈大,LMS 算法的收敛速度愈快。
但μ过大时,过渡过程将出现振荡[7]。
§ LMS 算法的性能学习曲线及稳态误差
自适应算法的均方误差的过渡过程又称为学习曲线,均方误差学习曲线是研究自适应滤波器的统计特性的一种通用的方法。
它是基于均方估计误差2
)
(n e 的集平均值。
这个
学习曲线因此也是均方误差
{
}2
)
(n e E
在时刻n 的图形。
由,LMS 算法的均方误差
{
}2
)
(n e E
将近似地按最陡下降法的均方误差的变化规律
变化。
这就是说,LMS 算法的学习曲线近似地为几个不同的时间常数的指数之和。
由式(2.4)及式(1.4)有
)
()()(n n n e H opt x v -= (2.21)
而
)
()()()(n n n d n e H
opt opt x w -= (2.22)
为
opt
w w =时的误差信号,称为最佳误差信号。
最佳误差信号对应于最小均方误差(维
纳误差)
{
}2
min )
(n e E opt =ε。
由于LMS 算法的加权矢量)(n w 具有随机性,使得LMS 算法的
{
}2
)
(n e E
将高于最陡
下降法的
{
}2
)
(n e E。
特别是,对于LMS 算法来说,在{})(n E w 收敛到最佳值opt
w
后,加
权矢量继续按式(1.13)变化,其校正值)()(2n n e x μ不为零,而是继续随机起伏的,从而使)(n w 继续随机起伏。
这就使得LMS 算法的{})(n E w 收敛到opt
w 后,均方误差ε将大于维纳
误差m in ε。
B.Widrow 为此引入了失调系数
min
min εεεδ-=
(2.23)
来描述LMS 算法(和其他算法)的稳态均方误差对维纳误差的相对偏差。
并且有
in MS μδ= (2.24)
可知滤波器阶数愈高,步长因子μ和输入信号功率愈大,就使得失调系数愈大。
由上分析可知,使LMS 算法的性能达到最佳,要选择合适的步长因子μ、滤波器抽头数、输入信号能量及特征值分散。
总而言之,对于平稳系统,算法的参数选择应保证较小的稳态误差和较快的收敛速度,这时均衡才能得到较理想的效果。
本文着重对自适应滤波器算法进行理论分析。
LMS 算法简单,计算代价小,易于实现等特点是其主要优点。
但其缺点是速度慢且收敛速度强烈依赖于输入信号相关矩阵特征值。
LMS 算法是一种递归运算,它不需要对信号的统计特性有先验的了解,而只是使用它们的瞬时估计值,运算得到的只是权重系数的估计值,但随着时间的增加,权数逐步调整,估计值也逐步调整,估计值也逐步改善,最终得到收敛值。
就经典的LMS 算法提出了改进算法:误差归一化的变步长LMS 算法。
算法的基本指导思想是先指定一个较大的步长,使算法有较快的收敛速度;算法在若干次迭代以后会进入稳态邻域,这时减小步长,算法就会在先前稳态的基础上进一步收敛,从而和维纳解更接近,进入范围更小的稳态邻域。
可以看出选择一个可以反映稳态邻域大小的参量是变步长算法核心问题。
并且对改进算法进行了MATLAB 仿真。
计算机仿真结果表明,改进算法有快速的收敛能力,很好的跟踪能力和较小的稳态误差。
通过自适应算法的研究,尤其是LMS 算法的深入研究,使我们对自适应滤波器有了更为透彻的认识。
§ LMS 算法的仿真实现
采用线性横向均衡器与LMS 算法 %LMS 算法1次实验 clear; N=500; db=25;
sh1=sqrt(10^(-db/10));
u=1;
error_s=zeros(1,N);
for loop=1:1
w=0.05*ones(1,11)';
V=sh1*randn(1,N );
K=randn(1,N)-0.5;
x=sign(K);
for n=3:N;
M(n)=0.3*x(n)+0.9*x(n-1)+0.3*x(n-2);
end
z=M+V;
for n=8:N;
d(n)=x(n-7);
end
a(1)=z(1)^2;
for n=2:11;
a(n)=z(n).^2+a(n-1);
end
for n=12:N;
a(n)=z(n).^2-z(n-11)^2+a(n-1);
end
for n=11:N;
z1=[z(n) z(n-1) z(n-2) z(n-3) z(n-4) z(n-5) z(n-6) z(n-7) z(n-8) z(n-9) z(n-10)]';
y(n)=w'*z1;
e(n)=d(n)-y(n);
w=w+u./(eps+a(n)).*z1.*conj(e(n));
end
error_s=error_s+e.^2;
end
w
error_s=error_s./1;
n=1:N;
plot(n,error_s);
xlabel('n (当u=1;DB=25时)');
ylabel('e(n)^2');
title('LMS算法1次实验误差平方的均值曲线');
%LMS算法20次实验
clear;
N=500;
db=20;
sh1=sqrt(10^(-db/10));
u=1;
error_s=zeros(1,N);
for loop=1:20
w=0.05*ones(1,11)';
V=sh1*randn(1,N );
K=randn(1,N)-0.5;
x=sign(K);
for n=3:N;
M(n)=0.3*x(n)+0.9*x(n-1)+0.3*x(n-2); end
z=M+V;
for n=8:N;
d(n)=x(n-7);
end
a(1)=z(1)^2;
for n=2:11;
a(n)=z(n).^2+a(n-1);
end
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
for n=12:N;
a(n)=z(n).^2-z(n-11)^2+a(n-1);
end
for n=11:N;
z1=[z(n) z(n-1) z(n-2) z(n-3) z(n-4) z(n-5) z(n-6) z(n-7) z(n-8)
z(n-9) z(n-10)]';
y(n)=w'*z1;
e(n)=d(n)-y(n);
w=w+u./(eps+a(n)).*z1.*conj(e(n));
end error_s=error_s +e.^2;
end
w
error_s=error_s./20;
n=1:N;
plot(n,error_s);
xlabel('n (当u=1;DB=20时)');
ylabel('e(n)^2');
title('LMS算法20次实验误差平方的均值曲线')
文档来源为:从网络收集整理.word版本可编辑.欢迎下载支持.
结果分析:
观察三个不同步长情况下的平均误差曲线不难看出,步长越小,平均误差越小,但收敛速度越慢,为了好的精度,必然牺牲收敛速度;当降低信噪比时,尽管20次平均仍有好的结果,但单次实验的误差曲线明显增加,这是更大的噪声功率对随机梯度的影响。