发明名称 梯度变步长LMS自适应滤波方法
摘要 本发明的梯度变步长LMS自适应滤波方法,步骤是:步骤1、输入信号X(n)={x(n),x(n‑1),…,x(n‑m+1)}为不同时刻的延迟所构成的信号向量,x(n)为第一阶滤波器n时刻的采样值,m为横向滤波器的阶数;步骤2、输入信号与对应的权值相乘并求和,得到系统实际输出y(n),权矢量全部初始化为0;步骤3、将d(n)与y(n)相减得到误差信号e(n);步骤4、得到平滑梯度矢量g(n);步骤5、相邻时刻的平滑梯度矢量乘积计算得到n时刻的迭代步长参数;步骤6、得到此时刻的权矢量;步骤7、从步骤1开始到步骤6循环计算,迭代计算输出即成。本发明方法,实现了在不降低稳态误差的前提下快速收敛。
申请公布号 CN104009734B 申请公布日期 2016.10.05
申请号 CN201410190640.3 申请日期 2014.05.07
申请人 西安理工大学 发明人 席晓莉;李敏超;宋忠国
分类号 H03H21/00(2006.01)I 主分类号 H03H21/00(2006.01)I
代理机构 西安弘理专利事务所 61214 代理人 李娜
主权项 一种梯度变步长LMS自适应滤波方法,其特征在于,该方法基于下述的自适应滤波算法权向量迭代公式:W(n+1)=W(n)+μe(n)X(n),            (1)y(n)=X<sup>T</sup>(n)W(n),                   (2)e(n)=d(n)‑y(n),                   (3)其中W(n)为自适应滤波器的权矢量,X(n)为输入信号矢量,n为采样时刻,X<sup>T</sup>(n)为输入信号矢量的转置,μ为迭代步长,e(n)表示期望输出d(n)与实际输出y(n)之间的误差信号,算法收敛条件为:0<μ<1/λ<sub>max</sub>,          (4)收敛速度是:<img file="FDA0000970961830000011.GIF" wi="1046" he="151" />在式(4)、式(5)中,λ<sub>max</sub>、λ<sub>min</sub>是输入信号自相关矩阵R<sub>xx</sub>={X<sup>T</sup>(n)X(n)}特征值的最大值和最小值,稳态误差及失调系数则为:<maths num="0001" id="cmaths0001"><math><![CDATA[<mrow><mi>&delta;</mi><mo>=</mo><mi>&mu;</mi><mi>T</mi><mi>r</mi><mo>&lsqb;</mo><msub><mi>R</mi><mrow><mi>x</mi><mi>x</mi></mrow></msub><mo>&rsqb;</mo><mo>=</mo><mi>&mu;</mi><munderover><mo>&Sigma;</mo><mi>x</mi><mi>m</mi></munderover><msub><mi>&lambda;</mi><mi>i</mi></msub><mo>=</mo><msub><mi>&mu;mP</mi><mrow><mi>i</mi><mi>n</mi></mrow></msub><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>6</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000970961830000012.GIF" wi="1181" he="109" /></maths>在式(6)中,m为自适应滤波器的阶数,Tr[R<sub>xx</sub>]为R<sub>xx</sub>的迹,P<sub>in</sub>为输入信号的功率,式(6)表明,滤波器阶数、步长因子和输入信号的功率越大,失调系数越大,采用梯度变步长LMS自适应滤波方法的权值迭代公式如下:<maths num="0002" id="cmaths0002"><math><![CDATA[<mrow><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>+</mo><mn>1</mn><mo>)</mo></mrow><mo>=</mo><mi>W</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>+</mo><mfrac><mrow><mn>2</mn><msub><mi>&mu;</mi><mi>g</mi></msub><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow><mrow><mi>&gamma;</mi><mo>+</mo><msup><mi>X</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>X</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mfrac><msup><mi>e</mi><mo>*</mo></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>X</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>7</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000970961830000013.GIF" wi="1245" he="135" /></maths>μ<sub>g</sub>(n)=1‑μ<sub>g</sub>(n‑1)+μ<sub>g</sub>(n‑1)g(n‑1)<sup>T</sup>g(n),    (8)<maths num="0003" id="cmaths0003"><math><![CDATA[<mrow><mi>g</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mo>=</mo><mi>&beta;</mi><mi>g</mi><mo>-</mo><mrow><mo>(</mo><mi>n</mi><mo>-</mo><mn>1</mn><mo>)</mo></mrow><mo>+</mo><mrow><mo>(</mo><mn>1</mn><mo>-</mo><mi>&beta;</mi><mo>)</mo></mrow><mfrac><mrow><msup><mi>e</mi><mo>*</mo></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>X</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow><mrow><mi>&gamma;</mi><mo>+</mo><msup><mi>X</mi><mi>T</mi></msup><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow><mi>X</mi><mrow><mo>(</mo><mi>n</mi><mo>)</mo></mrow></mrow></mfrac><mo>,</mo><mo>-</mo><mo>-</mo><mo>-</mo><mrow><mo>(</mo><mn>9</mn><mo>)</mo></mrow></mrow>]]></math><img file="FDA0000970961830000021.GIF" wi="1256" he="135" /></maths>其中,μ<sub>g</sub>(n)为可变步长,g(n)为平滑梯度向量,β是平滑参数常量,γ为大于零的常数,本方法基于上述的结论,按照以下步骤实施:步骤1、输入信号X(n)={x(n),x(n‑1),…,x(n‑m+1)}为不同时刻的延迟所构成的信号向量,x(n)为第一阶滤波器n时刻的采样值,m为横向滤波器的阶数;步骤2、输入信号与对应的权值相乘,并求和,得到系统实际输出y(n),权矢量全部初始化为0,参照公式(2);步骤3、将d(n)与y(n)相减得到误差信号e(n),参照公式(3);步骤4、根据公式(9)得到平滑梯度矢量g(n);步骤5、相邻时刻的平滑梯度矢量乘积计算得到n时刻的迭代步长参数μ<sub>g</sub>,参照公式(8);步骤6、根据权值迭代公式(7)得到此时刻的权矢量;步骤7、从步骤1开始到步骤6循环计算,迭代计算输出,即成。
地址 710048 陕西省西安市金花南路5号