在人工智能快速发展的今天,语音是人机交互应用中最为直接的方式,越来越好的体验感使语音交互逐渐成为“智能化”的重要标志,并将更加广泛地改变人们的生活方式。语音识别技术已得到较为深度的发展,如国外微软、苹果、谷歌等大公司,国内的科大讯飞、思必驰等厂商都已研发出较为成功的语音识别新策略和新算法。但语音识别的重要前提是在智能语音SoC芯片前端能够提供一个较为纯净的语音信号,才能使云端的语音识别软件能够高效完成处理和反馈。而截至目前,远距离采集、易受噪声干扰、芯片信噪比受限等问题导致的识别率不高,仍严重制约着语音交互技术的普及。
在智能语音SoC中,模拟前端电路承担着将麦克风输出模拟信号数字化的重任,是语音模拟信号与数字处理单元的桥梁,如图1所示。模拟前端通常包括自动增益控制环路和模数转换器两部分,它们占据了5%~30%的芯片面积,同时消耗30%~50%整体芯片功耗。
模拟前端电路的动态范围、信号带宽、噪声性能、信噪比等性能直接决定了智能语音SoC的整体性能。因此,低噪声、高信噪比模拟前端电路就成为了学术界和工业界的研究热点。
1 面临的挑战
在现有的模拟前端电路中,其性能提升的瓶颈主要体现在两方面:(1)传统的自动增益控制环路无论采用模拟或者数字的增益调节方式,都是基于单一信号的峰值检测原理[1-2]。而在实际应用中,语音环境可能相当复杂。尤其是在一些嘈杂的公共场合中,存在多种频率信号混杂的情况。如果仍采用峰值信号调整方式,只能对其中某一频率信号进行判断,无法实现整体上精准的信号幅值提取与增益调整。(2)在智能语音控制中,便携式或者穿戴式设备是重要的一类应用,因此功耗是设计必须考虑的重要因素。为了进行功耗优化,模数转换器通常采用多位量化的低阶Sigma-Delta模数转换器来实现稳定的结构和较高的信噪比输出[3]。但多位Sigma-Delta模数转换器中多位反馈数模转换器造成的电容阵列失配误差,需要数据加权平均(Data Weight Averaging)算法来进行均衡。传统的DWA算法采用顺序循环选择电容单元的方式,可以将失配产生的随机噪声搬移至信号带宽之外,但也会在带内产生与采样频率相关的杂波,导致信噪比提升有限。而改进型DWA算法则致力于打破环形电容单元选择规律与采样频率之间的关系,在搬移随机噪声的同时,压制或者转移带内杂波。虽然改进型DWA取得了一定信噪比的增加,但本质上仍是一种一阶的误差噪声整形技术,无法取得信噪比本质的提升。因此,综上所述,在低电源电压的先进工艺中,完善复杂语音处理功能以及降低多位量化Sigma-Delta模数转换器中的非线性效应,最终提高整体电路的信噪比,是模拟前端设计中面临的最大挑战。
2 模拟前端结构特点与发展现状
目前在语音SoC模拟前端设计方面,主要有以下几方面成果。
中模拟前端引入了峰值检测的混合信号自动增益控制环路,来实现对麦克风信号幅度的放大控制。放大后的信号通过三阶离散Sigma-Delta模数转换器实现与数字信号处理电路的通信。该模拟前端具有较低的功率耗散,但不足之处在于三阶离散Sigma-Delta模数转换器存在潜在的振荡性问题,因此自动增益控制环路需要将麦克风信号幅度控制在一个较小的范围,这也影响了整体模拟前端的输出信噪比。测试结果显示该模拟前端的总谐波失真为69 dB,换算为信噪比不足60 dB,不能实现高质量的语音信号处理。
利用亚阈值晶体管技术实现了一款对数增益的自动增益控制环路,并获得了较好的功耗。虽然该电路可以有效控制语音信号的幅度范围,但由于没有集成模数转换器,也无法实现与数字信号电路的单片集成。且亚阈值晶体管受工艺参数的影响较大,电路鲁棒性差。
同样采用亚阈值晶体管技术进行模拟前端设计。自动增益控制环路采用模拟峰值检测控制;为了节约功耗,离散Sigma-Delta模数转换器设计为二阶或三阶可调,满足不同频率范围语音信号的处理。该模拟前端虽然功耗极低,但自动增益控制环路不能实现线性的增益可调,而亚阈区晶体管先天的不稳定性,使得该模拟前端仅具有学术价值,实用性较差。
的重点在于实现MEMS麦克风与模拟前端界面的电路设计。此外,该电路通过调整四阶连续时间Sigma-Delta模数转换器中的跨导单元,可以实现Sigma-Delta模数转换器的对于不同频率信号的功耗可调,具有较低的模数转换器功耗。但Sigma-Delta模数转换器的信噪比有限,且文献没有对整体模拟前端电路的信噪比和功耗进行优化设计,因此整体性能略显不足。
是一款完整的语音信号SoC模拟前端,集成的可变增益放大器和四阶Sigma-Delta模数转换器既实现了语音信号的完整通路,又在低电源电压获得了较好的信噪比输出,使得与数字信号处理电路单片集成成为可能。但缺陷在于前端放大采用可变增益放大器模式,无法对信号进行自适应的动态调节,限制了该电路在实际中的应用。同时四阶Sigma-Delta模数转换器受限于稳定性设计,无法处理较大幅度的语音信号。
概括来说,现有自动增益控制环路的设计思路主要关注于电路实现和功耗优化方面,而对整体模拟前端多频率语音信号处理功能和信噪比提升方面并没有提出相应的策略。尤其是在目前应用环境复杂,语音信号需要精准处理的发展趋势下,现有技术已无法进行匹配。
而对于提升Sigma-Delta模数转换器信噪比的DWA算法研究,已发布的研究成果如下。
首次揭示了数模转换器输入码、电容单元总数与杂波频率之间的函数关系。基于此,文献提出了直流失调注入校正法与随机DWA算法。直流失调注入法的核心思想是通过在数模转换器输入端输入一个直流信号分量,降低数字码中间值出现的概率,将二分之一采样处的杂波频谱搬移到带外。该方法最大的问题在于只适用于输入端只有交流小信号分量的应用场景中,一旦输入信号自身带有直流分量,一方面容易造成输出饱和,另一方面两处直流分量叠加,也可能使得杂波频谱出现在奈奎斯特采样频率之内(即信号带宽之内),反而降低了带内信噪比;随机DWA算法是对传统DWA算法较为全面的一次改进,它打破了顺序循环选择的内在机制,任意选择电容阵列中的某一电容单元作为数字码起点,并按输入码选择相应的电容单元数目。每次都优先选择之前没有选择过的电容单元,直到所有电容单元都被选择使用过,才开始重复选择电容单元。这种机制有利于将总的随机噪声通过平均转换为高斯白噪声。但不足之处在于,该算法具有“太过随意”的选择,没有统一的选择法则。当阵列中某些电容单元具有较大失配时,由于该电容单元被选择的概率完全随机,可能在信号带内引入低频谐波频谱,降低了输出信噪比。
提出了一种双循环移位DWA算法,如图2所示。目的在于降低电容单元失配误差和输入信号之间的相关性,从而消除低频杂波频率信号。该算法设定一个“分裂”指针信号,将传统的DWA输出划分为两部分数字码,每隔256个周期分别进行顺时针和逆时针的电容单元选择,最终将两部分选择单元合二为一,驱动数模转换器。该算法虽然切断了输入信号和电容单元选择的相关性,但本质上仍是一阶噪声整形,对带内杂波的抑制效果较为有限。
国内学术界对语音信号处理SoC的研究起步较晚,水平相对落后,研究的广度与深度也远远滞后于国外同行。在模拟前端方面,仅有中科院电子学所设计了一款电源电压1 V的峰值检测低功耗自动增益控制环路,该电路基于0.13 μm CMOS工艺实现,电路整体功耗45 μW,且在600 mVp-p输出摆幅时,总谐波失真达到0.3%[14]。而在多位量化Sigma-Delta模数转换器的DWA算法方面,也仅有西安电子科技大学在2015年发布过二阶的研究成果[20]。此外,复旦大学也在0.13 μm CMOS工艺平台上完成了一款电源电压1 V,信号带宽20 kHz的连续时间Sigma-Delta模数转换器,该模数转换器采用4阶单环单比特量化结构,输出信号噪声失真比达到105.5 dB,功耗仅为110 μW[15]。总的来看,国内学术界还在对核心算法和独立的电路模块进行探索和研究,仍没有形成完整的声音信号通路。
3 模拟前端发展趋势
综上所述,目前模拟前端的设计分别针对自动增益控制环路和多位量化Sigma-Delta模数转换器的DWA算法主要有以下两方面趋势:
(1)在语音信号较为复杂的场合,麦克风输出的信号中含有多个频率的正弦波,这些正弦波的幅度可能位于最佳接收范围高阈值Vpeak和低阈值Vact的任意区间,而传统的峰值检测算法只能处理其中某一频率的信号。而目前根据多频率语音信号峰值幅度分布的特点,可采用一种峰值统计判决算法,在固定的周期内提取语音信号幅度的统计特性,确定大部分信号幅度所处区间,对它们进行增益调整,从而实现对大多数信号幅度特定的精确控制。
(2)现有的DWA算法都是基于随机DWA算法进行改进,无论是增加随机数还是设定起点指针的函数,其目的都在于提供一种随机但又相对“可控”的算法,将随机噪声引起的带内杂波压制或者搬移至带外。从总体来看,并没有完全解决带内杂波频率和数模转换器输入码、电容单元总数之间关联性的矛盾。这些算法为未来的改进方向提供了一定思路,那就是在“有章可循”与“随机化”之间谋求一种设计平衡,从而实现高阶的噪声整形,真正将随机杂波进行高斯白噪声化。这种设计思路即为二阶DWA算法,其原理在于首先通过随机数发生器随机地产生电容单元选择起始点,之后根据上一回合选择的电容单元,并结合本次输入的数字码,优先选择未使用过的电容单元;并在此过程中,设置寄存器指引电容单元的选择方向;通过以上机制,就可以实现二阶乃至高阶的噪声整形,从而获得较好的带内噪底和杂波抑制能力以及输出信噪比性能提高。