搜档网
当前位置:搜档网 › 基于语音识别的智能小车设计 毕业设计

基于语音识别的智能小车设计 毕业设计

基于语音识别的智能小车设计 毕业设计
基于语音识别的智能小车设计 毕业设计

基于语音识别的智能小车

摘要

随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用。本设计是语音识别在控制领域的一个很好实现,它将原本需要手工操作的工作用语音来方便地完成。

语音识别按说话人的讲话方式可分为孤立词(Isolated Word)识别、连接词(Connected Word)识别和连续语音(Continuous Speech)识别。从识别对象的类型来看,语音识别可以分为特定人(Speaker Dependent)语音识别和非特定人(Speaker Independent)语音识别。本设计采用的识别类型是特定人孤立词语音识别。

本系统分上位机和下位机两大方面。上位机利用PC上MATLAB强大的数学计算能力,进行语音输入、端点监测、特征参数提取、匹配、串口控制等工作,根据识别到的不同语音通过PC串口向下位机发送不同的指令。下位机是单片机控制的一个小车,单片机收到上位机传来的指令后,根据不同的指令控制小车完成不同的动作。

该设计对语音识别的现有算法进行了验证和实现,并对端点检测和匹配算法进行了些许改进。本设计达到了预期目标,实现了所期望的功能效果。

关键词:MATLAB,语音识别,端点检测,LPC,单片机,电机控制

SMART CAR GASED SPEECH RECOGNITION

ABSTRACT

With the development of computer technology,pattern recognition,signal processing technology and acoustic technology etc, the speech recognition system that can meet the various needs of people is more possible to achieve.The past three decades, the voice recognition in the field of computer, information processing, communications and electronic systems, automatic control has increasingly wide range of applications.

Speech recognition by the speaker's speech can be divided into isolated word (Isolated Word) identification, conjunctions (Connected Word) and continuous speech recognition (Continuous Speech) identification. Identifying the type of object from the point of view, the voice recognition can be divided into a specific person (Speaker Dependent) speech recognition and non-specific (Speaker Independent) speech recognition. This design uses the identification type is a specific person isolated word speech recognition.

This design is of a good implementation of speech recognition in the control field, it does the work that would otherwise require manual operation by the voice of people easily.This system includes two major aspects:the host system and the slave system. The host system use the MATLAB on the computer which has powerful mathematical computing ability to do the work of voice input, endpoint monitoring, feature extraction, matching, identification and serial control,then it send different commands through the PC serial port to slave system according different recognised voice. The slave system is a car controlled by a single-chip micro-controller.It controls the car do different actions according different instructions received.

The design is checking and realization of the existing speech recognition algorithm and I the endpoint detection and matching algorithms were slight improved.This design achieved the expected goals and achieved the desired functional effect.

KEY WORDS:MATLAB,Speech Recognition,Extreme Points Test,LPC,Chip Microcomputer,Motor Drive

目录

前言 (1)

第1章系统总体设计方案介绍 (3)

第2章上位机设计 (4)

§2.1 语音识别简介 (4)

§2.1.1 语音识别发展 (4)

§2.1.2 语音识别的分类 (4)

§2.2 声音录入 (5)

§2.3 声音的预处理 (6)

§2.3.1 欲加重处理 (6)

§2.3.2 分帧处理 (6)

§2.4 端点检测 (6)

§2.4.1 过零率 (6)

§2.4.2 音量 (7)

§2.4.3 过零率和音量积谱 (8)

§2.4.4 用过零率和音量积谱来检测端点 (9)

§2.5 特征参数提取 (10)

§2.5.1 特征参数概述 (10)

§2.5.2 用MATLAB实现LPC系数的计算 (14)

§2.6 语音识别中的模式匹配 (14)

§2.6.1 DTW算法原理 (14)

§2.6.2 程序实现 (16)

§2.7 MATLAB上的GUI设计 (18)

第3章下位机设计 (20)

§3.1 小车总体设计 (20)

§3.1.1 小车总体框图 (20)

§3.1.2 小车结构设计 (20)

§3.2 小车硬件设计 (20)

§3.2.1 单片机电路设计 (21)

§3.2.2 驱动电路设计 (23)

§3.2.3 稳压电路设计 (24)

§3.3 小车软件设计 (24)

§3.3.1 主程序流程图 (24)

§3.3.2 部分主程序 (25)

§3.3.3 底层驱动程序 (27)

结论 (29)

参考文献 (30)

致谢 (31)

附录 (32)

前言

随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用。语音命令控制可广泛用于家电语音遥控、玩具、智能仪器及移动电话等便携设备中。使用语音作为人机交互的途径对于使用者来说是最自然的一种方式,同时设备的小型化也要求省略键盘以节省体积。当今,语音识别产品在人机交互应用中已经占到越来越大的比例。

语音识别按说话人的讲话方式可分为孤立词(Isolated Word)识别、连接词(Connected Word)识别和连续语音(Continuous Speech)识别。孤立词识别是指说话人每次只说一个词或短语,每个词或短语在词汇表中都算作一个词条,一般用在语音电话拨号系统中。连接词语音识别支持一个小的语法网络,其内部形成一个状态机,可以实现电话语音查询、航空定票等系统。连续语音识别是指对说话人以日常自然的方式发音,通常特指用于语音录入的听写机。从识别对象的类型来看,语音识别可以分为特定人(Speaker Dependent)语音识别和非特定人(Speaker Independent)语音识别。特定人是指只针对一个用户的语音识别,非特定人则可用于不同的用户。实际上,非特定人语音识别的初始识别率往往都比较低,一般都要求用户花一定的时间对系统进行训练,将系统的参数进行一定的自适应调整,才能使识别率达到满意的程度。本设计采用的识别类型是特定人孤立词语音识别。

本设计是语音识别在控制领域的一个很好实现,它将原本需要手工操作的工作用语音来方便地完成。本系统分上位机和下位机两大方面。上位机利用PC上MATLAB强大的数学计算能力,进行语音输入、端点监测、特征参数提取、匹配、串口控制等工作,根据识别到的不同语音通过PC串口向下位机发送不同的指令。下位机是单片机控制的一个小车,单片机收到上位机传来的指令后,很据不同的指令控制小车完成不同的动作。

该设计对语音识别的现有算法进行了验证和实现,并对端点检测和匹配算法进行了些许改进。为了更方便的进行上位机的操作,本设计用MATLAB

的GUI设计了一个图形界面。上面设置了串口选择框、录音开始按钮、语音识别结果框等。下位机采用STC2C5A60S2单片机作为控制中心,采用L298专用驱动芯片搭建双桥,进行点击的正反转调速等控制。本设计达到了预期目标,实现了所期望的功能效果。

第1章系统总体设计方案介绍

本系统分上位机和下位机两大方面。上位机利用PC上MATLAB强大的数学计算能力,进行语音的输入、端点监测、特征参数提取、匹配、识别、串口控制等工作,根据识别到的不同语音通过PC串口向下位机发送不同的指令。下位机是单片机控制的一个小车,单片机收到上位机传来的指令后,很据不同的指令控制小车完成不同的动作。PC机和小车之间通过串口无线传输模块进行数据传输。

总体框图如图1-1所示:

图1-1 系统总体框图

第2章上位机设计

上位负责语音的识别,并根据识别到的不同结果向下位机(小车)发送不同的指令。上位机的设计基于MATLAB平台,利用MATLAB强大的数学计算能力,进行语音的输入、预处理、端点监测、特征参数提取、匹配、识别、串口控制等工作。

§2.1语音识别简介

§2.1.1语音识别发展

随着时代的发展,人们越来越注重生活的品质。便捷时尚成为当代人们的追求目标。随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用。语音命令控制可广泛用于家电语音遥控、玩具、智能仪器及移动电话等便携设备中。使用语音作为人机交互的途径对于使用者来说是最自然的一种方式,同时设备的小型化也要求省略键盘以节省体积。当今,语音识别产品在人机交互应用中已经占到越来越大的比例。

§2.1.2语音识别的分类

语音识别按说话人的讲话方式可分为孤立词(Isolated Word)识别、连接词(Connected Word)识别和连续语音(Continuous Speech)识别。孤立词识别是指说话人每次只说一个词或短语,每个词或短语在词汇表中都算作一个词条,一般用在语音电话拨号系统中。连接词语音识别支持一个小的语法网络,其内部形成一个状态机,可以实现简单的家用电器的控制,而复杂的连接词语音识别系统可以用于电话语音查询、航空定票等系统。连续语音识别是指对说话人以日常自然的方式发音,通常特指用于语音录入的听写机。显然,连续非特定人语音识别的难度要大得多,因为不仅有说话人口音的问题,还有

协同发音、断字断句、搜索等问题,除了考虑语音的声学模型外还要涉及到语言模型,如构词法、文法等。

从识别对象的类型来看,语音识别可以分为特定人(Speaker Dependent)语音识别和非特定人(Speaker Independent)语音识别。特定人是指只针对一个用户的语音识别,非特定人则可用于不同的用户。实际上,非特定人语音识别的初始识别率往往都比较低,一般都要求用户花一定的时间对系统进行训练,将系统的参数进行一定的自适应调整,才能使识别率达到满意的程度。

非特定人大词表连续语音识别是近几年研究的重点,也是研究的难点。目前的连续语音识别大多是基于HMM(隐马尔可夫模型)框架,并将声学、语言学的知识统一引入来改善这个框架,其硬件平台通常是功能强大的工作站或PC机。

§2.2声音录入

本设计利用PC上的话筒口进行声音录入。通过MATLAB的wavrecord函数进行声音录入。wavrecord是MATLAB的专有声音录入函数,他有一下三种调用方式:

(1)y = wavrecord(n,Fs)

(2)y = wavrecord(n,Fs,ch)

(3)y = wavrecord(n,Fs,'dtype')

其中n代表声音录入的总采样数。Fs代表声音的采样率。ch代表声音录入采用的通道数,当ch为1时为单声道,当ch为2时为立体声。’dtype’代表采样数据的存储类型,MATLAB提供四种存储类型如下:

(1)'double' (default value), 16 bits/sample

(2)'single', 16 bits/sample

(3)'int16', 16 bits/sample

(4)'uint8', 8 bits/sample

本设计单次采样总数为50000点,采样率为22000HZ。

即:y=wavrecord(50000,22000);

§2.3声音的预处理

§2.3.1欲加重处理

预加重的目的在于滤除低频干扰,尤其是50Hz或60Hz的工频干扰,将对于语音识别更为有用的高频部分的频谱进一步提升。在计算短时能量之前应用该滤波器,还可以起到消除直流漂移、抑制随机噪声和提升清音部分能量的效果。

§2.3.2分帧处理

在计算各个系数之前要先将语音信号作分帧处理。语音信号是瞬时变化的,但在10~20ms内是相对稳定的.我设定的采样频率为11025所以我们对预处理后的语音信号S1(n)以1024点为一帧进行处理,帧移为512个采样点。

§2.4端点检测

所谓端点检测,就是在实时输入的声音信号中,区分背景噪声和环境噪声,准确地判断出声音信号的开始点和结束点。在语音识别系统中,正确、有效地进行端点检测不仅可以减少计算量和缩短处理时间,而且能排除无声段的噪声干扰、提高语音识别的正确率。研究表明,即使是在安静的环境下,语音识别系统一半以上的错误可能主要来基于MTLAB编写的语音端点检测程序。除此之外, 在语音合成、编码等系统中,高效的端点检测也直接影响甚至决定着系统的主要性能。因此, 端点检测的效率、质量在语音处理系统中显得至关重要。

§2.4.1过零率

过零率(Zero Crossing Rate)是在每个音框中,音讯通过零点的次数。一般而言,噪声的过零率大于气音的过零率,而气音的过零率又大于有声音的过零率。一半情况下,噪声的波形和声音波形相比幅度非常小,为了排除噪声对过零率产生的影响,我将声音的原始谱向上平移,使得噪声的过零点影响大大减小。如下,图2-1展示了没有平移前的过零谱图,图2-2展示了

平移后的过零谱图。可以看出,平移后,话音可以很容易从噪音中区分开来。

x 104

-2-1

1

2

声音波

x 1040200

400600

过零谱

图2-1 平移前的过零谱

x 104

-2-1

1

2

声音波

x 104020

4060

过零谱

图2-2 平移后的过零谱

§2.4.2 音量

能量或者音量代表声音的大小,可由声音讯号的震幅来类比,又称为能量(Energy )或强度(Intensity )等。话音的能量远比噪声的能量要大,故可

用能量来区分是静音还是由话音。这里将每帧的幅度绝对值之和作为每一帧的总能量大小。音量谱如图2-3所示:

00.51 1.5

2 2.5

3 3.5x 104

-2-1

1

2

声音波形

00.51 1.52 2.53 3.5

x 104

0500

1000音量谱

图2-3 音量谱

§2.4.3 过零率和音量积谱

通常利用短时能量来检测浊音,用过零率来检测清音,两者配合实现可靠的端点检测。端点检测算法常用的是由语音能量和过零率组合的有双门限法,以及短时能量和过零率的乘积构成的能频值法。图2-4展示了过零谱、音量谱和过零率和能量成绩构成的谱线。

00.51 1.5

2 2.5

3 3.5x 104-20

2

声音波形

00.51 1.5

2 2.5

3 3.5x 1040

50

过零谱

0.51 1.52 2.53 3.5x 1040500

1000

音量谱

00.51 1.52 2.53 3.5

x 104

02

4

x 10

4过零音量积谱

图2-4 过零音量积谱

§2.4.4 用过零率和音量积谱来检测端点

端点检测算法常用的是由语音能量和过零率组合的有双门限法,以及短时能量和过零率的乘积构成的能频值法。这里采用的是第二种方法,通过能量和过零率的乘积构成的能频值来判断语音的端点。

这里我对端点进行了两级判断。首先根据过零率和音量积设定一个较高的门限T H , 若谱大于T H ,则可确定2个端点A 、 B, 并可认为这 2个端点之间是语音信号, 这样相当于完成初判。 再根据背景噪声的过零率和音量积设定一个比TH 稍低的门限T L , 如果信号的能量大于 TL ,则所对应的端点C 、 D 之间仍是语音信号,至此完成了第二级判断。

判断结果如图2-5所示:

00.51 1.52 2.53 3.5

x 10

4-2-1

1

2

声音波形

1.4 1.5 1.6 1.7 1.8 1.92

2.1

x 104-2-1

1

2

语音波形

图2-5 端点检测出的语音波形

§2.5 特征参数提取

§2.5.1 特征参数概述

对于特征参数,有多种参数可供选取。常见的有三种:

(1)线形预测系数特征矢量(LPC)

(2)LPC 倒谱特征矢量(LPCC)

(3)Mel 倒谱系数(MFCC)

1. 线性预测系数(LPC)

这里我采用最简单的一种线形预测系数特征矢量(LPC)。 线性预测(Linear Prediction)分析是最有效的语音分析技术之一,在语音编码、语音合成、语音识别和说话人识别等语音信号处理领域中得到了广泛的应用。基

相关主题