摘要:
随着电话会议和免提电话的普遍推广,通信中的语音质量一直是研究的热点,而回声信号的存在则是影响通信质量的主要原因.因此,回声消除的实用化刻不容缓,在声学回声消除领域,自适应滤波器的核心就是根据已有的数据进行迭代,更新权值,从而跟踪上实际的回声路径. 本文首先研究自适应回声消除算法,从收敛速度,算法复杂度以及失调方面比较各个算法的性能,权衡各种因素下融合NLMS,PNLMS算法优点提出改进的算法SIPNLMS.双端检测算法是回声消除器的重要组成部分,分析各个检测算法的性能及其实际应用,在自相关检测算法的基础上提出改进算法MECC.预处理模块对两端信号进行预处理,为自适应滤波器提供较好的样本;非线性处理模块是对残余误差进行后续处理.结合这四个模块设计出完整回声消除方案,并进行matlab仿真.通过实验结果对滤波器的收敛性能和信噪比对双端检测的影响进行分析,最后提出问题的解决方案,为回声消除算法在android系统上实现做准备. 接着阐述回声消除的软硬件资源.先介绍android对讲系统的关键技术,分析和设计系统的通讯流程和软件架构(Java层,JNI层和c代码层).在这基础上采用eclipse开发环境,JNI技术和NDK技术实现对讲系统的开发.为移植回声消除提供软硬件环境. 最后是回声消除算法的移植.先把回声消除算法写成c代码,修改的软件架构,使得Java层和c层能进行数据传输.通过多次反复测试,修改代码,解决Java层与c层数据不匹配导致系统闪退,接收线程与录音线程数据不同步的问题.最后增加可保存语音样本功能,通过保存麦克风信号,远端信号和回声消除残余信号进行比较研究,不仅在听觉上更是在实际数据中进一步验证回声消除的效果.Android系统下回声消除方案的实现对其它系统下的回声消除具有指导性的作用.
展开