波的系 数更新方法,包括如下步骤:
[0044] 步骤1:将k时刻的滤波器W化)的长度等分为Μ段;其中Μ为大于1的整数。
[0045] 获取当前时刻k总长度为Ν的滤波器W化)并等分为Μ段,则该滤波器系数可表示为W (k) = [Wl化),W2化),…,WM化)],每个分段长度为化 = N/M,则第i段滤波器系数可表示为Wl 化)= [WiN/M化),W(iN/M)+l化),---,W((i+l)N/M)_l化)],其中 1 y <M,且i为整数。
[0046] 步骤2:求取每段滤波器的系数的二次范数;
[0047] 利用活跃系数幅值远大于非活跃系数的特性,通过二次范数W非线性方式突出活 跃系数,可有效区分活跃系数与非活跃系数,提高活跃系数定位精度。因此,本发明先对每 段滤波器的系数求取二次范数,组成新序列
其中,二 次范数定义支
[0048] 步骤3:将一矩形窗在该Μ段滤波器上移动,对窗口内的各分段滤波器的二次范数 进行累加 W获得最大累加值。
[0049] 将长度为L的矩形窗在A化)序列上移动,其中化<L<N,即该矩形窗包含了L个滤波 器分段;矩形窗每移动一个位置,均对窗口内所有滤波器分段的二次范数进行累加,其累加 值可记为:
[(K)加]
[0051 ]式中,j为矩形窗首位置在A化)上的坐标。
[0052] 步骤4: W最大累加值所在窗口内的各滤波器分段作为滤波器活跃系数分段Wa 化),其余滤波器分段则为非活跃系数分段Wn-a化)。
[0053] 根据稀疏性,活跃系数在时域聚集,且其幅值远大于非活跃系数,因此,W最大累 加值对应的窗口位置为活跃系数位置。设活跃系数位置包含的首块滤波器分段序号为b,则
[0化4]
[0055] 则活跃系数分段可确定为:
[0056] Wa(k) = [Wb(k),Wb+i(k),...,Wb+L-i(k)]
[0057] 如设N=1024、M = 8、L = 3,可得活跃系数分段为Wa化)= [W5化),W6(k),W7化)]、非 活跃系数分段为Wn-a化)=化),W2化),化化),W4化),W8化)]。
[0058] 步骤4A:将k时刻的输入信号X化)等分成Μ段,且将输入信号亦对应地分为输入信 号活跃系数分段Xa(k)和输入信号非活跃系数分段Xn-a化),并代入滤波器系数更新公式对 滤波器系数进行更新。
[0059] 步骤5:对滤波器系数进行迭代更新,且每次迭代时更新滤波器的全部活跃系数分 段Wa化)并循环更新一段非活跃系数分段Wn-a化),W获得下一时刻k+1的滤波器系数。
[0060] 当声学信道发生剧变时,特别是活跃系数在时域发生大幅度的位移时,仅对活跃 系数分段Wa化)进行自适应算法将无法跟踪声学信道的突变,为使算法具备快速跟踪能力, 必须再循环更新一段非活跃系数。
[0061] 具体的,迭代时从Wn-a化)中循环提取一段滤波器分段并记为Wi化);对应地,从Xn-a 化)中循环提取一段输入信号分段并记为Xi化);则滤波器系数更新方程为:
[00化]其中山为收敛因子,取值范围为〇如<1 ;乂化)为输入信号,|乂从-)1^为输入信号序列x 化)的二次范数,cKk)为回声信号,e化)为输出信号。
[0066] 下面举个具体的例子来说明上述更新方程:请参阅图4,其是与冲激序列位置相对 应的滤波器活跃系数分段位置坐标图。假设活跃系数分段位置已知为Wa(k) = [Ws(k)W6 化)],则每次迭代均更新Wa化)与循环更新一段Wi化),即每次迭代,依次更新W下滤波器分 段:第一次迭代时,更新Wa化)= [Ws化)W6化)]与Wl化);第二次迭代时,更新Wa化)= [Ws化)W6 化)]与化化);第Ξ次迭代时,更新Wa化)=[W5化)W6化)]与化化);第四次迭代时,更新Wa化) = [WS化)W6化)]与W4化);第五次迭代时,更新Wa化)= [WS化)W6化)]与W7化);第六次迭代时, 更新 Wa(k) = [Ws(k)W6(k)^W8(k)。
[0067] 本发明提出的系数更新算法,只需要进行6次迭代即可完成对滤波器全部系数的 更新。在6次迭代中活跃系数更新6次,非活跃系数只更新1次。可见,本发明提出的自适应滤 波器系数更新方法中,活跃系数的更新频率为1,非活跃系数的更新频率降为1/(M-L),通过 降低非活跃系数更新频率W降低滤波器有效长度,进而最终达到加快收敛速度、降低计算 复杂度的目的
[0068] 相比于现有技术,本发明提出的自适应滤波器系数更新方法利用声学传播信道的 稀疏性,在滤波器内通过移动窗积分法对信道进行延时估计W定位活跃系数位置,并通过 精确辨识全部活跃系数完成声学传播信道的自适应辨识。进一步地,在每次迭代时更新滤 波器的全部活跃系数,使得活跃系数更新频率得到提高,进而加快系统收敛速度;通过循环 更新一段非活跃系数W降低非活跃系数更新频率,进而降低滤波器有效长度;同时,非活跃 系数仍能获得一定的更新频率,从而确保了系统的跟踪能力。本发明提出的自适应滤波器 系数更新方法可大幅降低滤波器有效长度,提高系统收敛速度,降低了算法复杂度。进一步 地,本发明提出的滤波系数更新方法用一个滤波器完成延时估计与活跃系数辨识,可有效 避免双滤波器结构信息冗余的缺陷、节省计算复杂度。与传统的NLMS算法相比,新算法可大 幅降低滤波器有效长度,提高系统收敛速度,降低了计算复杂度。
[0069] 请参阅图5,其是本发明自适应滤波的系数更新装置的模块图。本发明同时还提供 一种自适应滤波的系数更新装置,包括滤波器,所述滤波器包括:
[0070] --滤波器分段模块,用于将k时刻的滤波器W化)的长度等分为Μ段;
[0071] 一一二次范数获取模块,用于求取每段滤波器系数的二次范数;
[0072] 一一最大累加值获取模块,用于将一矩形窗在该Μ段滤波器上移动,对窗口内的各 分段滤波器系数的二次范数进行累加 W获得最大累加值;其中Μ为大于1的整数;
[0073] 一一滤波器活跃系数分段和非活跃系数分段获取模块,用于W最大累加值所在窗 口内的各滤波器分段作为滤波器活跃系数分段Wa化),其余滤波器分段则为非活跃系数分 g;Wn-a(k);
[0074] 一一滤波器系数更新模块,用于对滤波器系数进行迭代更新,且每次迭代时用于 更新滤波器的全部活跃系数分段Wa(k)并循环更新一段非活跃系数分段Wn-a化),W获得下 一时刻k+1的滤波器系数。
[0075] 所述滤波器分段模块获取当前时刻k总长度为N的滤波器W(k)并等分为Μ段,则该 滤波器系数可表示为W化)=[Wi化),W2化),…,Wm化)],每个分段长度为化= Ν/Μ,则第i段滤 波器系数可表示为 Wi化)=[WiN/M化),W(iN/M)+l化),···,W((i+l)N/M)-l化)],其中1 y < Μ,且i为 整数。
[0076] 利用活跃系数幅值远大于非活跃系数的特性,通过二次范数W非线性方式突出活 跃系数,可有效区分活跃系数与非活跃系数,提高活跃系数定位精度。因此,本发明通过所 述二次范数获取模块对每段滤波器的系数求取二次范数,将求取的二次范数组成新序列
I其中,二次范数定义另
[0077] 所述最大累加值获取模块用于将长度为L的矩形窗在A化)序列上移动,其中化<L< N,即该矩形窗包含了L个滤波器分段;矩形窗每移动一个位置,均对窗口内所有滤波器分段 的二次范数进行累加,其累加值可记为:
[007引
[0079] 式中,j为矩形窗首位置在A化)上的坐标。
[0080] 根据稀疏性,活跃系数在时域聚集,且其幅值远大于非活跃系数。因此所述滤波器 活跃系数分段和非活跃系数分段获取模块因此,W最大累加值对应的窗口位置为活跃系数 位置。设活跃系数位置包含的首块滤波器分段序号为b,则
[0081]
[0082]则活跃系数分段可确定为:
[008;3] Wa(k) = [Wb(k),Wb+i(k),...,Wb+L-i化)]
[0084] 如设N=1024、M = 8、L = 3,可得活跃系数分段为Wa化)= [W5化),W6(k),W7化)]、非 活跃系数分段为Wn-a化)=化),W2化),化化),W4化),W8化)]。
[0085] 本发明提供的自适应滤波的系数更新装置进一步还包括输入信号处理模块,所述 输入信号处理模块包括输入信号分