在语音通信系统中,可懂度、自然度、清晰度是语音三大必需要素。为清晰、准确地接收到语音信号,需克服由于干扰、音频源的不稳定因素导致的语音信号忽大忽小问题,这种语音突变或响度不一会给人造成不适感。自动增益控制[1](auto gain control,AGC)是一种在输入信息幅度变化很大的情况下,输出信号幅度保持恒定或变化范围较小的自动控制算法。目前该算法在工业控制自动化[2]、卫星通信[3]、光纤通信[4]、测试设备[5]等方面都存在广泛的应用。在语音音量控制方面,很多研究[6- 8]为确保输出信号幅值恒定,将语音划分多个阈值段,针对语音处于不同阈值范围进行不同的增益调整。基于阈值划分的语音增益方法需根据人工经验来调节阈值大小,声学场景不同也会导致阈值的不同,该方法通用性不高。王纬[9]等人提出基于最小均方误差算法[10](least mean square,LMS)的数字语音AGC算法,通过使用信号平均功率参量和LMS迭代控制增益值,进行语音自适应增益调节。但LMS算法步长固定,无法解决稳态误差和收敛速度二者之间的矛盾。吴振宙[11]等人提出一种基于归一化最小均方误差(normalized least mean square,NLMS)的音频控制算法。NLMS算法是一种时变步长参数的LMS算法,它根据输入信号调整步长,步长的选择对其性能影响很大。基于LMS和NLMS的AGC算法都是在传统AGC算法的基础上加以创新,可以避免阈值的设定,但在语音过渡的精度及收敛速度上可进一步提升。
本文提出一种具有快速调节步长的自适应增益控制方案。该方案首先通过性能表面梯度的指数加权移动平均来调节LMS算法的步长;然后采用信号功率作为自动增益控制算法的迭代参数,将步长动态调节思想应用于语音信号自动增益控制;最后将语音进行自适应增益迭代控制,得到增益值并计算输出信号。结果表明提出的变步长自适应增益控制新方案收敛速度更快,稳定程度更高;该方案能实时跟踪信号的微小变化,根据语音幅度大小自适应提升或降低语音幅度,减少语音过渡带;语音处理后,语音幅度基本保持一致,改善了语音通信过程中忽大忽小的语音给人听觉造成的不适感。
传统AGC算法多是基于能量比较思路:先搜索当前帧信号最大幅值,如果当前帧最大幅值的功率值比现有的最大功率值大,则更新最大功率值;然后将最大功率值与预先设定的期望值相比开方得到增益值。为了提高数据质量,防止信号突变对计算产生误差,导致增益值偏小影响当前帧实际输出,常用一阶递归平滑将当前帧的增益值与前一帧的实际增益值调整当前帧的实际增益值;最后将当前帧的所有样本点与增益值相乘,得到输出信号。AGC模块结构图如图1所示。
图1 AGC模块结构图
Fig.1 Module structure graph of AGC
LMS-AGC方案即为LMS算法迭代的自适应增益控制方案。方案使用平均功率参量和LMS迭代算法自适应调节增益值,保证输出信号满足要求。LMS-AGC方案迭代公式可以表示为
Px(n)=αPx(n-1)+(1-α)x2(n)
(1)
y(n)=x(n)g(n)
(2)
Py(n)=g2(n)Px(n)
(3)
e(n)=Pexp(n)-Py(n)
(4)
g(n+1)=g(n)+μPx(n)e(n)
(5)
n 为当前时刻样本点。 α 为平滑因子,0<α<1。该方案首先将输入的数字音频信号序列 x(n)迭代得到当前功率值 Px(n);然后将语音功率值作为LMS算法的输入输出信号,其中LMS算法的权值迭代系数为增益参数 g(n),式(5)即为LMS算法迭代公式;最后将输出功率参量 Py(n)与期望信号 Pexp(n)的误差 e(n)进行判断标准,经过自动增益控制算法调整随后的增益值 g(n),并得到音频输出信号序列 y(n)。
该方法能够实时地跟踪信号的微小变化,自适应调整信号。LMS算法中固定步长的取值决定了算法的收敛速度和稳态误差,但步长的选取难以同时满足算法对收敛速度与稳态误差两个性能指标的要求。步长越大,收敛速度越快,但稳态误差越大,反之步长越小,收敛速度较慢。对于语音这种短时平稳信号,固定步长导致幅值变化较大的语音信号反应不够灵敏。
LMS算法的固定步长使收敛速度和稳态误差二者之间存在矛盾[13-15],故提出一种步长动态调节算法,提升对语音信号的反应速度。该算法利用误差性能表面的梯度值建立变步长公式,使用瞬时误差的平方代替均方误差,用瞬时误差信号平方的梯度作为均方误差函数梯度的估计。误差性能表面梯度值▽(n)可表示为:
▽(n)e(n)Px(n)
(6)
为保证算法在处理音量突变时具备更快的追踪性能,通过历史梯度平方和即a(n)来衡量增益变化的激进性,a(n)取值越大表明越激进。利用历史梯度信息调节步长,可提高增益的稳定性,保持语音增益后的连贯性。a(n)公式可表示为:
a(n)=βa(n-1)+(1-β)▽2(n)
(7)
为记录较长时间段的梯度信息,β取值应接近1。在迭代初期可能产生评估的历史梯度均值不准现象,通过引入偏差修正解决该问题。添加偏差修正后的公式为:
(8)
其中0<θ<1。在语音场景下,增益变化越激进,说明此时梯度值较大。为了避免步长过大发生抖动,步长可相对减小增加稳定性。接近期望信号时,误差性能表面趋于平稳,如果随误差减小且步长更新慢,在接近平稳但未到达最优点前需要更多迭代次数。这时可适当加大步长,使收敛速度加快。a(n)包含当前时刻在内的前一段时间梯度平方的均值,可通过a(n)作为经验信息来调节当前点的步长。步长更新公式为:
(9)
μ0 为初始步长,取值0.1。 ε取值 10-6,目的是防止分母为0的情况发生。如果仅用所有历史梯度平方的平方根做分母,自适应步长随时间的推移会越来越小。因此,利用滑动移动平均估计前一段时间梯度的均值来平滑梯度值。若出现局部突变点时, a(n)取值会依靠权重较大的前一时刻 a(n-1),减缓步长的突变,避免自适应步长随时间衰减速度过于激进问题。
将变步长LMS算法思想引入到自动增益控制方案中,使用语音信号的功率值来进行增益迭代,VSSLMS-AGC方案处理流程框图如图2所示。
图2 VSSLMS-AGC处理流程框图
Fig.2 VSSLMS-AGC flow chart
增益自适应调节算法输出增益值g(n),其公式如下:
g(n)=g(n-1)+μ(n-1)e(n-1)Px(n-1)
(10)
该增益迭代的步长 μ(n-1)由公式(9)计算得出, e(n-1)是期望功率值与前一时刻输出功率值的差值, Px(n-1)是前一时刻的输入信号功率值。增益的迭代过程即为LMS算法权值迭代公式,与LMS-AGC方案不同的是我的步长是时刻变化的。步长公式如公式(9)所示,步长最大期望值为 μ0/ε。在输出信号趋近期望信号时,误差信号趋于0,增益激进无限小,最终达到最优权值。经过增益自适应调节算法处理得到增益值后,将输入信号放大增益值倍,得到数字音频输出信号序列 y(n),其公式如下:
y(n)=x(n)g(n)
(11)
步骤1 输入语音信号。
步骤2 初始化期望信号功率值、初始变步长值、固定平滑因子值。
步骤3 通过语音端点检测[16](voice activity detection,VAD)进行语音判断,区分活动段和静音段。
步骤4 如果语音是静音段,则在静音段不进行增益处理,增益值默认为1;如果语音是活动段,根据当前点的语音幅值计算语音输入瞬时功率。
步骤5 根据VSSLMS-AGC方案来确定当前样本点增益值。
步骤6 根据增益值和输入信号得到当前时刻语音输出值并返回步骤3进行语音增益处理,直到处理完所有语音数据。
由于语音信号的非平稳性,在进行变步长LMS算法的迭代速度实验时采用一段幅值不一的正弦信号,信号频率为800 Hz,采样率为16000 Hz,模拟语音信号仿真实验。信号功率值作为变步长LMS算法中输入、输出及期望信号。将该算法与LMS-AGC算法、基于归一化LMS算法的AGC算法(NLMS-AGC)进行仿真对比。原始信号幅值分别为4,1.2,3.2,1.9,样本点数均为150的正弦信号,期望信号是幅值为2的正弦信号,叠加与输入信号不相关、均值为0、方差0.25的高斯白噪声信号,独立进行100次实验求取统计平均。VSSLMS-AGC、LMS-AGC和NLMS-AGC三种算法学习曲线对比效果如图3所示。
图3 三种算法学习曲线效果图对比
Fig.3 Comparison of learning curve effect diagrams of three algorithms
图3的子图(a)为输入信号与期望信号对比图,子图(b)为三种方案学习曲线对比。从图中可知,VSSLMS-AGC的稳态误差小于其他两种方案,收敛速度快。在第150、300、450采样点输入信号发生突变时,VSSLMS-AGC方案的稳态失调小,跟踪能力较好,说明VSSLMS-AGC具有更好的收敛速度、系统时变跟踪能力和稳态失调技术指标。
实验条件是模拟通信会议中出现的声音幅度不一情况,其语音采样率为16 kHz,实验语音共有6个人声,其中2个男声,4个女声,时间长达39 s。使用MATLAB对自动增益控制系统方案进行编程测试,将文献[11]的基于NLMS的音频控制方案与文献[12]的AGC方案复现,统一对样本进行增益处理。
图4 原始语音信号时域图
Fig.4 Time domain diagram of original speech signal
图4为原始语音时域波形图。由图4可知,原始语音的第三、四、六段语音整体幅值偏小,第一、二、五段语音幅值较大。
图5 输出语音时域对比图
Fig.5 Output speech time domain comparison chart
图5为文献[11]、文献[12]以及本文三种输出语音时域波形对比图。由图可知,文献[11]和文献[12]提出的AGC方案能够完成语音信号的增益控制,但增益的调节效果有限。当原始语音幅度较小时,增益过渡较长,不能快速将小语音放大至语音整体幅值相当。VSSLMS-AGC方案在语音处理后,小语音增益效果明显,且增益速度快,坡度陡;对于语音幅度突然变小或变大时,可迅速对语音信号进行增大或缩小处理,使得输出信号整体幅值较为一致。
为了能够更明显反应语音信号自适应增益效果,截取部分语音片段进行增益对比,如图6所示。
图6 输入语音与增益曲线反映图
Fig.6 Input voice and gain curve reflection diagram
图6为部分原始语音片和三种方案输出增益值对比图显示,该段语音选取采样点230000~330000的语音范围,子图(a)为原始语音信号时域波形图,子图(b)为增益值对比图。从图6的原始语音信号时域图可看出该段语音信号整体幅值较小,但相对幅度变化大,本文方案较其他两种方案在反应语音变化上更为敏捷。虚线部分代表语音变小情况,实线部分代表语音变大情况,可以看出本文的增益值根据语音的变化快速做出反应,语音幅值突变时,增益值调节,文献[11]和文献[12]反应不明显,且存在一定的延时。
由此可知VSSLMS-AGC方案处理语音增益调控范围大。在处理一段跳变语音时,增益迭代变化快,语音过渡段更窄;避免缓慢增幅或降幅的现象发生,降低了听觉的不适感。针对处理前后音频试听,处理后音频达到了理想的增益效果,而且还保留了声音的原有特点,听觉效果最佳。
4.3.1 语言质量对比
语音质量评价方法分为主观评价和客观评价。1996年在ITU-TP.800和P.830建议书开始制订相关的评测标准。平均主观评分(MOS,Mean Opinion Score)测试是一种主观测试方法,将用户接听和感知语音质量的行为进行调研和量化,由不同的调查用户对声音进行主观感受对比,评出MOS分值。表1为MOS分值定义表,分值越高,代表语音质量越好。
表1 MOS分值定义表
Tab.1 MOS score definition table
级别MOS分值用户满意度优5.0非常好,听得很清楚,无失真感,无延迟感良4.0稍差,听得清楚,延迟小,有点杂音中3.0还可以,听不太清楚,有一定延迟,有杂音,有失真差2.0勉强,听不太清,有较大杂音或断续,失真严重劣1.0极差,静音或完全听不清楚,杂音很大
将原始语音和三种算法处理后三段语音分别交由17位实验者试听打分,MOS评测结果如表2所示。
表2 三种算法的MOS分值
Tab.2 MOS scores of the three algorithms
语音段MOS评分 文献[11]文献[12]本文语音段13.773.814.26语音段24.044.154.41语音段33.973.844.33
MOS评分人工成本较高,费时长。实际中利用感知语音质量评价(Perceptual Evaluation of Speech Quality, PESQ)法[17]对语音质量进行评价,PESQ被用于衡量语音质量的客观指标。PESQ得分情况与人对语音听觉的主观评价,具有很高的相似度。指标数值越大代表语音质量越高。评测结果如表3所示。
表3 三种算法的PESQ分值
Tab.3 PESQ scores of the three algorithms
语音段PESQ评分 文献[11]文献[12]本文语音段13.593.504.11语音段23.784.014.09语音段33.813.974.13
由MOS和PESQ评分可知,语音进行AGC增益后,本文算法在三段语音中都有较高的MOS分,语音清晰度和可懂度都有一定的提高。三种算法的MOS评分和PESQ评分均较高,语音质量均较好,但本文算法的评分略高于其他两种算法的评分,表明本文算法在进行大小语音连接处处理效果更好,过渡更自然。
4.3.2 AGC控制评价
一般在进行音频AGC设计的时候,一般会有触发时间(attack time)、释放时间(release time)等多个方面进行AGC性能评价。触发时间指的是输入信号从小变大时,系统增益开始减小,直到减小到最小值所用的时间;释放时间指输入信号从大变小,系统增益逐步恢复所用的时间。为验证本文算法的性能,本文选取一段语音,将该段语音的响度通过Adobe Audition CC 2019软件设成三种大小幅值不一致语音,输出信号期望值均相同,下图为三种语音输出增益值对比图。
图7 AGC性能评价
Fig.7 AGC performance evaluation
图7表示的是将三种幅值不同、语音内容相同的语音通过算法放大到相同期望值的增益输出结果,采样点从0到虚线部分表示触发时间,实线部分到语音结束表示释放时间,可以看出本文算法针对不同语音信号具有不同的触发时间和释放时间,说明本文算法的灵活性和有效性。
自动增益控制是语音增强研究中不可或缺的一个环节。本文提出了一种VSSLMS-AGC新方案,利用指数加权移动平均记录历史梯度信息,以此来提升步长调节能力,并将其应用到语音增益控制场景下。将音频数据进行对比实验,实验结果表明VSSLMS-AGC方案在处理幅度不一的语音能达到更好的效果。因此,本文的自适应增益VSSLMS-AGC方案对后续语音识别、语音通信等有一定的借鉴意义。
[1] 蔡凌云, 方振和, 李铭祥, 等. 自动增益控制技术应用[J]. 电子工程师, 2002, 28(4): 22-23.
CAI Lingyun, FANG Zhenhe, LI Mingxiang, et al. Application of automatic gain control technique[J]. Electronic Engineer, 2002, 28(4): 22-23. (in Chinese)
[2] 张天文, 李廷军. 基于DC-DC转换技术的自动增益控制器设计[J]. 仪表技术与传感器, 2020(1): 50-52.
ZHANG Tianwen, LI Tingjun. Design of automatic gain controller based on DC-DC conversion technology[J]. Instrumentation Technique and Sensor, 2020(1): 50-52.(in Chinese)
[3] 颜勋, 苏凯雄, 陈平平. 用于北斗有源天线的自适应发射机电路的设计与实现[J]. 重庆邮电大学学报(自然科学版), 2019, 31(6): 812- 817.
YAN Xun, SU Kaixiong, CHEN Pingping. Design and implementation of adaptive transmitter circuit for Beidou active antenna[J]. Journal of Chongqing University of Posts and Telecommunications (Natural Science Edition), 2019, 31(6): 812- 817.(in Chinese)
[4] 李雨洋, 张涛, 关汉兴, 等. 双信道模型下的自动增益控制策略设计[J]. 电子技术应用, 2019, 45(4): 87-91.
LI Yuyang, ZHANG Tao, GUAN Hanxing, et al. Design of automatic gain control strategy under two-channel model[J]. Application of Electronic Techique, 2019, 45(4): 87-91.(in Chinese)
[5] 井永成, 尹军舰, 李仲茂, 等. AGC环路设计的Matlab-Simulink模型建模及验证[J]. 现代电子技术, 2019, 42(6): 91-95.
JING Yongcheng, YIN Junjian, LI Zhongmao, et al. Design and verification of AGC loop model based on Matlab-Simulink[J]. Modern Electronics Technique, 2019, 42(6): 91-95.(in Chinese)
[6] REN Xiaoling, FENG Huiqiong, SHEN Kaida. Design of Digital Voice Storage and Playback System[J]. Current Electronics and Telecommunications, 2018, 1(1).
[7] 张博, 刘艳竹. 基于AGC算法的音频信号处理方法及FPGA实现[J]. 电子科技, 2014, 27(12): 155-157.
ZHANG Bo, LIU Yanzhu. Audio signal processing method based on AGC algorithm and FPGA implementation[J]. Electronic Science and Technology, 2014, 27(12): 155-157.(in Chinese)
[8] 周江平, 高俊, 屈晓旭. 基于FPGA的音频AGC设计与实现[J]. 通信技术, 2013, 46(8): 163-166.
ZHOU Jiangping, GAO Jun, QU Xiaoxu. Design and Implementation of Voice AGC Based on FPGA[J]. Communications Technology, 2013, 46(8): 163-166.(in Chinese)
[9] 王纬. 基于ARM网络语音AGC系统的研究及实现[D]. 长沙: 中南大学, 2009.
WANG Wei. Research and implementation of AGC system based on ARM network voice[D]. Changsha: Central South University, 2009.(in Chinese)
[10] 威德罗, 斯特恩斯. 自适应信号处理[M]. 北京: 机械工业出版社, 2008: 1-336.
WIDRO, STEARNS. Adaptive signal processing[M]. Beijing: China Machine Press, 2008: 1-336.(in Chinese)
[11] 吴振宙. 音频信号AGC及响度控制算法的研究[D]. 南京: 南京大学, 2014.
WU Zhenzhou. Research on audio signal AGC and loudness control algorithm[D]. Nanjing: Nanjing University, 2014.(in Chinese)
[12] 廖密, 邵玉斌, 周韬, 等. 一种用于调幅接收机AGC的设计与实现[J]. 测控技术, 2018, 37(6): 95-98.
LIAO Mi, SHAO Yubin, ZHOU Tao, et al. Design and implementation of automatic gain control for intermediate frequency receiver[J]. Measurement and Control Technology, 2018, 37(6): 95-98.(in Chinese)
[13] KWONG R H, JOHNSTON E W. A variable step size LMS algorithm[J]. IEEE Transactions Signal Processing, 1992, 40(7): 1633-1642.
[14] FANG Yubin, ZHU Xiaojin, LI Xiangmin, et al. Improved Fx-VSSLMS algorithm for active vibration control of smart cantilever beam[J]. High Technology Letters, 2020, 26(1): 44-52.
[15] LI Zhoufan, LI Dan, XU Xinlong, et al. New normalized LMS adaptive filter with a variable regularization factor[J]. Journal of Systems Engineering and Electronics, 2019, 30(2): 259-269.
[16] 姚睿, 曾泽清, 杜君杰. 基于噪声分类和双自适应阈值判决的语音活动检测方法[J]. 工程科学与技术, 2018, 50(4): 170-178.
YAO Rui, ZENG Zeqing, DU Junjie. Voice activity detection method based on noise classification and double adaptive threshold decision[J]. Advanced Engineering Sciences, 2018, 50(4): 170-178.(in Chinese)
[17] RIX A, BEERENDS J, HOLLIER M P, et al. Perceptual evalulation of speech quality(PESQ): An objective method for end-to-end speech quality assessment of narrowband telephone networks and speech codecs[C]∥Proceedings of the 26th IEEE International Conference on Acoustics, Speech, and Signal Processing. Piscataway, NJ: IEEE, 2001: 749-752.
Reference format: XU Fangfang, HE Peiyu, PAN Fan, et al. New Variable Step Size LMS Adaptive Gain Control Method for Speech Processing[J]. Journal of Signal Processing, 2021, 37(3): 456- 462. DOI: 10.16798/j.issn.1003- 0530.2021.03.016.
许芳芳 女, 1995年生, 安徽人。四川大学电子信息学院硕士研究生, 主要研究方向为语音信号处理。
E-mail: 1601057826@qq.com
何培宇(通讯作者) 女, 1963年生, 四川人。四川大学电子信息学院教授, 博士生导师, 主要研究方向为麦克风阵列信号处理、语音/声信号分析与处理及其应用等。
E-mail: hpysbsy@163.com
潘 帆 男, 1982年生, 重庆人。四川大学电子信息学院, 助理研究员, 博士, 主要研究方向为信号处理。
E-mail: panfan@scu.edu.cn
夏秀渝 女, 1970年生, 陕西人。四川大学电子信息学院副教授, 硕士生导师, 主要研究方向为语音信号处理。
E-mail: xiaxxy@163.com