编程的时候,为了提高程序的运行效率,要充分利用DSP芯片的优点。要尽量使用指令周期少的寻址方式,如直接寻址、双操作数寻址。在设计滤波器的数据和系数缓冲区的时候采用循环寻址,这样可以避免大批数据的搬移,节省指令周期,如果开辟一个长度为L的缓冲区,必须保证其首址最低位至少有N个0,N是满足2N>R的最小整数。还要多采用如ST‖MPY等并行指令,多采用DSP的专用指令,如LMS、FIRS。
7 结束语
回声消除技术在IP电话中占有非常重要的地位,本文介绍了用NLMS算法设计回声消除器,还涉及到语音检测和时延估计,以及如何在DSP上实现。下面给出63阶的NLMS自适应滤波器的系数更新结果,为了方便起见,把回声通道H(z)等效成一个63阶的FIR滤波器,其冲击响应如图3所示,并假设近端语音信号x(n)为0,不考虑延时,一段时间后NLMS滤波器的冲击响应见图4。图4所示是收敛后的NLMS自适应滤波器系数。由图4可以看出,NLMS自适应滤波器的收敛效果较好。
关键词: