微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于FPGA的手势语音转换器

基于FPGA的手势语音转换器

时间:06-04 来源:互联网 点击:

功能比较强大,外围元件的连接也很少,可以胜任。

缺点:需要自己连接硬件电路,采购CCD或CMOS模拟摄像头,并且FPGA内部必须设计驱动OV7620的电路逻辑。且转换过来的数据量可能比较大,而且需要FPGA里大量的BRAM作为数据缓存。

最终,我们选择了方案二作为我们图像采集的最终方案。

2.2.2 图像采集识别处理

图像采集处理单元主要包括图像的实时采集,平滑处理、图像区域分割、图像肤色提取、图像矩特征提取和匹配等几个部分。其目的是通过实时的图像采集,得到手势的图像信息,再进行处理得到相应的语义含义。

采集来的图像数据量大,采集来之后我们应对图像进行预处理,去除图像中的背景噪声,然后提取其特征,现在的特征提取方法有基于图像纹理的特征提取,基于图像形状的特征提取。对于采集得到的图像,其包含了大量的数据,而且采集来的图像的背景的复杂性以及含有噪声,我们要将图像进行预处理,包括对图像进行平滑,图像增强等一些预处理来消除噪声,背景等对后续处理的干扰。预处理的目的是改善图像数据,抑制不需要的变形或者增强某些对于后续处理来说比较重要的图像特征。

2.2.3 语音合成模块

一.利用语音合成芯片

芯片选择是OSYNO6188嵌入式中文语音合成芯片,通过异步串口接收待合成的文本,可直接通过PWM输出方式驱动扬声器,亦可外接单支三极管驱动扬声器,即可实现文本到声音(TTS)的转换。支持国家标准GB_2312 所有汉字。

一.自行设计语音合成系统

自行设计的语音系统首先要考虑方案的难易程度问题,目前技术上面采用时域和频域的方法进行语音合成。考虑到方案实现的问题以及现有器件情况,考虑采用较简单的波形编辑法,将较短的数字音频段(即合成基元)拼接并进行段音平滑后生成连续语流的方法。这种方法占用的存储空间大,但计算量小、计算速度快,而且合成语音自然度较高,显然比较适合于芯片性能较弱的嵌入式系统方面的应用。

语音合成将采用串口与上位机进行连接。欲发音汉字的国标码(GB码)由串口送入MCU,MCU将其映射为Flash存储器地址表中对应项的地址,然后根据此地址取得对应项中的命令字,由MCU根据该命令字读取该汉字发音对应的语音数据,连续读出语音数据并以游程码解码算法解码后,按照语音采样时的固定速率通过D/A转换和功率放大播放。本文中语音采样速率为11025B/s。为满足应用需求,本文首先构建易于快速解码的语音库,根据特定Flash存储器的存储格式,以快速多查找表寻址及命令字预先存储的方式组织并存储在Flash存储器中,以满足语音播放的实时要求。同样,MCU的代码也要优先考虑速度而牺牲诸如模块化、可读性方面的要求。最后,出于实用性考虑,系统中需加入足够的输入缓冲区支持,以满足一次输入多个流字或整句的要求。

一.利用语音合成芯片

优点:利用现有的材料,可以加快整个课题的进度语音合成芯片已经成型,系统运行的质量和效果比自行设计的芯片效果要好系统的可靠性更高

缺点:芯片会增加整个系统的成本利用芯片无法充分利用FPGA的片上资源

二.自行设计语音合成芯片

优点:自主设计语音合成部分,增加了整个系统的技术含量和含金量,充分开发了Xilinx开发板的片上资源,降低了整个系统的成本

缺点:开发的难度加大,开发的周期加长,自主开发的系统没有现有的语音合成芯片功能强大以及稳定

综合考虑:我决定在方案的初期使用语音合成芯片,因为这样会加快系统的开发进程,让我们有更多的时间和精力放在手势识别和处理方面。

在方案的后期考虑自行开发语音合成芯片,利用FPGA的片上资源。

在这里我们分为两部分:前段文本分析部分和后端语音合成部分。

3、系统硬件设计

3.1 基于FPGA的片上系统设计

本文实现了一个基于FPGA的片上系统,该片上系统能够完成术中图像的实时采集、识别匹配和其他外设的控制。该系统用XILINX公司EDK(Embedded Development Kit)软件开发,是一个基于Microblaze的嵌入式系统。系统该体系架构如上图所示。

MicroBlaze软核是一种针对Xilinx FPGA器件而优化的功能强大的32位微处理器,适用于所有现产的FPGA器件MicroBlaze软内核和其它外设IP核一起,可以完成可编程系统芯片(SOPC)的设计MicroBlaze软内核采用RISC(reduced instruction system computer)架构和哈佛(Harvard)结构的32位指令和数据总线,内部有32个通用寄存器R0~R31和2个特殊寄存器程序指针(PC)和处理器状态寄存器(MSR)MicroBlaze还具有指令和数据缓存,所有的指令长度都是32位,有3个操作数和两种寻址模式,指令功能划分有逻辑运算,算术运算,分支,存储器读/写和特殊指令等

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top