论文阅读系列文章

论文阅读系列文章

第一篇:基于kronecker分解的NLMS算法


前言

论文阅读系列文章主要是分享一些自己平常在IEEE上看到的一些有趣的论文,基于kronecker 分解的NLMS算法是今年ICASSP2020的文章,由于自己目前也是在做关于自适应滤波相关的研究,因此分享下该篇论文

一、介绍

NLMS算法属于自适应滤波的一种,一般可以用于回声消除,主动噪声控制,房间脉冲响应估计等实际应用中。NLMS算法的本质实际上就是用来估计系统函数;得到系统函数后,将系统函数和输入的参考信号卷积,在理论上是可以获得想要的输出信号;

二、原理说明

1.数学模型

假设输出信号为 y ( n ) y(n) y(n),房间脉冲响应或是系统函数为 ω \bm{\omega} ω, 参考信号为 x ( n ) \bm x(n) x(n), 噪声或是其他信号为 v ( n ) v(n) v(n),那么信号模型可以表示为:
y ( n ) = ω T x ( n ) + v ( n ) y(n) = \bm{\omega}^T\bm{x}(n)+v(n) y(n)=ωTx(n)+v(n)
其中:
ω = [ ω 0 , ω 1 , . . . , ω L − 1 ] T \bm{\omega}=[\omega_0, \omega_1, ...,\omega_{L-1}]^T ω=[ω0,ω1,...,ωL1]T

x = [ x ( n ) , x ( n − 1 ) , . . . , x ( n − L + 1 ) ] T \bm{x}=[x(n),x(n-1),...,x(n-L+1)]^T x=[x(n),x(n1),...,x(nL+1)]T
在回声消除领域中, ω T x ( n ) \bm{\omega}^T\bm{x}(n) ωTx(n)称为回声信号, v ( n ) v(n) v(n)称为近端信号或是噪声信号;
那么误差信号可以表示为:
e ( n ) = y ( n ) − y ^ ( n ) = y ( n ) − ω ^ ( n ) x ( n ) e(n)=y(n)-\hat{y}(n) = y(n) - \hat{\bm{\omega}}(n)\bm{x}(n) e(n)=y(n)y^(n)=y(n)ω^(n)x(n)
其中 y ^ ( n ) \hat{y}(n) y^(n)表示为估计的回声信号;
ω ( n ) \omega(n) ω(n)进行kronecker分解,可以得到:
ω ^ ( n ) = ∑ d = 1 D ω ^ 2 , d ( n ) ⊗ ω ^ 1 , d ( n ) \hat{\bm{\omega}}(n)=\sum_{d=1}^D{\hat{\bm{\omega}}_{2,d}(n) \otimes \hat{\bm{\omega}}_{1,d}(n) } ω^(n)=d=1Dω^2,d(n)ω^1,d(n)
其中:
ω ^ 2 , d ( n ) ⊗ ω ^ 1 , d ( n ) = ( ω ^ 2 , d ( n ) ⊗ I L 1 ) ω ^ 1 , d ( n ) = ( I L 2 ⊗ ω ^ 1 , d ( n ) ) ω ^ 2 , d ( n ) {\hat{\bm{\omega}}_{2,d}(n) \otimes \hat{\bm{\omega}}_{1,d}(n) }=(\hat{\bm{\omega}}_{2,d}(n) \otimes \bm{I}_{L_1})\hat\bm\omega_{1,d}(n)=(\bm{I}_{L_2} \otimes \hat\bm\omega_{1,d}(n) )\hat\bm\omega_{2,d}(n) ω^2,d(n)ω^1,d(n)=(ω^2,d(n)IL1)ω^1,d(n)=(IL2ω^1,d(n))ω^2,d(n)

分解之后,每个子系统的误差信号可以表示为:

e 1 ( n ) = y ( n ) − ω ^ 1 T ( n ) x 2 ( n ) e_1(n)=y(n)-\hat{\bm{\omega}}_1^T(n)\bm{x}_2(n) e1(n)=y(n)ω^1T(n)x2(n)

e 2 ( n ) = y ( n ) − ω ^ 2 T ( n ) x 1 ( n ) e_2(n)=y(n)-\hat{\bm{\omega}}_2^T(n)\bm{x}_1(n) e2(n)=y(n)ω^2T(n)x1(n)

x ^ 2 , d ( n ) = W ^ 2 , d ( n ) x ( n ) \hat{\bm{x}}_{2,d}(n)=\hat{\bm{W}}_{2,d}(n)\bm{x}(n) x^2,d(n)=W^2,d(n)x(n)
其中 W ^ 2 , d ( n ) \hat{\bm{W}}_{2,d}(n) W^2,d(n)的维数为: L 1 L 2 × L 1 L_1L_2\times L_1 L1L2×L1

x 2 ( n ) = [ x ^ 2 , 1 ( n ) , x ^ 2 , 2 ( n ) , . . . , x ^ 2 , D ( n ) ] T \bm{x}_2(n)= [\hat{\bm{x}}_{2,1}(n), \hat{\bm{x}}_{2,2}(n), ..., \hat{\bm{x}}_{2,D}(n)]^T x2(n)=[x^2,1(n),x^2,2(n),...,x^2,D(n)]T

ω ^ 2 ( n ) = [ ω ^ 2 , 1 T ( n ) , ω ^ 2 , 2 T ( n ) , . . . , ω ^ 2 , D T ( n ) ] T \hat{\bm{\omega}}_2(n)=[\hat{\bm{\omega}}_{2,1}^T(n),\hat{\bm{\omega}}_{2,2}^T(n),...,\hat{\bm{\omega}}_{2,D}^T(n)]^T ω^2(n)=[ω^2,1T(n),ω^2,2T(n),...,ω^2,DT(n)]T

x ^ 1 , d ( n ) = W ^ 1 , d ( n ) x ( n ) \hat{\bm{x}}_{1,d}(n)=\hat{\bm{W}}_{1,d}(n)\bm{x}(n) x^1,d(n)=W^1,d(n)x(n)
其中 W ^ 1 , d ( n ) \hat{\bm{W}}_{1,d}(n) W^1,d(n)的维数为: L 1 L 2 × L 2 L_1L_2\times L_2 L1L2×L2
x 1 ( n ) = [ x ^ 1 , 1 ( n ) , x ^ 1 , 2 ( n ) , . . . , x ^ 1 , D ( n ) ] T \bm{x}_1(n)= [\hat{\bm{x}}_{1,1}(n), \hat{\bm{x}}_{1,2}(n), ..., \hat{\bm{x}}_{1,D}(n)]^T x1(n)=[x^1,1(n),x^1,2(n),...,x^1,D(n)]T

ω ^ 1 ( n ) = [ ω ^ 1 , 1 T ( n ) , ω ^ 1 , 2 T ( n ) , . . . , ω ^ 1 , D T ( n ) ] T \hat{\bm{\omega}}_1(n)=[\hat{\bm{\omega}}_{1,1}^T(n),\hat{\bm{\omega}}_{1,2}^T(n),...,\hat{\bm{\omega}}_{1,D}^T(n)]^T ω^1(n)=[ω^1,1T(n),ω^1,2T(n),...,ω^1,DT(n)]T

最终的更新公式可以表示为:

ω ^ 1 ( n + 1 ) = ω ^ 1 ( n ) + μ e 1 ( n ) x 2 ( n ) \hat{\bm{\omega}}_1(n+1) = \hat{\bm{\omega}}_1(n) + \mu e_1(n)\bm{x}_2(n) ω^1(n+1)=ω^1(n)+μe1(n)x2(n)

ω ^ 2 ( n + 1 ) = ω ^ 2 ( n ) + μ e 2 ( n ) x 2 ( n ) \hat{\bm{\omega}}_2(n+1) = \hat{\bm{\omega}}_2(n) + \mu e_2(n)\bm{x}_2(n) ω^2(n+1)=ω^2(n)+μe2(n)x2(n)

2.实验实例

仿真效果如下:
待添加


总结

以上就是今天要讲的内容,目前只更新了基本原理,下次再添加该论文相关的实验结果;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值