英语原文共 6 页
MCS51单片机控制轮椅的语音识别实现
Thiang
Petra Christian University
电气工程系
Siwalankerto 121-131,Surabaya,Indonesia
电子邮件:thiang@petra.ac.id
电话: 62-31-2983115
摘 要
本文介绍了微控制器语音识别的实现。该系统中使用的微控制器是ATMEL AT89C51RC微控制器,它是MCS51系列微控制器之一。语音识别系统被实现为识别用作控制轮椅运动的命令的单词。
有两种方法用于识别语音信号。第一种方法是线性预测编码与欧几里德平方距离相结合。LPC用作特征提取方法,欧几里德 平方距离用作识别方法。第二种方法是隐马尔可夫模型,用于构建单词的参考模型,也用作识别方法。在第二种方法中使用的特征提取方法是简单的分割和质心值。这两种方法都适用于时域。
两个DC电动机用作驱动轮椅的致动器。两个直流电机均由ATMEL AT89C52微控制器控制,并使用简单的开环控制系统。
进行实验以分析两种方法的性能。每种方法都有优点和缺点。使用LPC-Euclidean Squared Distance方法可以实现的最高平 均识别率为78.57%。使用HMM-Segmentation和Centroid方法可 以实现的最高平均识别率仅为32.86%。
关键词:线性预测编码,欧氏平方距离,隐马尔可夫模型,ATMEL AT89C51RC
第1章 介绍
四十多年来,机器自动语音识别一直是研究的目标。然而,尽管设计能够识别口语并理解其含义的智能机器具有魅力,并且尽管在尝试创建这样的机器方面花费了大量的研究努力,但它远未实现机器的期望目标。这可以理解所有环境中所有发言者对任何主题的口头讨论[1]。
语音识别系统也已在某些特定设备上实现。其中一些是 个人计算机(PC),数字信号处理器和另一种单芯片集成 电路。在[2]中引入了解决定点孤立字识别中出现的量化 问题的框架。该系统是使用在PC上实现的C 语言开发的。参考[3]描述了一种使用SPHINX-II的语音识别系统,SPHINX-II是一种现成的语音识别包[4]。参考[5]和[6],已经尝试在FPGA和ASIC上实现语音识别系统。本文介绍了在微控制器上实现的语音识别。实现语音识别的微控制器是ATMEL AT89C51RC。该微控制器是MCS51系列微控制器,选择该微控制器是因为它在印度尼西亚很受欢迎。
在微控制器上实现的语音识别系统用于识别语音信号中的单词。这些词被用作控制轮椅运动的命令。因此,该系统被设计为识别有限数量的单词。这也是由微控制器的数据存储器的限制数量引起的。只有七个词用作控制轮椅运动的命令。它们是停止,向前,向后,向左,向右,向上和向下,用于停止轮椅,向前移动轮椅,向后移动轮椅, 向左转轮椅,向右转轮椅,增加轮椅的速度,并分别降低轮椅的速度。
实施了两种方法来执行语音识别。第一种方法是线性预测编码(LPC)和欧几里德平方距离(ESD)。LPC用作特征提取方法,ESD用作识别方法。该方法基于模式识别方法。在该系统中应用的第二种方法是隐马尔可夫模型(HMM),其是被分类为统计模式识别的语音识别方法之一。HMM用作识别方法。作为特征提取方法,应用简单的分割和质心值。
本文第3节和第4节更详细地描述了这两种方法。轮椅的机构和硬件设计在本文的第2部分进行了解释。第5节介绍了已经完成的实验结果,最后一节是结论。
- 轮椅的机构和硬件设计
2.1 轮椅的机制
图2.1显示了轮椅机构的正视图和侧视图。
图2.1 轮椅的结构(正视图)
设计的轮椅具有以下规格:
-
- 轮椅的尺寸为60厘米times;78厘米times;110厘米。
- 轮椅有四个轮子:两个可旋转和直线方向自由移动的 枢轴前轮,两个后轮由两个带变速箱的直流电机驱动。一个直流电机驱动一个后轮。
- 前轮直径为10厘米,后轮直径为22厘米。
- 直流电机规格为20 V,2 A和200 rpm。
轮椅的最大线速度约为0.461米/秒或约1.66千米/小时。
2.2 轮椅的硬件设计
图2.2 硬件系统框图
系统硬件由三个主要部分组成。第一部分是直流电动机控制电路。该电路由控制器,潜水器和直流电机速度传感器电路组成。在这部分,ATMEL AT89C52微控制器用作控制器。第二部分是微控制器最小系统,它执行语音识别过程和麦克风接口。 在第二部分中,ATMEL AT89C51RC微控制器用作语音识别处理器。第三部分是接口电路。该电路执行DC电机控制器 和语音识别处理器之间的通信。该电路还从一组键盘读取 输入命令。ATMEL AT89C2051微控制器用作本部分的接口。图2.2显示了硬件系统的框图。
语音识别系统在ATMEL AT89C51RC微控制器上实现,该微控制器以24MHz的频率运行并具有32k字节的程序存储器。使用24 MHz时钟,微控制器执行指令的最快时间约为0.5 微秒。
AT89C51RC的最小系统采用256k字节外部随机存取存储 器(RAM)设计。图2.3显示了AT89C51RC最小系统的电路图。
图2.3 AT89C51RC最小系统,256k字节RAM和ADC0820
ADC0820用于将语音模拟信号转换为数字信号(见图3)。该ADC提供1.5mu;s的转换时间,足以满足8 kHz的采样速率。飞利浦的MD110麦克风被用作语音传感器,可将语音转换 为电信号。使用放大器和滤波器电路对麦克风的输出信号 进行放大和滤波,然后通过ADC将信号转换为数字信号。 采用截止频率为20 Hz的40 dB / Dec高通滤波器对信号进行滤波。
第3章 使用线性预测编码和欧几里德平方距离的语音识别
3.1 LPC训练系统
在微控制器上实现的第一种语音识别方法是线性预测编码(LPC),它与欧几里德平方距离(ESD)方法相结合。LPC用作特征提取方法,Euclidean Squared Distance用作识别方法。LPC和ESD训练和识别系统的图分别如图3.1和图3.2所示
图3.1 使用LPC的训练系统框图
图3.2 使用LPC和ESD的识别器系统框图
在训练系统中,训练数据直接从麦克风采样。然后,使用LPC处理器算法处理每个训练样本,并且该过程的结果是一组语音信号的倒谱系数。这些倒谱系数用作参考模型。实现了一种简单的算法来检测其存在性语音信号。系统读取四次连续采样数据,然后计算这四个数据的平均值。如果平均值小于极限值,表示没有语音信号。如果平均值大于或等于该极限值,则表示存在语音信号,然后微控制器将开始读取并记录0.5秒中的信号。处理LPC处理器的基本步骤包括以下[1] [7]:
1)预加重:放置数字化语音信号s(n)
通过低阶数字系统,对信号进行光谱展平并使其不易受到有限精度的影响
后来在信号处理中的影响。预强化器网络的输出通过差分方程与网络输入s(n)相关:
最常见的值约为0.95。
2)帧阻塞:预加重步骤的输出 ,s(n),是被阻挡成N个样本的帧,相邻的帧被M个样本分开。如果x(n)是第L个语音帧,并且有L帧在整个语音信号中,那么
- 窗口化:在帧阻塞之后,下一步是窗口化每个帧,以便最小化每帧开始和结束时的信号不连续性。如果我们将窗口定义为w(n),0le;nle;N - 1,那么窗口化的结果就是信号:
典型的窗口是汉明窗口,其形式为
- 自相关分析:下一步是自动关联窗口信号的每一帧以便给出
其中最高自相关值p是LPC分析的顺序。
- LPC分析:下一个处理步骤是LPC分析,它使用Durbin 方法将p 1自相关的每一帧转换为LPC参数集。这可以正式给出如下算法:
通过递归求解方程式6到10,对于i = 1,2,...,p,LPC 系数am给出为
LPC参数转换为倒谱系数:LPC倒谱系数是一个非常重要的LPC参数集,可以直接从
LPC系数集导出。使用的递归是
3.2 使用LPC和ESD的识别器系统
首先,也将使用LPC处理器处理未知语音信号。该过程的结果是未知语音信号的倒谱系数。然后,执行未知语音信号的倒谱系数与参考模型的倒谱系数之间的欧几里德平方距离的计算。计算欧几里德平方距离的每个参考完成。使用方程[8] [9]模型:
其中ESD是两点之间的平方距离,P =(P1,P2,...PN),Q=(Q1,Q2,...QN)。
未知语音信号将被识别为与未知语音信号具有最小距离的参考模型。
这种方法已在AT89C51RC微控制器上使用汇编语言实现。在系统中应用了一些限制和规范,即:语音信号的最大持续时间为0.5秒,信号的采样率为8 kHz,可存储在存储器中的最大参考模型数为38个模型,最大值LPC顺序为16,LPC倒谱矢量的最大维数也为16,帧阻塞处理(LPC处理器的一部分)中每帧的最大数据数为255,两个相邻帧之间的距离小于255且大于或等于80。
由于AT89C51RC最小系统中提供的限制存储器大小以及AT89C51RC是8位微控制器,因此确定了所有限制。
- 使用隐马尔可夫模型进行语音识别第二种语音识别方法实现
微控制器是隐马尔可夫模型(HMM),用作识别方法。在这种方法中,LPC处理器不用作特征提取方法,因为在AT89C51RC上实现时,LPC处理器的计算需要很长时间(约19秒)。因此,代替LPC处理器,实现了简单的特征提取算法,分割和质心,以减少计算时间。
4.1 HMM结构的设计
在该语音识别系统中实现的HMM的类型是左右模型,其也被称为Bakis模型。该模型具有随着时间增加,状态指数增加或保持在相同状态的特性。但是,在这种语音识别系统中,HMM模型被设计成使得状态索引总是随着时间的增加而增加并且永远不会保持在相同的状态。而且,随着时间的增加,状态指数总是增加1到下一个状态指数。图4.1示出了在设计的语音识别系统中使用的HMM的结构。
图4.1 N状态左右HMM模型
通过设计这样的HMM结构,状态转移概率分布固定为:
初始状态概率分布是固定的,因为初始状态始终是状态1. 状态永远不会从其他状态开始状态。因此,这个设计的HMM结构的初始状态概率分布是:
HMM的状态与时域中语音信号的时间间隔的片段相关联。HMM的观察符号与语音信号的幅度相关联。
4.2 培训系统使用HMM
HMM训练系统的框图如图所示,HMM训练系统的主要任务是创建每个单词样本的HMMlambda;模型。HMMlambda;模型的参数由状态数(N),观测符号数(M), 状态转移概率分布(A),观测符号概率分布(B)和初始 状态概率分布(pi;)组成。通过使用图4.2中所示的HMM结构, 除了根据训练数据集而变化的观察符号概率分布(B)之 外,所有参数都是已知的。因此,在该特定HMM训练系统 中,仅计算状态中的观察符号概率分布。其他参数是预定义的。
图4.2 HMM系统培训框图
基于时间间隔将语音信号分成若干段。每个片段将由质心值表示,该质心值通过计算片段中语音信号幅度的面积中心来确定。矢量量化应用于每个段的质心值,并得到每个状态的观察符号。状态1,状态2,直到状态N的观察符号序列表示该单词的观察序列。
如果在HMM语音识别系统中训练的每个单词的样本数是R, 并且通过特征提取将每个样本转换为观察序列,并且矢量量化过程中,状态下的观测符号概率分布(B)可以通过以下等式计算:
其中 bj(k)是观察符号v在状态j里面的概率,nj(vk)是该j状态下的观测符号vk的数量,R是样本数。
4.3 使用HMM的识别器系统
HMM识别器系统的方框图如图4.3所示。与HMM训练系统相同,首先,将未知单词的语音信号转换为该单词的观察序列。这是通过执行特征提取和矢量量化处理来完成的。然后,针对每个HMM单词模型计算给定模型lambda;的未知单词的观察序列概率。观察序列计算的概率通过使用正向过程方法完成。通过将设计的HMM(16)和(17) 的参数A和pi;应用于正向过程方程,观察序列的概率为O =(o1,o2, ... ,on),给定的模型可以使用以下等式计算:
bN (oN )是第N个状态N观察符号的概率(o N )。
等式19用于计算未知语音信号的观察序列概率,未知语音信号将被识别为具有最大观察序列概率的HMM字模型。
图4.3 HMM识别系统的框图
- 实验结果
因为在该系统中实施了两种方法,所以实验分为两个实验。首先是测试演讲性能的实验使用LPC和ESD的识别系统。第二是用于测试演讲
资料编号:[4462]
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。