汽车电动门窗的嵌入式语音控制系统设计

2015-04-18 07:13马玉林田香玉曲金玉
关键词:子程序语音单片机

马玉林, 田香玉, 曲金玉

(1.福田雷沃国际重工股份有限公司 诸诚车辆厂, 山东 潍坊 262233;2.山东理工大学 交通与车辆工程学院, 山东 淄博 255049)

汽车电动门窗的嵌入式语音控制系统设计

马玉林1, 田香玉2, 曲金玉2

(1.福田雷沃国际重工股份有限公司 诸诚车辆厂, 山东 潍坊 262233;2.山东理工大学 交通与车辆工程学院, 山东 淄博 255049)

在介绍汽车电动门窗语音控制系统结构和原理的基础上,重点分析了基于隐马尔可夫模型(HMM)的模板训练和语音识别算法.选用凌阳SPCE061A的16位单片机进行了嵌入式系统的硬件和软件设计,并制定了本语音控制系统的实验方案.实验结果表明,该系统能够满足车窗语音控制的要求.

语音控制;SPCE061A;隐马尔可夫模型;嵌入式

随着计算机技术的发展,各种汽车功能设备日益增多,驾驶员需要在驾驶的同时操作这些功能,而传统的键盘输入方式已经不能满足驾驶员随时方便地进行操作的需求,因此需要一种新的人机通信方式来代替键盘输入方式,语音控制技术与现代汽车的结合就满足了人们的这一需求[1].

目前常用的语音识别芯片有:数字信号处理器DSP、由单片机(MCU)组成的语音识别专用IC、语音识别系统级芯片SOC[2].SPCE061A单片机的数字信号处理能力与DSP相当,但其价格优势却是其余两种芯片所不及的.因此本文的车窗语音控制系统选择SPCE061A单片来作为核心部件.

1 语音控制系统结构及原理

1.1 语音控制系统基本结构

语音控制系统本质上是一种多维模式识别系统,与一般的模式识别系统类似,包括特征提取、模板库、模式匹配3个基本要素[3],其基本结构如图1所示.

图1 语音控制系统基本结构

1.2 语音控制的基本原理

通过预处理和特征参数提取,将语音信号数字化,滤除各种干扰成分,从语音波形中提取出能够反应语音内容的特征矢量序列;再利用语音识别算法将输入的语音特征与模型库中已训练完成的各语音模板进行匹配比较,得到最佳的识别结果;然后单片机对识别结果进行语义分析,转化为对应的动作指令;最后,单片机将指令信号通过车内CAN总线操控对应的电器设备完成动作.

2 基于HMM的语音识别算法

2.1 基于HMM的模板训练过程

模板训练就是通过设定模型参数,使得观察序列与状态序列有效快速的匹配成功,即找出最好的、最实用于当前情况的隐马尔可夫模型(HMM)[4].本系统选用 Baum-Welch 算法解决 HMM 的参数重估计问题.Baum-Welch 算法利用了递归的思想,取得P(O|λ)局部极大值,最后得到最为适用的模板λ.这里用到了Baum-Welch中著名的重估公式

αt(i)βt(i)/P(O/λ)

(1)

式中:εt(i)表示t时刻HMM链处于状态i的概率,εt(i,j)表示在观察序列为O、HMM模型为λ时,t时刻HMM链处于状态i而t+1时刻处于j状态的概率.由式(1)可得到HMM模型的递推计算公式

(2)

使用重估公式设计的语音识别训练过程的算法流程如图2所示.

图2 语音信号训练流程图

2.2 基于HMM的语音识别过程

基于隐马尔可夫模型的语音识别过程可以描述为:首先对待识别语音进行预处理和特征提取,得到该条语音的特征参数序列,然后根据得出的语音模板库中的所有语音模型,利用Viterbi算法计算这些语音模型生成该特征序列的概率[5],概率最大者即为最终识别结果.该算法可描述为:给定一个观察值序列O和一个模型λ,确定一个最佳状态序列Q*=q1*, q2*,…, qT*[6].其具体计算过程为:

定义δt(i)为时刻t经过状态序列S1,S2,…,St,输出观察符序列O1,O2,…,Ot的最大概率密度.

求取最佳状态序列Q的过程为:

①初始化

δt(i)=πibi(O1),1≤i≤N

(3)

φ1(i)=0, 1≤i≤N

(4)

②递推

2≤t≤T,1≤i≤N

(5)

φt(j)=arg max [δt-1(j)aij],

2≤t≤T,1≤i≤N

(6)

③终止

P*=max [δT(i)],1≤i≤N

(7)

(8)

④路径回溯,确定最佳状态序列

St=φt+1(St+1),t=T-1,T-2,…,1

(9)

3 电动车窗语音控制系统硬件和软件设计

本文设计的电动车窗语音控制硬件系统分为以下模块:电源模块、音频输入模块、音频输出模块、键盘输入模块、微控制器、电机驱动及执行模块.其中,音频输入模块电路图如图3所示,音频输出模块电路图如图4所示,电机驱动及指令执行模块电路图如图5所示.

图3 音频输入模块电路图

图4 音频输出模块电路图

图5 电机驱动及指令执行模块电路图

利用SPCE061A提供的IDE2.6.2D软件开发环境进行该语音识别系统的程序编制.本系统的语音识别主程序可分为三大部分:系统初始化部分、模板训练部分、语音识别部分.语音识别系统软件部分流程如图6所示.

图6 车载灯光语音识别系统总流程图

系统初始化包括I/O端口初始化、RAM和Flash初始化,该程序的接口地址都是依据SPCE061A的片内存储器地址来设定的.模板训练程序包括预加重子程序、端点检测子程序、模板训练子程序,模板训练子程序的流程图如图7所示.语音识别程序包括语音识别子程序和中断服务子程序,语音识别子程序使用基于HMM的Viterbi算法,其流程图如图8所示.

图7 模板训练子程序流程图

图8 语音识别子程序流程图

4 实验设计与结果分析

本文设计的电动门窗语音控制系统是针对非特定人、小词汇量、孤立词的嵌入式语音控制系统.基于本系统的特点和语音控制系统的实现流程,将实验分为两部分:语音模板训练实验和指令识别准确率实验.

语音模板训练选择相对安静的实验室环境,由80人(男66,女14)每人每个指令执行训练各2次,记录各个训练次数和成功次数.指令识别准确率实验分别在实验室和同时播放背景噪声的模拟车内环境下完成,由男女各10人做语音指令的识别测试.实验结果见表1和表2.

表1 语音模板训练实验结果

语音指令训练次数成功次数训练成功率/%升左前窗16015496.25降左前窗16015395.63升右前窗16015697.50降右前窗16015596.88升左后窗16015596.88降左后窗16015697.50升右后窗16015898.75降右后窗16015496.25

表2 指令识别准确率实验结果

语音指令识别率/%平均识别率/%实验室内模拟车内实验室内模拟车内升左前窗9087降左前窗9189升右前窗8986降右前窗9290升左后窗9088降左后窗9491升右后窗8786降右后窗918990.5088.25

表1的统计结果显示语音模板训练的成功率在95%以上;表2的统计结果显示系统的识别率在安静环境下可达90%以上,在模拟车内环境下相对较低,可达88.25%,经计算得出系统在这两种情况下的平均识别准确率可达89.38%,识别效果较好.因此,本系统的语音控制功能基本可以满足汽车电动门窗语音控制系统的功能需求.

5 结束语

本文采用SPCE061A单片机为核心处理器,应用基于隐马尔可夫模型的语音识别方法,进行了汽车电动门窗语音控制系统的软硬件设计开发,实验证明本系统能够实现语音识别和控制功能.本研究对今后车载语音控制技术在嵌入式平台上的开发具有重要意义.

[1] 赵力. 语音信号处理[M]. 北京:机械工业出版社, 2009.

[2] 李晶皎. 嵌入式语音技术及凌阳16位单片机应用[M]. 北京:北京航空航天大学出版社,2003.

[3] 吴黎明, 王桂棠, 吴正光. 语音信号及单片机处理[M]. 北京: 科学出版社,2007.

[4] 高维深. 基于HMM/ANN混合模型的非特定人语音识别研究[D]. 成都:电子科技大学, 2013. 24-29.

[5] Chien J,Liao C. Maximum confidence hidden Markov modeling for face recognition[J]. Pattern Analysis and Machine Intelligence, 2008, 30(4): 606-616.

[6] 叶飞,王翼飞. 基于动态规划的高阶隐马氏模型推广的Viterbi算法[J]. 运筹学学报, 2013, 17(4): 48-51.

(编辑:郝秀清)

Design of embedded automotive electric window speech control system

MA Yu-lin1, TIAN Xiang-yu2, QU Jin-yu2

(1.Zhucheng Vehicle Factory, FotonLovel International Heavy Industry Limited, Weifang 262233, China;2.School of Transportation and Vehicle Engineering, Shangdong University of Technology, Zibo 255049, China)

On the basis of the introduction of the structure and principle of automotive lighting independent speech control system, the template training and speech recognition algorithm based on the Hidden Markov Model (HMM) were emphatically analyzed. The hardware and software of the embedded system were designed on the 16 bit Sunplus SPCE061A single-chip.The experimental project of the speech control system was proposed and the results met the automotive windowspeech control requirements.

speech control; SPCE061A; the hidden Markov model; embedded system

2014-10-21

马玉林,男,mayulin_ft@163.com; 通信作者: 曲金玉,男,qujinyu@sina.com

1672-6197(2015)06-0075-04

U463.65

A

猜你喜欢
子程序语音单片机
基于单片机的SPWM控制逆变器的设计与实现
魔力语音
基于单片机的层次渐变暖灯的研究
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
基于单片机的便捷式LCF测量仪
对方正在输入……
浅谈子程序在数控车编程中的应用
Microchip推出两个全新PIC单片机系列
子程序在数控车加工槽中的应用探索