2008年12月2日星期二

AEC的硬件实现1---自适应滤波算法的实现

最近工作比较轻松,闲暇之余研究下echo canceller的算法和硬件实现。 算法的核心就是基于NLMS算法的自适应滤波器。如图所示:



所谓自适应滤波器,就是滤波系数随着输入信号特征的变化而变化。在实现的时候采用512阶FIR的结构。由于阶数较多,采用DA算法会造成查找表的开销比较大,因此采用类似DSP的架构,将运算单元和数据单元分离的方法来实现。实现的时候需要两个512*16bit大小的RAM,一个用来对输入数据进行寄存,一个用来保存系数,完成一个乘加运算需要时钟周期三个,一个周期用来取数,一个周期用来完成乘法运算,一个周期用来完成加法运算。使用流水线的方法来减少周期消耗。 流水线如图所示:








没有评论: