当前位置:首页 > 工业控制 > 电子设计自动化

摘 要: 采用SoPC方法,实现了基于动态时间规整(DTW)算法的孤立词语音识别系统,该系统可以作为电器系统的语音命令控制模块使用。考虑嵌入式系统的特点,对端点检测算法和模式匹配算法进行了选择和调整。实验表明,该语音识别系统运行速度和识别准确性能够适应语音控制的要求。SoPC设计方式灵活,适合对系统进行改进升级。
关键词: SoPC;Nios II;语音识别;动态时间规整

随着计算机技术、模式识别技术等的发展,国内外对语音识别的研究也不断进步。目前电器、家居智能化的实际需求使得语音识别技术成为一个研究热点。例如,美国约翰·霍普金斯大学语言和语音处理中心多年来一直致力于推动语言和语音识别的研究和教育,CLSP每年一度的夏季研讨会对语音识别的各个领域都产生了深远的影响。国内,中国科学院等也在语音识别领域有较大进展。
相对于基于PC机平台的大词汇量语音识别系统,嵌入式系统中要求语音控制模块占用资源少,功能简洁,可作为独立的语音识别系统或其他系统的语音控制部分。因此,根据语音识别系统的准确性、实时性的要求和SoPC实现方式的特点,在介绍实现该语音识别系统的基本流程的基础上着重探讨以下两部分内容:(1)由于端点检测算法对识别的准确性影响较大,本系统探索适合SoPC设计的端点检测算法,从而使得系统的识别准确性有所改进;(2)模式匹配时,对同一模板采用了多个局部判决函数,求多个累加总距离的平均值作为最终的判决依据,进一步提高了识别结果的可靠性。
可编程片上系统SoPC(System on Programmable Chip)是Altera公司提出的一种基于FPGA的嵌入式系统解决方法,采用软硬件结合设计的思想,实现方式简单灵活[1]。设计中采用高性价比的EP2C70 FPGA芯片。实验结果表明,系统运行良好,能够满足中、小词汇量孤立词语音识别系统的要求。
1 设计方案
语音识别系统的逻辑流程如图1所示。采样得到的语音信号要经过预处理、端点检测、特征参数提取,然后根据用户指定的工作模式(识别模式或训练模式),进行模式匹配并输出识别结果,或者训练得到该词条的模板,并存入模板库。因此,在硬件资源允许的条件下,用户可以自定义训练模板,更新模板库,拓展系统的应用范围。

1.1 预加重和端点检测
系统采用8 kHz采样,由音频编/解码芯片WM8731采样得到的语音数据,经过FIFO数据缓存器传输到系统的SDRAM中,然后对SDRAM中的数据进行后续处理。设定256个采样点作为一帧,每个孤立词采集100帧(3.2 s)数据。
(1)预加重:处理的第一步要对采集到的数字语音信号进行预处理,主要是预加重。预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中能用相同的信噪比求频谱。通过一个滤波器对信号进行滤波,滤波器的传递函数为:
H(z)=1-0.98z-1(1)
(2)端点检测:从数字语音信号中快速有效地切分出语音段,对于整个系统的识别速度和识别准确性影响较大。根据汉语语音的特点,一般一个汉语单词的开始部分是清音,接下来是浊音,清音较弱,浊音较强。因此在端点检测部分,采用了基于短时能量和短时过零率的双重检测。首先根据浊音粗判起始帧,然后根据清音,细判起始帧。语音的起始帧和终止帧都是经过粗判和细判之后得出,从而保证端点检测的准确性[2]。

1.2 特征提取
经过预加重和端点检测之后得到语音段采样值构成的向量序列。接下来对该向量序列进行特征参数分析,目的是提取合适的语音特征参数,使特征向量序列在语音识别时,类内距离尽量小,类间距离尽量大。特征参数的提取同样是语音识别的关键问题,特征参数的选择直接影响到语音识别的精度。结合SoPC设计的需求,选择提取语音信号的美尔特征参数(MFCC)[3]。MFCC能够较好地反映人耳的听觉特性。
为求识别系统简洁,每词条固定采集3.2 s的语音信号,采样频率为8 kHz,经端点检测切分出语音段,然后将语音段进行分帧(每帧256个采样点),每帧提取一组14维的MFCC参数,组成一组特征参数向量序列,作为待识别语音段的特征参数。
1.3 模式匹配
对于大词汇量的非特定人语音识别系统,模式匹配多采用基于模型参数的隐马尔可夫模型(HMM)的方法或基于非模型参数的矢量量化(VQ)的方法。但是HMM算法模型数据过大,对存储空间和处理速度的要求高,不适合嵌入式系统。VQ算法虽然训练和识别的时间较短,对内存要求也较小,但识别性能较差。因此考虑到嵌入式系统系统资源有限以及运算能力限制,而又需要保证识别准确性,决定采用基于动态时间规整的算法(DTW)进行模式匹配。
由于每个人的发音习惯不同,以及同一个人每次说同一个单词时说话速度具有随机性,因此会导致每次采样得到的语音数据序列长度具有随机性。DTW算法由日本学者板仓(Itakura)提出[4],能够较好地解决语音识别时单词长度具有随机性这一问题。
DTW[5-6]算法将时间规整和距离测度计算相结合,描述如下:
(1)将特征提取部分提取出来的特征向量序列与模板库中每个词条的特征向量序列逐帧计算距离,得到距离矩阵。对应帧之间的距离是两帧的特征向量中对应分量的差值的平方和。距离矩阵中元素的计算式为:

其中,D[i][j]为距离矩阵的元素,表示待识别语音段特征向量序列第i帧和该条参考模板向量序列第j帧之间的距离,i=0,1,2,…,I-1;j=0,1,2,…,J-1。I、J分别为待识别语音的特征向量序列和该条参考模板序列的总帧数。x[i][m]为待识别语音的特征向量序列第i帧向量的第m维分量,y[j][m]为该条参考模板的第j帧向量的第m维分量。K为对切分出的语音段每帧语音的原始采样数据提取的特征向量的维数,该识别系统中每帧提取14维的MFCC参数,因此K=14。
(2)按照一定的局部判决函数,由距离矩阵计算出累加距离矩阵(求得的累加距离矩阵最末一个元素的值即为待识别语音和该条参考模板之间的总距离),得到累加距离矩阵的同时得出最佳规整路径[3-4]。图3所示为设计中采用的三种局部判决函数。


同理,对待测语音与模板库中的每条模板求得一个统计平均距离。由判决逻辑判断出各统计平均距离值中的最小值,相应的模板所指向的单词即为最终的识别结果。
2 系统实现
系统硬件部分如图4所示,包括FPGA芯片、Flash、SDRAM、音频编解码芯片WM8731、按键以及LCD1602。在FPGA芯片中添加NiosII软核CPU,并建立片外Flash、SDRAM、音频编解码芯片WM8731和LCD1602的接口部分。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭