一种新的LMS算法及其在明渠流量计中的应用

2021-03-24 02:46郑安芳
仪表技术与传感器 2021年2期
关键词:明渠步长稳态

杨 帆,郑安芳

(1.武汉工程大学电气信息学院,湖北武汉 430205;2.湖北省视频图像与高清投影工程技术研究中心,湖北武汉 430205)

0 引言

自适应滤波算法种类繁多,其中LMS(least mean square)[1-4]算法运算量小,过程简单,易于实现,成为自适应滤波算法中应用最为广泛的算法。该算法分为变步长算法和定步长算法2种,变步长算法是在克服定步长算法收敛速度慢,稳态误差较大的基础上发展起来的一种算法,为了满足实际需要,人们对变步长算法进行了一系列的研究。

文献[5]中算法使收敛速度和跟踪速度显著提高,但是稳态误差无法缓慢变化。文献[6]中算法能够实现稳态误差缓慢变化,但是稳态失调噪声大,跟踪能力弱。文献[7]中算法兼具收敛速度快和稳态误差小的特点,计算过程简单,但是精度有待提高。文献[8]中算法克服了SVSLMS算法在收敛阶段步长过快的弊端,但是算法复杂度较高。

这些变步长的LMS算法设计原则相同,在初始阶段用较大步长加快误差收敛和对时变系统跟踪能力;当误差较小时需保证步长比较小,保证很小的稳态失调噪声[9]。针对这一原则,在Sigmoid函数的基础上,提出了一种新的变步长LMS算法,通过MATLAB仿真验证,该算法收敛速度快,稳态误差小,性能好。将新的LMS算法应用于明渠流量计回波信号的滤波处理中,使回波信号能够准确捕捉。

1 LMS算法基本原理

自适应滤波器[10]包括参数可调的数字滤波器和自适应滤波算法2部分,如图1所示。其中,x(n)表示n时刻的输入信号。x(n)通过参数可调节的数字滤波器获得输出信号y(n),将y(n)与期望响应信号d(n)进行比较,得到误差信号e(n),并通过LMS算法对滤波器参数进行调节,最终使得e(n)的均方值最小,达到滤波的效果。

图1 自适滤波器原理图

LMS算法步骤如下:

(1)获得输出信号:

y(n)=wT(n)x(n)

(1)

(2)求取误差信号:

e(n)=d(n)-y(n)

(2)

(3)自动调整滤波器参数:

w(n+1)=w(n)+2μe(n)x(n)

(3)

式中:μ为步长因子;w(n)矢量为滤波器参数矢量;wT(n)为w(n)的转置。

2 新的变步长LMS算法

2.1 新的LMS算法设计思路

自1996年覃景繁等提出基于Sigmoid函数的变步长LMS自适应滤波算法以后,人们为了使LMS自适应滤波算法满足实际需要,进行了一系列的改进与优化。其中变步长函数多数以指数函数作为变步长函数的基本单元进行改进,其中覃景繁提出的变步长LMS算法最具有代表性,其步长因子和误差之间的关系为

(4)

由泰勒级数[11]可知:

(5)

由此可以得到:

(6)

由此猜想由幂函数构成的相关函数也能满足步长函数收敛的条件。因此,构建了一种新的LMS算法步长函数:

(7)

利用式(7)重新定义步长μ(n)和误差e(n)之间的关系,得到函数模型:

(8)

式中β为控制函数取值范围的系数,且a、b、m、β均大于0。

当误差e(n)无穷接近0时,

(9)

当误差e(n)无穷大时,

(10)

根据式(9)和式(10),可以初步判断步长μ(n)的范围是(0,β),系数β影响步长μ(n)变化的上限,系数a、b、m影响步长的变化速率。

2.2 步长函数参数对步长的影响研究

由式(8)可知,该步长函数共有β、a、b、m4个参数,下面用控制变量法研究这4个参数对步长的影响。

令β=1,b=1,a=10,m=0.8、1、3、5、7、9时,步长μ(n)和误差e(n)的关系曲线如图2所示。步长值的范围是(0,1),随着m值变大,在同一较大误差e(n)(误差大于1)下步长值会相应变大,提高了算法的收敛速度。当m值较小时,在误差e(n)接近为0时步长无法平滑下降,因此m应该大于1。当误差e(n)为0.2、0.8、1.2时,列出各自的步长值如表1所示。由表1可知,为了保证步长能够快速跟踪误差同步变化,应该使m值大一点,但是当m过大时,将会使函数复杂度增加,计算量变大,同时还会使小误差范围内步长为0,因此m应小于5。

图2 m改变时步长与误差关系曲线图

令β=1,b=1,m=3,a=1、3、5、7、9、50时,步长μ(n)和误差e(n)的关系曲线如图3所示。常数a的值影响曲线上升和下降的速度,a值越小,步长曲线上升和下降的速度越快,函数收敛越快,但当误差很小的时候,步长值仍然较大,增加了稳态误差。

令β=1,b=1、3、5、7、9、50,a=10,m=3时,步长μ(n)和误差e(n)的曲线如图4所示。当b较小时,步长迭代变化区间比较小,收敛速度不会很高。

表1 变化时的步长值

图3 a改变时步长与误差关系曲线图

图4 b改变时步长与误差关系曲线图

系数a、b影响步长的变化速率,为了比较a、b对曲线步长变化影响的权重,分别计算a、b取值变化时对应的步长值,在误差为1(当误差为1时,参数m不影响函数的取值),β=1,m=3时,取图3和图4中数据如表2所示。

从表2可以看出,系数a从1变大到50时,步长的变化量约是0.48,系数b从1变大到50时,步长的变化量约是0.74,对比可知系数b对步长的变化速率影响更大。从图3和图4可知,步长变化率和稳态误差是相互矛盾的,步长变化大时稳态误差也很大,因此系数a、b取值应该选择两者适中的数据。

表2 参数a、b变化时曲线步长表

图5为β=1.5、1.0、0.8、0.5,b=1,a=10,m=3时步长μ(n)和误差e(n)的关系曲线图。此处3条步长与误差曲线皆能满足算法收敛原则,但是当β较小时,会让收敛速度变慢,β过大会使函数不收敛,造成发散。因此在实际选择过程中若是对收敛速度要求不高时可以选择较小的β,反之,选择较大的β。

图5 β改变时步长与误差关系曲线图

综合以上4种研究情况,为了同时满足算法快速性和稳态误差的要求,本文选取β、a、b、m的一组值为1、100、1.5、2。

3 新的LMS算法仿真实验研究

为了验证新的LMS算法比已有的优秀的变步长算法在收敛速度和稳态误差方面性能更优,在相同输入信号条件下建立MATLAB仿真实验。

在MATLAB R2018a,Intel CORE i7,8th Gen环境下建立仿真模型,具体仿真步骤如下:

(1)算法初始化。设置自适应滤波器的阶数为128,输入信号抽样点数为1 024,统计仿真次数为100。

(2)选择信号。选择正弦信号作为期望信号,输入信号为正弦信号和信噪比为3 dB的高斯白噪声混合信号。

(3)算法迭代。对仝喜峰[8]提出的非线性变步长函数模型如式(11),陈泳[12]提出的双曲正割变步长函数如式(12)和本文变步长函数如式(13)同时进行算法迭代。

(11)

μ(n)=0.05{1-sech[0.5e(n)]}

(12)

(13)

(4)算法迭代完成,绘制迭代次数与均方误差e(n)2的学习曲线。

由图6可知,在相同的输入信号和相同的仿真条件下,经过迭代计算,3条曲线最终都能达到较高的收敛水平,但是文献[12]需要迭代200次,文献[8]需要100次,而本文需要25次左右,可以看出新的LMS算法收敛速度更快,且本文算法稳态误差均方值无限接近于0,滤波效果好。

图6 3种步长函数迭代次数与均方误差的学习曲线

4 新的LMS算法在明渠流量计中的应用

时差法超声波明渠流量计[13]利用超声波在流体顺流和逆流方向上的传播时间差,进而得到相应截面的流量。然而,在明渠流量计应用现场,接收信号中总是混杂着干扰信号,如被测介质自身的杂质和气泡等产生的干扰、电磁干扰等,这些干扰信号成为影响明渠流量计准确测量超声波在介质中传播时间的主要因素。

不同信噪比的噪声信号会对明渠流量计测量结果的准确性有不同程度的影响,低信噪比环境下噪声对测量信号的影响很大。本文利用新的LMS算法,仿真测试输入信号为低信噪比信号的滤波效果。在5组相同的正弦信号下,分别混合信噪比为-6、-3、0、3、6 dB的噪声信号作为输入信号。利用上述仿真条件进行仿真,其结果图如图7所示。

(a)信噪比=-6 dB

(b)信噪比=-3 dB

(c)信噪比=0 dB

(d)信噪比=3 dB

(e)信噪比=6 dB图7 5种不同信噪比下的输入信号经滤波后的输出信号图

由图7可知,当输入信号的信噪比为-6 dB时有效信号被严重污染,此时滤波波形和期望信号波形一致,滤波效果明显,使得明渠流量计能够准确捕捉低信噪比下的回波信号。当混杂在有效信号中的噪声逐渐减小时,输出波形越来越接近期望波形,滤波效果越来越理想。

5 结论

新的LMS算法满足变步长LMS算法的步长调整规则,利用多项式作为步长调整的影响因子,通过与已有的优秀的变步长算法对比可知,新的LMS算法收敛速度更快,稳态误差小。通过对不同信噪比的输入信号进行滤波处理,滤波结果说明了该算法滤波性能好,为超声波明渠流量计准确捕捉回波信号提供了保障。

猜你喜欢
明渠步长稳态
可变速抽水蓄能机组稳态运行特性研究
碳化硅复合包壳稳态应力与失效概率分析
基于Armijo搜索步长的BFGS与DFP拟牛顿法的比较研究
电厂热力系统稳态仿真软件开发
元中期历史剧对社会稳态的皈依与维护
导流明渠交通桥吊模施工技术应用
农田灌溉明渠水量计量方式分析
基于逐维改进的自适应步长布谷鸟搜索算法
一种新型光伏系统MPPT变步长滞环比较P&O法
大型输水明渠高填方段渠堤防渗和稳定措施