如需转载请注明出处。
本文从数学和物理意义上阐明NLMS及频域MDF AEC中步长更新的深层理论含义。
以speex AEC为例,以回声泄露因子来计算得到最优步长。
r = st->leak_estimate*st->Yf[i]; // st->leak_estimate表示回声泄露因子; st->Yf[i] 表示估计回声的频域功率
e = st->Rf[i]+1; // st->Rf[i] 表示误差信号(即消除回声后的信号)的频域功率
r = 0.7*r + 0.3*BER*e; // RER = (.0001*Sxx + 3.*st->leak_estimate*Syy) / See;
st->power_1[i] = r/(e*(st->power[i]+10)); // st->power[i]表示远端信号频域功率的平滑值
最终的最优步长 u=power_1[i]*prop[j], 其中prop[j]为比例因子常数。稍微细心一点可以发现,power_1[i] 分子与分母表达并不在同一个物理空间,分子表达的物理含义为频域功率,而分母表示频域功率的乘积。所以最终结果表示的物理空间为功率的倒数。为什么会这样呢?
因为:
更新步长是 u*e*x(k); 而 e又为x的一次项式, 所以 e*x(k) 物理意义上为远端信号的功率级别,所以步长因子 需要为 功率倒数 的物理量级, 保证的W 系数的 一次项物理意义。<