仿射投影算法(APA)回声消除

提出原因:因为语音信号是非平稳、强相关的信号,NLMS算法在处理此类信号时,反馈抑制的性能和稳定性较差,为了克服输入信号相关性的影响,有学者提出了仿射投影算法(APA),APA是NLMS算法的多维推广,重复使用输入信号,在输入数据具有强相关性的情况下提高算法的收敛速度。与LMS算法一样,需要选择合适的步长来取得收敛速度和稳态误差之间的折中。(变步长的APA算法可以解决这个问题)。具体的算法过程公式就不打啦~

LMS算法是点式更新,计算简单收敛性差;仿射投影是数据块更新。块更新比点更新使用更多的数据,利用的信息多,可以提高滤波器的收敛性能。使用的数据越多,性能提高越大。

评价仿射投影自适应滤波器的主要指标:收敛速度、稳态失调、对回声信道跟踪能力和抗环境噪声能力。

function [yn,er,wk] = myAPA(xn,dn,L,M,miu)
%   APA算法的函数
%   xn为输入序列
%   dn为期望信号
%   L为重复次数
%   M为滤波器阶数
%   miu是步长因子
dn=dn(:)';
N=length(xn);
yn=zeros(1,N)';
wk=zeros(M,N);
er=inf*zeros(1,N);
A=zeros(M,L);
for k=L+M-1:N
    for i=1:M
        for j=1:L
            A(i,j)=xn(k-L-M+i+j);
        end
    end
    yn(k-L+1:k)=A'*wk(:,k);       % n时刻,前L个输出组成的输出参考向量
    D=dn(k-L+1:k)';               % n时刻,前L个期望输出信号组成参考向量
    E=D-yn(k-L+1:k);              % 后验误差
    er(k-L+1:k)=D-yn(k-L+1:k);
    wk(:,k+1)=wk(:,k)+miu*A*pinv(A'*A)*E;   % 更新滤波器权系数  
end

 仿真过程用高斯白噪声通过一阶AR模型通过高斯白噪声作为输入。

一只摸鱼小白的日常

 

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值