CN108039179A - 一种用于麦克风阵列广义旁瓣消除器的高效自适应算法 - Google Patents
一种用于麦克风阵列广义旁瓣消除器的高效自适应算法 Download PDFInfo
- Publication number
- CN108039179A CN108039179A CN201711330002.7A CN201711330002A CN108039179A CN 108039179 A CN108039179 A CN 108039179A CN 201711330002 A CN201711330002 A CN 201711330002A CN 108039179 A CN108039179 A CN 108039179A
- Authority
- CN
- China
- Prior art keywords
- mrow
- msub
- mtr
- mtd
- mover
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0264—Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Processing of the speech or voice signal to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0208—Noise filtering
- G10L21/0216—Noise filtering characterised by the method used for estimating noise
- G10L2021/02161—Number of inputs available containing the signal or the noise to be suppressed
- G10L2021/02166—Microphone arrays; Beamforming
Abstract
本发明涉及一种用于麦克风阵列广义旁瓣消除器的高效自适应算法,属于信号处理技术领域。该方法包括步骤S1:将GPAPA计算权值比例因子的方法引入MPAPA算法,得到MGPAPA算法;S2:将MGPAPA算法引入GSC的ANC模块。本发明采用的MGPAPA算法相比传统GSC中ANC模块采用的NLMS算法具有更快的收敛速度和更低的稳态误差;相比LMS/Newton算法具有更少的计算量。同时整合了GPAPA算法计算权值比例因子的方法,相比MPAPA算法,减少了对脉冲响应疏密程度的敏感度。该算法通过改善ANC的自适应滤波性能,提升了GSC的降噪效果。
Description
技术领域
本发明属于信号处理技术领域,涉及一种用于麦克风阵列广义旁瓣消除器的高效自适应算法。
背景技术
麦克风阵列是以特定结构排列而成的一组麦克风,它能够准确获取声源的空间信息。通过利用声源到达不同麦克风接收信号之间的相关性,阵列信号处理器形成一个空间滤波器(如图1示),将波束的主瓣指向期望信号所在的方向,在其他方向形成旁瓣;从而在保留期望信号的同时,对其他方向的干扰和噪声进行抑制,达到增强期望信号的目的。该技术亦称为波束形成。相比传统单麦克风的时频域处理方式,麦克风阵列能够利用空间的多样性,形成空时频联合处理,为改善语音增强的性能提供了更多的可能性。因此,麦克风阵列信号处理已广泛应用于车载系统、电话会议、助听器和智能音箱等通信和人工智能领域。
波束形成技术包括固定波束形成和自适应波束形成两类,实际应用中通常采用自适应的方式实现。常用的自适应波束形成算法包括最小方差无失真响应(MinimumVariance DistortionlessResponse,MVDR)、线性约束最小方差(LinearlyConstrainedMinimumVariance,LCMV)和广义旁瓣消除(GeneralizedSidelobeCanceller,GSC)算法。其中GSC算法不需要估计噪声、结构简单以及运算效率高,在学术研究和工程实践中得到了更为普遍的应用(引出常用算法GSC)。GSC的结构包括三个部分(如图2所示):固定波束形成器(FixedBeamformer,FBF)、阻塞矩阵(BlockingMatrix,BM)和自适应噪声相消器(AdaptiveNoiseCanceller,ANC)。麦克风阵列采集的多通道带噪信号先通过上支路的固定波束形成器和下支路的阻塞矩阵。固定波束形成器输出得到期望信号和部分残留噪声,阻塞矩阵阻塞期望信号得到参考噪声。上支路和下支路的输出分别输入自适应噪声相消器,对上支路的残留噪声进行进一步消除,从而得到增强后的信号。其中ANC所采用自适应算法的收敛速度和鲁棒性对整个GSC的降噪效果起着相当重要的作用。传统的ANC多采用归一化最小均值(NormalizedLeastMean Squares,NLMS)算法,虽然其运算量低,但收敛速度慢,稳态误差大。对于收敛速度慢的问题,有学者提出采用最小均方/牛顿(LeastMean Squares/Newton,LMS/Newton)算法。该算法虽然提升了收敛速度,但涉及到自相关函数的求逆运算,增大了运算开销,难以满足实时处理要求。考虑到收敛速度和计算复杂度的冲突,本发明选用收敛速度比NLMS快,并且计算量比LMS/Newton低的记忆比例仿射投影(Memory Proportionate Affine Projection Algorithm,MPAPA)算法。MPAPA算法利用了输入信号更多的信息,使误差函数更加接近理论误差;并且引入比例因子使得自适应滤波器每个抽头系数按照不同的步长进行更新,既加快了收敛速度,也降低了稳态误差。算法的“记忆性”考虑了比例矩阵与输入信号内积项的递归使用,降低了算法的计算复杂度。虽然MPAPA具有足够快的收敛速度和低计算量,但是该算法对脉冲响应的疏密程度较敏感。当脉冲响应较稀疏时,算法有较好的收敛性能;对于较密集的脉冲响应,算法的收敛速度明显下降。针对该问题本发明将广义比例仿射投影(GeneralizedProportionate Affine Projection Algorithm,GPAPA)算法中计算权值比例因子的方法引入MPAPA算法,得到记忆广义比例仿射投影(Memory GeneralizedProportionate AffineProjection Algorithm,MGPAPA)算法。该算法降低了对脉冲响应疏密程度的敏感性,使得GSC算法更加适应复杂多变的环境,且具有快收敛速度、低计算量和低稳态误差。
发明内容
有鉴于此,本发明的目的在于提供一种用于麦克风阵列广义旁瓣消除器的高效自适应算法,将MGPAPA算法引入广义旁瓣消除器(GSC)的自适应噪声相消(ANC)模块,提升了自适应算法的收敛速度,并降低了稳态误差和运算量。通过提升自适应算法的性能达到增强GSC降噪性能的目的。
为达到上述目的,本发明提供如下技术方案:
一种用于麦克风阵列广义旁瓣消除器的高效自适应算法,包括以下步骤:
S1:将GPAPA计算权值比例因子的方法引入MPAPA算法,得到MGPAPA算法;
S2:将MGPAPA算法引入GSC的ANC模块。
进一步,所述步骤S1具体为:
S101:MPAPA计算权值比例因子的方法源于比例最小均方(ProportionateNormalized Least Mean Squares,PNLMS)算法,比例因子矩阵表示为G(k)=diag{g0(k),g1(k),...,gL-1(k)},其中L表示滤波器的阶数,gi(k)为权值系数对应的比例因子,其中i=0,1,...,L-1;gi(k)的计算方法为:
其中,表示第i个权值系数的估计值,ρ和γmin(k)防止某个过小而不更新;
GPAPA算法引入1范数,通过调整参数来适应脉冲响应疏密程度的变化,gi(k)的计算方法更新为:
其中η用来计算平滑权值系数的遗忘因子,参数β(-1<β≤1)控制算法的比例程度;当脉冲响应非稀疏时,β取1,算法退化为NLMS算法,保证最基本的收敛速度;当脉冲响应稀疏时,β取值趋向-1,算法近似于PAPA算法,此时收敛速度比NLMS快;脉冲响应的疏密程度通过计算权值矢量的方差判定;当方差小于某个门限ξ时,说明权值系数取值比较集中,脉冲响应判定为非稀疏,此时将β置为1;反之,当方差大于某个门限时,β取值趋向-1,保证算法的收敛速度,其中ξ通过多次试验获得经验值;
S102:MPAPA的权矢量更新公式为
其中求逆项的矩阵维度由MPAPA的阶数确定,为2~3阶;最多只需要对3*3的矩阵求逆;而LMS/Newton的权矢量更新公式为
其中求逆项与滤波器的阶数L有关,L远大于3,矩阵求逆的运算量大大增加;MPAPA算法相比LMS/Newton算法节省大量运算量。
进一步,所述步骤MGPAPA算法具体为:
S201:初始化:
MGPAPAorder=2
S202:自适应更新:
G(k-1)=diag[g0(k-1),g1(k-1),…,gL-1(k-1)],
循环开始:i=1:L
循环结束:
计算权值向量方差
IF
β=1,
ELSE
β→-1
更新权矢量
本发明的有益效果在于:本发明采用的MGPAPA算法相比传统GSC中ANC模块采用的NLMS算法具有更快的收敛速度和更低的稳态误差;相比LMS/Newton算法具有更少的计算量。同时整合了GPAPA算法计算权值比例因子的方法,相比MPAPA算法,减少了对脉冲响应疏密程度的敏感度。该算法通过改善ANC的自适应滤波性能,提升了GSC的降噪效果。
附图说明
为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:
图1为空间滤波器波束示意图;
图2为GSC结构图;
图3为本发明流程图。
具体实施方式
下面将结合附图,对本发明的优选实施例进行详细的描述。
如图1-图3所示,将GPAPA计算权值比例因子的方法引入MPAPA算法,得到MGPAPA算法。
a.MPAPA计算权值比例因子的方法源于比例最小均方(ProportionateNormalized Least Mean Squares,PNLMS)算法,比例因子矩阵可表示为G(k)=diag{g0(k),g1(k),...,gL-1(k)},其中L表示滤波器的阶数,gi(k)为权值系数对应的比例因子,其中i=0,1,...,L-1。gi(k)的计算方法如下:
其中,表示第i个权值系数的估计值,ρ和γmin(k)防止某个过小而不更新。
然而,但脉冲响应变得非稀疏时,每个权值系数占有的比例很接近,没有明显的差异,导致算法更新很慢,收敛速度大幅下降,甚至低于NLMS算法。于是GPAPA算法引入了1范数,通过调整参数来适应脉冲响应疏密程度的变化。gi(k)的计算方法更新如下:
其中η用来计算平滑权值系数的遗忘因子,参数β(-1<β≤1)控制算法的比例程度。当脉冲响应非稀疏时,β取1,算法退化为NLMS算法,保证了最基本的收敛速度;反之,当脉冲响应稀疏时,β取值趋向-1,算法可近似于PAPA算法,此时收敛速度比NLMS快。脉冲响应的疏密程度可通过计算权值矢量的方差判定。当方差小于某个门限ξ时,说明权值系数取值比较集中,脉冲响应判定为非稀疏,此时将β置为1;反之,当方差大于某个门限时,β取值趋向-1,保证算法的收敛速度。其中ξ可通过多次试验获得经验值。
b.MPAPA的权矢量更新公式为
其中求逆项的矩阵维度由MPAPA的阶数确定,一般为2~3阶。所以最多只需要对3*3的矩阵求逆。而LMS/Newton的权矢量更新公式为
其中求逆项与滤波器的阶数L有关,L一般远大于3,矩阵求逆的运算量大大增加。所以,MPAPA算法相比LMS/Newton算法节省了大量运算量。
将MGPAPA算法引入GSC的ANC模块
MGPAPA算法利用到当前时刻前几个时刻输入的“历史信息”,使误差函数更加接近理论上的均方误差,提升了收敛速度。引入比例因子使得自适应滤波器每个抽头系数按照不同的步长进行更新,根据系数所占的大小比例,大的系数获得较大的步长,小的系数获得小的步长。既加快了全局收敛速度,也降低了收敛误差。同时,算法的“记忆性”考虑了比例矩阵与输入信号内积项的递归使用,降低了算法的计算复杂度。相比NLMS算法,收敛速度更快;相比LMS/Newton算法,计算量更小。本发明采用的MGPAPA算法整体上提升了自适应算法的性能,对固定波束形成输出的残留噪声具有更好的消除效果。
MGPAPA算法流程如下:
第一步:初始化
MGPAPAorder=2
第二步:自适应更新
G(k-1)=diag[g0(k-1),g1(k-1),…,gL-1(k-1)],
循环开始:i=1:L
循环结束:
计算权值向量方差
IF
β=1,
ELSE
β→-1
更新权矢量
最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管通过上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其作出各种各样的改变,而不偏离本发明权利要求书所限定的范围。
Claims (3)
1.一种用于麦克风阵列广义旁瓣消除器的高效自适应算法,其特征在于:该方法包括以下步骤:
S1:将广义比例仿射投影(Generalized Proportionate Affine ProjectionAlgorithm,GPAPA)算法计算权值比例因子的方法引入记忆比例仿射投影(MemoryProportionate Affine Projection Algorithm,MPAPA)算法,得到记忆广义比例仿射投影(Memory Generalized Proportionate Affine Projection Algorithm,MGPAPA)算法;
S2:将MGPAPA算法引入广义旁瓣消除器(Generalized Sidelobe Canceller,GSC)的自适应噪声相消器(AdaptiveNoise Canceller,ANC)模块。
2.根据权利要求1所述的一种用于麦克风阵列广义旁瓣消除器的高效自适应算法,其特征在于:所述步骤S1具体为:
S101:MPAPA计算权值比例因子的方法源于比例归一化最小均方(ProportionateNormalized Least Mean Squares,PNLMS)算法,比例因子矩阵表示为G(k)=diag{g0(k),g1(k),...,gL-1(k)},其中L表示滤波器的阶数,gi(k)为权值系数对应的比例因子,其中i=0,1,...,L-1;gi(k)的计算方法为:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>&gamma;</mi>
<mi>min</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>&rho;</mi>
<mi>max</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>&delta;</mi>
<mo>,</mo>
<mo>|</mo>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mn>0</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<mo>,</mo>
<mo>|</mo>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<mo>,</mo>
<mn>...</mn>
<mo>,</mo>
<mo>|</mo>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mrow>
<mi>L</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>&gamma;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>max</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>&gamma;</mi>
<mi>min</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>|</mo>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>g</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<msub>
<mi>&gamma;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>L</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mi>&gamma;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中,表示第i个权值系数的估计值,ρ和γmin(k)防止某个过小而不更新;
GPAPA算法引入1范数,通过调整参数来适应脉冲响应疏密程度的变化,gi(k)的计算方法更新为:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>g</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&beta;</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mfrac>
<mrow>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>|</mo>
<mo>|</mo>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>1</mn>
</msub>
<mo>+</mo>
<mi>&epsiv;</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mi>&beta;</mi>
<mrow>
<mn>2</mn>
<mi>L</mi>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>|</mo>
<mo>|</mo>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>1</mn>
</msub>
<mo>=</mo>
<munderover>
<mi>&Sigma;</mi>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>L</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<mo>|</mo>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&omega;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>&eta;</mi>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&eta;</mi>
</mrow>
<mo>)</mo>
</mrow>
<msub>
<mi>&omega;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
其中η用来计算平滑权值系数的遗忘因子,参数β(-1<β≤1)控制算法的比例程度;当脉冲响应非稀疏时,β取1,算法退化为归一化最小均方(Normalized Least MeanSquares,NLMS)算法,保证最基本的收敛速度;当脉冲响应稀疏时,β取值趋向-1,算法近似于比例仿射投影(Proportionate Affine ProjectionAlgorithm,PAPA)算法,此时收敛速度比NLMS快;脉冲响应的疏密程度通过计算权值矢量的方差判定;当方差小于某个门限ξ时,说明权值系数取值比较集中,脉冲响应判定为非稀疏,此时将β置为1;反之,当方差大于某个门限时,β取值趋向-1,保证算法的收敛速度,其中ξ通过多次试验获得经验值;
S102:MPAPA的权矢量更新公式为
<mrow>
<mi>W</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>W</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mi>&mu;</mi>
<mi>G</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<msub>
<mi>X</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<msup>
<mrow>
<mo>(</mo>
<msubsup>
<mi>X</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
<mi>T</mi>
</msubsup>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
<mi>G</mi>
<mo>(</mo>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
<msub>
<mi>X</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
</msub>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
<mo>+</mo>
<mi>&gamma;</mi>
<mi>I</mi>
<mo>)</mo>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
<msub>
<mi>e</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
其中求逆项的矩阵维度由MPAPA的阶数确定,为2~3阶;最多只需要对3*3的矩阵求逆;而LMS/Newton的权矢量更新公式为
<mrow>
<mi>W</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>W</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mn>2</mn>
<mi>&mu;</mi>
<mi>e</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<msup>
<mi>L</mi>
<mi>T</mi>
</msup>
<msubsup>
<mi>R</mi>
<mrow>
<mi>b</mi>
<mi>b</mi>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msubsup>
<mi>b</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
其中求逆项与滤波器的阶数L有关,L远大于3,矩阵求逆的运算量大大增加;MPAPA算法相比最小均方/牛顿(Least Mean Squares/Newton,LMS/Newton)算法节省大量运算量。
3.根据权利要求2所述的一种用于麦克风阵列广义旁瓣消除器的高效自适应算法,其特征在于:所述步骤MGPAPA算法具体为:
S201:初始化:
<mrow>
<mi>W</mi>
<mrow>
<mo>(</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msubsup>
<mrow>
<mo>&lsqb;</mo>
<msub>
<mi>&omega;</mi>
<mn>0</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>&omega;</mi>
<mn>1</mn>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
<mo>...</mo>
<mo>,</mo>
<msub>
<mi>&omega;</mi>
<mrow>
<mi>L</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>&rsqb;</mo>
</mrow>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mi>T</mi>
</msubsup>
<mo>=</mo>
<mn>0</mn>
</mrow>
MGPAPAorder=2
S202:自适应更新:
<mrow>
<msub>
<mi>e</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mi>e</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>e</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>e</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
<mo>,</mo>
<mi>N</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
<mo>,</mo>
<mn>0</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
<mo>,</mo>
<mn>1</mn>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mtable>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>.</mo>
</mtd>
</mtr>
</mtable>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>d</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>n</mi>
<mo>-</mo>
<mi>N</mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
<mo>,</mo>
<mi>N</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>=</mo>
<msub>
<mi>d</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mi>y</mi>
<mrow>
<mi>a</mi>
<mi>p</mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<mi>n</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
G(k-1)=diag[g0(k-1),g1(k-1),…,gL-1(k-1)],
循环开始:i=1:L
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>&eta;</mi>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>+</mo>
<mrow>
<mo>(</mo>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&eta;</mi>
</mrow>
<mo>)</mo>
</mrow>
<msub>
<mi>&omega;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<msub>
<mi>&omega;</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>-</mo>
<msub>
<mover>
<mi>&omega;</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
循环结束:
<mfenced open = "" close = "">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>|</mo>
<mo>|</mo>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>1</mn>
</msub>
<mo>=</mo>
<munderover>
<mo>&Sigma;</mo>
<mrow>
<mi>i</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow>
<mi>L</mi>
<mo>-</mo>
<mn>1</mn>
</mrow>
</munderover>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<msub>
<mi>g</mi>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mfrac>
<mrow>
<mn>1</mn>
<mo>-</mo>
<mi>&beta;</mi>
</mrow>
<mn>2</mn>
</mfrac>
<mfrac>
<mrow>
<msub>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mi>i</mi>
</msub>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
</mrow>
<mrow>
<mo>|</mo>
<mo>|</mo>
<mover>
<mi>c</mi>
<mo>^</mo>
</mover>
<mrow>
<mo>(</mo>
<mi>k</mi>
<mo>)</mo>
</mrow>
<mo>|</mo>
<msub>
<mo>|</mo>
<mn>1</mn>
</msub>
<mo>+</mo>
<mi>&epsiv;</mi>
</mrow>
</mfrac>
<mo>+</mo>
<mfrac>
<mi>&beta;</mi>
<mrow>
<mn>2</mn>
<mi>L</mi>
</mrow>
</mfrac>
<mo>,</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mfenced>
计算权值向量方差
IF
β=1,
ELSE
β→-1
更新权矢量
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711330002.7A CN108039179B (zh) | 2017-12-13 | 2017-12-13 | 一种用于麦克风阵列广义旁瓣消除器的高效自适应算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711330002.7A CN108039179B (zh) | 2017-12-13 | 2017-12-13 | 一种用于麦克风阵列广义旁瓣消除器的高效自适应算法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108039179A true CN108039179A (zh) | 2018-05-15 |
CN108039179B CN108039179B (zh) | 2021-08-13 |
Family
ID=62102621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711330002.7A Active CN108039179B (zh) | 2017-12-13 | 2017-12-13 | 一种用于麦克风阵列广义旁瓣消除器的高效自适应算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108039179B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069896A (zh) * | 2019-05-29 | 2019-07-30 | 重庆邮电大学 | 基于稀疏2d线性阵列的涡旋电磁波产生与优化方法 |
CN111402912A (zh) * | 2020-02-18 | 2020-07-10 | 云知声智能科技股份有限公司 | 一种语音信号降噪方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050105693A (ko) * | 2004-05-03 | 2005-11-08 | 삼성전자주식회사 | 동시통화구간 검출에 따른 음향 반향 제거 방법 및 장치 |
EP2036399A1 (en) * | 2006-05-30 | 2009-03-18 | Microsoft Corporation | Adaptive acoustic echo cancellation |
CN104158512A (zh) * | 2014-08-08 | 2014-11-19 | 西南交通大学 | 一种基于独立活性因子的抗冲击干扰的自适应稀疏系统辨识方法 |
CN106788337A (zh) * | 2016-10-11 | 2017-05-31 | 沈阳工业大学 | 稳健的仿射投影符号自适应滤波算法 |
-
2017
- 2017-12-13 CN CN201711330002.7A patent/CN108039179B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050105693A (ko) * | 2004-05-03 | 2005-11-08 | 삼성전자주식회사 | 동시통화구간 검출에 따른 음향 반향 제거 방법 및 장치 |
EP2036399A1 (en) * | 2006-05-30 | 2009-03-18 | Microsoft Corporation | Adaptive acoustic echo cancellation |
CN104158512A (zh) * | 2014-08-08 | 2014-11-19 | 西南交通大学 | 一种基于独立活性因子的抗冲击干扰的自适应稀疏系统辨识方法 |
CN106788337A (zh) * | 2016-10-11 | 2017-05-31 | 沈阳工业大学 | 稳健的仿射投影符号自适应滤波算法 |
Non-Patent Citations (6)
Title |
---|
CONSTANTIN PALEOLOGU: "An Efficient Proportionate Affine Projection", 《IEEE SIGNAL PROCESSING LETTERS》 * |
CONSTANTIN PALEOLOGU: "AN IMPROVED PROPORTIONATE NLMS ALGORITHM BASED ON THE l0 NORM", 《2010 IEEE INTERNATIONAL CONFERENCE ON ACOUSTICS, SPEECH AND SIGNAL PROCESSING》 * |
XIAO XIA: "A VARIABLE PARAMETER EFFICIENT μ-LAW", 《PROCEEDINGS OF IEEE CCIS2011》 * |
夏可智: "基于M估计的鲁棒自适应滤波算法在回声消除中的应用", 《中国优秀硕士学位论文全文数据库》 * |
董银霞: "一种改进的记忆成比例仿射投影算法及其应用", 《信息技术》 * |
闵亮文: "基于M 估计的有效成比例仿射投影算法", 《计算机工程与设计》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069896A (zh) * | 2019-05-29 | 2019-07-30 | 重庆邮电大学 | 基于稀疏2d线性阵列的涡旋电磁波产生与优化方法 |
CN111402912A (zh) * | 2020-02-18 | 2020-07-10 | 云知声智能科技股份有限公司 | 一种语音信号降噪方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108039179B (zh) | 2021-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301864B (zh) | 一种基于Maxout神经元的深度双向LSTM声学模型 | |
CN109714023B (zh) | 自适应滤波方法、自适应滤波器和噪声控制系统 | |
CN100578622C (zh) | 一种自适应麦克阵列系统及其语音信号处理方法 | |
CN110931036B (zh) | 一种麦克风阵列波束形成方法 | |
CN101917527B (zh) | 回声消除的方法和装置 | |
Rout et al. | Particle swarm optimization based active noise control algorithm without secondary path identification | |
CN107221336A (zh) | 一种增强目标语音的装置及其方法 | |
CN107703486A (zh) | 一种基于卷积神经网络cnn的声源定位算法 | |
CN110088834A (zh) | 用于语音去混响的多输入多输出(mimo)音频信号处理 | |
Schmid et al. | Variational Bayesian inference for multichannel dereverberation and noise reduction | |
CN110162739B (zh) | 基于变遗忘因子的rffklms算法权值更新优化方法 | |
CN112904279B (zh) | 基于卷积神经网络和子带srp-phat空间谱的声源定位方法 | |
GB2510329A (en) | Adaptive microphone beamforming | |
CN108039179A (zh) | 一种用于麦克风阵列广义旁瓣消除器的高效自适应算法 | |
CN104158512B (zh) | 一种基于独立活性因子的抗冲击干扰的自适应稀疏系统辨识方法 | |
O'Connor et al. | Diffusion-based distributed MVDR beamformer | |
CN104270539A (zh) | 基于系数差的成比例仿射投影回声消除方法 | |
Valera et al. | Infinite factorial dynamical model | |
CN109379652A (zh) | 一种耳机有源噪声控制的次级通道离线辨识方法及系统 | |
Rahman et al. | Deep learning based improved cascaded channel estimation and signal detection for reconfigurable intelligent surfaces-assisted MU-MISO systems | |
Warsitz et al. | Acoustic filter-and-sum beamforming by adaptive principal component analysis | |
CN101568058B (zh) | 一种基于加权次梯度投影的数字助听器回声路径估计方法 | |
Zeng et al. | Distributed delay and sum beamformer for speech enhancement in wireless sensor networks via randomized gossip | |
CN107018103B (zh) | 一种基于自适应步长猴群优化的小波常模盲均衡方法 | |
Niwa et al. | Supervised source enhancement composed of nonnegative auto-encoders and complementarity subtraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |