matlab 倒谱ceptrum,基于片上系统SoC的孤立词语音识别算法设计

1. 引言

目前,嵌入式语音识别系统的实现主要通过单片机MCU和数字信号处理器DSP来实现[1]。但是单片机运算速度慢,处理能力不高;虽然DSP处理速度很快,但是产品的成本很高,电源能量消耗也很大。因此,为了满足嵌入式交互系统的体积越来越小、功能越来越强的苛刻需求,语音识别片上系统SoC(System on Chip)应运而生。

语音识别片上系统SoC本身就是一块芯片,在单一芯片上集成了模拟语音模数转换器ADC、数模转换器DAC、信号采集和转换、处理器、存储器和I/O接口等,只要加上极少的电源就可以具有语音识别的功能,集成了声音信息的采集、取样、处理、分析和记忆。SoC具有片内处理器和片内总线,有着更灵活的应用方式。它具有速度快,体积小,成本低,可扩展性强等优点,有着广泛的应用前景,已经成为语音识别技术应用发展的一个重要方向[2-3]。研究和开发应用于片上系统SoC芯片的语音识别算法有着非常重要的意义。

2. 孤立词语音识别系统

孤立词语音识别系统应用于嵌入式控制领域,例如数字家庭控制、车载语音控制和智能语音可控玩具等。在训练阶段,用户将每一个词依次说一遍,并将计算得到的每一个词所对应的特征矢量序列作为模板存入模板库中。在识别阶段,将输入语音的特征矢量序列依次与模板库中的每一模板进行相似度比较,将相似度最高者作为识别结果输出。

3. 针对片上系统SOC的孤立词语音识别算法设计

在SoC芯片中实现孤立词语音识别系统,就要根据语音识别片上系统的特点,来进行SoC的语音识别算法的选择和设计。

首先是特征提取算法的选择。MFCC算法考虑到了人的听觉效果,能很好的表征语音信号,而且在噪声环境下能取得很好的识别效果。而LPC系数主要是模拟人的发声模型,对元音有较好的的描述能力,对辅音描述能力较差,抗噪声性能也相对差一些。但是从算法的计算量来考虑,MFCC提取特征参数是LPCC 的10倍左右,通常在嵌入式系统下较难实现实时性。因此,选用LPCC算法。

模式匹配技术的选择。隐马尔柯夫模型HMM方法是用概率及统计学理论来对语音信号进行分析与处理的,适用于大词汇量、非特定人的语音识别系统。该算法对系统资源的要求较多。而动态时间规整技术DTW采用模板匹配法进行相似度计算,是一个最为小巧的语音识别算法,系统开销小,识别速度快,可有效节约系统资源,降低系统成本开支。由于嵌入式系统资源有限,语音命令识别系统所需要的词汇量有限,所需识别的语音都是简短的命令,模式匹配算法选择DTW。

3.1 端点检测算法设计

一个好的端点检测算法可以在一定程度上提高系统的识别率。在双门限端点检测原理的基础上,进行语音端点检测算法的设计。为了提高端点检测的精度,采用短时能量E和短时过零率ZCR。

语音采样频率为8KHz,量化精度为16位,数字PCM码首先经过预加重滤波器H(z)=2-0.95z-1,再进行分帧和加窗处理,每帧30ms,240点为一帧,帧移为80,窗函数采用Hamming窗。然后对每帧语音进行归一化处理,即把每点的值都除以所有语音帧中数值绝对值的最大值,把值的范围从[-32767,32767]转换到[-1,1]。

在实验中发现,双门限端点检测算法对于两个汉字和三个汉字的语音命令端点检测效果不好。以语音“开灯”为例,如图1所示语音波形图中,端点检测只能检测到第一个字。

20120329065315155.jpg

图1  改进前对语音“开灯”的端点检测

Fig2. the endpointing detection of speech “kaideng” before ameliorate

如果语音命令中两个字的间隔过长,使用双门限端点检测方法会发生只检测到第一个字的情况,在实际中“开灯”和“开门”等命令只提取了“开”字的语音,从而可能造成语音匹配的错误。

为避免该错误,采用的办法是,把可容忍的静音区间扩大到15帧 (约150ms)。在双门限的后一门限往后推迟15帧,如15帧内一直没有energy和ZCR超过最低门限,则认为语音结束;如发现仍然有语音,则继续算入在内。

20120329065315999.jpg

图2 改进后对语音“开灯”的端点检测

Fig3. the endpointing detection of speech “kaideng” after ameliorate改进后,整个语音信号的端点检测流程设计为四个阶段:静音、过渡段、语音段和语音结束。在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要两个参数的数值都回落到低门限以下,就将当前状态恢复到静音状态。而如果在过渡段中两个参数中的任一个超过了高门限,就可以确信进入语音段。在语音段,如果两个参数的数值降低到低门限以下,并且一直持续15帧,那么语音进入停止。如果两个参数的数值降低到低门限以下,但是并没有持续到 15帧,后续又有语音段越过低门限,那么认为语音还没有结束。最后,如果检测出的这段语音总长度小于可接受的最小的语音帧数(设为15帧),则认为是一段噪音而放弃。[page]

采用改进后的端点检测算法,对于单个汉字或多个汉字的语音命令均识别正常。图2为语音“开灯”的端点检测图(两条红线以内的部分为检测出来的语音部分)。

3.2  LPCC特征参数提取算法设计

LPC参数是模拟人的发声器官的,是一种基于语音合成的特征参数。在实际应用中,使用较多的是由LPC系数推导出的另一种系数,线性预测倒谱系数LPCC(Linear Predictive Ceptrum Coefficients)。

3.2.1线性预测编码LPC算法

LPC模型的基本思想是:对于给定一n时刻采样的语音信号采样值s(n),可以用p个取样值的加权和线性组合来表示[4]。  a1, a2,…, ap称为LPC系数,也是全极点H(z)模型的参数。

20120329065318888.jpg

cm为倒谱系数,am为线性预测系统,m为倒谱系数的阶数,p为线性预测系统的阶数。这样利用LPC系数通过递推公式可以得到LPCC参数。LPCC由于利用了线性预测中声道系统函数的最小相位特性,避免了相位卷积、求复对数

3.3 基于DTW的模式匹配算法设计

3.3.1 动态时间规整DTW算法

存入模板库的各个词条称为参考模板,一个参考模板可表示为R={R(1), R(2),…, R(m),…, R(M)}。m为训练语音帧的时序标号,m =1为起点语音帧,m =M为终点语音帧,M为该模式包含的语音帧总数,R(m)为第m帧的语音LPC倒谱特征矢量。所要识别的一个输入词条语音称为测试模板,可表示为T={T (1), T(2),…, T(n),…, T (N)},n为测试语音帧标号,模式中共包含N帧语音,T(n)为第n帧的LPC倒谱特征矢量。

比较参考模板和测试模板的相似度,可以计算它们的距离D[T,R],距离越小则相似度越高。语音中各个段落在不同情况下的持续时间会产生或长或短的变化,大多数情况下测试模板和参考模板长度不相等N≠M,因此采用动态规整(DP)的方法。

DTW算法的实现为:分配两个N×M矩阵,分别为累积距离矩阵D和帧匹配距离矩阵d,其中帧匹配距离矩阵d(i,j)的值为测试模板的第i帧与参考模板的第j帧间的距离。算法分为两步:先要计算参考模板的所有帧和未知模板的所有帧之间的相互距离,结果存在矩阵d中;然后根据判断函数计算累积距离矩阵D,D(N,M)即为最佳匹配路径所对应的匹配距离。DTW算法约束端点条件为:起点(1,1),终点(n,m),n和m分别为测试和参考语音模板的帧序列长度。

3.3.2 应用中提高识别率的改进方法

在应用中,提高DTW识别率的办法有冗余模板法、松弛起点终点法、改进局部路径约束函数法等。

(1)冗余模板法。采用每个词条多套模板的方法,可以改进其识别效果。在实验中,采用在语音训练阶段,每个词条训练四次,即每个词条提取出4个参考模板,这样,只要测试模板与4个参考模板中的一个匹配成功,匹配结果就是正确的,这样便大大提高了识别率。

(2)松弛起点终点法。将匹配过程中的固定起点(终点)改为松弛起点(终点)。端点对齐的限制条件提高了对语音端点检测的精度要求。路径不再是从(1,1)点出发,可以从(n,m)=(1,2)或(2,1),或(1,3)或(3,1)…点出发,称为松弛起点。同样,路径也不必在(N,M)点结束,可在(n,m)=(N,M-1)或(N-1,M)或(N,M-2)或(N-2,M)点…结束,称为松弛终点。松弛起点终点的优点是可克服由于端点检测不精确造成测试模板和参考模板起点终点不能严格对齐的问题[6]。

(3)改变局部路径约束函数法。不同的连续性条件导致了不同的路径,局部路径约束函数不一样,DTW识别效果就会不同。可以对局部约束路径进行加权处理,提高识别率。

20120329065319687.jpg本文中采用的模板匹配算法就是融合这三种改进技术后的动态规整算法,称之为ADTW算法。对这种算法进行了实验,得到该算法的实际识别率,并对之进行分析。

3.3.3 应用中提高算法效率的改进方法

在计算传统DTW算法过程中,如果限定动态规整的计算范围,可以大大减小计算量,提高程序的性能。

采用平行四边形限制动态规整范围,如图3,菱形之外的节点对应的帧匹配距离是不需要计算的,也没有必要保存所有帧匹配距离矩阵和累积距离矩阵,以 ADTW的局部约束路径为例,每一列各节点上的匹配计算只用到了前两列的几个节点。充分利用这两个特点可以减少计算量和存储空间的需求。把实际的动态规整分为三段,(1,Xa),(Xa+1,Xb)和(Xb+1,N),

由于X轴上每前进一帧,只用到前两列的累积距离,所以只需要三个列矢量A、B和C分别保存连续三列的累积距离,而不需保存整个距离矩阵。每前进一帧都对A、B、C进行更新,即用A和B的值求出C,再根据B和C的值求出下一列的累积矩阵放入A中,由此可以反复利用这三个矢量,一直前进到X轴上最后一列,最后一个求出矢量的第M个元素即为两个模板动态规整的匹配距离。

高效DTW对识别的区域进行了限制,整个平面区域大小为M×N,匹配区域的大小为

20120329065319438.jpg公式(12)

若M=N=150,则限定区域内的计算量只是传统DTW算法计算量的24%;同时算法节省了空间,由原来的2个N×M矩阵,减少为3个M矢量,大大减少了需要的存储空间,解决了普通DTW算法在存储空间有限的嵌入式系统中难以实现的问题。

4. MATLAB实验与分析

为了对算法的识别效果进行测试,设计了用于数字家庭控制系统的识别命令集,并基于Matlab构建了孤立词语音识别系统,对识别算法进行实验和分析。该命令集包括语音命令100条,分别是如下几类:

l         语音通话控制命令,例如,“拨打电话”,数字,人名;

l         音乐控制类,“打开音乐”、“减小音量”等;

l         门窗控制类,“关闭百叶窗”、“打开大门”等;

l         家庭电器控制类,“打开空调”、“打开收音机”等。

该系统使用设计的端点检测技术、特征提取和模板匹配技术。语音采用频率为8KHz,16位量化精度,预加重系数a=0.95,语音帧每帧 30ms,240点为一帧,帧移为80,窗函数采用Hamming 窗。LPC参数为10阶,LPCC参数为16阶。实验人员为三名同学,两男一女,分别用甲乙丙代表,实验环境为办公室环境。实验平台为Windows XP,Matlab 7.0,进行的各项实验和数据分别如下:

(1)改进端点检测实验

针对于设计的端点检测算法,得到改进前和改进后语音识别率的变化,数据见表1。其中,改进前和改进后所用的参考模板和测试模板数据相同。实验的过程是,Matlab程序自动把50个测试模板逐个和100个参考模板进行匹配,找到测试模板所对应的语音命令。

表1 改进端点检测前后的识别率

Table 1. the recognition ratio of before and after ameliorate endpointing detection

参考模板(个)

测试模板(个)

识别率

误识率

改进前

100

50

74%

26%

改进后

100

50

82%

18%

从数据可以看出,对端点检测进行改进后,平均识别率从74%提高到82%,这是因为改进后的端点检测能够有效地区分噪音和语音,严格的把语音段提取出来。

(2)使用冗余参考模板实验

对每个语音命令建立四个参考模板,其他同实验(1),实验数据见表2。

表2 使用冗余参考模板前后的识别率

Table 2. the recognition ratio of before and after use redundancy reference template

参考模板(个)

测试模板(个)

识别率

误识率

单模板(甲)

100

100

82%

18%

四模板(甲)

400

100

96%

4%

单模板(乙)

100

100

85%

15%

四模板(乙)

400

100

94%

6%

单模板(丙)

100

100

88%

12%

四模板(丙)

400

100

95%

5%

从实验数据看出,使用冗余模板后,平均识别率由87.5%提高到95%,平均误识率由12.5%下降到5%。所以,使用冗余参考模板有效的提高了识别性能。

(3)提高识别率的ADTW实验

基于实验(2),使用松弛起点终点法和改变局部判决路径函数法对DTW进行改进,称改进后的算法为ADTW,改进前后的两种算法都采用一个词条四个模板。实验数据见表3,其中平均识别率为三个人的平均识别率。

表3 传统DTW和ADTW识别率比较

Table 3. the recognition ratio of DTW and ADTW

参考模板(个)

测试模板(个)

平均识别率

平均误识率

传统DTW

400

100

95%

5%

ADTW

400

100

98%

2%

从实验数据可以看出,ADTW相对于传统的DTW算法,平均识别率有了一定的提高,因为本文实现的系统采用了ADTW算法。该算法平均识别率为98%,基本满足了语音识别片上系统的需要。

5. 总结

本文在研究了现有的语音识别算法和理论的基础上,在应用中对双门限端点检测算法作了延长可容忍静音的改进,在一定程度上提高了整个系统的识别率;特征提取技术采用了线性预测编码LPC及其倒谱系数LPCC,对其计算过程进行了分析。从提高算法识别率和提高算法执行效率两个角度对DTW进行了改进和重新设计,提出了松弛起点终点和改进局部判决函数的ADTW算法,在实验中获得了很高的识别率。

参考文献

[1]   孙样娥,汪忠德.基于G.729算法的新型语音通信系统的实现.微计算机信息[J],2005, 21-4:152-154

[2]   朱璇, 刘加, 刘润生. 语音识别技术新热点—语音识别专用芯片. 世界电子元器件[J], 2002:26-27.

[3]     赵念强,鲍可进,申屠浩.基于Soc单片机C8051F的码头供给监控系统. 微计算机信息[J],2005, 21-3:46-48.

[4]     杨行峻, 迟惠生. 语音信号数字处理[M]. 电子工业出版社, 1995.

[5]     Itakura F. Minimum prediction residual applied to speech recognition. IEEE Transactions on Acoustics, Speech, and Signal Processing[J], 1975, 23:67-72.

[6]     Bernd Burchard, Ronald Romer. A single chip phoneme based HMM speech recognition system for consumer applications IEEE2000[J].

语音识别MATLAB实现 声控小车结题报告 小组成员:关世勇 吴庆林 一、 项目要求: 声控小车是科大华为科技制作竞赛命题组的项目,其要求是编写一个语言识别程序并适当改装一个小型机动车,使之在一个预先不知道具体形状的跑道上完全由声控来完成行驶比赛。跑道上可以有坡面,坑, 障碍等多种不利条件,小车既要具有较快的速度,也要同时具有较强的灵活性,能够克服上述条件。 二、 项目分析: 由于小车只要求完成跑道上的声控行驶,所以我们可以使用简单的单音命令来操作,如“前”、“后”、“左”、“右”等。 由于路面有各种不利条件,而且规则要求小车尽可能不越过边线,这就决定了我们的小车不能以较高的速度进行长时间的快速行驶。所以我们必须控制小车的速度和行进距离。 由于外界存在噪声干扰,所以我们必须对噪声进行处理以减小其影响。 鉴于上诉各种要求,我们决定对购买的遥控小车进行简单改造,使用PC机已有的硬件条件编写软件来完成语音的输入,采集,处理和识别,以实现对小车的控制。 三、 解决思路与模块: 整个程序大致可划分为三个模块,其结构框图如下图所示: 整个程序我们在Visual C++ 环境下编写。 四、 各模块的实现: 1 声音的采集: 将声音信号送入计算机,我们利用了声卡录音的低层操作技术,即对winmm.lib进行API调用。具体编程时这一部分被写在一个类(Soundin类)。 在构造函数设定包括最大采样率(11025),数据缓存(作为程序一次性读入的数据,2048),声卡本身所带的一些影响采样数据等的各种参数; 调用API函数waveInGetNumDevs(返回UNIT,参数为空)检察并打开声音输入设备,即声卡;并进而使用waveInGetDevCaps得到声卡的容量(在waveInCaps存有该数据,对其进行地址引用,从DWORD dwFormats得到最大采样率、声道数和采样位); 创建一个叫WaveInThreadEvent的事件对象,并赋予一个Handle,叫m_WaveInEvent,开始利用线程指针m_WaveInThread调用自定义的线程WaveInThreadProc; 对结构WAVEFORMATEXWaveInOpen开始提供录音设备。注意设备句柄的得到是通过对HWAVEIN 型数据m_WaveIn的引用。 由于通过这种方式进行录音的文件格式是.wav,所以要先设置录音长度,以及对头文件进行一些设置:包括buffer的地址为InputBuffer的初始地址,大小为录音长度的两倍,类型。使用waveInPrepareHeader为录音设备准备buffer。然后使用waveInAddBuffer函数为录音设备送出一个输入buffer。最后使用waveInStart(m_WaveIn)打开设备。 程序WaveInThreadProc需要提出另外说明,因为通过这个线程我们可以实现采样和数据提取。该线程首先定义一个指向CsoundIn类的指针pParam,并将其宏定义为PT_S。而线程参数即为空指针pParam。使用WaitForSingleObject将录音过程设置为一旦开始就不止(除非止线程)。在此线程做如下两个工作:将数据送入buffer,并将数据传入某个参数(其调用一个函数,将buffer的数据送入该函数的参数*pt),而这些数据正是我们要利用和处理的数字化的语音信息。 2 声音的预处理: 声音信息的预处理主要包括音头和音尾的判断,声音的预加重,分帧处理和窗化处理。 A 音头音尾的判断与提取: 这是该项目的一个难点。由于我们的声音信号不是连续给出的,而且现场还有噪声的存在,所以我们必须通过适当的方法来判断采集的数据是不是我们所要的声音控制信号。这又是该项目的一个重点。若声音指令信号提取的不恰当,那么我们采样所得的数据就和我们实际的语音信号就会有很大的出入,这样不但会延迟语音识别的时效性,而且会降低对这些声音信号的识别率。对声音信号的提取,主就是确定音头、音尾的位置。常用的方法有过零率和短时距能量等几种。我们这里采用的就是过零率这个方法。首先对噪声取样,从这些噪声样本得到噪声的上下限,将实时信号与这个门限进行比较,得到过零率。 定义过零率Zcr如下: 其: 利用过零率的大小来判断是否有声音信号进入,若 ( 为预设的过零率值),则表示有声音信号进入,就找到了音头。在找到音头的情况下,若 ,则表示声音结束,也就找到了音尾。在环境噪声较大且比声音指令小的多的情况下可以对这个门限加一修正。音头和音尾之间的部分就是我们用以作为识别用的声音指令信号了。由于一般情况下人们所发出的单音都有一定的时间长度而大的噪声则大多是突发的,持续时间较短,所以我们可以再对所得到的声音指令信号做一次筛选,若得到的声音信号的长度小于预设值,就可认为是噪声干扰,舍弃;若得到的声音信号的常到大于预设值,则将其作为有用信号存储。实验表明,利用过零率和预设长度相结合起来提取声音指令信号的方法很有效的。 B 语音信号的预加重: 我们所采用的预加重的方法是较为常用的网络: 传递函数为: 得到的信号为: 预加重的目的在于滤除低频干扰,尤其是50Hz或60Hz的工频干扰,将对于语音识别更为有用的高频部分的频谱进一步提升。在计算短时能量之前应用该滤波器,还可以起到消除直流漂移、抑制随机噪声和提升清音部分能量的效果。 C 分帧处理 在计算各个系数之前要先将语音信号作分帧处理。语音信号是瞬时变化的,但在10~20ms内是相对稳定的,而我们设定的采样频率为11025所以我们对预处理后的语音信号S1(n)以300点为一帧进行处理,帧移为100个采样点。 (N=300) D 窗化处理: 为了避免矩形窗化时对LPC系数在端点的误差,我们采用了汉明窗函数来进行窗化。即: 其: 3 语音数据的特征提取: 语音信号的特征有多种度量标准,我们采用的是比较常用的倒谱特征。 语音信号是一种典型的时变信号,然而如果把观察时间缩短到几十毫秒,则可以得到一系列近似稳定的信号。人的发音器官可以用若干段前后连接的声管进行模拟,这就是所谓的声管模型。全极点线性预测模型(LPC)可以对声管模型进行很好的描述,每段声管对应一个LPC模型的极点。一般情况下,极点的个数在12-16个之间就可以足够清晰地描述语音信号的特征了。 语音信号经过预处理,它的每个样值均可由过去若干个样值的线性组合来逼近,同时可以采用使实际语音抽样与线性预测抽样之间的均方差最小的方式,来解出一组预测的系数 。这就是LPC所提取出来的信号的初始特征。 预测值时域表达式为: 其, 为加权系数,即LPC系数。预测的误差为: 使 在均方误差最小的条件下,可求得唯一的 ,此过程即为LPC分析过程。 这里采用的是Levinson-Durbin法。由上面的式子有: 其, 为待分析与引信号的自相关序列: 因此:Levinson-Durbin算法为: 1. 初始化: 2. 迭代计算:对于 3. 最后就算: 以上式的 为反射系数。 ; 为最小预测误差,随着阶数的增加而减少; 为模型增益常量。 在语音识别系统,很少直接使用LPC系数,而是由LPC系数推导出另一种参数:线性预测倒谱系数(LPCC)。倒谱实际上是一种同态信号处理方法,标准的倒谱系数计算流程需要进行FFT变换、对数操作和相位校正等步骤,预算比较复杂。在实际计算,他不是由原始信号x(n)得到,而是由LPC系数 得到的。 LPC系数算出后,就可以直接进行倒谱系数 的计算,其迭代算法如下: 1.初始化: 2.迭代计算: 这里C(0)实际上就是直流分量,在识别通常是不用的,也不去计算。 综合考虑识别误差和识别速度的影响,我们在计算LPC 时,LPC系数的阶数Q值取为8,而LPCC系数的阶数P值取为12。 4 DTW 算法: 语音识别程序的核心部分即采用合适的算法来识别不同的语音信号,在特定人语音识别算法,对于孤立语音识别而言,最为简单的方法是采用DTW(Dynamic Time Warping,动态时间弯折)算法,该算法基于动态规划)(DP)的思想,解决了发音长短不一的模本匹配问题,是语音识别出现较早、较为经典的一种算法。我们这里采用的就是DTW算法。 我们用R表示已存的参考模板,T表示待识别的测试模板,R(1),R(2) ,…,R(m),T(1),T(2),…,T(n)分别表示参考模板和测试模板的各语音帧,d[T(n),R(m)]表示这两帧特征矢量之间的距离(DTW算法通常采用欧氏距离)。为了比较R和T之间的相似度,可以计算他们之间的距离D[T,R],距离越小则相似度越高。D[T,R]的计算通常采用的是动态规划的方法。 将R和T的各个帧号分别在直角坐标系的横轴和纵轴上标出,则如下图可得到一个网格,网格各点表示R和T的一帧的交汇点。DP算法可以归结为寻找一条通过此网格若干格点的路径,使得沿路径的累积距离达到最小值。 为了使路径不至于过分倾斜,可以约束斜率在0.5-2范围内,如果路径已经通过了格点( ),那么下一个通过的格点( )只能是下列三种情况之一: 搜索最佳路径的方法如下: 搜索从( )开始,网格任意一点只可能有一条路径通过。对于( ),其可达到该格点的前一格点之可能是 ( ),( ),( ),那么( )一定选择这3个距离的最小者所对应的格点作为其前续格点。若用( )代表此格点,并将通过该格点的路径延伸而通过( ),这时此路径的累积距离为: 其的 由下式决定: 这样可以从初始点出发依次搜索直到搜索到终点 便可得到最佳路径。 五、整个系统的软件流程图: 见右图。 六、硬件 用四个c1108型三极管来控制小车遥控手柄的前、后、左、右触点的通断。从计算机的并口引出四根信号线,与三极管相连,与前、后、左、右一一对应。若判断出指令信号后,则相应的信号线上输出高电平,该电路导通,发送无线信号。若无指令,则信号线上输出低电平,电路断路,不发送无线信号。电路示意图如下:(由于四条线路基本是一致的,这里只画出了其的一根信号线与外电路的连接示意图) 七、实现功能与技术指标: 1. 软件上可以识别前、后、左、右、停等语音指令,并发出相应的控制信号。 2. 硬件上可以实时的收发无限信号,并控制小 车作相应的动作。 3. 语音识别正确率大于95%,从发出语音指令 到执行该指令的延时小于100ms。 八、与原设计方案的比较: 我们的整个方案基本是按照原设计方案来进行的,各项指标也基本达到了预定目标。 九、经费使用情况: 主要分为两部分: 第一, 由于我们都没有学过语音识别方面的知识,所以一开始我们就买了一些参考书和资料。 第二, 在软件部分初步成型后,在对小车进行改装时购买了一些电子元器件以及其他一些工具。 十、致谢: 感谢华为研究所为我们提供这样好的锻炼机会,我们从学到了很多书本上学不到的知识。 感谢铁伟涛同学为我们提供方案支持。 感谢我的导师魏衡华老师和314实验室的所有负责人为我们提供PC机和其它硬件条件以及方便的实验环境。 感谢所有的评委老师在开题和期评审给我们提供很多宝贵的意见。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值