新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 基于LMS算法的回声消除系统仿真研究

基于LMS算法的回声消除系统仿真研究

作者:于伟健 程颖菲 王心怡 王建明时间:2018-09-27来源:电子产品世界收藏
编者按:在通信行业日渐发达的今天,回声消除的应用十分广泛。常见的回声消除方法一般有三种。一是对周围环境进行特殊的处理,二是采用回声隔离器,三是采用回声抵消器。当下最热门的三种回声消除算法分别是维纳滤波算法,最陡下降算法,LMS算法。本文基于LMS算法,应用MATLAB进行仿真研究,并改进了LMS算法,得出更好的回声消除系统。

作者 / 于伟健1 程颖菲2 王心怡3 王建明3

本文引用地址:http://www.amcfsurvey.com/article/201809/392397.htm

  1.西安恒飞电子科技有限公司(陕西 西安 710068)2.西安铁路职业技术学院(陕西 西安 710014)

  3.西安铁一中学(陕西 西安 710048)

  于伟健(1991),男,硕士,助理工程师,电源管理;程颖菲(1990),女,本科,讲师,有源滤波;王心怡(2001),女,高中在读;王建明(1989),男,硕士,工程师,VoIP通话。

摘要:在通信行业日渐发达的今天,的应用十分广泛。常见的方法一般有三种。一是对周围环境进行特殊的处理,二是采用回声隔离器,三是采用回声抵消器。当下最热门的三种算法分别是维纳滤波算法,最陡下降算法,。本文基于,应用进行研究,并改进了,得出更好的回声消除系统。

0 引言

  现在,各种各样的通讯方式越来越多,极大的方便了人们的生活。然而,消除使用免提通信设备时的回声,面临多面挑战,它不仅和通信系统终端设备的外部环境有关,还和运行通信系统的主机性能以及网络状况密切相关。对回声消除进行研究,不但具有理论意义,而且还能产生巨大的经济效益。

1 回声消除技术的基本原理

  衡量声学回声消除质量的指标通常有收敛时间、回声消除抑制比、双端通话的健壮性[1]三个参数,其中收敛时间最为重要。常见的回声消除方法一般有[2]:对周围环境进行特殊的处理、采用回声隔离器、采用回声抵消器。图1是网络传输中经典的声学回声抵消器的模型[3]

  自适应算法通过回声信号和滤波器输出信号相减以后的误差信号e(n)来调整自适应滤波器的权值,从而使得滤波器的输出信号更接近于回声信号r(n)。当输入信号的特征随时变化或者输入信号的特征未知时,自适应滤波器能够根据某种算法来自动迭代,实时更新滤波器系数,跟踪目标输出信号,使得滤波器的输出达到最优化[4]

2 回声消除中自适应算法的研究

  2.1 LMS算法

  将式(3)代入到式(1)中,就可以得到LMS算法的迭代形式为:

  将最大时间常数定义成衡量LMS算法收敛速度的指标,限定步长因子的取值范围,则能得到最大时间常数下界的表达式,为:

  可见矩阵R的特征值的发散程度就可以决定LMS算法的收敛速度。当R具有相等的特征值时,就具有最为理想的收敛速度指标,然而当R的特征值的分散程度变大时,算法所对应的性能指标将会恶化。同时式(5)表明,收敛时间常数和步长因子成反比。

  (2)稳态误差

  失调系数就是用来衡量收敛后稳态均方误差和维纳误差之间偏差程度的一个指标[10]则表示LMS算法收敛时的稳态均方误差,而表示求得维纳-霍夫(Wiener-hopf)解时的均方误差(即维纳误差)。

  2.2 LMS算法的

  在窗口环境下编写LMS算法程序,环境设置如下:

  用生成一个角频率为0.8,幅度为15的单一频率正弦信号作为滤波器的目标输出信号,再生成一个随机噪声信号作为干扰信号,把正弦信号和噪声信号叠加以后的信号当作滤波器的输入信号(即参考信号)。自适应滤波器的阶数取M=4。分别将正弦信号、干扰信号、二者的叠加信号(参考信号)、自适应滤波器的输出信号和误差信号的波形在MATLAB上显示出来,所得结果如图2、图3、图4所示。

  图4中,曲线①是滤波器的目标输出信号,曲线②是滤波器的实际输出信号。从图中可以很明显得看出,这两条曲线几乎重合在了一起。所以,仿真结果表明基于LMS算法的自适应滤波器可以较好地跟踪预期的目标输出信号。图中的曲线③是误差信号,可以看出最大误差信号幅度在1上下徘徊,可以算出相对误差小于10%,达到了比较好的自适应结果。

  以上的仿真实验所采用的输入信号是正弦信号和噪声信号的叠加信号,预期信号是正弦信号。然而,实际通信中的人的语音信号的频谱主要集中在300~3400 Hz的频率范围以内。另外在时域内,语音信号的特征随时间而变化。以下用真实的语音来做LMS算法的仿真实验。

  用MATLAB自带的库函数编写一个语音采集程序,采样率为8000 Hz,采样时间为20 s。将采集到的实际语音信号存入计算机,并在MATLAB中画出采样波形,如图5所示。把该信号作为远端语音信号。

  将远端语音信号按照一定的比例缩小,作为回声信号r(n)。回声信号的波形如图6所示。



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭