新闻中心

EEPW首页>嵌入式系统>设计应用> ADSP-BF531在嵌入式语音识别系统中的应用

ADSP-BF531在嵌入式语音识别系统中的应用

作者: 时间:2012-09-02 来源:网络 收藏

2.3 EEPROM接口设计
EEPROM主要用于存放程序代码,选用ATMEL公司的AT45DB161D-TU型的EEPROM,该型存储器采用SPI接口,容量为2 MB,可以满足程序存储的要求,其与DSP的SPI端口连接。
通过设置EEPROM存储器的SPI主模式启动(即设置BMODE=11),现实配置BF531为连接一个SPI存储器的主设备和存储器的加载。为了正常工作,该加载模式需要在MISO加上拉电阻。否则,BF531将从MISO引脚读取到0xFF(即SPI存储器没有写任何数据到MISO引脚)。不仅MISO线上的上拉电阻是必要的,额外的上、下拉电阻还有如下2个用途:
1)上拉PF2信号,确保SPI存储器存DSP复位状态下未激活;
2)在SPICLK上用下拉电阻,使显示画图更加清晰。
2.4 FLASH接口设计
片外FLASH主要用于存训练样本库,本采用的NANDFLASH为三星电子的K9F8G08U0M-PIB0,该FLASH为工业级SLC架构(Single Laver Cell,单层单元)芯片,具有速度快、可靠性高等特点,而且容量为1 GB,可以满足存储大量样本数据的要求。其采用EBIU(External Bus Interface Unit,外部数据总线)和单个GPIO(General Purpose Input Output,通用输入/输出引脚实现与DSP数据通讯。

3 软件设计
3.1(孤立词)的原理
采用的孤立词的原理框图如图4所示。

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

d.JPG


1)预处理 对声源信号进行抗混叠滤波、A/D转换、预加重及端点检测等内容,以获得比较理想的处理信息对象。
2)特征提取 从波形中提取出随时间变化的能够反映原始语音特征的矢量序列。
3)语音训练 建立声学模型,将获取的语音特征通过必要学习算法产生。
4)模式匹配 在时将输入的语音特征同声学模型进行比较,得到识别结果。
在训练阶段,用户将词汇表中的词依次读一遍,并且将其特征矢量序列存入模板库中。在识别阶段,将输入语音的特征矢量序列依次与模板库中的每一个模板进行形似度比较,相似度最高者作为识别结果输出。
在HHM算法中,语音序列被看做马尔可夫随机过程的输出。假定识别的词汇表共包括V个词条,那么在训练阶段需要请很多个说话人分别将这次词条说一遍并存入数据库中。利用这些训练数据可以为每一个词条建立一套HMM参数λv(1≤v≤V)。
在识别时,对于每个待识别语音,可以得到一个观察矢量序列Y=[y1,y2,…yN],其中,N为输入语音所包含的帧数。语音识别的过程就是计算每个HMM模型λv产生Y的概率P(Y|λv),并使得该概率达到最大的HMM模型,那么该模型所对应的词条即为孤立词识别的结果,即:
e.JPG
3.2 语音识别算法设计
本系统采用VO/DHMM(矢量量化/离散隐马尔可夫模型)算法,其主要包括预处理、特征提取、语音训练、模式匹配等几个方面。
3.2.1 预处理和特征提取
首先采用预加重、汉明窗、双门限法等完成对语音信号的预处理;然后使用Mel倒谱参数(MFCC)进行特征识别,MFCC参数提取的过程如图5所示,其中Mel滤波器组的作用是利用人耳听觉特性对语音信号的幅度平方谱进行平滑。对数操作的用途:压缩语音谱的动态范围;考虑乘性噪声,将频域中的乘性成分转换成加性成分。离散余弦变化主要是用来对不同频段的频谱成份进行解相关处理,使得各维向量之间相互独立。

f.JPG

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭