《2022年基于DSP和FPGA的机器人声控系统设计与实现.docx》由会员分享,可在线阅读,更多相关《2022年基于DSP和FPGA的机器人声控系统设计与实现.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品学习资源基于 DSP和 FPGA的机器人声控系统设计与实现1 引言机器人听觉系统主要是对人的声音进行语音识别并做出判定,然后输出相应的动作指令掌握头部和手臂的动作,传统的机器人听觉系统一般是以PC机为平台对机器人进行掌握,其特点是用一台运算机作为机器人的信息处理核心通过接口电路对机器人进行掌握,虽然处理才能比较强大,语音库比较完备,系统更新以及功能拓展比较简单,但是比较笨重,不利于机器人的小型化和复杂条件下进行工作,此外功耗大、成本高;本次设计采纳了性价比较高的数字信号处理芯片TMS320VC5509作为语音识别处理器,具有较快的处理速度,使机器人在脱机状态下,独立完成复杂的语音信号处理和
2、动作指令掌握,FPGA系统的开发降低了时序掌握电路和规律电路在PCB板所占的面积 1 ,使机器人的 大脑 的语音处理部分微型化、低 功耗;一个体积小、低功耗、高速度能完成特定范畴语音识别和动作指令的机器人系统的研制具有很大的实际意义;2 系统硬件总体设计系统的硬件功能是实现语音指令的采集和步进电机的驱动掌握,为系统软件供应开发和调试平台;如图1 所示;系统硬件分为语音信号的采集和播放,基于DSP的语音识别, FPGA动作指令掌握、步进电机及其驱动、 DSP外接闪存芯片, JTAG口仿真调试和键盘掌握几个部分;工作流程是麦克风将人的语音信号转化为模拟信号,在经过音频芯片TLV320AIC23 量
3、化转化成数字信号输入DSP DSP完成识别后,输出动作指令;FPGA依据 DSP输入的动作指令产生正确的正反转信号和精确的脉冲给步进电机驱动芯片,驱动芯片供应步进电机的驱动信号,掌握步进电机的转动;片外FLASH用于储备系统程序和语音库并完成系统的上电加载; JTAG口用于与 PC机进行联机在线仿真,键盘就用于参数调整和功能的切换;3 语音识别系统设计3.1 语音信号的特点语音信号的频率成分主要分布在300 3400Hz 之间,依据采样定理挑选信号的采样率为8 kH z;语音信号的一个特点在于他的 短时性 ,有时在一个短时段出现随机噪声的特性,而另一段表现周期信号的特性,或二者兼而有之;语音信
4、号的特点是随时间变化的,只有一段时间内,信号才表现稳固一样欢迎下载精品学习资源的特点,一般来说短时段可取550 ms,因此语音信号的处理要建立在其 短时性 上2 ,系统将语音信号帧长设为 20 ms ,帧移设为 10 ms,就每帧数据为160 16 b ;3 2 语音信号的采集和播放语音采集和播放芯片采纳的是 TI 公司生产的 TLV320AIC23B, TLV320AIC23B的模数转换 ADC和数模转换 DAC部件高度集成在芯片内部,芯片采纳 8 k 采样率,单声道模拟信号输入,双声道输出; TLV 320AIC23 具有可编程特性, DSP可通过掌握接口来编辑该器件的掌握寄存器,而且能够
5、编译 SPI ,I2C 两种规格的接口, TLV320AIC23B与 DSP5509的电路连接如图 2 所示;DSP 采纳 I2C 口对 TLV320AIC23 的寄存器进行设置;当MODE=O时,为 I2C 规格的接口, DSP采纳主发送模式,通过I2C 口对地址为 00000000001111 的 11 个寄存器进行初始化; I2C 模式下,数据是分为 3 个 8 b 写入的;而 TLV320AIC23 有 7 位地址和 9 位数据,也就是说,需要把数据项上面的最高位补充到其次个 8 B 中的最终一位;MCBSP串口通过 6 个引脚 CLKX,CLKR, FSX, FSR,DR和 CX与
6、TLV320AIC23 相连;数据经 MCBSP串口与外设的通信通过DR和 DX引脚传输,掌握同步信号就由CLKX,CLKR,FSX, FSR四个引脚实现;将 MCBSP串口设置为 DSP Mode模式,然后使串口的接收器和发送器同步,并且由TLV320AIC23 的帧同步信号 LRCIN,LRCOUT启动串口传输,同时将发送接收的数据字长设定为32 b 左声道 16 b ,右声道 16 b 单帧模式;3.3 语音识别程序模块的设计为了实现机器人对非特定人语音指令的识别,系统采纳非特定人的孤立词识别系统;非特定人的语音识别是指语音模型由不同年龄、不同性别、不同腔调的人进行训练,在识别时不需要训
7、练就可以识别说话人的语音 2 ;系统分为预加重和加窗,短点检测,特点提取,与语音库的模式匹配和训练几个部分;331 语音信号的预加重和加窗预加重处理主要是去除声门鼓励和口鼻辐射的影响,预加重数字滤波HZ=1 一 KZ-1,其中是为预加重系数,接近1,本系统中 k 取 0 95;对语音序列Xn进行预加重,得到预加重后的语音序列xn :xn=Xn 一 kXn 一 1 1欢迎下载精品学习资源系统采纳一个有限长度的汉明窗在语音序列上进行滑动,用以截取帧长为20 ms ,帧移设为 10 ms的语音信号,采纳汉明窗可以有效削减信号特点的丢失;33 2 端点检测端点检测在词与词之间有足够时间间隙的情形下检测
8、出词的首末点,一般采纳检测短时能量分布,方程为:其中, xn 为汉明窗截取语音序列, 序列长度为 160,所以 N取 160,为对于无音信号 En很小,而对于有音信号En 会快速增大为某一数值,由此可以区分词的起始点和终止点;3 3 3 特点向量提取特点向量是提取语音信号中的有效信息,用于进一步的分析处理;目前常用的特点参数包括线性猜测倒谱系数 LPCC、美尔倒谱系数 MFCC等;语音信号特点向量采纳 Mel 频率倒谱系数 MFCCMel Frequ ency Cepstrum Coeficient 的提取, MFCC参数是基于人的听觉特性的,他利用人听觉的临界带效应 3 , 采纳 MEL倒谱
9、分析技术对语音信号处理得到 MEL倒谱系数矢量序列,用 MEL倒谱系数表示输入语音的频谱;在语音频谱范畴内设置如干个具有三角形或正弦形滤波特性的带通滤波器,然后将语音能量谱通过该滤波器组,求各个滤波器输出,对其取对数,并做离散余弦变换DCT,即可得到 MFCC系数; MFCC系数的变换式可简化为:其中, i 为三角滤波器的个数,本系统选 P为 16, Fk 为各个滤波器的输出数据,M为数据长度;33 4 语音信号的模式匹配和训练模型训练即将特点向量进行训练建立模板,模式匹配即将当前特点向量与语音库中的模板进行匹配得出结果;语音库的模式匹配和训练采纳隐马尔可夫模型HMMHidden Markov
10、 Models ,他是一种统计随机过程统计特性的概率模型一个双重随机过程,由于隐马尔可夫模型能够很好地描述语音信号的非平稳性和可变性,因此得到广泛的使用4 ;HMM的基本算法有 3 种: Viterbi算法,前向一后向算法,Baum-Welch算法;本次设计使用 Vit erbi算法进行状态判别,将采集语音的特点向量与语音库的模型进行模式匹配;Baum-Welch算法用来解决语音信号的训练,由于模型的观测特点是帧间独立的,从而可以使用Baum-Welch 算法进行 HMM模型的训练;3.4 语音识别程序的 DSP开发DSP 的开发环境为 CCS31 及; DSPBIOS,将语音识别和训练程序分
11、别做成模块,定义为不同欢迎下载精品学习资源的函数,在程序中调用;定义语音识别器函数为int Recognizerint Micin,识别结果输出函数为int Resultvoid,语音训练器函数为 int Trainint Tmode,int Audiod,动作指令输入函数为int Keyinint Action5;语音识别器的作用是将当前语音输入变换成语音特点向量,并对语音库的模板进行匹配并输出结果,语音应答输出函数将猎取的语音识别结果对应的语音应答输出,语音训练是将多个不同年龄、不同性别、不同腔调的人语音指令输入转化为训练库的模板;为防止样本错误,每个人的语音指令需要训练2次,对于 2 次
12、输入用用欧氏距离去进行模式匹配,如2 次输入相像度达到 95,就加入样本集;语音应答输入函数是为每个语音库中模板输入对立的语音输出,以达到语言应答目的;系统工作状态为执行语言识别子程序,训练时执行外部中断,执行训练函数,取得数据库模板,训练完毕返回;程序框图如图3 所示;4 机器人的动作掌握系统设计4.1 FPGA规律设计系统通过语音掌握机器人头部动作,头部运动分为上下和左右运动2 个自由度,需要 2 个步进电机掌握, DSF完成语音识别以后,输出相应的动作指令,动作执行终止后,DSP发出归零指令,头部回到初试状态; FPGA的作用是供应 DSP接口规律,设置储备DSP指令的 RAM块,同时产
13、生步进电机驱动脉冲掌握步进电机转动方向和角度;FPGA器件为动作指令掌握单元,设计采纳FLEXlOKE芯片,接收 DSP数据后并行掌握 2 路步进电机; FPGA内部结构规律如图 4 所示, FPGA内部设置 2 个元件为电机脉冲发生器,掌握电机的工作脉冲以及正反转; AOA7 为 DSP数据输入端口, WR为数据写端口, P1, P2 为 2 个步进电机驱动芯片脉冲输入口, L1, L2 为电机正反转掌握口, ENABLE为使能信号;欢迎下载精品学习资源RAM1和 RAM2分别为 2 个步进电机的指令寄存器,电机脉冲发生器发出与RAM中相应数量的方 波脉冲; DSP通过 DO D8 数据端输
14、出 8 位指令,其中; D8 为 RAM挑选,为 1 时挑选 RAM,1 为 0 时挑选 RA M0, DO D7 为输出电机角度,电极上下和左右旋转角度为120,精度为 1,初始值都为 60, DOD7的范畴为 00000000 11111000,初始值为 00111100;FPGA作为步进脉冲发生器,通过时钟周期配置掌握电机转速,与初始值对应坐标打算正反转;系统动作指令程序如图5 所示;其中 R1 为 DSP指令寄存器, R2 为当前坐标寄存器,通过DSP的输出坐标与 FPGA的当前坐标进行差值运算来确定步进电机的旋转方向和旋转角度,优点是可以依据新的输入指令的变化,终止当前动作以运行新的
15、指令,指令执行完毕后,系统清零,步进电机回到初始状态;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机系统具有肯定的差距,但在机器人的微型化、低功耗和特定功能实现上,以DSP和 FPGA为核心的嵌入式系统无疑具有宽阔的前景;欢迎下载
限制150内