新闻中心

EEPW首页>嵌入式系统>设计应用> 基于DSP+FPGA的机器人语音识别系统的设计

基于DSP+FPGA的机器人语音识别系统的设计

作者: 时间:2010-12-12 来源:网络 收藏


3.3.1信号的预加重和加窗

预加重处理主要是去除声门激励和口鼻辐射的影响,预加重数字滤波H(Z)=1一KZ-1,其中是为预加重系数,接近1,本中k取0.95。对序列X(n)进行预加重,得到预加重后的序列x(n):x(n)=X(n)一kX(n一1) (1)

采用一个有限长度的汉明窗在语音序列上进行滑动,用以截取帧长为20 ms,帧移设为10 ms的语音信号,采用汉明窗可以有效减少信号特征的丢失。

3.3.2 端点检测

端点检测在词与词之间有足够时间间隙的情况下检测出词的首末点,一般采用检测短时能量分布,方程为:


其中,x(n)为汉明窗截取语音序列,序列长度为160,所以N取160,为对于无音信号E(n)很小,而对于有音信号E(n)会迅速增大为某一数值,由此可以区分词的起始点和结束点。

3.3.3特征向量提取

特征向量是提取语音信号中的有效信息,用于进一步的分析处理。目前常用的特征参数包括线性预测倒谱系数LPCC、美尔倒谱系数MFCC等。语音信号特征向量采用Mel频率倒谱系数MFCC(Mel Frequency Cepstrum Coeficient的提取,MFCC参数是人的听觉特性的,他利用人听觉的临界带效应,采用MEL倒谱分析技术对语音信号处理得到MEL倒谱系数矢量序列,用MEL倒谱系数表示输入语音的频谱。在语音频谱范围内设置若干个具有三角形或正弦形滤波特性的带通滤波器,然后将语音能量谱通过该滤波器组,求各个滤波器输出,对其取对数,并做离散余弦变换(DCT),即可得到MFCC系数。MFCC系数的变换式可简化为:


其中,i为三角滤波器的个数,本选P为16,F(k)为各个滤波器的输出数据,M为数据长度。

3.3.4 语音信号的模式匹配和训练

模型训练即将特征向量进行训练建立模板,模式匹配即将当前特征向量与语音库中的模板进行匹配得出结果。语音库的模式匹配和训练采用隐马尔可夫模型HMM (Hidden Markov Models),他是一种统计随机过程统计特性的概率模型一个双重随机过程,因为隐马尔可夫模型能够很好地描述语音信号的非平稳性和可变性,因此得到广泛的使用。

HMM的基本算法有3种:Viterbi算法,前向一后向算法,Baum-Welch算法。本次使用Viterbi算法进行状态判别,将采集语音的特征向量与语音库的模型进行模式匹配。Baum-Welch算法用来解决语音信号的训练,由于模型的观测特征是帧间独立的,从而可以使用Baum- Welch算法进行HMM模型的训练。

3.4 语音程序的开发

的开发环境为CCS3.1及。/BIOS,将语音和训练程序分别做成模块,定义为不同的函数,在程序中调用。定义语音器函数为int Recognizer(int Micin),识别结果输出函数为int Result(void),语音训练器函数为int Train(int Tmode,int Audiod),动作指令输入函数为int Keyin(int Action)。

语音识别器的作用是将当前语音输入变换成语音特征向量,并对语音库的模板进行匹配并输出结果,语音应答输出函数将获取的语音识别结果对应的语音应答输出,语音训练是将多个不同年龄、不同性别、不同口音的人语音指令输入转化为训练库的模板。为防止样本错误,每个人的语音指令需要训练2次,对于2次输入用用欧氏距离去进行模式匹配,若2次输入相似度达到95%,则加入样本集。语音应答输入函数是为每个语音库中模板输入对立的语音输出,以达到语言应答目的。系统工作状态为执行语言识别子程序,训练时执行外部中断,执行训练函数,取得数据库模板,训练完毕返回。程序框图如图3所示。

本文引用地址://m.amcfsurvey.com/article/151217.htm




评论


相关推荐

技术专区

关闭