基于UniSpeech-SDA80D51的车载音响声控系统

发布者:sjjawx831最新更新时间:2012-05-30 来源: 21IC 关键字:UniSpeech  SDA80D51  车载音响  声控系统 手机看文章 扫描二维码
随时随地手机看文章

现代电子技术的发展,使得越来越多的车载电器加入到汽车电子行列中,在改善汽车性能的同时,也增加了汽车驾驶操作的复杂度,给行车过程带来了不安全隐患。随着语音识别算法的改进和新一代专用语音处理芯片的问世,使得语音控制代替了手动控制车载电器,从而减轻了驾驶员手动操作负担,大大提高了行车安全性。

目前我国的车身电子语音控制主要集中在汽车导航系统的应用上,语音识别技术在车身电子中的应用没有充分发挥。本文首次提出了一种以专用语音处理芯片UniSpeech-SDA80D51为核心组成的非特定人车载音响语音控制系统的设计方案,并实现了系统样机的研制。

1 车载音响语音控制系统

系统由语音采集、语音识别、控制驱动和车载音响等模块构成,系统完成的主要功能是:语音采集模块用于采集驾驶员发出的语音命令信号,由语音识别模块实现信号的A/D转换, 并对转换的数字信号进行语音识别处理,最终输出与语音命令相对应的词条编码信号,控制模块对接收的词条编码信号进行逻辑分析与处理并产生对应的控制信号驱动车载音响动作,代替驾驶员的手动操作。

1.1 语音识别模块

语音识别模块主要由UniSpeech-SDA80D51芯片及外围电路组成。

SDA80D51是德国Infineon公司专为语音识别和语音处理应用领域新推出的高集成度SoC专用芯片,其基本结构如图1所示。

11.jpg

由图1可知,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和继电器模拟开关电路原理图如图2所示。

22.jpg

1.3 音响模块

本设计是基于SL1102C1型汽车音响。SL1102C1是专门为中档轿车设计的汽车音响,具有MP3播放、收音机和显示时间等功能,目前大量使用在江淮同悦轿车上。SL1102C1前板共有开关机/静音、音效、播放/暂停等15个按键和一个用来调节音量的编码开关。

SL1102C1前板键控为分压识别方式,按键包含短按和长按两种动作。AT89S51输出电压为TTL电平,直接驱动音响容易引起键码误识别,造成系统误操作,因此本文采用图2所示电路,很好地解决了上述问题。当AT89S51接收到语音编码信号后,立即进行逻辑分析并输出对应的控制信号驱动继电器吸合模拟按键动作,按键的短按和长按功能通过软件实现。

模拟开关电路还适用于SL1102C1前板上的编码开关,编码开关具有音量调节功能。开关旋钮旋转时,开关上端子输出对应的脉冲信号。当MCU收到操作编码开关的语音命令信号后,驱动端子输出脉冲信号,模拟开关旋钮功能。[page]

2 系统软件设计

系统软件包括非特定人语音识别模块和逻辑控制模块。

2.1 非特定人语音识别模块

非特定人语音识别模块基于隐马尔可夫模型算法。HMM算法通过对大量语音数据进行数据统计,建立识别词条的统计模型语音库,然后从待识别语音中提取特征,与模型库进行匹配,由比较匹配分数得到识别结果,并通过SDA80D51的GPIO口输出。非特定人语音识别模块主要由信号预处理、特征参数提取、模型匹配和Viterbi算法部分组成,模块框图如图3所示。

33.jpg

2.1.1 信号预处理

信号预处理部分主要完成输入语音信号的采样、 模/数转换功能。A/D变换由SDA80D51内嵌12位A/D变换器实现,采样频率固定为8 kHz。

2.1.2 特征参数提取

特征参数提取基于语音帧,采用分帧提取特片。先对语音信号进行重叠分帧,前一帧和后一帧重叠一半(帧信号重叠是体现相邻两帧数据之间的相关性),帧长为25 ms,对每帧提取一次语音特片。

MFCC参数属于感知频域倒谱参数,反映了语音信号短时幅度谱的特征。p维MFCC参数的具体计算提取过程如下:

1.jpg

(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算法包括初始化、递推、终止、路径回溯和确定最佳状态序列。

2.jpg

对于语音处理而言,因Q的变化,P(Q,O|λ)取值范围很大,而P(Q,O|λ)的最大值占了全部P(Q,O|λ)的很大的成分,所以可以用Viterbi算法来计算P(O|λ)。[page]

2.2 控制模块

控制模块的主要功能是:在AT89S51查询到语音词条信号后,查表获得词条编码,根据编码判断对应按键是长按或短按,分别进入相应的子程序处理。在子程序中,输出语音命令所对应的I/O控制信号驱动继电器吸合模拟按键或编码开关动作,并及时复位I/O口。控制模块还具有完全兼容手动控制的功能,在语音控制操作的同时也可以进行手动操作,手动的优先级高于语音命令,这样可以避免语音控制和手动控制之间冲突。

控制模块部分程序代码如下:

void main()
{…… //初始化
while(1)
{…… //初始化
while(P0 == 0x00) //等待语音信号
{ WDTRST=0x1E;
WDTRST=0xE1; //WD指令
YXSY=0;}
YXSY = 1;
if(date != P0)
{ delayms(6); //延时函数
date = P0;
if(date==1 || date==2) //开机、静音
{ PWR = 0; //电源按钮按下
delayms(200);
PWR = 1;} //电源按钮松开
……
P1 = 0xff;
P2 = 0xff;}}}

3 系统实测结果

本系统在江淮同悦SL1102C1型车载音响上进行了非特定人语音识别率和模拟开关动作准确率测试。由于汽车音响的语音词条为2~4个字,语音识别率实验内容为车载音响常用2字词条指令18条、3字词条指令12条、4字词条指令10条,实验对象为6人4男、2女(普通话和方言),实验环境为实验室环境。为了提高系统的识别率,系统采用奥林巴斯 ME52定向麦克,提高了麦克接收范围,系统测试结果如表1所示。

01.jpg

由表1可知,系统的识别率与语音指令词条字数、麦克接收距离、说话人方言有关。男声和女声的识别率接近。

在系统控制电路实验中,模拟开关动作达到了较高的准确率,测试结果为98%以上,只要控制程序运行正常,各路继电器就能按照程序安排执行闭合和断开模拟手动开关操作。

实现汽车电器的语音控制是未来车载电器的发展趋势,越来越多的解决方案被不断提出和验证。本文提出的设计是在SL1102C1型车载音响上使用SDA80D51芯片,实现了车载音响非特定人的语音识别与控制。该设计得到的样机有较高的识别率,工作稳定、可扩展性强,达到预期的设计目标,整个设计方案和实现方法是可行的。由于语音识别率随着环境、说话人不同而变化,虽然HMM算法在噪声很少的环境下可以获得很高的识别率,但当测试语音或者环境中含有不同程度的噪声污染时,语音识别系统的性能会有所下降。提高系统的抗噪性和鲁棒性是语音识别系统走向实用化的关键之一。

关键字:UniSpeech  SDA80D51  车载音响  声控系统 引用地址:基于UniSpeech-SDA80D51的车载音响声控系统

上一篇:keilc51可重入函数及模拟栈浅析
下一篇:液晶显示控制电路KS0713的初始化编程技巧

推荐阅读最新更新时间:2024-03-16 13:00

这样做车载音响技术 给你好声音
人们早已不满足在家中收听喜爱的歌曲,在堵车烦闷之余,能够通过车载音响系统欣赏自己喜欢的音乐成为了越来越多城市人的迫切需求。相比于安静的居室,在汽车上布置音响系统需要考虑到嘈杂的环境,还要被相对狭小的空间所局限。究竟在车内想获得好声音好要克服哪些障碍呢?让我们看看世界上最早的扬声器生产公司之一,也是崇尚原声重现的Bose如何解决。 Bose这个名字大家都不陌生,除了上面说到的世界上最早的扬声器生产公司之一,崇尚原声重现以外,它还是一家研究音频技术的厂家。在凯迪拉克、日产、保时捷等品牌的部分车型上,我们都可以看到Bose的产品。 无论是车内音响系统还是家庭音响系统,扬声器的作用都不可小觑。它的任务是将电信号转变为声信号,其性能优劣对
[嵌入式]
电视机智能声控选合系统设计与实现
摘要:介绍了一种基于专用语音识别芯片TSG410的彩电智能声控选台系统,可以在不对彩电做任何改动的基础上,实现语音遥控电视机。 关键词:语音识别 彩电遥控 智能声控选台 随着电视频道数目的日益增多,传统的电视遥控方法弊端越来越明显。它需要观念记忆大量电视台对音识别芯片TSG410设计了一个彩电智能声控选台系统,可以较好地解决记忆频道这个难题。尤其对列疾朋友来讲,更具有特殊的意义。 该系统不对彩电做任何改动。在保留原有遥控功能的基础上,实现语音控制选台,主要功能有: %26;#183;开关电视:电视接通电源处于待命状态,操作者发出“开机”命令,则打开电视机;操作者发出“关机”命令,则关掉电视机; %26
[嵌入式]
基于DSP和FPGA的机器人声控系统设计与实现
1 引言 机器人听觉系统主要是对人的声音进行语音识别并做出判断,然后输出相应的动作指令控制头部和手臂的动作,传统的机器人听觉系统一般是以PC机为平台对机器人进行控制,其特点是用一台计算机作为机器人的信息处理核心通过接口电路对机器人进行控制,虽然处理能力比较强大,语音库比较完备,系统更新以及功能拓展比较容易,但是比较笨重,不利于机器人的小型化和复杂条件下进行工作,此外功耗大、成本高。 本次设计采用了性价比较高的数字信号处理芯片TMS320VC5509作为语音识别处理器,具有较快的处理速度,使机器人在脱机状态下,独立完成复杂的语音信号处理和动作指令控制,FPGA系统的开发降低了时序控制电路和逻辑电路在PCB板所占
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved