当前位置:文档之家› 基于Matlab仿真的孤立词语音识别技术研究

基于Matlab仿真的孤立词语音识别技术研究

基于Matlab仿真的孤立词语音识别技术研究
基于Matlab仿真的孤立词语音识别技术研究

基于Matlab仿真的孤立词语音识别技术研究

摘要:研究一种改进的语音识别算法---改进的端点检测(滑动帧)动态时间规整(DTW)算法, 以一个能识别数字0~10的语音识别系统的实现过程为例,阐述了基于DTW算法的特定人孤立词语音识别的基本原理和关键技术。其中包括对语音端点检测方法、特征参数计算方法和DTW算法实现的详细讨论,最后给出了在Matlab下的编程方法和实验结果。

关键词:语音识别,端点检测,MFCC,动态时间规整算法,短时傅里叶变换Research Of Chinese Isolated Words Speech Recognition

Based on Matlab

Abstract: The paper researched an improved speech recognition system which is the moving frame of endpoint detection and simplified algorithm of Dynamic Time Warping (DTW) With an example of the realization of a 0~10 identifiable speech recognition system, the paper described the basic principles and key technologies of isolated word speech recognition based on DTW algorithm, including method of endpoint detection, calculation of characteristic parameters, and implementation of DTW algorithm. Programming method under Matlab and experimental results are given at the end of the paper.

Key: speech recognition,endpoint detection,MFCC,DTW, Short time Fourier transform

1引言

近年来,语音识别已经成为一个非常活跃的研究领域。在不远的将来,语音识别技术有可能作为一种重要的人机交互手段,辅助甚至取代传统的键盘、鼠标等输入设备,在个人计算机上进行文字录入和操作控制。而在手持式PDA、智能家电、工业现场控制等应用场合,语音识别技术则有更为广阔的发展前景21世纪是信息和网络的时代,Internet和移动通信、固话通信的网络把全球各地连接起来。自然口语对话、电子商务、信息索取、数字图书馆、语音翻译、远程教育等一系列的人类活动都可在网络上实现。语音识别系统的出现,会让人更加自由的沟通,让人在任何地方,任何时间,对任何事都能够通过语音交互的方式,方便地享受到更多的社会信息资源和现代化服务。这必然会成为语音识别技术研究和应用的重要发展趋势[1][2]。

当前,根据识别的对象不同,语音识别任务大体可分为3类,即

(1)孤立词识别(isolated word recognition),

(2)关键词识别(或称关键词检出,keyword spotting)

(3)连续语音识别。

孤立词识别的任务是识别事先已知的孤立的词,如“开机”、“关机”等;连续语音识别的任务则是识别任意的连续语音,如一个句子或一段话;连续语音流中的关键词检测针对的是连续语音,但它并不识别全部文字,而只是检测已知的若干关键词在何处出现,如在一段话中检测“计算机”、“世界”这两个词。

一般来说,语音识别的方法有三种:基于声道模型和语音知识的方法、利用人工神经网络的方法以及模式匹配的方法。其中模式匹配方法的发展比较成熟,目前已达到实用阶段,而其他两种方法由于其模型及语音知识过于复杂,现阶段还没有达到实用的阶段。就模式识别来说常用技术有:动态时间规整(DTW)、隐马尔可夫模型(HMM)。

本文采用了动态时间规整(DTW)的方法来实现对孤立词的识别,具体用来识别0~10十一个数字。

2 语音识别简介

2.1语音识别系统的分类

语音识别是近年来十分活跃的一个研究领域。在不远的将来,语音识别技术有可能作为一种重要的人机交互手段,辅助甚至取代传统的键盘、鼠标等输入设备,在个人计算机上进行文字录入和操作控制。本文介绍了语音识别的基本流程、所用到的语音参数算法、语音识别的训练算法和识别算法做初步的探究,主要运用了特定人孤立词识别的DTW算法和非特定人识别的连续HMM算法的MATLAB识别系统。

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

2.2语音识别系统的基本构成

语音识别系统的典型实现方案为:输入的模拟语音信号首先要进行预处理,包括预滤波、采样和量化、加窗、端点检测、预加重等。语音信号经预处理后,接下来很重要的一环就是

特征参数提取。对特征参数的要求是:

(1)提取的特征参数能有效地代表语音特征,具有很好的区分性。

(2)各阶参数之间有良好的独立性。

(3)特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实现。

在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模版库。在识别阶段,语音喜好经过相同的通道得到语音参数,生成测试模版,与参考模版进行匹配,将匹配分数最高的参考模版作为识别结果。同时还可以在很多先验知识的帮助下,提高识别的准确率。

3 参数提取

3.1语音识别系统概述

语音识别系统的典型原理框图,如图3-1所示。从图中可以看出语音识别系统的本质就是一种模式识别系统,它也包括特征提取、模式匹配、参考模式库等基本单元。由于语音信号是一种典型的非平稳信号,加之呼吸气流、外部噪音、电流干扰等使得语音信号不能直接用于提取特征,而要进行前期的预处理。预处理过程包括预滤波、采样和量化、分帧、加窗、预加重、端点检测等。经过预处理的语音数据就可以进行特征参数提取。在训练阶段,将特征参数进行一定的处理之后,为每个词条得到一个模型,保存为模板库。在识别阶段,语音信号经过相同的通道得到语音参数,生成测试模板,与参考模板进行匹配,将匹配分数最高的参考模板作为识别结果。后续的处理过程还可能包括更高层次的词法、句法和文法处理等,从而最终将输入的语音信号转变成文本或命令。

预处理特征提取测度估计失真测度模板库

语音输入

识别决策

识别

训练

识别结果

专家知识

图3-1 语音识别系统的典型原理框图

本文所描述的语音识别系统将对数字0~10共11段参考语音进行训练并建立模板库,之后将对多段测试语音进行识别测试。系统实现了上图中的语音输入、预处理、特征提取、训练建立模板库和识别等模块,最终建立了一个比较完整的语音识别系统。

3.1 语音信号预处理

语音信号的预处理模块一般包括预滤波、采样和量化、分帧、加窗、预加重、端点检测等。在不同的系统中对各子模块会有不同的要求,如在嵌入式语音识别系统中一般要求有防混叠滤波电路[5]、A/D转换电路和采样滤波电路等,而在计算机上实验时则可由音频采集卡完成,无需实验者亲自动手。

3.1.1语音信号采集

在Matlab环境中语音信号的采集可使用getaudiodata(recorder, dataType)函数采集[4],也可使用相关软件,如Adobe的Audition、Windows的“录音机”程序等,将录制成.wav文件然后使用wavread(file) 函数读入。为了进行实时的的训练和识别处理,本系统的训练语音和识别语音全部getaudiodata(recorder, dataType)录制。图3-2所示为数字10的采集语音言语数字3的信号波形图。

图3-2 数字10的语音波形

3.1.2 分帧

语音信号是一种典型的非平稳信号,它的均值函数u(x)和自相关函数R(xl,x2)都随时间而发生较大的变化[5][9]。但研究发现,语音信号在短时间内频谱特性保持平稳,即具有短时平稳特性。因此,在实际处理时可以将语音信号分成很小的时间段[2](约10~30ms),称之为“帧”,作为语音信号处理的最小单位,帧与帧的非重叠部分称为帧移,而将语音信号分成若干帧的过程称为分帧。分帧小能清楚地描绘语音信号的时变特征但计算量大;分帧大能减少计算量但相邻帧间变化不大,容易丢失信号特征。一般取帧长10-30ms,帧移为帧长的1/3~1/2。

在Matlab环境中的分帧最常用的方法是使用函数enframe(x,len,inc),其中x为语音信号,len为帧长,inc为帧移。在一般情况下帧长取240,帧移取80,而这种方法的缺陷在于,采集语音的前半部分和后半部分,可以认为是静音段,静音段仍然采用相同长度的帧长没有必要,只会增加计算量。因此本文中,提出了一种滑动帧的分帧方法,可以在语音静音段时,采用较长的窗:在语音和静音的过渡段时采用较小的窗,可以确切判断语音的起始点,一旦确定语音的起点就改用常规窗长。公式3-1、3-2,计算出语音信号半帧的点数,

31k =-」log[(fs/1000)/log2]+1 ()

322k s =- ( )

其中,fs 表示语音信号采样频率,」为向下取整符号,在Matlab 中可用floor 函数计算,s 表示每半帧的点数,因此在进行分帧是帧长len=2*s,帧移inc=s ,采用这种方法便可以有效的进行简化分帧运算。

3.1.3预加重

对于语音信号的频谱,通常是频率越高幅值越小,在语音信号的频率增加两倍时,其功率谱的幅度下降6dB 。因此必须对高频进行加重处理,一般是将语音信号通过一个一阶高通滤波器1-0.9375z-1,即为预加重滤波器。其目的是滤除低频干扰,特别是50Hz 到60Hz 的工频干扰,将对语音识别更为有用的高频部分进行频谱提升。在计算短时能量之前将语音信号通过预加重滤波器还可起到消除直流漂移、抑制随机噪声和提升清音部分能量的效果。预加重滤波器在Matlab 中可由语句x=filter([1-0.9375],1,x)实现[2]。

3.1.4加窗

为了保持语音信号的短时平稳性,利用窗函数来减少由截断处理导致的Gibbs 效应。用的最多的三种为矩形窗、汉明窗(Hamming)和汉宁窗(Hanning)。其窗函数如下,式中的N 为窗长,一般等于帧长。

窗口的选择非常重要,不同的窗口将使能量的平均结果不同。矩形窗的谱平滑,但波形细节丢失;而汉明窗则刚好相反,可以有效克服泄漏现象,具有平滑的低通特性[4][5][6]。因此,在语音的时域处理方法中,一般选择矩形窗,而在语音的频域处理方法中,一般选择汉明窗或汉宁窗[5-6]。在Matlab 中要实现加窗即将分帧后的语音信号乘上窗函数,如在Matlab 中加汉明窗即为x=x.*hamming(N)。本文中的端点检测采用时域方法故加矩形窗,计算MFCC 矩形窗:

汉明窗(Hamming ):

汉宁窗(Hanning):

W R = 1 (0≤n <N-1) 0 (Other)

W HM = 0.5-0.46cos(2πn/(N-1)) (0≤n <N-1) 0 (Other) W HN = 0.5-0.5cos(2πn/(N-1)) (0≤n <N-1)

{ { { 0 (Other)

(3-3)) (3-4)) (3-5)

系数时加汉明窗。

3.2端点检测

在基于DTW 算法的语音识别系统中,无论是训练和建立模板阶段还是在识别阶段,都先采用端点检测算法确定语音的起点和终点。语音端点检测是指用计算机数字处理技术从包含语音的一段信号中找出字、词的起始点及结束点,从而只存储和处理有效语音信号。对汉语来说,还可进一步找出其中的声母段和韵母段所处的位置。语音端点检测是语音分析、合成和识别中的一个重要环节,其算法的优劣在某种程度上也直接决定了整个语音识别系统的优劣。进行端点检测的基本参数主要有短时能量、幅度、过零率和相关函数等。端点检测最常见的方法是短时能量短时过零率双门限端点检测,近年来在此基础上发展出的动态窗长短时双门限端点检测方法[4]也被广泛使用。

3.2.1 短时能量

语音和噪声的主要区别在它们的能量上,如图3-2所示。语音采集是在相对安静的实验室进行的,由图3-1的数字10的实时波形能看到前端和尾端仍然有较大的噪声干扰,但语音段的能量比噪声段的大,语音段的能量是噪声段能量叠加语音声波能量的和。对第n 帧语音信号的短时能量En 的定义为:

1

20()-N n n m E x m -==∑ (36)

x n 为原样本序列在窗函数所切取出的第n 段短时语音,N 为帧长。因为在计算时使用的是信号的平方,故将E n 作为一个度量语音幅度值变化的函数有一个缺陷,即对高电平非常敏感。因此在许多场合会将E n 用下式来代替:

1

0|()|-N n n m E x m -==∑ (37)

这样就不会因为取平方而造成信号的小取样值的大取样值出现较大差异。

图3-3 数字10的短时过零率

本文中窗函数为WR 矩形窗(见公式3-3),N 为240,图3-3为数字10的短时能量图。

3.2.2短时过零率

短时过零表示一帧语音信号波形穿过横轴(零电平)的次数。对于连续语音信号,过零意味着时域波形通过时间轴;而对于离散信号,如果相邻的取样值的改变符号则称为过零。过零率就是样本改变符号次数,定义语音信号寿(m)的短时过零率Z n 为:

1

1|sgn[()]sgn[(1)]|-2N n n n m Z x m x m -==--∑ (38)

清音的能量多集中在较高的频率上,它的平均过零率要高于浊音,故短时过零率可以用来区分清音、浊音以及无声。图3-4和3-5为数字10和数字0的语音的短时过零率。从图中可以看到清音‘s ’的过零率明显高于其后的‘i ’音,有声段过零率明显高于无声段,但在鼻音阶段过零率迅速滑落到无声水平而能量值则是缓慢下滑。在实际应用时并不能通过式3-8直接计算过零率,因为在无声段噪声使语音波形在0值附近来回摆动,导致计算出的过零率和有声段的区别并不十分明显。比较简单的解决方法是设定一个差的阈值δ,使不仅x n (m)*x n (m-1)<0,还要|x n (m) - x n (m-1)| > δ。在本系统中经多次试验取定δ=0.01[5][7]。

图3-4 数字10的短时过零率

图3-5 数字0的短时过零率

3.3 语音识别参数提取

经过预处理的语音数据就可以进行特征参数提取,特征参数的好坏将直接影响系统的性1 (x ≥0) (3-9) -1 (x ≤0) sgn[x ]={

能和效率,对特征参数的要求包括[9][10]:

(1)提取的特征参数能有效地代表语音特征,具有很好的区分性;

(2)各阶参数之间有良好的独立性;

(3)特征参数要计算方便,最好有高效的计算方法,以保证语音识别的实时实现。 3.3.1 MFCC

LPC 模型是基于发音模型建立的,LPCC 系数也是一种基于合成的系数,这种参数没有充分利用人耳的听觉特性。实际上,人的听觉系统是一个特殊的非线性系统,它响应不同频率信号的灵敏度是不同的,基本上是一个对数的关系[1][2]。近年来,一种能够比较充分利用人耳的这种特殊感知特性的系数得到了广泛应用,这就是Mel 尺度倒谱系数(Mel-scaled Cepstrum Coefficients ,简称MFCC)。大量研究表明,MFCC 系数能够比LPCC 参数更好地提高系统的识别性能[3]。

MFCC 系数的计算是以“bank ”为其频率基准的,它和线性频率的转换关系是:

102595log (1)-10700

mel f f =+ (3) MFCC 系数也是按帧计算的,首先要通过FFT 得到该帧信号的功率谱S(n),转换为Mel 频率下的功率谱。这需要在计算之前先在语音的频谱范围内设置若干个带通滤波器:

H m (n) m =0,1,…,M -1; n=0,1,…,N /2-1 (3-11)

M 为滤波器的个数,通常取24,与临界带的个数一样;N 为一帧语音信号的点数,为了计算FFT 的方便,通常取256。滤波器在频域上为简单的三角形,其中心频率fm 在Mel 频率轴上是均匀分布的。如图3-6所示为Mel 尺度滤波器组,包含24个滤波器,语音信号帧长取为刚刚3.1节公式3-1和3-2滑动帧计算得到的点数点,语音信号的采样频率为8KHz 。

3-6 Mel 尺度滤波器组

带通滤波器的系数事先计算好,在计算MFCC 系数是直接使用。MFCC 系数的计算过

程如下:

(1)预处理:确定每一帧语音采样序列的长度,并对每帧序列s(n)进行预加重、分帧和加窗处理;

(2)计算离散功率谱:对预处理的每帧进行离散FFT 变换得到其频谱,再取模的平方作为离散功率谱S(n);

(3)将功率谱通过滤波器组:计算S(n)通过M 个Hm(n)后所得的功率值,即计算S(n)和Hm(n)在各离散频率点上的乘积之和,得到M 个参数Pm ,m=0,1,……M-1;

(4)取对数:计算Pm 的自然对数,得到Lm ,m=0,1,……M-1;

(5)离散余弦变换:对Lm 计算其离散余弦变换,得到D m ,m=0,1,……M-1,舍去代表直流成份的D0,取D1,D2,……,Dk 作为MFCC 参数。

具体流程可以用框图3-6表示为: 预处理FFT | |2Mel 滤波器组Log DCT 语音

信号MFCC

系数

图3-6 MFCC 系数计算流程图 在Matlab 环境中计算M 个滤波器的系数可以调用语音工具箱voicebox 中的函数melbankm(m,n,fs)来实现[3],其中m 为滤波器的个数,n 为语音帧长,fs 为采样频率。计算mfcc 系数的函数为melcepst(s,fs),s 为语音信号。

4 DTW 算法实现 DTW(Dynamic Time Warping ,动态时间规整)是语音识别中较为经典的一种算法。在实现小词汇表孤立词识别系统时,其识别率及其它指标与HMM 算法实现几乎等同[9]。又由于HMM 算法复杂,在训练阶段需要提供大量的语音数据通过反复计算才能得到模型参数,而DTW 算法本身既简单又有效,因此在特定的场合下获得了广泛的应用。

4.1匹配模式

模板匹配方法的语音识别算法需要解决的一个关键问题是说话人对同一个词的两次发音不可能完全相同,这些差异不仅包括音强的大小、频谱的偏移,更重要的是发音时音节的长短不可能完全相同,而且两次发音的音节往往不存在线性对应关系。设参考模板有M 帧矢量{R(1),R(2),…R(m),…,R(M)},R(m)为第m 帧的语音特征矢量,测试模板有N 帧矢量{T(1),T(2),…T(n),…,T(N)},T(n)是第n 帧的语音特征矢量。d(T(in),R(im))表示T 中第in 帧特征与R 中im 帧特征之间的距离,通常用欧几里德距离[7][8]表示。直接匹配是假设测试模板和参考模板长度相等,即in=im ;线性时间规整技术假设说话速度是按不同说话

单元的发音长度等比例分布的,即。显然,这两种假设都不符合实际语音的发音情况,我们需要一种更加符合实际情况的非线性时间规整技术。如图5-1所示为三种匹配模式对同一词两次发音的匹配距离(两条曲线间的阴影面积),显然D3

图4-1 三种匹配模式对比

4.2 DTW 算法原理

DTW 是把时间规整和距离测度计算结合起来的一种非线性规整技术,它寻找一个规整函数im=Ф(in),将测试矢量的时间轴n 非线性地映射到参考模板的时间轴m 上,并使该函数满足:

()1((),(()))min n n N

n n i i D d T i R i Φ==Φ∑ 

(4-1) D 就是处于最优时间规整情况下两矢量的距离。由于DTW 不断地计算两矢量的距离以寻找最优的匹配路径,所以得到的是两矢量匹配时累积距离最小所对应的规整函数,这就保证了它们之间存在的最大声学相似性。DTW 算法的实质就是运用动态规划的思想,利用局部最佳化的处理来自动寻找一条路径,沿着这条路径,两个特征矢量之间的累积失真量最小,从而避免由于时长不同而可能引入的误差。

DTW 算法要求参考模板与测试模板采用相同类型的特征矢量、相同的帧长、相同的窗函数和相同的帧移。为了使动态路径搜索问题变得有实际意义,在规整函数上必须要加一些限制,不加限制使用公式(4-1)找出的最优路径很可能使两个根本不同的模式之间的相似性很大,从而使模式比较变得毫无意义。通常规整函数必须满足如下的约束条件:

(1)边界限制:当待比较的语音已经进行精确的端点检测,在这种情况下,规整发生在起待测模式T 参考模式R t t

t t

t 直接匹配D 1(T ,R ) 线性匹配D 2(T ,R ) 非线性匹配D 3(T ,R )

点帧和端点帧之间,反映在规整函数上就是:

(1)1(){N M Φ

=Φ= (4-2)

(2)单调性限制由于语音在时间上的顺序性,规整函数必须保证匹配路径不违背语音信号各部分的时间顺序。即规整函数必须满足单调性限制:

(1)()n n i i Φ+≥Φ (4-3)

(3)连续性限制有些特殊的音素有时会对正确的识别起到很大的帮助,某个音素的差异很可能就是区分不同的发声单元的依据,为了保证信息损失最小,规整函数一般规定不允许跳过任何一点。即:

(1)()1n n i i Φ+-Φ≤ (4-4)

DTW 算法的原理图如图4-2,把测试模板的各个帧号n=1~N 在一个二维直角坐标系中的横轴上标出,把参考模板的各帧m=1~M 在纵轴上标出,通过这些表示帧号的整数坐标画出一些纵横线即可形成一个网格,网格中的每一个交叉点(ti,rj)表示测试模式中某一帧与训练。

模式中某一帧的交汇。DTW 算法分两步进行,一是计算两个模式各帧之间的距离,即求出帧匹配距离矩阵,二是在帧匹配距离矩阵中找出一条最佳路径。搜索这条路径的过程可以描述如下:搜索从(1,1)点出发,对于局部路径约束如图4-3,点(in,im)可达到的前一个格点只可能是(in-1,im)、(in-1,im-l)和(in-1,im-2)。那么(in,im)一定选择这三个距离中的最小者所对应的点作为其前续格点,这时此路径的累积距离为:

D(i n ,i m )=d(T(i n ),R(i m ))+min{D(i n -1,i m ),D(i n -1,i m -1),D(i n -1,i m -2)} (4-5) T Ф(1)=1

时间规整函数 1 2 3 i n N

R 1 2 i m M

Ф(N)=M

图4-2 DTW 算法原理图 (i n

, (i n -1 , i m ) (i n -1 ,

(i n -1 , 图4-3 局部约束路径

这样从(l,1)点出发(令D(1,1)=0)搜索,反复递推,直到(N,M)就可以得到最优路径,而且D(N,M)就是最佳匹配路径所对应的匹配距离。在进行语音识别时,将测试模板与所有参考模板进行匹配,得到的最小匹配距离Dmin(N,M)所对应语音即为识别结果。

4.3 DTW算法改进

DTW算法虽然简单有效,但是动态规划方法需要存储较大的矩阵,直接计算将会占据较大的空间,计算量也比较大。由图4-3的局部路径约束可知DTW算法所动态搜索的空间其实并不是整个矩形网格,而是局限于对角线附近的带状区域[5][6],如图4-4所示,许多点实际上是达不到的。因此,在实际应用中会将DTW算法进行一些改进以减少存储空间和降低计算量。常见的改进方法有搜索宽度限制、放宽端点限制等。

4.3.1 搜索宽度限制

以图4-3中的局部约束路径为例,待测模板轴上每前进一帧,对于点(in,im)只需要用到前一列(in-1,im)、(in-l,im-l)和(in-1,im-2)三点的累积距离,也就是im-1和im-2两行的累积距离。整个DTW算法的计算过程递推循环进行,也就是每一行中的格点利用前两行格点的累积距离计算该点的累积距离的过程。基于这种循环递推计算,只需分配3×N的存储空间重复使用,而不需要保存帧匹配距离矩阵和所有的累积距离矩阵。又由于DTW算法的动态搜索宽度局限于对角线附近的带状区域,假设其宽度为width,如图4-4和图4-6,则实际只需分配3×width的存储空间即可。

图4-4 带状搜索区域图4-5 搜索宽度限制存储空间

4.3.2 放宽端点限制

普通DTW对端点检测比较敏感,端点信息是作为一组独立的参数提供给识别算法的。它要求两个比较模式起点对起点,终点对终点,对端点检测的精度要求比较高。当环境噪声比较大或语音由摩擦音构成时,端点检测不易进行,这就要求在动态时间规整过程中给以考虑。放松端点限制方法不严格要求端点对齐,克服由于端点算法不精确造成的测试模式和参考模式起点终点不能对齐的问题。一般情况下,起点和终点在纵横两个方向只要放宽2-3帧就可以,也就是起点可以在(1,1),(l,2),(1,3),(2,1),(3,l),终点类似。如图4-6。

图4-6 改进的DTW 算法原理图 在放宽端点限制的DTW 算法中,累积距离矩阵中的元素(1,l),(l,2),(l,3),(2,l),(3,1)不是根据局部判决函数计算得到的,而是直接将帧匹配距离矩阵的元素填入,自动从其中选择最小的一个作为起点,对于终点也是从松弛终点的允许范围内选择一个最小值作为参考模式和未知模式的匹配距离。

5 Matlab 仿真及结果

我们知道,汉语中摩擦音在机器进行识别的过程中噪声干扰最大,而本文中0-10中磨擦音有3、4、10三个数字,读音相近的数字有1和7,大量实验验证汉语数字中9的识别率最高[1],下面就上述数字进行了测试。以4为例,图5-1为数字4的学习过程的端点检测图,图5-2为数字4学习过程的功率谱以及mel 滤波器组图。表5-1,为最后多个人多次实验测试的结果分析,图5-3为识别过程端点检测图,图5-4为最后的识别结果图。 数字

0 1 2 3 4 5 6 7 8 9 10 正确数

10 9 10 8 8 10 10 9 10 9 8 错误数

0 1 0 2 2 0 0 1 0 1 2 正确率 1.00 0.90 1.00 0.80 0.80 1.00 1.00 0.90 1.00 0.90 0.80

表5-1 实验测试的结果分析

C k =(i k , C 1=(1, 1)

C K =(I, J) j = i - r

j = i + r

时间规整函数 width

i j t 1 t 2 t 3 t i

t I T

R r 1 r 2 r j r J

00.10.20.30.40.50.60.70.80.9

-1-0.500.5(I) 当前语音信号波形Time:s

A m p (n o r m a l i z e d

)5101520253035

4045505560

0100(II) 短时过零率Frame

Z C

R 510152025303540

45505560

020

(III) 短时能量Frame

E n e r g y

1000200030004000

500060007000

-1-0.500.5(I) 当前语音信号Sample S p e e c h

图5-1 数字4的学习过程的端点检测

020406080

100120140

00.5

1

Mel-Spaced Filterbank

Frequency [Hz]

204060

8010012001

2345

Power Spectrum Frame F r e q u e n c y [H z ]

图5-2 数字4的学习过程功率谱以及mel 滤波器组

00.10.20.30.40.50.60.70.80.91

-1-0.50

0.5(I) 当前语音信号波形Time:s

A m p (n o r m a l i z e d )1020

3040

5060

0100(II) 短时过零率Frame

Z C R 10203040

5060

020

(III) 短时能量Frame

E n e r g

y 10002000300040005000

600070008000

-1-0.500.5(I) 当前语音信号Sample S p e e c h

图5-3为识别过程端点检测图

图5-4为最后的识别结果图

参考文献

[1] 张雪英.数字语音信号处理及Matlab 仿真[M].电子工业出版社,2012

[2] 张雄伟.现代语音处理技术及应用[M].机械工业出版社,2009

[3]胡广书.数字信号处理理论、算法与实现[M].清华大学出版社,1997

[4]罗华飞.Matlab GUI 设计学习手记[M].北京航空航天大学出版社,2011

[5]Sonam Kumari,controlling of device through voice recognition using Matlab[J].International Journal of Advanced Technology & Engineering Research (IJATER),2012

[6]Palden Lama.Speech Recognition with Dynamic TimeWarping using MA TLAB[J].PROJECT REPORT,2010

[7]David Roberts.V oice Recognition Using MA TLAB[J].Connexions module: m33347

[8]刘静.基于DTW改进算法的孤立词语音识别仿真[J].山东理工大学学报,2013

[9]谭保华,熊健民,刘幺和. 语音识别技术概述[J]. 郧阳师范高等专科学校学报, 2004

[10]朱淑琴. 语音识别系统关键技术研究[硕士学位论文] [D]. 西安电子科技大学, 2004

利用MATLAB平台实现少量字的语音识别

目录 引言 (4) 1.语音识别简介 (5) 1.1语音识别系统的分类 (5) 1.2语音识别系统的基本构成 (5) 2.语音识别参数 (6) 2.1线性预测系数(LPC) (6) 2.2线性预测倒谱系数(LPCC) (8) 2.3MFCC系数 (8) 2.4参数计算流程 (9) 3.DTW算法 (11) 3.1DTW算法原理 (11) 3.2DTW的高效算法 (14) 4.HMM算法 (16) 4.1HMM的原理 (16) 4.2HMM的前向概率和后向概率 (17) 4.3识别算法——V ITERBI解码 (19) 4.4 BAUM-WELCH算法 (20) 5.实验及总结 (23) 5.1实验准备以及步骤 (23) 5.2实验结果及讨论 (25) 5.3实验结论 (29) 参考文献 (30) 致谢 (31)

引言 自上世纪80年代开始,语音识别技术的研究进入了一个蓬勃发展的时期,一些商用系统也从实验室进入市场。然而,在实际的应用中,由于各种干扰因素导致的测试条件与训练环境的不匹配,系统的性能往往会收到极大的影响。因此提高语音识别系统的性能就成为了语音识别技术真正走向实用化的关键课题。 语音识别是以声音作为研究对象它是语音信号处理的一个重要研究方向,是模式识别的一个分支涉及到生理学、心理学、语言学、计算机科学以及信号处理等诸多领域,甚至还涉及到人的体态语言(如人在说话时的表情、手势等行为动作可帮助对方理解),其最终目标是实现人与机器进行自然语言通信。本文研究了汉语语音识别技术及其实现方法。论文首先分析了语音信号预处理问题。对MFCC倒谱系数在语音识别中的运用做了详细介绍。其次研究了基于DTW的语音识别系统,针对DTW算法中系统识别性能过分依赖于端点检测、动态规划的计算量太大等缺陷,分别提出了快速DTW算法和端点松动的DTW算法,仿真结果比较理想。继而研究了基于HMM的语音识别系统。针对HMM在实际应用中的优化计算问题,包括初始模型选取,定标等进行了深入的分析与探讨。针对传统定标仍能溢出的问题,给出了无溢出的参数重估公式。

语音识别Matlab可视化编程(部分)

附录1:录音函数:audiorecorder.m % 运行平台:Windows 8.1 64bit MATLAB R2014a % 录音2秒钟 clear all;clc;close all; fs = 16000; %2é?ù?μ?ê recorder = audiorecorder; disp('Start speaking.') recordblocking(recorder, 2); disp('End of Recording.'); % 回放录音数据 play(recorder); % 获取录音数据 xx = getaudiodata(recorder,'int16'); %绘制录音数据波形 plot(xx); A6:“录音”按键回调函数 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) fs = 16000; recorder = audiorecorder; disp('Start speaking.') recordblocking(recorder, 2); disp('End of Recording.'); % 回放录音数据 % play(recorder); % 获取录音数据 k = getaudiodata(recorder,'int16'); plot(handles.axes1,k); load mfcc.mat; [StartPoint,EndPoint]=vad(k,fs); cc=mfcc(k); cc=cc(StartPoint-2:EndPoint-2,:); test.StartPoint=StartPoint; test.EndPoint=EndPoint;

特定人孤立词语音识别的研究毕业论文

本科学生毕业论文(设计) 题目(中 文): 特定人孤立词语音识别的研究 (英文): Research Of Speaker-dependent Isolated-word Speech recognition 姓名学号院(系)专业、年级指导教师

毕业设计(论文)原创性声明和使用授权说明 原创性声明 本人重承诺:所呈交的毕业设计(论文),是我个人在指导教师的指导下进行的研究工作及取得的成果。尽我所知,除文中特别加以标注和致谢的地方外,不包含其他人或组织已经发表或公布过的研究成果,也不包含我为获得及其它教育机构的学位或学历而使用过的材料。对本研究提供过帮助和做出过贡献的个人或集体,均已在文中作了明确的说明并表示了谢意。 作者签名:日期: 指导教师签名:日期: 使用授权说明 本人完全了解大学关于收集、保存、使用毕业设计(论文)的规定,即:按照学校要求提交毕业设计(论文)的印刷本和电子版本;学校有权保存毕业设计(论文)的印刷本和电子版,并提供目录检索与阅览服务;学校可以采用影印、缩印、数字化或其它复制手段保存论文;在不以赢利为目的前提下,学校可以公布论文的部分或全部容。

作者签名:日期:

科技学院本科毕业论文(设计)诚信声明 本人重声明:所呈交的本科毕业论文(设计),是本人在指导老师的指导下,独立进行研究工作所取得的成果,成果不存在知识产权争议,除文中已经注明引用的容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。对本文的研究做出重要贡献的个人和集体均已在文中以明确方式标明。本人完全意识到本声明的法律结果由本人承担。 本科毕业论文(设计)作者签名: 二○○八年月日

春MATLAB仿真期末大作业

MATLAB仿真 期末大作业 姓名:班级:学号:指导教师:

2012春期末大作业 题目:设单位负反馈控制系统前向通道传递函数由)()(21s G s G 和串联,其中: ) 1(1)()(21++==s A s G s K s G A 表示自己学号最后一位数(可以是零),K 为开环增益。要求: (1)设K=1时,建立控制系统模型,并绘制阶跃响应曲线(用红色虚线,并标注坐标和标题);求取时域性能指标,包括上升时间、超调量、调节时间、峰值时间; (2)在第(1)问中,如果是在命令窗口绘制阶跃响应曲线,用in1或者from workspace 模块将命令窗口的阶跃响应数据导入Simulink 模型窗口,用示波器显示阶跃响应曲线;如果是在Simulink 模型窗口绘制阶跃响应曲线,用out1或者to workspace 模块将Simulink 模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线。 (3)用编程法或者rltool 法设计串联超前校正网络,要求系统在单位斜坡输入信号作用时,速度误差系数小于等于0.1rad ,开环系统截止频率s rad c /4.4''≥ω,相角裕度大于等于45度,幅值裕度大于等于10dB 。

仿真结果及分析: (1)、(2)、将Simulink模型窗口的阶跃响应数据导入命令窗口并绘制阶跃响应曲线 通过在Matlab中输入命令: >> plot(tout,yout,'r*-') >> title('阶跃响应曲线') 即可得出系统阶跃响应曲线,如下: 求取该控制系统的常用性能指标:超调量、上升时间、调节时间、峰值时间的程序如下: G=zpk([],[0,-1],5)。 S=feedback(G,1)。

matlab语音识别系统(源代码)最新版

matlab语音识别系统(源代码)最新版

目录 一、设计任务及要求 (1) 二、语音识别的简单介绍 2.1语者识别的概念 (2) 2.2特征参数的提取 (3) 2.3用矢量量化聚类法生成码本 (3) 2.4VQ的说话人识别 (4) 三、算法程序分析 3.1函数关系 (4) 3.2代码说明 (5) 3.2.1函数mfcc (5) 3.2.2函数disteu (5) 3.2.3函数vqlbg (6) 3.2.4函数test (6) 3.2.5函数testDB (7) 3.2.6 函数train (8) 3.2.7函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12)

一、设计任务及要求 用MATLAB实现简单的语音识别功能; 具体设计要求如下: 用MATLAB实现简单的数字1~9的语音识别功能。 二、语音识别的简单介绍 基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 2.1语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用电话网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不同领域中的进步都对说话人识别的发展做出了贡献。说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。在吃力语音信号的时候如何提取信号中关键的成分尤为重要。语音信号的特征参数的好坏直接导致了辨别的准确性。

基于MATLAB的语音信号采集与处理

工程设计论文 题目:基于MATLAB的语音信号采集与处理 姓名: 班级: 学号: 指导老师:

一.选题背景 1、实践意义: 语音信号是一种非平稳的时变信号,它携带着各种信息。在语音编码、语音合成、语音识别和语音增强等语音处理中无一例外需要提取语音中包含的各种信息。语音信号分析的目的就在于方便有效地提取并表示语音信号所携带的信息。所以理解并掌握语音信号的时域和频域特性是非常重要的。 通过语音相互传递信息是人类最重要的基本功能之一.语言是人类特有的功能.声音是人类常用工具,是相互传递信息的最重要的手段.虽然,人可以通过多种手段获得外界信息,但最重要,最精细的信息源只有语言,图像和文字三种.与用声音传递信息相比,显然用视觉和文字相互传递信息,其效果要差得多.这是因为语音中除包含实际发音容的话言信息外,还包括发音者是谁及喜怒哀乐等各种信息.所以,语音是人类最重要,最有效,最常用和最方便的交换信息的形式.另一方面,语言和语音与人的智力活动密切相关,与文化和社会的进步紧密相连,它具有最大的信息容量和最高的智能水平。 语音信号处理是研究用数字信号处理技术对语音信号进行处理的一门学科,处理的目的是用于得到某些参数以便高效传输或存储;或者是用于某种应用,如人工合成出语音,辨识出讲话者,识别出讲话容,进行语音增强等. 语音信号处理是一门新兴的学科,同时又是综合性的多学科领域,

是一门涉及面很广的交叉学科.虽然从事达一领域研究的人员主要来自信息处理及计算机等学科.但是它与语音学,语言学,声学,认知科学,生理学,心理学及数理统计等许多学科也有非常密切的联系. 语音信号处理是许多信息领域应用的核心技术之一,是目前发展最为迅速的信息科学研究领域中的一个.语音处理是目前极为活跃和热门的研究领域,其研究涉及一系列前沿科研课题,巳处于迅速发展之中;其研究成果具有重要的学术及应用价值. 数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。具有灵活、精确、抗干扰强、度快等优点。 数字滤波器, 是数字信号处理中及其重要的一部分。随着信息时代和数字技术的发展,受到人们越来越多的重视。数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。 FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能

孤立词语音识别程序

孤立词语音识别程序

信息处理仿真实验语音处理部分 一、实验目的 按所学相关语音处理的知识,自己设计一个孤立词语音识别程序,分析所设计系统的特性。熟悉不同模块间如何进行有效的组合,以及模 块内的设计,重点掌握特征参数的提取和模式识别方法,并对不同的特 征参数提取方法和模式匹配方法有大概的了解,知道其不同的优缺点。 二、实验内容 1、熟悉预处理、特征参数提取、模式匹配三个模块的原理,并设计 这三个模块的matlab子程序。 2、设计主程序,将上述3个模块合理组合构成一个系统,训练模板并 测试。 三、实验原理及设计步骤 1、孤立词语音识别系统:先用端点检测将语音中有用的语音部分提取出来(即 将头部和尾部的静音部分除掉),然后提取语音信号的Mel尺度倒谱参数(MFCC),进行动态归整(DTW算法)后与模板库里面的标准语音作比较,具体流程如下: 图3.1孤立词语音识别系统 2、各模块解析 ⑴预处理:包括反混叠失真滤波器、预加重器、端点检测和噪声滤波器。这里 将预加重器和噪声滤波器放在下一个模块里,所以预处理主要进行端点检测以捕捉到数据中的语音信息。 端点检测采用双门限法来检测端点。同时,利用过零率检测清音,用短时能量检测浊音,两者配合。整个语音信号的端点检测可以分为四段:静音、过渡段、语音段、结束。程序中使用一个变量status来表示当前 所处的状态。 在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进入过渡段。 在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要

两个参数的数值都回落到低门限以下,就将当前状态恢复到静音状态。 而如果在过渡段中两个参数中任意一个超过了高门限,就可以确信 进入语音段了。 一些突发性的噪声可以引发短时能量或过零率的数值很高,但是往往不 能维持足够长的时间,这些可以通过设定最短时间门限来判别。当 前状态处于语音段时,如果两个参数的数值降低到低门限以下,而 且总的计时长度小于最短时间门限,则认为这是一段噪音,继续扫 描以后的语音数据。否则就标记好结束端点,并返回 ⑵特征参数提取:常用的语音识别参数有线性预测参数(LPC),线性预测倒谱 参数(LPCC)和Mel 尺度倒谱参数(MFCC)等。这里提取语音信号的Mel 尺度倒谱参数(MFCC),步骤如下: 预 加 重汉明窗傅立叶变 换取模三角滤波函数组取对数离散余弦变换语音 信号MFCC 归一化导谱提升计算差分系数并合 并特征参数 图3.2特征参数提取 分析: ①预加重 ()()-0.97(1)y n x n x n =- ②加汉明窗 ()()()w x n y n w n =? ③ FFT 1 2/0()()N j nk N w w n X k x n e π--==∑ 这里直接采用现成的FFT 快速算法。 ④对频谱进行三角滤波 程序采用归一化mel 滤波器组系数 ⑤计算每个滤波器的输出能量 120()ln ()()0N w m k S m X k H k m M -=??=≤< ??? ∑ ⑥离散余弦变换(DCT)得到MFCC ()1()()cos (0.5)/1,2,...,M m C n S m n m M n p π==-=∑ 通常协方差矩阵一般取对角阵,三角滤波器组的对数能量输出之间

电机学matlab仿真大作业报告

. 基于MATLAB的电机学计算机辅助分析与仿真 实验报告

一、实验内容及目的 1.1 单相变压器的效率和外特性曲线 1.1.1 实验内容 一台单相变压器,N S =2000kVA, kV kV U U N N 11/127/21=,50Hz ,变压器的参数 和损耗为008.0* ) 75(=C k o R ,0725.0*=k X ,kW P 470=,kW P C KN o 160)75(=。 (1)求此变压器带上额定负载、)(8.0cos 2滞后=?时的额定电压调整率和额定效率。 (2)分别求出当0.1,8.0,6.0,4.0,2.0cos 2=?时变压器的效率曲线,并确定最大效率和达到负载效率时的负载电流。 (3)分析不同性质的负载(),(8.0cos 0.1cos ),(8.0cos 222超前,滞后===???)对变压器输出特性的影响。 1.1.2 实验目的 (1)计算此变压器在已知负载下的额定电压调整率和额定效率 (2)了解变压器效率曲线的变化规律 (3)了解负载功率因数对效率曲线的影响 (4)了解变压器电压变化率的变化规律 (5)了解负载性质对电压变化率特性的影响 1.1.3 实验用到的基本知识和理论 (1)标幺值、效率区间、空载损耗、短路损耗等概念 (2)效率和效率特性的知识 (3)电压调整率的相关知识 1.2串励直流电动机的运行特性 1.2.1实验内容 一台16kw 、220V 的串励直流电动机,串励绕组电阻为0.12Ω,电枢总电阻为0.2Ω。电动势常数为.电机的磁化曲线近似的为直线。其中为比例常数。假设电枢电流85A 时,磁路饱和(为比较不同饱和电流对应的效果,饱和电流可以自己改变)。

matlab语音识别系统(源代码)

(威海)《智能仪器》课程设计 题目: MATLAB实现语音识别功能班级: 学号: 姓名: 同组人员: 任课教师: 完成时间:2012/11/3 目录

一、设计任务及要求 (1) 二、语音识别的简单介绍 2.1语者识别的概念 (2) 2.2特征参数的提取 (3) 2.3用矢量量化聚类法生成码本 (3) 2.4VQ的说话人识别 (4) 三、算法程序分析 3.1函数关系 (4) 3.2代码说明 (5) 3.2.1函数mfcc (5) 3.2.2函数disteu (5) 3.2.3函数vqlbg (6) 3.2.4函数test (6) 3.2.5函数testDB (7) 3.2.6 函数train (8) 3.2.7函数melfb (8) 四、演示分析 (9) 五、心得体会 (11) 附:GUI程序代码 (12) 一、设计任务及要求 用MATLAB实现简单的语音识别功能;

具体设计要求如下: 用MATLAB实现简单的数字1~9的语音识别功能。 二、语音识别的简单介绍 基于VQ的说话人识别系统,矢量量化起着双重作用。在训练阶段,把每一个说话者所提取的特征参数进行分类,产生不同码字所组成的码本。在识别(匹配)阶段,我们用VQ方法计算平均失真测度(本系统在计算距离d时,采用欧氏距离测度),从而判断说话人是谁。 语音识别系统结构框图如图1所示。 图1 语音识别系统结构框图 2.1语者识别的概念 语者识别就是根据说话人的语音信号来判别说话人的身份。语音是人的自然属性之一,由于说话人发音器官的生理差异以及后天形成的行为差异,每个人的语音都带有强烈的个人色彩,这就使得通过分析语音信号来识别说话人成为可能。用语音来鉴别说话人的身份有着许多独特的优点,如语音是人的固有的特征,不会丢失或遗忘;语音信号的采集方便,系统设备成本低;利用网络还可实现远程客户服务等。因此,近几年来,说话人识别越来越多的受到人们的重视。与其他生物识别技术如指纹识别、手形识别等相比较,说话人识别不仅使用方便,而且属于非接触性,容易被用户接受,并且在已有的各种生物特征识别技术中,是唯一可以用作远程验证的识别技术。因此,说话人识别的应用前景非常广泛:今天,说话人识别技术已经关系到多学科的研究领域,不同领域中的进步都对说话人识别的发展做出了贡献。说话人识别技术是集声学、语言学、计算机、信息处理和人工智能等诸多领域的一项综合技术,应用需求将十分广阔。在吃力语音信号的时候如何提取信号中关键的成分尤为重要。语音信号的特征参数的好坏直接导致了辨别的准确性。 2.2特征参数的提取 对于特征参数的选取,我们使用mfcc的方法来提取。MFCC参数是基于人的听觉特性利用人听觉的屏蔽效应,在Mel标度频率域提取出来的倒谱特征参数。

基于语音识别的智能小车设计-毕设论文

基于语音识别的智能小车 摘要 随着计算机技术、模式识别和信号处理技术及声学技术等的发展,使得能满足各种需要的语音识别系统的实现成为可能。近二三十年来,语音识别在计算机、信息处理、通信与电子系统、自动控制等领域中有着越来越广泛的应用。本设计是语音识别在控制领域的一个很好实现,它将原本需要手工操作的工作用语音来方便地完成。 语音识别按说话人的讲话方式可分为孤立词(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.

用于孤立词识别的语音识别系统实验报告

用于孤立词识别的语音识别系统实验报告 语音是人际交流的最习惯、最自然的方式,它将成为让计算机智能化地与人通信,人机自然地交互的理想选择。让说话代替键盘输入汉字,其技术基础是语音识别和理解。语音识别将人发出的声音、音节、或短语转换成文字和符号,或给出响应执行控制,作出回答。 该系统用于数字0~9的识别,系统主要包括训练和识别两个阶段。实现过程包括对原始语音进行预加重、分帧、加窗等处理,提取语音对应的特征参数。在得到了特征参数的基础上,采用模式识别理论的模板匹配技术进行相似度度量,来进行训练和识别。在进行相似度度量时,采用DTW 算法对特征参数序列重新进行时间的对准。 一、 特征提取 1、端点检测 利用短时平均幅度和短时过零率进行端点检测,以确定语音有效范围 的开始和结束位置。 首先利用短时平均幅度定位语音的大致位置。做法为:(1)确定一个 较高的阈值MH,短时平均幅度大于MH 的部分一定是语音段。(2)分别沿这一语音段向两端搜索,大于某个阈值ML 的部分还是语音段,这样能较为准确地确定语音的起始点,将清音与无声段分开。因为清音的过零率远远高于无声段,确定一个过零率的阈值Z min , 从ML 确定的语音段向前搜 索不超过一帧的长度,短时过零率突然低于Z min 三倍的点被认为是语音的 起始点。 2、预加重 对输入的原始语音进行预加重,其目的是为了对语音的高频部分进行加重,增加语音的高频分辨率。假设在n 时刻的语音采样值为x(n),则经过预加重处理后的结果为: y(n)=x(n)+αx(n-1) α=0.98 3、分帧及加窗 语音具有短时平稳的特点,通过对语音进行分帧操作,可以提取其短时特性,便于模型的建立。帧长取为30ms ,帧移取为10ms ,然后将每帧信号用Hamming 窗相乘,以减小帧起始和结束处的信号不连续性。Hamming 窗函数为: w(n)=0.54-0.46cos(1 2-N n π) (0≤n ≤N-1) 该系统中,hamming 窗的窗长N 取为240。 设原始信号为s(n),加窗后为:

matlab 大作业

上海电力学院 通信原理Matlab仿真 实验报告 实验名称: 8QAM误码率仿真 试验日期: 2014年 6月3日 专业:通信工程 姓名:罗侃鸣 班级: 2011112班 学号: 20112272

一、实验要求 写MATLAB程序,对图示的信号星座图完成M=8的QAM通信系统Monte Carlo仿真,在不同SNRindB=0:15时,对N=10000(3比特)个符号进行仿真。画出该QAM系统的符号误码率。 二、实验原理 1 QAM调制原理 QAM(Quadrature Amplitude Modulation)正交幅度调制技术,是用两路独立的基带信号对两个相互正交的同频载波进行抑制载波双边带调幅,利用这种已调信号的频谱在同一带宽内的正交性,实现两路并行的数字信息的传输。该调制方式通常有8QAM,16QAM,64QAM。 QAM调制实际上就是幅度调制和相位调制的组合,相位+ 幅度状态定义了一个数字或数字的组合。QAM的优点是具有更大的符号率,从而可获得更高的系统效率。通常由符号率确定占用带宽。因此每个符号的比特(基本信息单位)越多,频带效率就越高。 调制时,将输入信息分成两部分:一部分进行幅度调制;另一部分进行相位调制。对于星型8QAM信号,每个码元由3个比特组成,可将它分成第一个比特和后两个个比特两部分。前者用于改变信号矢量的振幅,后者用于差分相位调制,通过格雷编码来改变当前码元信号矢量相位与前一码元信号矢量相位之间的相位差。 QAM是一种高效的线性调制方式,常用的是8QAM,16QAM,64QAM等。当随着M 的增大,相应的误码率增高,抗干扰性能下降。 2 QAM星座图 QAM调制技术对应的空间信号矢量端点分布图称为星座图。QAM的星座图呈现星状分

人脸识别系统设计与仿真 基于matlab的(含matlab源程序)版权不归自己 交流使用

人脸识别系统设计与仿真基于matlab的(含matlab源程序) 交流使用参考后自行那个删除后果自负 目录 第一章绪论 (2) 1.1 研究背景 (2) 1.2 人脸图像识别的应用前景 (3) 1.3 本文研究的问题 (4) 1.4 识别系统构成 (5) 1.5 论文的内容及组织 (7) 第二章图像处理的Matlab实现 (8) 2.1 Matlab简介 (8) 2.2 数字图像处理及过程 (8) 2.2.1图像处理的基本操作 (8) 2.2.2图像类型的转换 (9) 2.2.3图像增强 (9) 2.2.4边缘检测 (10) 2.3图像处理功能的Matlab实现实例 (11) 2.4 本章小结 (15) 第三章人脸图像识别计算机系统 (16) 3.1 引言 (16) 3.2系统基本机构 (17)

3.3 人脸检测定位算法 (18) 3.4 人脸图像的预处理 (25) 3.4.1 仿真系统中实现的人脸图像预处理方法 (26) 第四章基于直方图的人脸识别实现 (29) 4.1识别理论 (29) 4.2 人脸识别的matlab实现 (29) 4.3 本章小结 (30) 第五章总结 (31) 致谢 (32) 参考文献 (33) 附录 (35)

第一章绪论 本章提出了本文的研究背景及应用前景。首先阐述了人脸图像识别意义;然后介绍了人脸图像识别研究中存在的问题;接着介绍了自动人脸识别系统的一般框架构成;最后简要地介绍了本文的主要工作和章节结构。 1.1 研究背景 自70年代以来.随着人工智能技术的兴起.以及人类视觉研究的进展.人们逐渐对人脸图像的机器识别投入很大的热情,并形成了一个人脸图像识别研究领域,.这一领域除了它的重大理论价值外,也极具实用价值。 在进行人工智能的研究中,人们一直想做的事情就是让机器具有像人类一样的思考能力,以及识别事物、处理事物的能力,因此从解剖学、心理学、行为感知学等各个角度来探求人类的思维机制、以及感知事物、处理事物的机制,并努力将这些机制用于实践,如各种智能机器人的研制。人脸图像的机器识别研究就是在这种背景下兴起的,因为人们发现许多对于人类而言可以轻易做到的事情,而让机器来实现却很难,如人脸图像的识别,语音识别,自然语言理解等。如果能够开发出具有像人类一样的机器识别机制,就能够逐步地了解人类是如何存储信息,并进行处理的,从而最终了解人类的思维机制。 同时,进行人脸图像识别研究也具有很大的使用价依。如同人的指纹一样,人脸也具有唯一性,也可用来鉴别一个人的身份。现在己

基于离散隐马尔科夫模型的语音识别技术

第24卷 第2期 2007年6月 河 北 省 科 学 院 学 报Journal of the Hebei Academy of Sciences Vol .24No .2June 2007 文章编号:1001-9383(2007)02-0008-04 基于离散隐马尔科夫模型的语音识别技术 高清伦,谭月辉,王嘉祯 (军械工程学院计算机工程系,河北石家庄 050003) 摘要:概述语音识别技术的基本原理,对当前三种主要识别技术———动态时间规整技术、隐含马尔科夫模型 技术及人工神经网络技术进行比较,重点介绍基于离散隐马尔科夫模型(DH MM )的语音识别系统的实现。关键词:语音识别;隐马尔科夫模型;动态时间规整;人工神经网络中图分类号:T N912.34 文献标识码:A Speech recogn iti on technology ba sed on d iscrete H MM GAO Q ing 2l un,TAN Yue 2hu i,WAN G J i a 2zhen (D epart m ent of Co m puter Engineering,O rdnance Engineering College,Shijiazhuang Hebei 050003,China ) Abstract:The conditi on and the basic p rinci p le of s peech recogniti on technol ogy are intr oduced,three differ 2ent kinds of s peech recogniti on syste m s such as DT W ,H MM ,ASR are compared,and p lace e mphasis on how t o realize DH MM in s peech recogniti on syste m is p resented e mphatically . Keywords:Speech recogniti on;H idden Markov Model (H MM );Dyna m ic Ti m e W ar p ing (DT W );A rtificial Neural Net w ork (ANN ) 语音识别技术是语音信号处理技术一个重要的研究方向,是让机器通过识别和理解过程把人 类的语音信号转变为相应的文本或命令的技术,它属于多维模式识别和智能计算机接口的范畴,涉及到声学、语音学、语言学、计算机科学、信号与信息处理和人工智能等诸多学科,是21世纪衡量一个国家信息科学技术发展水平的重要标准之一。 1语音识别技术概述 语音识别系统本质上是一种模式识别系统, 目前有很多语音识别算法,但其基本原理和基本 技术相似。一个完整的语音识别系统一般都包括有特征提取、模式匹配和参考模式库3个基本单元,它的基本结构如图1所示。 (1)特征提取 所谓特征提取就是从语音信号中提取用于语 音识别的有用信息,其基本思想是将预处理过的信号通过一次变换,去掉冗余部分,而把代表语音本质特征的参数抽取出来,如平均能量、平均跨零率、共振峰、LPC 系数、MFCC 系数等。 图1语音识别系统基本结构 (2)模式匹配 这是整个语音识别系统的核心,它是根据一定规则(如H MM )以及专家知识(如构词规则、语法规则、语义规则等),计算输入特征与参考模式 3收稿日期:2007-01-26 作者简介:高清伦(1976-),男,河北沧州人,硕士,主要从事信息工程理论应用方面的研究.

matlab机电系统仿真大作业

一曲柄滑块机构运动学仿真 1、设计任务描述 通过分析求解曲柄滑块机构动力学方程,编写matlab程序并建立Simulink 模型,由已知的连杆长度和曲柄输入角速度或角加速度求解滑块位移与时间的关系,滑块速度和时间的关系,连杆转角和时间的关系以及滑块位移和滑块速度与加速度之间的关系,从而实现运动学仿真目的。 2、系统结构简图与矢量模型 下图所示是只有一个自由度的曲柄滑块机构,连杆与长度已知。 图2-1 曲柄滑块机构简图 设每一连杆(包括固定杆件)均由一位移矢量表示,下图给出了该机构各个杆件之间的矢量关系 图2-2 曲柄滑块机构的矢量环

3.匀角速度输入时系统仿真 3.1 系统动力学方程 系统为匀角速度输入的时候,其输入为输出为;。 (1) 曲柄滑块机构闭环位移矢量方程为: (2)曲柄滑块机构的位置方程 (3)曲柄滑块机构的运动学方程 通过对位置方程进行求导,可得 由于系统的输出是与,为了便于建立A*x=B形式的矩阵,使x=[], 将运动学方程两边进行整理,得到 将上述方程的v1与w3提取出来,即可建立运动学方程的矩阵形式 3.2 M函数编写与Simulink仿真模型建立 3.2.1 滑块速度与时间的变化情况以及滑块位移与时间的变化情况 仿真的基本思路:已知输入w2与,由运动学方程求出w3和v1,再通过积分,即可求出与r1。 (1)编写Matlab函数求解运动学方程 将该机构的运动学方程的矩阵形式用M函数compv(u)来表示。 设r2=15mm,r3=55mm,r1(0)=70mm,。 其中各个零时刻的初始值可以在Simulink模型的积分器初始值里设置

M函数如下: function[x]=compv(u) %u(1)=w2 %u(2)=sita2 %u(3)=sita3 r2=15; r3=55; a=[r3*sin(u(3)) 1;-r3*cos(u(3)) 0]; b=[-r2*u(1)*sin(u(2));r2*u(1)*cos(u(2))]; x=inv(a)*b; (2)建立Simulink模型 M函数创建完毕后,根据之前的运动学方程建立Simulink模型,如下图: 图3-1 Simulink模型 同时不要忘记设置r1初始值70,如下图: 图3-2 r1初始值设置

孤立词语音识别程序文件

信息处理仿真实验语音处理部分 一、实验目的 按所学相关语音处理的知识,自己设计一个孤立词语音识别程序,分析所设计系统的特性。熟悉不同模块间如何进行有效的组合,以及模块的设计,重点掌握特征参数的提取和模式识别方法,并对不同的特征参数提取方法和模式匹配方法有大概的了解,知道其不同的优缺点。 二、实验容 1、熟悉预处理、特征参数提取、模式匹配三个模块的原理,并设计这三个模块的matlab子程序。 2、设计主程序,将上述3个模块合理组合构成一个系统,训练模板并测试。 三、实验原理及设计步骤 1、孤立词语音识别系统:先用端点检测将语音中有用的语音部分提取出来 (即将头部和尾部的静音部分除掉),然后提取语音信号的Mel尺度倒谱参数(MFCC),进行动态归整(DTW算法)后与模板库里面的标准语音作比较,具体流程如下: 图3.1孤立词语音识别系统 2、各模块解析 ⑴预处理:包括反混叠失真滤波器、预加重器、端点检测和噪声滤波器。 这里将预加重器和噪声滤波器放在下一个模块里,所以预处理主要进行端点检测以捕捉到数据中的语音信息。 端点检测采用双门限法来检测端点。同时,利用过零率检测清音,用短时能量检测浊音,两者配合。整个语音信号的端点检测可以分为四段:静音、过渡段、语音段、结束。程序中使用一个变量status来表示当前所处的状态。 在静音段,如果能量或过零率超越了低门限,就应该开始标记起始点,进 入过渡段。 在过渡段中,由于参数的数值比较小,不能确信是否处于真正的语音段,因此只要 两个参数的数值都回落到低门限以下,就将当前状态恢复到静音状态。 而如果在过渡段中两个参数中任意一个超过了高门限,就可以确信进入语 音段了。

电机大作业(MATLAB仿真-电机特性曲线)

电机大作业 专业班级:电气XXXX 姓名:XXX 学号:XXX 指导老师:张威

一、研究课题(来源:教材习题 4-18 ) 1. 74 、R 2 0.416 、X 2 3.03 、R m 6. 2 X m 75 。电动机的机械损耗p 139W,额定负载时杂散损耗p 320W, 试求额定负载时的转差率、定子电流、定子功率因数、电磁转矩、输出转矩和效 率。 二、编程仿真 根据T 形等效电路: 3D - R Q 运用MATLAB 进行绘图。MATLAB 文本中,P N PN ,U N UN ,尺 R 1, X 1 X1 , R 2 R 2,X 2 X 2,R m Rm, X m Xm ,p pjixiesunh ao , p pzasansunhao 。定子电流I11,定子功率因数 Cosangle1,电磁转矩Te , 效率 Xiaolv 。 1.工作特性曲线绘制 MATLA 文本: R1=0.715;X 仁1.74;Rm=6.2;Xm=75;R2=0.416;X2=3.03;pjixiesu nhao=139; pzasa nsu nhao=320;p=2;m 仁 3; ns=1500;PN=17000;UN=380;fN=50; Z1=R1+j*X1; Zm=Rm+j*Xm; for i=1:2500 s=i/2500; nO=n s*(1-s); Z2=R2/s+j*X2; Z=Z1+Zm*Z2/(Zm+Z2); 有一台三相四极的笼形感应电动机, 参数为P N 17kW 、U N 380V (△联 Rm 结)、尺 0. 715 、X j lcr S

U1=UN; I1=U1/Z; l110=abs(l1); An gle 仁an gle(ll); Cosa ngle10=cos(A ngle1); P仁3*U1*l110*Cosa ngle10; l2=l1*Zm/(Zm+Z2); Pjixie=m1*(abs(I2))A2*(1-s)/s*R2; V=(1-s)*pi*fN; Te0=Pjixie/V; P20=Pjixie-pjixies un hao-pzasa nsun hao; Xiaolv0=P20/P1; P2(i)=P20; n (i)=n0; l11(i)=l110; Cosa ngle1(i)=Cosa ngle10; Te(i)=Te0; Xiaolv(i)=Xiaolv0; hold on; end figure(1) plot(P2, n); xlabel('P2[W]');ylabel(' n[rpm]'); figure(2) plot(P2,l11); xlabel('P2[W]');ylabel('l1[A]'); figure(3) plot(P2,Cosa nglel); xlabel('P2[W]');ylabel('go nglvyi nshu'); figure(4) plot(P2,Te); xlabel('P2[W]');ylabel('Te[Nm]'); figure(5) plot(P2,Xiaolv); xlabel('P2[W]');ylabel('xiaolv');

相关主题
文本预览
相关文档 最新文档