您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于DSP和FPGA的呆板人声控体系计划与实现

发布日期:2011-04-21

1 小序
    
     呆板人听觉体系重要是对人的声音举行语音辨认并做出果断,然后输出相应的举措指令控制头部和手臂的举措,传统的呆板人听觉系同一样平常因此PC机为平台对呆板人举行控制,其特点是用一台谋略机作为呆板人的信息处理惩罚内核通过接口电路对呆板人举行控制,固然处理惩罚本领比较强大,语音库比较完备,体系更新以及成果拓展比较容易,但是比较笨重,倒霉于呆板人的小型化和巨大条件下举行事变,别的功耗大、本钱高。

     本次计划采取了性价比较高的数字信号处理惩罚芯片TMS320VC5509作为语音辨认处理惩罚器,具有较快的处理惩罚速率,使呆板人在脱机状态下,独立完成巨大的语音信号处理惩罚和举措指令控制,FPGA体系的开辟低落了时序控制电路和逻辑电路在PCB板所占的面积[1],使呆板人的"大脑"的语音处理惩罚部分微型化、低功耗。一个别积小、低功耗、高速率能完成特定范畴语音辨认和举措指令的呆板人体系的研制具有很大的实际意义。

2 体系硬件总体计划
 
     体系的硬件成果是实现语音指令的征求和步进电机的驱动控制,为体系软件提供开辟和调试平台。如图1所示。

     体系硬件分为语音信号的征求和播放,基于DSP的语音辨认,FPGA举措指令控制、步进电机及其驱动、DSP外接闪存芯片,JTAG口仿真调试和键盘控制几个部分。事变流程是麦克风将人的语音信号转化为模仿信号,在颠末音频芯片TLV320AIC23量化转化成数字信号输入DSPDSP完成辨认后,输出举措指令。

     FPGA根据DSP输入的举措指令孕育产生精确的正反转信号和正确的脉冲给步进电机驱动芯片,驱动芯片提供步进电机的驱动信号,控制步进电机的转动。片外FLASH用于存储体系步伐和语音库并完成体系的上电加载。JTAG口用于与PC机举行联机在线仿真,键盘则用于参数调解和成果的切换。

3 语音辨认体系计划

3.1 语音信号的特点

     语音信号的频率因素重要散布在300~3400Hz之间,根据采样定理选择信号的采样率为8 kHz。语音信号的一个特点在于他的"短时性",偶然在一个短时段出现随机噪声的特性,而另一段表现周期信号的特性,或二者兼而有之。语音信号的特性是随时间变革的,只有一段时间内,信号才表现稳固同等的特性,一样平常来说短时段可取5~50 ms,因此语音信号的处理惩罚要创建在其"短时性"上[2],体系将语音信号帧长设为20 ms,帧移设为10 ms,则每帧数据为160×16 b。

3.2 语音信号的征求和播放

     语音征求和播放芯片采取的是TI公司生产的TLV320AIC23B,TLV320AIC23B的模数转换(ADC)和数模转换(DAC)部件高度集成在芯片内部,芯片采取8 k采样率,单声道模仿信号输入,双声道输出。TLV320AIC23具有可编程特性,DSP可通过控制接口来编辑该器件的控制寄存器,并且可以或许编译SPI,I2C两种规格的接口,TLV320AIC23B与DSP5509的电路连接如图2所示。

     DSP采取I2C口对TLV320AIC23的寄存器举行设置。当MODE=O时,为I2C规格的接口,DSP采取主发送模式,通过I2C口对地点为0000000~0001111的11个寄存器举行初始化。I2C模式下,数据是分为3个8 b写入的。而TLV320AIC23有7位地点和9位数据,也便是说,必要把数据项上面的最高位补充到第二个8 B中的末了一位。

     MCBSP串口通过6个引脚CLKX,CLKR,FSX,FSR,DR和CX与TLV320AIC23相连。数据经MCBSP串口与外设的通讯通过DR和DX引脚传输,控制同步信号则由CLKX,CLKR,FSX,FSR四个引脚实现。将MCBSP串口设置为DSP Mode模式,然后使串口的吸取器和发送器同步,并且由TLV320AIC23的帧同步信号LRCIN,LRCOUT启动串口传输,同时将发送吸取的数据字长设置为32 b(左声道16 b,右声道16 b)单帧模式。

3.3 语音辨认步伐模块的计划

     为了实现呆板人对非特定人语音指令的辨认,体系采取非特定人的孤独词辨认体系。非特定人的语音辨认是指语音模型由差别年龄、差别性别、差别口音的人举行训练,在辨认时不必要训练就可以辨认语言人的语音[2]。体系分为预加重和加窗,短点检测,特性提取,与语音库的模式立室和训练几个部分。

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参数是基于人的听觉特性的,他利用人听觉的临界带效应[3],采取MEL倒谱阐发技能对语音信号处理惩罚得到MEL倒谱系数矢量序列,用MEL倒谱系数表现输入语音的频谱。在语音频谱范畴内设置多少个具有三角形或正弦形滤波特性的带通滤波器,然后将语音能量谱通过该滤波器组,求各个滤波器输出,对其取对数,并做分离余弦更改(DCT),即可得到MFCC系数。MFCC系数的更改式可简化为:


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

3.3.4 语音信号的模式立室和训练

     模型训练即将特性向量举行训练创建模板,模式立室即将当前特性向量与语音库中的模板举行立室得出结果。语音库的模式立室和训练采取隐马尔可夫模型HMM(Hidden Markov Models),他是一种统计随机进程统计特性的概率模型一个双重随机进程,由于隐马尔可夫模型可以或许很好地形貌语音信号的非安稳性和可变性,因此得到遍及的利用[4]。

     HMM的根本算法有3种:Viterbi算法,前向一后向算法,Baum-Welch算法。本次计划利用Viterbi算法举行状态鉴别,将征求语音的特性向量与语音库的模型举行模式立室。Baum-Welch算法用来办理语音信号的训练,由于模型的观察特性是帧间独立的,从而可以利用Baum-Welch算法举行HMM模型的训练。

3.4 语音辨认步伐的DSP开辟

     DSP的开辟环境为CCS3.1及。DSP/BIOS,将语音辨认和训练步伐分别做成模块,定义为差别的函数,在步伐中调用。定义语音辨认器函数为int Recognizer(int Micin),辨认结果输出函数为int Result(void),语音训练器函数为int Train(int Tmode,int Audiod),举措指令输入函数为int Keyin(int Action[5])。

     语音辨认器的作用是将当前语音输入更改针言音特性向量,并对语音库的模板举行立室并输出结果,语音应答输出函数将获取的语音辨认结果映射的语音应答输出,语音训练是将多个差别年龄、差别性别、差别口音的人语音指令输入转化为训练库的模板。为防备样本错误,每个人私家的语音指令必要训练2次,对付2次输入用用欧氏间隔去举行模式立室,若2次输入相似度到达95%,则参加样本集。语音应答输入函数是为每个语音库中模板输入对立的语音输出,以到达语言应答目标。体系事景况态为实行语言辨认子步伐,训练时实行外部停止,实行训练函数,获取数据库模板,训练完毕返回。步伐框图如图3所示。

4 呆板人的举措控制体系计划

4.1 FPGA逻辑计划

     体系通过语音控制呆板人头部举措,头部活动分为上下和左右活动2个自由度,必要2个步进电机控制,DSF完针言音辨认以后,输出相应的举措指令,举措实行结束后,DSP发出归零指令,头部回到初试状态。FPGA的作用是提供DSP接口逻辑,设置存储DSP指令的RAM块,同时孕育产生步进电机驱动脉冲控制步进电机转动方向和角度。

     FPGA器件为举措指令控制单位,计划采取FLEXlOKE芯片,吸取DSP数据后并行控制2路步进电机。FPGA内部布局逻辑如图4所示,FPGA内部设置2个元件为电机脉冲产生器,控制电机的事变脉冲以及正反转。AO~A7为DSP数据输入端口,WR为数据写端口,P1,P2为2个步进电机驱动芯片脉冲输入口,L1,L2为电机正反转控制口,ENABLE为使能信号。

     RAM1和RAM2分别为2个步进电机的指令寄存器,电机脉冲产生器发出与RAM中相应数量的方波脉冲。DSP通过DO~D8数据端输出8位指令,此中。D8为RAM选择,为1时选择RAM1,为0时选择RAM0,DO~D7为输出电机角度,电极上下和左右旋转角度为120°,精度为1°,初始值都为60°,DO~D7的范畴为00000000~11111000,初始值为00111100。FPGA作为步进脉冲产生器,通过期钟周期配置控制电机转速,与初始值映射坐标决定正反转。体系举措指令步伐如图5所示。
     此中R1为DSP指令寄存器,R2为当前坐标寄存器,通过DSP的输出坐标与FPGA确当前坐标举行差值运算来确定步进电机的旋转方向和旋转角度,好处是可以根据新的输入指令的变革,结束当前举措以运行新的指令,指令实行完毕后,体系清零,步进电机回到初始状态。

4.2 FPGA逻辑仿真

     FPGA以MAX-PLUSⅡ开辟平台,用语言为VHDL语言对上述逻辑成果举行计划,并通过JTAG接口举行了调试,FLEXl0KE芯片可以或许根据DSP输出指令输出精确的正反转信号和脉冲波形。

4.3 步进电机驱动计划

     FPGA通过P1,L1,P2,L2输出控制控制步进电机驱动芯片。步进电机驱动采取的是东芝公司生产的单片正弦细分二相步进电机驱动专用芯片TA8435H,FPGA与TA8435H电路连接如图6。

     由于FLEX1OKE和TMS320VC5509事变电压为3.3 V,而TA8435H为5 V和25 V,以是管脚连接利用光电耦合器件TLP521,使两边电压断绝。CLK1为时钟输入脚,CW/CCW为正反转控制脚,A,A,B,B为二相步进电机输入。

5 结 语

     体系充分利用了DSP的高处理惩罚速率和可扩展的片外存储空间,具有高速、及时、辨认率高的特点并支持大的语音库,FPGA的利用使体系电路得到简化,一片FLEXl0KE芯片可以完成2个步进电机的时序控制。固然在处理惩罚速率和语音库的存储容量上与PC机体系具有肯定的差距,但在呆板人的微型化、低功耗和特定成果实现上,以DSPFPGA为内核的嵌入式体系无疑具有广阔的远景。