一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于双曲正切函数的自适应变步长LMS滤波器及其滤波方法和计算机设备与流程

2022-11-19 07:18:01 来源:中国专利 TAG:
基于双曲正切函数的自适应变步长lms滤波器及其滤波方法和计算机设备
技术领域
:1.本技术涉及滤波器
技术领域
:,尤其涉及自适应变步长lms滤波器。
背景技术
::2.最小均方lms(leastmeansquare)滤波器是实现横向滤波器的一种算法。补偿和抽头长度是影响lms滤波器性能的关键参数。步长越大,lms算法的收敛速度越快,稳态误差和超量稳态均方误差越大,甚至导致算法发散;步长越小,稳态误差和超量稳态均方误差减小,但算法收敛速度降低。因此,如何取得合适的步长,是稳态误差和超量稳态误差与收敛速度之间取得较好的平衡,使lms自适应滤波算法的性能提升,是lms算法研究的关键问题。3.现有技术中,文献1:覃景繁,欧阳景正.一种新的变步长lms自适应滤波算法[j].数据采集与处理,1997(03):171-174.文献2:张红梅,韩万刚.一种新的变步长lms自适应滤波算法研究及其应用[j].仪器仪表学报,2015,36(08):1822-1830.文献3:lub,fengc,longg.anewvariablestep-sizelmsadaptivealgorithmbasedonmarrfunction[c].2013internationalconferenceoninformationtechnologyandapplications.ieee,2013:21317.文献4:hed,wangm,hany,etal.variablestepsizelmsadaptivealgorithmbasedonexponentialfunction[c].2019ieee2ndinternationalconferenceoninformationcommunicationandsignalprocessing(icicsp).ieee,2019:473-477.[0004]文献1中基于sigmoid函数对误差和步长构建了非线性关系,但是该方法在lms算法趋于稳定时,步长更新过快使得算法稳定性降低。在文献2中,通过平移、变换sigmoid函数并引入参数改善了sigmoid函数特性,算法获得了较好的性能,但该算法模型复杂,计算量较大,影响了算法的灵活性。文献3基于指数函数构建了步长与误差之间的关系,但使用指数函数更新步长有着计算量大的问题。在文献4中利用变步长思想对部分权系数更新,在噪声较低时,提高了算法性能,但当噪声较高时,算法性能变差。以上的变步长lms算法都需要参数去调整函数的特性,手动调整参数将降低算法的实用性。技术实现要素:[0005]本发明目的是为了解决现有技术基于非线性函数改进的lms算法需要手动调整参数过多以及传统lms算法收敛速度和收敛精度无法同时满足的问题,提供了基于双曲正切函数的自适应变步长lms滤波器及其建立方法和计算机设备。[0006]本发明是通过以下技术方案实现的,本发明一方面,提供一种基于双曲正切函数的自适应变步长lms滤波方法,所述方法包括:[0007]确定滤波器抽头长度和迭代次数;[0008]初始化滤波器参数,所述滤波器参数包括滤波器输出信号向量、滤波器误差信号和滤波器抽头权系数向量;[0009]获取滤波器输入信号向量x(n);[0010]确定滤波器瞬时期望信号d(n);[0011]根据第n次迭代的瞬时期望信号d(n)和滤波器抽头权系数向量w(n),获取第n次迭代的瞬时输出信号y(n);[0012]根据瞬时输出信号y(n),获取滤波器瞬时误差信号e(n),以及误差信号的累计量δe(n);[0013]利用基于双曲正切函数的步长更新式,以误差信号最小为目标,获取瞬时步长μvss(n);[0014]利用滤波器输入信号向量、瞬时步长、滤波器瞬时误差信号和误差累计量,不断迭代滤波器抽头权系数向量,以达到迭代次数后获得的滤波器抽头权系数向量构建lms滤波器。[0015]进一步地,所述瞬时输出信号y(n)的获取方法为,利用公式[0016][0017]其中,n为输入信号向量总长度,[0018]获取所述瞬时输出信号y(n)。[0019]进一步地,所述滤波器瞬时误差信号e(n)的获取方法为,利用公式[0020]e(n)=d(n)-y(n)=d(n)-wt(n)x(n)[0021]获取所述滤波器瞬时误差信号e(n)。[0022]进一步地,所述误差信号的累计量δe(n)的获取方法为,利用公式[0023]δe(n)=δe(n-1) |e(n)|[0024]获取所述误差信号的累计量δe(n)。[0025]进一步地,所述瞬时步长μvss(n)的获取方法为,利用基于双曲正切函数的步长更新式[0026][0027]其中,为误差信号的累计量δe(n)的平均值,[0028]获取所述瞬时步长μvss(n)。[0029]进一步地,所述滤波器抽头权系数向量的迭代方法为,利用公式[0030]w(n 1)=w(n) μvss(n)x(n)e(n)[0031]迭代所述滤波器抽头权系数向量。[0032]第二方面,本发明提供一种基于双曲正切函数的自适应变步长lms滤波器,按照权利要求1-6其中之一所述的方法设计的滤波器。[0033]第三方面,本发明提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,当所述处理器运行所述存储器存储的计算机程序时执行如上文所述的一种基于双曲正切函数的自适应变步长lms滤波方法。[0034]第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质中存储有多条计算机指令,所述多条计算机指令用于使计算机执行如上文所述的一种基于双曲正切函数的自适应变步长lms滤波方法。[0035]第五方面,本发明提供一种计算机程序产品,所述计算机程序被处理器执行时实现如上文所述的一种基于双曲正切函数的自适应变步长lms滤波方法。[0036]本发明的有益效果:[0037]首先,变步长lms算法的核心内容都是在误差较大时步长较大,误差较小时步长较小,因此使用误差与步长构建非线性函数或者构建新的代价函数来更新lms滤波器是可行的。本发明采用基于双曲正切函数的自适应变步长lms滤波器,在误差与收敛速度之间取得了更好的平衡,收敛速度和收敛精度可以同时满足;[0038]其次,现有技术中,在使用非线性函数构建步长与误差之间非线性关系时,需要利用一些常数参数将非线性函数进行函数形状上的变换,本发明的方法和系统无需手动调整这些参数,提高了滤波的实用性。[0039]本发明提出了无需手动调节参数。具有良好滤波性能的变步长自适应滤波算法,在工程化应用中更加便捷。[0040]本发明适用于提升lms滤波器的性能,本发明的滤波器可以广泛应用于多种信号处理领域。附图说明[0041]为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0042]图1为本发明的滤波器建立方法的流程示意图;[0043]图2为输入信号为白噪声时的滤波方法均方误差对比图(snr=20db);[0044]图3为输入信号为白噪声时的滤波方法emse对比图(snr=20db);[0045]图4为输入信号为白噪声通过一阶ar(1)模型产生时的滤波方法均方误差对比图(snr=20db);[0046]图5为输入信号为白噪声通过一阶ar(1)模型产生时的滤波方法emse对比图(snr=20db);[0047]图6为在snr=20db情况下的滤波方法均方误差对比图;[0048]图7为在snr=20db情况下的滤波方法emse对比图;[0049]图8为本发明的方法在不同信噪下的学习曲线。具体实施方式[0050]下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。[0051]实施方式一、如图1所示,一种基于双曲正切函数的自适应变步长lms滤波方法,所述方法包括:[0052]确定滤波器抽头长度和迭代次数;[0053]初始化滤波器参数,所述滤波器参数包括滤波器输出信号向量、滤波器误差信号和滤波器抽头权系数向量;[0054]获取滤波器输入信号向量x(n),x(n)=[x(n),x(n-1),…,x(n-n 1)]τ;[0055]确定滤波器瞬时期望信号d(n);[0056]根据第n次迭代的瞬时期望信号d(n)和滤波器抽头权系数向量w(n),获取第n次迭代的瞬时输出信号y(n);[0057]根据瞬时输出信号y(n),获取滤波器瞬时误差信号e(n),以及误差信号的累计量δe(n);[0058]利用基于双曲正切函数的步长更新式,以误差信号最小为目标,获取瞬时步长μvss(n);[0059]利用滤波器输入信号向量、瞬时步长、滤波器瞬时误差信号和误差累计量,不断迭代滤波器抽头权系数向量,以达到迭代次数后获得的滤波器抽头权系数向量构建lms滤波器。[0060]首先,本实施方式采用基于双曲正切函数的自适应变步长lms滤波器,在误差与收敛速度之间取得了更好的平衡,收敛速度和收敛精度可以同时满足;[0061]其次,本实施方式无需手动调整这些参数,提高了滤波的实用性。[0062]需要说明的是,本实施方式的方法在当更新滤波器抽头权系数向量之后迭代操作,具体为:如图1所示,判断当前的迭代次数是否等于最开始设置的最大迭代次数,如果等于,将当前的滤波器抽头权系数向量确定为滤波器权系数向量,如果小于,则继续更新迭代,并返回到获取滤波器输入信号向量的这一步骤。[0063]实施方式二,本实施方式是对实施方式一所述的一种基于双曲正切函数的自适应变步长lms滤波方法的进一步限定,本实施方式中,对所述瞬时输出信号y(n)的获取方法,做了进一步限定,具体包括:[0064]所述瞬时输出信号y(n)的获取方法为,利用公式[0065][0066]其中,n为输入信号向量总长度,wk-1(n)为w(n)中的元素,x(n-k-1)为x(n)中的元素,[0067]获取所述瞬时输出信号y(n)。[0068]本实施方式给出了瞬时输出信号y(n)的获取方法,可以同时满足收敛速度和收敛精度。[0069]实施方式三,本实施方式是对实施方式一所述的一种基于双曲正切函数的自适应变步长lms滤波方法的进一步限定,本实施方式中,对所述滤波器瞬时误差信号e(n)的获取方法,做了进一步限定,具体包括:[0070]所述滤波器瞬时误差信号e(n)的获取方法为,利用公式[0071]e(n)=d(n)-y(n)=d(n)-wt(n)x(n)[0072]获取所述滤波器瞬时误差信号e(n)。[0073]本实施方式给出了滤波器瞬时误差信号e(n)的获取方法,可以同时满足收敛速度和收敛精度。[0074]实施方式四,本实施方式是对实施方式一所述的一种基于双曲正切函数的自适应变步长lms滤波方法的进一步限定,本实施方式中,对所述误差信号的累计量δe(n)的获取方法,做了进一步限定,具体包括:[0075]所述误差信号的累计量δe(n)的获取方法为,利用公式[0076]δe(n)=δe(n-1) |e(n)|[0077]获取所述误差信号的累计量δe(n)。[0078]本实施方式给出了误差信号的累计量δe(n)的获取方法,可以同时满足收敛速度和收敛精度。[0079]实施方式五,本实施方式是对实施方式一所述的一种基于双曲正切函数的自适应变步长lms滤波方法的进一步限定,本实施方式中,对所述瞬时步长μvss(n)的获取方法,做了进一步限定,具体包括:[0080]所述瞬时步长μvss(n)的获取方法为,利用基于双曲正切函数的步长更新式[0081][0082]其中,为误差信号的累计量δe(n)的平均值,[0083]获取所述瞬时步长μvss(n)。[0084]本实施方式中,在使用非线性函数构建步长与误差之间非线性关系时,不需要利用一些常数参数将非线性函数进行函数形状上的变换,无需手动调整这些参数,提高了滤波的实用性,还能够同时满足收敛速度和收敛精度。[0085]需要说明的是,本实施方式中,基于双曲正切函数的无参数变步长lms算法的伪代码为:[0086]δe(n)=δe(n-1) |e(n)|[0087][0088][0089]w(n 1)=w(n) μvss(n)x(n)e(n)[0090]实施方式六,本实施方式是对实施方式一所述的一种基于双曲正切函数的自适应变步长lms滤波方法的进一步限定,本实施方式中,对所述滤波器抽头权系数向量的迭代方法,做了进一步限定,具体包括:[0091]所述滤波器抽头权系数向量的迭代方法为,利用公式[0092]w(n 1)=w(n) μvss(n)x(n)e(n)[0093]迭代所述滤波器抽头权系数向量。[0094]本实施方式给出了滤波器抽头权系数向量的迭代方法,可以同时满足收敛速度和收敛精度。[0095]下面给出本发明的相关技术效果:[0096]需要说明的是,本部分相关的参考文献包括:文献5:benestyj,reyh,vegalr,etal.anonparametricvssnlmsalgorithm[j].ieeesignalprocessingletters,2006,13(10):581-584.[0097]文献6:huanghc,leej.anewvariablestep-sizenlmsalgorithmanditsperformanceanalysis[j].ieeetransactionsonsignalprocessing,2012,60(4):2055-2060.[0098]文献7:章坚武、余皓、章谦骅.改进的双曲正切函数的变步长lms算法[j].通信学报,2020,v.41;no.403(11):120-127.[0099]文献8:zhaos,manz,suiyangk.afastvariablestep-sizelmsalgorithmwithsystemidentification[c].ieeeconferenceonindustrialelectronics&applications.ieee,2007.[0100]文献9:shik,max.avariable-step-sizenlmsalgorithmusingstatisticsofchannelresponse[j].signalprocessing,2010,90(6):2107-2111[0101]本发明的基于双曲正切函数的变步长lms算法的数值仿真分析,并将其与文献5的npvss-lms算法、文献6的vss-nlms算法、文献7的ivss-lms算法以及文献8的mrvss-lms算法在系统辨识中的性能指标进行比较。[0102]算法迭代次数为80000次,每条学习曲线均为200次独立仿真后求其统计平均的结果。仿真分析的初始化设置与文献9一致:未知系统为有限冲激响应滤波器,其权系数由w*(n)=e-iτr(n),n=0,…,l-1产生,其中,τ=0.04,r(n)为符合均值为0,方差为0.09的高斯分布,系统的阶数与滤波器阶数均为l。[0103]对于不同变步长lms算法的收敛性能进行分析,数值仿真中使用的对比算法参数出自原文献5-7,见表1。[0104]表1对比算法参数选择[0105]table1comparisonalgorithmparameterselection[0106][0107]一、稳态均方误差及超量均方误差的相关技术效果:[0108]情况1:输入信号为:白噪声;[0109]仿真未知系统为非时变系统,其阶数l=128。滤波器输入信号x(n)是高斯信号,均值为0、方差为1。系统噪声ξ(n)同样选择均值为0的高斯信号,信噪比snr=20db。[0110]在情况1下,本发明的算法与其他算法均方误差及emse值对比图如图2、3所示。[0111]由图2、3可知,在算法收敛初期,本发明的算法收敛速度与vss-nlms算法、ivss-lms算法收敛速度相似,均优于npvss-lms算法及mrvss-lms算法的收敛速度。当算法趋于稳态时,本发明提出算法的稳态emse达到-45db,其中,vss-nlms算法、ivss-lms算法稳态emse值分别为-20db和-22db,远大于本发明提出的算法。npvss-lms及mrvss-lms与本发明提出算法稳态emse也有一定差距,且收敛速度较本发明提出算法慢。[0112]情况2,输入信号为:白噪声通过一阶ar(1)模型产生;[0113]未知系统初始条件与情况1一致。滤波器输入信号x(n)为均值为0、方差为1的白噪声通过ar(1)模型产生,ar(1)模型由一阶系统1/(1-0.8z-1)产生,系统噪声信号ξ(n)仍采用均值为0的高斯信号,信噪比snr=20db。[0114]在情况2下,本发明的算法与其他算法均方误差及emse对比图如图4、5所示。[0115]由图4、5可知,在snr=20db情况下,所有算法均可收敛。在算法收敛初期,本发明所提算法收敛速度与vss-nlms算法、ivss-lms算法收敛速度相似,均优于npvss-lms算法及mrvss-lms算法的收敛速度。当算法趋于稳态时,本发明提出算法的稳态emse达到-37db,vss-nlms算法、ivss-lms算法稳态emse值分别为-23db和-20db,远大于本发明提出的算法。mrvss-lms算法稳态emse相较于vss-nlms算法、ivss-lms算法较好,但收敛速度较本发明提出算法慢且最终稳态emse值大于本发明提出的算法,npvss-lms算法无论是收敛速度还是收敛精度均不如mrvss-lms算法与本发明提出算法。经对两种情况的仿真可知,本发明提出的算法性能均优于其它算法。[0116]二、算法跟踪性的相关技术效果:[0117]未知系统初始条件、滤波器输入信号x(n)参数同算法均方误差对比中的参数一致。滤波器输入信号x(n)为均值为0、方差为1的白噪声通过ar(1)模型产生。在迭代次数为40000次时,未知系统权系数w*中参数r(n)的方差由0.09变为0.05,在信噪比snr=20db情况下进行仿真。[0118]在snr=20db情况下,本发明所提算法与其他对比算法的跟踪性如图6、7所示。[0119]图6、7表明,所有的算法均在改变未知系统后重新收敛,且再次收敛的速度和稳态emse值基本不随系统的变化而变化。本发明的算法由于采用了误差的平均值来代替瞬时误差值,在系统改变时收敛速度略慢于初次收敛,与mrvss-lms算法基本一致,但本发明稳态emse值优于其他算法。[0120]三、不同信噪比算法的收敛性的相关技术效果:[0121]未知系统初始条件、滤波器输入信号x(n)参数同算法均方误差对比中的参数一致。系统噪声ξ(n)为高斯信号,其均值为0。信噪比snr=20db。在迭代次数为40000次时,未知系统权系数w*中参数r(n)的方差由0.09变为0.05。[0122]算法在各个信噪比下的性能表现如图8所示。[0123]由图8可知,所提算法在各种情况下具有较好的收敛性能。在低信噪比情况下,本发明所提算法仍可以保持很好的跟踪性。[0124]本发明针对基于非线性函数改进的lms算法需要手动调整参数过多以及传统lms算法收敛速度和收敛精度无法同时满足的问题,设计出一种无需手动调节参数,具有良好滤波性能的变步长自适应滤波算法,在工程化应用中更加便捷。[0125]本发明解决上述技术问题的技术方案是,一种基于双曲正切函数的无参数变步长lms算法,初始化滤波器参数,确定滤波器抽头长度和迭代次数;获取滤波器输入信号向量,确定滤波器瞬时期望信号;根据第n次迭代瞬时期望信号、滤波器抽头权系数向量,获得第n次迭代瞬时输出信号,由此确定滤波器瞬时误差信号e(n)以及误差信号的累计量δe(n),以误差信号最小为目标带入提出的步长更新式计算瞬时步长μvss(n);利用滤波器输入向量、瞬时步长、瞬时误差信号、误差累计量,不断迭代滤波器抽头系数向量,以达到迭代次数后获得的权系数向量构建lms滤波器。[0126]算法流程图如图1所示,包括:[0127]根据滤波器输入信号确定所提出变步长lms滤波器的抽头长度和迭代次数。首先初定所提变步长lms滤波器的抽头长度l和迭代次数n,通过迭代更新调整所提变步长lms滤波器的抽头系数向量和迭代次数;[0128]对滤波器输出信、滤波器误差信号、滤波器抽头权系数向量进行初始化;[0129]获取滤波器输入信号向量块x(n),即滤波器关于抽头长度的输入信号向量块,x(n)=[x(n),x(n-1),…,x(n-n 1)]τ;[0130]确定期望信号d(n);[0131]计算输出信号y(n),[0132]计算误差值e(n),e(n)=d(n)-y(n)=d(n)-wt(n)x(n),误差累积值为δe(n)=δe(n-1) |e(n)|;[0133]计算瞬时步长[0134]更新权系数向量w(n 1)=w(n) μvss(n)x(n)e(n)。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献