一种基于幂函数的自适应变步长LMS滤波器及其实现方法技术

技术编号:30649206 阅读:19 留言:0更新日期:2021-11-04 01:04
本发明专利技术请求保护一种幂函数变步长LMS算法的滤波器设计方法,涉及信息技术领域。获取每次迭代过程中的滤波器瞬时输入信号和瞬时期望信号,以固定时长对滤波器进行迭代,对于每次迭代过程,依次计算滤波器瞬时误差信号,依据滤波器瞬时误差信号调用幂函数变步长算法确定瞬时步长μ(i),根据瞬时步长对滤波器抽头权系数向量进行更新获取下一时刻滤波器抽头权系数向量。本发明专利技术适用于变化多样的输入信号,在理想条件下只需确定一个参数就能在所有情况下均保证良好的滤波效果。便于工程应用和进一步开发。进一步开发。进一步开发。

【技术实现步骤摘要】
一种基于幂函数的自适应变步长LMS滤波器及其实现方法


[0001]本专利技术涉及一种自适应滤波器,具体涉及一种自适应变步长LMS滤波器。

技术介绍

[0002]最小均方LMS(Least Mean Square)滤波器是实现横向结构滤波器的一种简单有效的算法。步长和抽头长度是影响LMS滤波器性能的关键参数。步长越大,LMS算法的收敛速度越快,稳态失调量和稳态均方误差越大,甚至导致算法发散。抽头长度越短,LMS算法的计算量越小,系统的收敛条件越宽松,收敛速度越快,稳态失调量越小,但较小的抽头长度可能会带来大的稳态均方误差,硬件系统误差也可能变大。抽头长度对LMS滤波性能的影响不如步长对LMS性能的影响大。因此,如何取得合适的步长,使得稳态失调量和稳态均方误差与收敛速度之间取得较好的平衡,使LMS滤波总体性能较好,是LMS研究的关键问题。
[0003]有人提出了变步长(VSS,Variable Step Size)算法。此类算法用变化的步长来代替固定的步长,其基本思路是建立瞬时步长与可以动态反应自适应滤波系统变化的物理量(例如信号误差,输入信号等)之间的函数关系式。新的改进算法必须具有较快的收敛速度、计算量少、参数容易控制、较小的稳态误差等特性。
[0004]公开号为CN103227623B的中国专利技术专利“可变步长的LMS自适应滤波算法及滤波器”,提供的LMS自适应滤波算法及滤波器,可根据滤波阶段变化的步长值,同时获得较快的收敛速度和较小的系统稳定误差,在自适应滤波初始阶段提供较大的步长值,获得较快的收敛速度,在自适应滤波接近稳定状态时提供较小的步长值,获得较小的稳态误差值。原始信号经延迟处理后得到对应不同延迟的输入信号;将各个输入信号与其对应的滤波器权系数的乘积相加得到该时刻的输出信号;将期望信号与所述输出信号做差得到误差值;将所述误差值与步长值以及输入信号的乘积作为瞬时变化量更新所述滤波器权系数;所述步长值可变。
[0005]目前已经提出了多种变步长算法,如归一化变步长算法、Kwong变步长算法、基于Sigmoid函数的变步长算法、基于其他函数的变步长算法。尽管它们可以有效提高收敛速度,但对算法中相关参数的依赖特别大。步长的更新牵涉到的固定参数少则2个,多则6个,而经典的LMS算法则仅有步长一个参数。因此,对于不同的输入信号,需要对设定的参数进行调整,这就增加了参数学习阶段的工作量。对于变化多样的输入信号,同一套固定参数不能保证LMS算法在所有情况下均具有良好的滤波效果。此外,目前已经提出的变步长算法的计算复杂度较高,涉及复杂的函数形式,不便于工程应用。

技术实现思路

[0006]本专利技术针对现有技术的LMS滤波器设计中对参数依赖大,计算复杂度高,一套固定参数滤波效果不理想等问题,设计一种计算复杂度低,对参数依赖度低,具有良好滤波性能的变步长自适应滤波算法的滤波器,在工程化应用上方便简洁。
[0007]本专利技术解决上述技术问题的技术方案是,一种基于幂函数的自适应变步长LMS滤
波器实现方法,初始化滤波器控制参数,确定滤波器的抽头长度和迭代次数;调用幂函数变步长算法计算初始瞬时步长;获取滤波器输入信号向量,确定滤波器瞬时期望信号;根据第i次迭代瞬时期望信号、滤波器抽头权系数向量,获得滤波器第i次迭代瞬时输出信号,由此确定滤波器瞬时误差信号e(i),以误差信号最小为目标选择相应的幂函数变步长算法计算瞬时步长μ(i);利用滤波器输入信号向量块、滤波器瞬时步长、瞬时误差信号,不断更新迭代获得滤波器抽头权系数向量,以达到迭代次数后获得的权系数向量构建幂函数变步长LMS滤波器。
[0008]进一步地,对于第i次迭代,确定自适应滤波器的瞬时期望信号d(i)(i=M,M+1,

,n),滤波器抽头权系数向量w(i)和滤波器关于M个抽头长度的输入信号向量块x(i),调用公式y(i)=w(i)x(i)确定第i次迭代的滤波器瞬时输出信号,调用公式e(i)=d(i)

y(i)计算滤波器瞬时误差信号。
[0009]进一步地,根据公式w(i+1)=w(i)+2μ(i)e(i)d(i)
T
,对滤波器抽头权系数向量w(i)进行更新获取第i+1次滤波器抽头权系数向量w(i+1)。
[0010]进一步地,以误差信号最小为目标选择幂函数变步长算法具体为,当滤波器瞬时误差信号最低,根据幂次系数q的取值范围不同,选择对应的幂函数变步长算法。
[0011]进一步地,根据公式:μ(i)=p|e(i)|
q
,计算变步长,当q小于1时为凸幂函数变步长算法,当q大于1时为凹幂函数变步长算法,当q等于1时为线性变步长算法,当q为0时成为定步长算法。其中,p为放大系数,q为幂次系数。
[0012]瞬时误差信号最低时获得最佳的p值、q值和分段数k,根据公式:计算瞬时步长μ(i)。
[0013]本专利技术还请求保护一种幂函数变步长LMS滤波控制装置,包括:参数初始化及设定单元,用于初始化幂函数变步长LMS滤波器的相关参数;信号接收单元,接收幂函数变步长LMS滤波器的输入信号向量;信号滤波单元,计算幂函数变步长LMS滤波器的输出信号;信号输出单元,向幂函数变步长LMS滤波器外部结构输入幂函数变步长LMS滤波器的输出信号;误差估计单元,计算幂函数变步长LMS滤波器的输入信号与输出信号之间的估计误差;步长更新单元,计算幂函数变步长LMS滤波器的步长;系数更新单元,迭代更新幂函数变步长LMS滤波器的抽头权系数向量。
[0014]步长更新单元以误差信号最小为目标选择幂函数变步长算法,当滤波器瞬时误差信号最低,根据公式:μ(i)=p|e(i)|
q
,计算变步长,当q为0时成为定步长算法根据q的取值范围不同,选择对应的幂函数变步长算法,当q小于1时为凸幂函数变步长算法,当q大于1时为凹幂函数变步长算法,当q等于1时为线性变步长算法。
[0015]步长更新单元根据瞬时误差信号最低时获得最佳的p值、q值和分段数k,根据公
式:计算瞬时步长μ(i)。
[0016]本专利技术提出的基于幂函数变步长算法的滤波器,不仅形式简洁,且具有良好滤波性能。由于混动汽车行驶工况复杂,小负荷、大负荷、档位切换、油电切换等导致发动机输出的交变扭矩信号变化多样,因此同一套固定参数不能保证LMS算法在所有工况下均具有良好的滤波效果。此外,幂函数的计算复杂度较低,函数形式简单,便于工程应用。因而,建立一套简洁且具有良好滤波性能的变步长收敛因子自适应滤波对于混动汽车扭振的主动调控具有重要意义。而对于分段幂函数变步长,每一段的参数p和q取值不同,可以快速响应误差信号的特点,以克服单一的幂函数变收敛因子算法存在的不足之处。
附图说明
[0017]图1是本专利技术幂函数变步长LMS滤波器参数算法流程图;
[0018]图2是本专利技术幂函数变步长LMS滤波装置结构示意图;
[0019]图3为不同参数下步长随误差信号的变化;
...

【技术保护点】

【技术特征摘要】
1.一种基于幂函数的自适应变步长LMS滤波器实现方法,其特征在于,初始化滤波器控制参数,确定滤波器的抽头长度和迭代次数;调用幂函数变步长算法计算初始瞬时步长;获取滤波器输入信号向量,确定滤波器瞬时期望信号;根据第i次迭代瞬时期望信号、滤波器抽头权系数向量,获得滤波器第i次迭代瞬时输出信号,由此确定滤波器瞬时误差信号e(i),以误差信号最小为目标选择相应的幂函数变步长算法计算瞬时步长μ(i);利用滤波器输入信号向量块、滤波器瞬时步长、瞬时误差信号,不断更新迭代获得滤波器抽头权系数向量,以达到迭代次数后获得的权系数向量构建幂函数变步长LMS滤波器。2.根据权利要求1所述的方法,其特征在于,对于第i次迭代,确定自适应滤波器的瞬时期望信号d(i)(i=M,M+1,

,n),滤波器抽头权系数向量w(i)和滤波器关于M个抽头长度的输入信号向量块x(i),调用公式y(i)=w(i)x(i)确定第i次迭代的滤波器瞬时输出信号,调用公式e(i)=d(i)

y(i)计算滤波器瞬时误差信号。3.根据权利要求1所述的方法,其特征在于,根据公式w(i+1)=w(i)+2μ(i)e(i)d(i)
T
,对滤波器抽头权系数向量w(i)进行更新获取第i+1次滤波器抽头权系数向量w(i+1)。4.根据权利要求1

3其中之一所述的方法,其特征在于,以误差信号最小为目标选择幂函数变步长算法具体为,当滤波器瞬时误差信号最低,根据q的取值范围不同,选择对应的幂函数变步长算法。5.根据权利要求4所述的方法,其特征在于,根据公式:μ(i)=p|e(i)|
q

【专利技术属性】
技术研发人员:李捷李凤琴杨少波邵俊龙饶思梁曾庆强柴伟伟
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1