打印

基于DSP的嵌入式语音处理和识别系统设计

[复制链接]
504|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Peonys|  楼主 | 2019-1-16 11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于DSP的嵌入式语音处理和识别系统设计



摘要:设计并实现了一种嵌入式语音处理和识别系统,核心处理器是TMS320VC5402,语音接口芯片是TLV320AIC10,软件模块包括语音的端点检测、特征参数提取、模板训练、测试识别等。系统使用定点DSP实现了浮点DSP运算,提高了预算的精度,扩大了信号处理的动态范围。试验结果表明,该系统对孤立词特定人识别率为98%,系统体积小、成本低、可扩展性好,方便应用于许多特定场合,如:声控玩具,门禁控制等。有很好的市场前景。
关键词:TMS320VC5402;语音处理;语音识别

      引言
      DSP是利用专门或通用的数字信号处理芯片,以数字计算的方法对信号进行处理,具有处理速度快、灵活、精确、抗干扰能力强、体积小及可靠性高等优点,满足了对信号快速、精确、实时处理及控制的要求。本系统采用TI公司16位定点高速芯片TMS320VC5402和专用音频接口芯片TLV320AIC10进行数据的采集和相关滤波、压缩处理、并将最终的数据流经串口送入计算机,在计算机中使用MATLAB控制串口接收数据并完成压缩、回放、编码、识别、仿真等处理。

1硬件系统设计
       本系统主要以TMS320VC5402和TLV320AIC10为核心,扩展以必要的外围器件,包括信号预处理电路、晶振和外围配置与控制电路等,系统框图如图1所示。


如图1所示,来自麦克风的语音信号经过接口预处理电路后送入AIC的ADC进行模数转换,然后通过McBSP串口与TMS320VC5402通信,把采样数据送入DSP。

1.1 DSP芯片简介
   TMS320VC5402是系统的核心处理器,具有高度灵活的可操作性和高速的处理能力。其性能特点如下:具有先进的多总线结构,三条16位数据存储器总线和一条程序存储器总线;40位算术逻辑单元(ALU),包括一个40位桶形移位器和两个40位累加器;一个17×17乘法器和一个40位专用加法器,允许16位带/不带符号的乘法;整合维特比***,用于提高维特比编译码的速度;单周期正规化及指数译码;8个辅助寄存器及一个软件栈,数据/程序寻址空间为1M×16bit,内置4K×16bit ROM和16k×16bit RAM;内置可编程等待状态发生器、锁相环(PLL)时钟产生器、两个多通道缓冲串口、一个与外部处理器通信的8位并行HPI口、两个16位定时器以及6通道DMA控制器且低功耗。它采用6级流水线,且当RPT(重复指令)时,一些多周期的指令就变成了单周期的指令。芯片内部RAM和ROM可根据PMST寄存器中的OVLY和DROM位灵活设置。这些都有利于算法的优化。

1.2 音频编解码部分
    本系统采用专用音频接口芯片TLV320AIC10,该芯片是TI公司近年新推出的低功耗∑-Δ型16位A/D、D/A音频接口(AIC)芯片。TLV320AIC10为一通用,3-5.5V Codec,内部集成了16位A/D和D/A转换器。有两路模拟输入通道,一路模拟输出通道和一对数字I/O口。使用片内FIR滤波器时采样速率最高可达22ksps,采用片外FIR滤波器时其采样速率最高可达88ksps,工作方式和采样速率均可由单片机编程设置。其内部ADC之前有抗混叠滤波器,之后有抽样滤波器,DAC之前有插值滤波器,接收和发送可同时进行,且输入输出增益控制可编程,可工作在单端或差分方式。其独特的直接DCSI参数设置模式采用单线串行口直接对内部寄存器编程,不受数据转换串行口的影响。
AIC10由5个控制寄存器控制。其中,控制寄存器1:软件复位,DAC的16位或15+1位模式选择以及抗混叠滤波器、抽样滤波器、插值滤波器使能/旁路选择。控制寄存器2:决定工作方式和采样速率。控制寄存器3:软件关电,模拟及数字信号反馈和事件控制模式选择;ADC的16位或15+1位模式选择。控制寄存器4:输入输出增益控制。AIC的初始化主要就是对这4个寄存器参数进行设定。该器件与单片机接口易于实现,开发和使用更加方便。尤其适合应用于低比特率、高性能密集设备的话音传输、识别及合成等的各种VOIP、电缆调制解调器、语音和电话领域。如图2所示,当系统工作时,由话筒输入的音频经过AD转换成数据,经由串口送至5402进行处理,或由5402输出的数据经由串口送至AIC10,经过DA转换成音频,再通过扬声器播放出去。

1.3 TMS320VC5402与PC机的串口通信
    本系统采用MAX232E构成5402与PC间的通信接口,使用时需要外接4个电容就能完成TTL与RS232间的电平和逻辑关系转换。经过DSP系统处理的语音信号通过串口以9600b/s的速率送入计算机,在计算机中通过MATLAB控制串口接受数据,并且利用MATLAB强大的数据处理能力对信号进行处理。

2 软件系统设计
根据语音识别系统的基本结构,同时考虑影响语音识别系统结构的各种因素,拟出语音识别系统的设计方略,包括:
① 拟定系统的主题框架,如包括特征提取、子音段分割、动态时间规整算法和判决策略。
② 确定主框架中子框架的具体内容,这一部分要进行大量的实验比较工作,分析得出每一个子框架采用哪种方法系统性能最优。
③ 第二步所拟定的方案可能并非最终满意的方案,而只是从有关实验结果中看出某些选择宜作方案的主题。除此之外,我们还可以对整体方案增加措施,如可以进行二级识别或组合多种特征参数,进一步补充完善各部分内容。系统流程如图3所示。


在识别过程中,首先进行预处理,然后提取特征参数MFCC,对每一个参考模板进行DTW得到距离,取距离最小值对应模板即为识别结果。
2.1 预处理部分
预处理部分包括反混叠滤波、采样、量化、去噪、语音识别单元的选取、端点检测、预加重、加窗、分帧等处理工作。
2.2 特征提取
提取语音信号中反映本质特征的声学参数,如短时能量、短时平均幅度、平均过零率、基音周期、共振峰等。提取特征参数,如Mel频率倒谱特征参数(MFCC)。因为MFCC参数符合人耳的听觉特征,而且在有信道噪声和频谱失真的情况下表现比较稳健,所以本文采用12维MFCC和12维一阶差分MFCC进行实验。
2.3 模型训练
系统中采用动态时间规整(DTW)算法求出与模板的最小距离。DTW寻找有若干交叉点的路径,使得该路径上节点的路径和最小。
2.4 失真测度
模式匹配的过程其实就是根据一定的规则,计算输入矢量特征与库存模式之间的相似度,判断出输入语音的语意信息。本文中,失真测度采用下式所示的欧式距离:
其中。 是待测矢量 和码字矢量 之间的距离, 是第i个码本的第l个码字矢量的第k个分量,I为说话者数量,M为码本的大小,K为参数矢量的总维数。由上式得出该语音相对于该命令词的最短距离,然后取最短距离最小的命令词作为该段语音的首先识别结果。
2.5 MATLAB人机交互软件设计
用MATLAB控制串口接收数据有以下几步:首先进行串口的初始化操作,然后打开串口,用到的函数为:serial和open;再设定MATLAB和DSP的握手方式,可通过串口目标的FlowControl属性设定;最后接受和发送数据,用到fread和fwrite函数。

3 结束语
        TMS320VC5402作为高速数字信号处理器具有快速的运算能力,结合MTLAB强大的信号处理能力,完全可以达到较复杂的语音信号处理和识别要求,而且系统的可扩展能力很强,占用资源少,并使用定点运算实现浮点函数,大大提高了运算精度。该试验结果表明,它对特定人孤立词的识别正确率达到98%,具有一定的应用价值。

相关帖子

沙发
Peonys|  楼主 | 2019-1-16 11:00 | 只看该作者
基于DSP的嵌入式语音处理和识别系统设计

文档1.pdf

181.29 KB

使用特权

评论回复
板凳
一缘一份| | 2020-8-28 19:28 | 只看该作者
楼主有没有TMS320VC5402参考 例程学习呀

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

640

主题

901

帖子

5

粉丝