余尤好,沈文龙,黄春先,陈 玮
(莆田学院电子信息工程系,福建 莆田 351100)
自从人类发明电话以后,电话成为人类沟通的桥梁,是日常生活中必不可少的通讯工具.电磁污染是直接威胁电子通讯设备安全经济运行,威胁人类身心健康的三大污染源之一,已引起国际社会的高度重视.电流噪声不但影响了话音质量,也给通话双方带来了烦恼和不便.电话去噪的主要目的有两个:一是改进听筒话音质量,消除背景噪声,使听者没有疲劳感,乐于接受;二是提高话音的可懂度.神经网络的自适应能力使它成为各类信号加工处理的重要工具,在自适应滤波、信号检测、移动通信等方面得到较为广泛的应用.
自适应线性神经元ADALINE(Adaptive Linear Neuron)是19世纪60年代美国斯坦福大学两位教授威德罗和霍夫提出的,采用比感知器更复杂的学习算法,该算法称为 LMS(least mean squares)算法[1].LMS的学习规则能够使均方误差最小,从而使判决边界尽可能远离分类模式,增强了网络的抗干扰能力,可以实现高性能自适应滤波器的设计[2].
通常情况下,语音通信需要面对复杂的噪声环境,但是在片段区间内,引起噪声的物理环境在统计特性上不会有显著的变化,由此产生的噪声环境也不会发生明显改变,这为线性自适应神经网络应用于语音信号消噪处理创造了有利条件[3].ADALINE神经网络是一个可调的自适应网络,模型如图1所示,它的传输函数为线性函数.线性神经网络层的输出为
式中a代表神经元的实际输出值,为模拟量;W代表权值矩阵;b代表阈值向量;p代表输入向量.在有些应用中,系统的输出不是取自线性神经元的输出,而是把目标响应t和模拟输出量a相减,得到误差向量 e作为输出[4].
图1 ADALINE神经网络模型
线性系统根据给定的输入和目标向量,可以算出输出和目标向量的最小误差值.对于自适应线性神经网络可以直接求解网络的W和b而不需要训练,当网络有多个零误差解的时候,可以取误差平方和最小的一组W和b.若无法直接求出W和b,ADALINE神经网络可以采用LMS算法来调整W和b,这种算法是沿误差梯度的反方向对上一次的加权向量进行修正[5].
对于训练样本{p1,t1},{p2,t2},…,{pQ,tQ},LMS算法的目的是寻找最佳的阈值和权值,使ADALINE神经网络的输出和目标值均方误差最小.
式中:mse为均方误差;Q为样本个数;a为ADALINE的实际输出值;t为ADALINE输出的期望值.
为了得到合适的阈值和权值,使每个神经元输出的均方误差最小,以x代表阈值或权值,对(2)式求偏导数得
令它等于0,可得mse的极点.由于均方误差只能取正值,所以极值点必为极小值.当输入多维向量时,计算量太大,难以得出正确结果.通常采用搜索优化法,假设第k次训练获得相应的阈值和权值,然后找出梯度的反方向,即曲面上该点斜率最大的下降方向,沿此方向对它进行修正,得到线性神经网络权值和阈值的调整公式如下
式中α为学习速率,决定权值和阈值的收敛速度以及稳定性[6].α值取得越大,学习速度就越快,但学习速率取太大反而会出现修正过度,使系统失去稳定,最终结果反而误差更大[7].仿真过程需要多次对它进行调整,以期获得较好结果.
利用自适应线性神经网络去噪原理如图2所示.信号源的输出表示有用信号,n0为与s不相关的随机噪声,n1为与噪音信号n0相关的参考输入信号.s+n0为ADALINE神经元的期望输出信号,y为ADALINE神经元的实际输出,两者通过减法器后得到误差信号,作为系统的输出以ε表示.
由于 s和n0,n1没有相关性,所以 E[s·(n0-y)]=0,则 E[ε2]=E[s2]+E[(n0-y)2],通过线性神经网络调节,得到
式中,Emin[(n0- y)2]当趋于0时,即y趋于n0,其输出ε等于s,此时噪音信号被消除.
图2 去噪原理
图3 信号加噪、去噪效果对比
图4 电话语音信号加噪、去噪后时域、频域波形
根据以上分析,假设噪声源为一随机噪声,把一简单信号与随机噪声之和作为ADALINE神经元的目标向量;输出信号为网络调整过程中的误差信号.从图3中可以看出,输出信号波形与输入信号波形基本一致,消除了叠加的随机噪声.
人类说话的语音频率范围一般在300Hz~3400kHz之间,电话所使用的频率范围在 0~3500Hz之间,更高的频率在接入交换机时被低通滤波器过滤掉.根据国际电报电话咨询委员会(CCITT)的长途通信协议标准,目前各国一般采用的声音采样频率为8kHz.在仿真过程中,录制一段语音信号,采样频率为8kHz,叠加上一个随机噪声,其幅度是语音信号最大幅度的2倍,如图4所示.
从时域和频域观察,加噪后语音信号完全淹没在噪声中.要在这种恶劣条件下对语音信号进行滤波,提取出有用的通话语音信号,经典滤波器根本无法实现.从图中可以看到,有用语音信号和噪声的频谱完全混叠在一起.当噪声幅度较小信噪比较大时,可以采用小波变换、谱减法等来去噪,但是随着噪声幅度增大,效果很不理想,难以有效滤除噪声、最大限度地恢复信号.
图中带噪语音信号听起来是非常明亮刺耳的“咝”声,根本无法察觉话音的存在.采用ADALINE神经网络去噪处理后,信噪比由负值转为正值,达到21分贝,经过人耳实际感官测试,语音质量与原始信号几乎一致,效果令人满意[8].从频谱上观察,去噪后还存在细小高频噪声,但不影响电话通话信息的有效传递,可以用低通滤波器加以消除.
通过仿真验证了神经网络应用于电话去噪的有效性,由于采用LMS学习算法,误差与权值构成的抛物面只有一个极小值点,需要多次训练才能获得较准确的结果.只有在速率较小的情况下,才能保证学习收敛.仿真过程中采用恒定学习速率,为了改进算法,可以采用时变的学习速率.
[1]李作进.中医脉象信号的统计分析[D].重庆:重庆大学,2007:5-6.
[2]周开利,康耀红.神经网络模型及其MATLAB仿真程序设计[M].北京:清华大学出版社,2005:60-62.
[3]韩玥,张亦军等.一种基于ADALINE网络的自适应滤波语音降噪方法[J].郑州轻工业学院学报,2007,22(2):85-87.
[4]李政洋.基于AD神经网络的语音增强[D].江苏:苏州大学,2008:26-27.
[5]郭峰,任兴民等.基于神经网络消噪的独立成分分析方法研究[J].机械科学与技术,2010,29(12):1678-1682.
[6]杨克己.基于神经网络的自适应滤波技术及其在超声检测中的应用[J].仪器仪表学报,2005,26(8):813 -817.
[7]张帆.Adaline神经网络随机逼近LMS算法的仿真研究[J].电子设计工程,2009,17(9):88 -90.
[8]孙静,陶智等.基于AD神经网络的耳语音增强的研究[J].计算机工程与应用,2007,43(29):242 -244.