如需转载请注明出处!
本文将结合speex AEC MDF与learning rate adjust进行总结。
1. 近端信号经过陷波器(notchfilter)处理去除直流分量存入input[]中,陷波器仿真如图所示
2. 对input[]信号进行预加重处理
3. 远端信号经过预加重处理存入x[]后半部分中,x[]前半部分存储的上一帧信号
4. 将X[]中M帧的频域信号向后平移,x[]信号频域结果存至X[]头部位置
5. 计算新输入的远端信号的时域能量,保存为Sxx
6. 计算X[]头部频域一帧的功率谱,存至Xf[]中
7. X[]前M帧经前景滤波(foreground)滤波,结果存至Y[]中
8. Y[]进行IFFT变换,结果存至e[]中
9. 更新e[]前半部分为近端信号与前景滤波的差值,后半部分为前景滤波结果。
10. 计算近端信号与前景滤波的差的能量,存至Sff中
11. 判断是否调整prop[], prop[]物理意义上为M帧的步长调整尺度因子。prop[j](j:0~M-1)与power_1[]的点乘即为第j帧的步长,一定意义上实现了回声的稀疏性考虑。
12. 根据X[]中之前