当前位置:首页 > 语音降噪 LMS算法
论文
在该式中,滤波器每接受一对信号?x(k)d(k)?,权系数向量递归迭代一次,而对于BLMS算法先固定权系数向量不变,直到滤波器接受L对新的信号
?x(k)d(k)?才更新迭代一次权系数向量,考虑权系数向量迭代方程
w(k?L (5-2) )?w(k?L?1)??2x(k?L?1)e(?k ?L上式中L是一个整数,取值范围1?L?N,w(k?L?1)用w(k?L?2)迭代一直到w(k),则有
W(k?1)?W(k)?2??x(k?i)e(k?i) (5-3)
i?0L?1上式表示从n时刻到n+L时刻,权系数向量迭代一次求和项中的各个误差信号对应于相同的权系数向量,即
w(k?i)?d(k?i)?y(k?i) i?0,1,2???,3L,? (5-4) ,3L,? (5-5) y(k?i)?xT(k?i)w(k) i?0,1,2???为了更方便明确,定义一个新的时间变量m,与时间k的关系是k=mL,于是(3.3)式中的变量mL?L可写成(m?1)L,为简单起见,省略掉L,则(3.3)式变为
w(m?1)?w(m)?2??x(mL?i)e(mL?i) (5-6)
i?0L?1即m表示组的序数,k表示信号的序数,分组自适应滤波器的梯度估计值为
2L?1????x(mL?i)e(mL?i) (5-7)
Li?0定义矩阵x(m)为
x(m)?[x(mL)x(mL?1)???x(mL?L?1)]T (5-8)
定义误差信号向量e (m)、期望响应信号向量d (m)和输出信号向量y(m)为
e(m)?[e(mL)e(mL?1)???e(mL?L?1)]T (5-9) d(m)?[d(mL)d(mL?1)???d(mL?L?1)]T (5-10) y(m)?[y(mL)y(mL?1)???y(mL?L?1)]T (5-11)
则由式(5-6) ~(5-11)得到BLMS算法为
?(m) (5-12) w(m?1)?w(m)??B?论文
?(m)?2x(m)e(m) (5-13) ?Ly(m)?x(m)w(m) (5-14)
比较LMS、BLMS算法,两者的收敛因子有如下关系
?B??L (5-15)
分组BLMS自适应滤波器的均方差误差函数为
11L?12T ?B?E[e(m)e(m)]?E[?e(mL?i)] (5-16)
LLi?0是一组误差信号的平方的平均值的数学期望,将(5-9) ~(5-11)式代入上式可得
1L?B?E[dT(m)d(m)]?E[dT(m)x(m)]w?wTE[xT(m)d(m)]?wTE[xT(m)x(m)]w (5-17)
L在这里我们定义
RBxx?E[xT(m)x(m)] (5-18)
RBxd?E[xT(m)d(m)] (5-19)
RBxx是N?N阶的分组BLMS滤波器的输入信号的自相关矩阵,RBxd是分组输入信号和分组期望响应信号的互相关向量,代入(5-17)式得到
?B?1TE[dT(m)d(m)]?2RBxdw?wTRBxxw? (5-20) ?L在平稳信号的环境下,有
RBxx?LRxx (5-21) RBxd?LRx d (5-22) 则由(5-18)~(5-22)式可以得到
?B???E[e2(k)] (5-23)
即分组BLMS自适应滤波器的均方误差等于LMS自适应滤波器的均方误差,也就是说分组Wiener滤波器的最优权系数向量等于Wiener滤波器的最优权系数向量,即
wopt?Rxx?1Rxd (5-24)
论文
BLMS算法的有关性能已做了详细的讨论,在这里引用几个结论。 (1)收敛步长因子的选择
为了保证BLMS算法收敛,即迭代次数趋近于无穷大,权系数向量等于Wiener权系数向量,当且仅当收敛因子满足条件
0??B?1?max (5-25)
?max是输入信号的自相关矩阵Rxx的最大特征值。
(2)自适应收敛速度
自适应收敛速度是指权系数向量从初始值收敛到Wiener权系数向量的快慢速度,也就是指均方误差降低到最小均方误差的快慢速度,通常用时间常数表示,如下式所示
?BMSE?14?B?P (5-26)
,显然可见自适应的收敛速度取?P是矩阵Rxx的特征值(P=1,2,…,N)决于最大的一个时间常数。
(3)自适应精度
在自适应过程中的噪声将引起权系数向量围绕最小点随机变化,其结果使得稳态均方误差大于最小均方误差,两者之差的平均值为“超量”均方误差(excess MSE),它与最小均方误差的比值即为失调M。我们知道LMS算法的稳态失调为M???trace[Rxx],则对于BLMS算法来说
excessMSE??B?mintrac[Rxx]L MB??Btrac[Rxx]L (5-27)
比较LMS、BLMS算法的收敛速度和收敛精度,我们可以得到如下系:
TBMSE?MSE?L??B
MB?B? (5-28) ML?如果?B?L?,BLMS算法和LMS算法的收敛速度和失调都一致的。但由于?B是x(m)和与之对应的w(m)的线性卷积,即:
y(m)?xT(m)w(m) (5-29)
论文
5.2 频域LMS算法(FBLMS算法)
公式(5-29)在LMS频域实现中,将参考信号分隔成N长(自适应滤波器的权数)的块,权系数的更新每N个样点进行一次,而每次的更新是由N个误差信号样点累加结果控制的,这既保证了与时域LMS算法有相同的收敛速度,同时可以利用快速FFT技术,用序列的循环卷积来计算线性卷积,从而大幅度地减少运算量。
[47][48]
对每个m,以x(m?1)块和x(m)块组成2N点序列,而在m?1时,在x(1)的前面添置N个零,也就是说保留过去的N个信号,引入了N个新的信号,使其具有50%的数据重叠。则频域输入信号是现在的一组时域输入信号与过去一组时域输入信号所组成一组长度为2N的信号的FFT变换,即为
TTx(m)?diagFFT?x(m?1)x(m)???
????g ?dia???F[FT(x?mN),N(x?mN?1)N,(?xm?N2?N)?,?( x?mN???????????????????????第m-1块T?? x(mN),x(m? 1 (5-30) N1),x(m?N?2?)?,x(m?N?N?????????????????????第m块?对应每个输入块的时域权系数向量w(m)在其后添置N个零,组成2N点序列,并通过FFT变换转换为频域权系数向量,即有
T[Tm(?),???0,0 w(m)?FFTw 0 ] (5-31) ???? ,N个0用循环卷积来计算上面的线性卷积,每组频域输出是x(m)和w(m)的乘积,则输出的时域序列相应可表示为:
y'(m)?IFFT[w(m)x(m)] (5-32)
原线性卷积运算是频域输出逆快速傅立叶变换的下半部分元素,则去掉
y'(m)中前N个零,剩余的N个值便是自适应滤波器的真正输出,即
??y?mN?,y(mN?1),y(mN?2),???y?mN?N?1????y?m? (5-33)
这时将频域中的误差信号可表示为
共分享92篇相关文档