新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于非特定人车载音响语音控制系统的设计与实现

基于非特定人车载音响语音控制系统的设计与实现

作者:时间:2011-06-22来源:网络收藏

随着现代电子技术的发展,越来越多的车载电器被加入到车身电子行列中,其在使得汽车性能改善的同时,增加了汽车驾驶操作的复杂度,也给行车过程带来了不安全的隐患。随着语音识别算法的改进和新一代专用语音处理芯片的问世,出现了使用语音控制代替手动控制的车载电器,从而减轻驾驶员手动操作负担,大大提高行车安全系数。
 目前我国的车身电子语音控制主要集中在汽车导航系统的应用上,没有充分发挥语音识别技术在车身电子中的应用价值。本文首次提出了一种的以专用语音处理芯片UniSpeech-SDA80D51为核心组成非特定人的设计方案,并实现了系统样机的研制。该系统在江淮同悦SL1102C1型上进行了语音控制实验,实验数据表明系统语音识别率可达到95%,为下一步项目产品化开发奠定了基础。
1
 非特定人车载音响结构框图如图1 所示。

本文引用地址:http://www.eepw.com.cn/article/197388.htm

 系统的主要功能是:语音采集模块(由定向拾音器组成)用于采集驾驶员发出的语音命令信号,由语音识别模块实现信号的A/D转换,并对转换的数字信号进行语音识别处理,最终输出与语音命令相对应的词条编码信息。控制模块对接收的词条编码信号进行逻辑分析与处理并产生对应的控制信号,通过系统I/O接口驱动车载音响动作,完成驾驶员的语音命令。
1.1 语音识别模块
 语音识别模块主要由UniSpeech-SDA80D51芯片及外围电路组成。
SDA80D51是德国Infineon公司专为语音识别和语音处理应用领域新推出的专用芯片,采用高集成度的SoC系统结构,以0.18 μm半导体工艺制造,SDA80D51的基本结构如图2所示。

 SDA80D51片内集成了直接双访问快速SRAM、2路ADC和2路DAC、多种通信接口和通用GPIO等部件。SDA80D51工作方式以M8051为主控制芯片,主要完成系统配置和SPI、PWM、I2C、GPIO等接口的控制以及语音数据的传输工作;DSP核心OAK为协处理器,完成语音识别算法、语音编解码算法等语音处理工作。
非特定人语音信号由定向拾音器输入,经过SDA80D51内部的数据采集模块进行A/D转换,再经过识别程序的预处理、端点检测、特征参数提取、模板匹配等处理,选择识别词表中最接近的词条序号作为识别结果,识别结果通过GPIO口输出。
1.2 控制模块
 控制模块由MCU和模拟开关电路构成,本模块主要完成对语音识别模块输出的词条编码信号进行逻辑分析和处理,通过模拟开关电路产生对应功能的控制信号控制音响的动作。其中MCU选用美国ATMEL公司产品AT89S51,综合AT89S51输出I/O信号电压特性和SL1102C1音响控制面板电阻式分流键盘电路的特点,确定使用继电器模拟SL1102C1控制面板按键的闭合和断开动作。AT89S51和继电器模拟开关电路原理图如图3所示。

1.3 音响模块
 本设计是基于SL1102C1型汽车音响。SL1102C1是专门为中档轿车设计的汽车音响,具有MP3播放、收音机和显示时间等功能,目前大量使用在江淮同悦轿车上。SL1102C1前板共有开关机/静音、音效、播放/暂停等15个按键和一个用来调节音量的编码开关。
 SL1102C1前板上的按键为电压采样识别方式,按键包含短按和长按两种动作,AT89S51输出电压为TTL电平,直接采用I/O信号驱动音响按键动作容易引起误识别,造成系统误操作,因此本文采用图3所示的模拟开关电路,很好地解决了上述问题。当AT89S51接收到语音编码信号后,立即进行逻辑分析并输出对应的控制信号驱动相应继电器吸合模拟按键动作,按键的短按和长按功能是通过软件实现的。
 模拟开关电路还适用于SL1102C1前板上的编码开关,编码开关具有音量调节功能,其工作原理如图4所示。
由图4可知,编码开关上有A、B、C三个端子,开关旋钮左、右旋转时,A、B端子输出对应的脉冲信号。当MCU收到操作编码开关的语音命令信号后,驱动继电器动作,控制端子A、B输出信号,模拟开关旋钮功能。


2 系统软件设计
 系统的软件包括非特定人语音识别模块和逻辑控制模块。
2.1 非特定人语音识别模块
 非特定人语音识别模块基于HMM模型算法。该算法通过对大量语音数据进行数据统计,建立识别词条的统计模型语音库,然后从待识别语音中提取特征,与模型库进行匹配,由比较匹配分数得到识别结果,并通过SDA80D51的GPIO口输出识别结果对应的词条编码信号。语音识别模块主要由信号预处理、特征参数提取、模型匹配和Viterbi算法部分组成,非特定人语音识别模块框图如图5所示。

2.1.1 信号预处理
 信号预处理部分主要完成输入语音信号的采样、 模/数转换功能。A/D变换由SDA80D51内嵌12位A/D变换器实现,采样频率固定为8 kHz。
2.1.2 特征参数提取
 特征参数提取基于语音帧,采用分帧提取特片。先对语音信号进行重叠分帧,前一帧和后一帧重叠一半(帧信号重叠是体现相邻两帧数据之间的相关性),帧长为25 ms,对每帧提取一次语音特片。
语音信号是声道响应和声门激励信号的卷积。分别求声道传输函数和声门激励信号的对数频率响应,由于声门激励信号的频率响应和声道传输函数在频谱的变化快慢不同,如将频率轴视为时间轴,则声门激励信号的频率响应对应于“高频”区;而声道传输函数对应于“低频”区,处在不同区域就易于分辨。
MFCC参数属于感知频域倒谱参数,反映了语音信号短时幅度谱的特征。p维MFCC参数的具体计算提取过程如下:
 (1)用DFFT对每帧s(n:m)计算线性频谱,计算频谱模的平方为功率谱;
 (2)功率谱经过Mel滤波器组获得D个参数X(i),D是Mel滤波器组中三角形滤波器的数量;
 (3)对X(i)做对数运算和离散余弦变换,余弦变换计算公式如下:

 式中的Y(i)是第i个Mel滤波器的对数能量输出,i=1,2,…,D。
2.1.3 HMM语音识别算法
 隐马尔可夫采用概率统计模型描述语音信号,HMM模型建立在Markov链基础上,使用Markov链来模拟语音信号统计特性的变化。HMM模型为双重随机过程,其一是Markov链,由(π,A)描述状态的转移,输出为状态序列;另一个是随机过程,由B描述,在统计意义上B反映了状态和观察值之间的对应关系,输出为观察值矢量序列。Markov链中状态和时间参数都是离散的Markov过程。
 Viterbi算法是一种帧同步动态规整算法,在给定观察值序列和模型时,Viterbi算法给出了一个概率密度P(Q,O|λ)最大的状态序列。Viterbi算法包括初始化、递推、终止、路径回溯和确定最佳状态序列。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭