控制系统方面专科毕业论文范文 跟FPGA嵌入式语音识别控制系统的设计实现相关专科毕业论文范文

本文关于控制系统论文范文,可以做为相关论文参考文献,与写作提纲思路参考。

FPGA嵌入式语音识别控制系统的设计实现

[摘 要] 采用软硬件协同设计的方法,实现了一个基于FPGA 的嵌入式语音识别控制系统.借助于FPGA 平台灵活可配置的特性以及硬件加速特性,设计了基于处理器软核和硬件逻辑的改进架构.实验通过Nios-II 处理系统实现声音采集、参数读取和卷积神经网络(CNN)前馈语音识别,通过FPGA 硬件逻辑构建了游戏运行逻辑及VGA 显示功能,在嵌入式平台上实现了基于语音控制游戏操作的功能.结果表明,该方案有效、可行,为语音识别控制的硬件实现打下了良好的基础.

[关键词] FPGA;软硬件协同设计;卷积神经网络;DNN;语音识别;软核

中图分类号:TP331 文献标志码:A 文章编号:1008-1739(2017)19-65-3

1 引言

语音识别作为人工智能的一个重要分支,在智能家居和游戏娱乐等方面得到越来越广泛的应用[1].自动语音识别技术具有悠久的历史,已取得长足进步[2].传统的音频识别预处理过程基于快速傅里叶变换(FFT)+ 梅尔滤波(LogMel)技术,并将结果存储于长短期记忆网络(LSTM)中,这是目前最有效的神经网络之一.然而,使用LSTM 方法资源消耗太高,识别的速度较慢,无法保证与硬连线游戏核心的实时通信.为提高速度和降低成本,基于原始波形前端理论[3],在CNN、LSTM 和DNN 相结合的CLDNN 结构的基础上,根据选用的硬件平台,对其进行了简化.随着FPGA 技术的飞速发展,通过采用嵌入式平台实现语音识别,将是今后语音识别应用发展的趋势[4].

在FPGA 上实现一个嵌入式语音识别控制系统,评估了算法处理时间和系统性能后,选择了包括有Altera 公司FPGA的DE2-115 开发板平台来实现该系统,该系统识别从话筒读入的语音输入“上、下、左、右”,对应在俄罗斯方块游戏中进行“转动、向下加速、左移、右移”的操作,并将游戏的画面显示在1 024*68 的显示器上.

2 基于CNN 的语音识别

2.1 音频预处理

卷积神经网络(CNN)广泛用于图像处理和分类.LeCun等[5]在1990 年提出深度卷积神经网络,以Fukushima 等[6]的感知机结构为基础,借助Rumelhart 等[7]的反向传播训练算法,首先在图像识别领域获得巨大成功[8].卷积神经网络相比一般的全连接神经网络,除了在模型中注入Smooth 先验知识之外,还注入了一些面向具体任务的先验知识.最近的研究表明,卷积神经网络同样可以用于音频处理及分类.本文就是研究采用了基于CNN 的神经网络结构,是LeNet 的简化结构,LeNet 是一种用于数字识别的神经网络.为了实现性能和速度的平衡,优化了网络的参数,并删除了所有不必要的特征提取过程.该神经网络使用8 kHz 和16 位音频数据作为训练对象.

特征提取包括为每个音频数据生成* 的特征图,其中表示数据维度,表示时间维度.每个时间维度对应单个帧,每个数据维度对应每个帧的特定位置.在生成* 的特征图之后,音频已经被生成为二维类图像数据,可以通过卷积神经网络进一步分类.

根据音频处理理论,2 个相邻帧之间必须有重叠.假设采样率为,对每个帧采样0 ms,并且2 个相邻帧之间存在重叠1 ms,则特征映射包含的最大音频节点数为:

在项目中,通过幅度检测的方法来确定扬声器是否被激活.麦克风始终开启,并且在非常短的时间内对麦克风输入进行采样.如果采样输入的平均幅度高于阈值,则扬声器被激活,并且接下来的输入将被用作音频识别源.

2.2 神经网络语音识别

研究采用了一个类LeNet 的结构来进行音频分类,该神经网络具有2 个卷积层、2 个池化(Max-pool)层、2 个全连接(fully-connected)层和1 个softmax 层用于最终分类结果输出,其结构和数据流如图1 所示.在每个卷积层和全连接层之后,有一个修正线性(ReLU)单元,以增加其适应非线性的能力.由于NIOS II 无法满足反向传播的需求,所以对网络进行了离线训练,并基于软件平台上创建了一个前馈CNN 网络,该平台使用离线训练的参数作为神经网该CNN 训练基于Tensorflow、python 2.7 实现,数据集由音频处理软件生成.获得不同音调和速度的新数据集,最终参与训练的数据集达到2 000 个,以及包括100 个随机分布(原始音+ 额外产生的音调)音频波和包括原始音调中的100 个音频波(没有转换)的2 个数据集用于测试.

PC 上的训练及测试结果准确率较高,如表1 所示,只有不到10% 的错误发生.

3 基于FPGA 的语音识别实现

研究实现的系统基于NIOS II 处理器和FPGA 逻辑单元,其中包括Altera 提供的IP 内核.该系统包含一个经典的NIOS II 系统套件,一个用于与Codec 进行通信的音频核心,以及一个音频和视频控制流图(audio_and_video_cfg)内核,用于与I2C 总线进行通信,配置编解码器核心的参数,以及多个PIO,用于SW-HW 通信(LED,SW)和软件驱动程序启动(SD 卡).

系统架构分为硬件逻辑(PL)及软件(PS)两部分,如图2所示.PS 部分主要通过NIOS II 处理器实现CNN 分类,PL 部分主要用于游戏逻辑和VGA 显示等独立于CNN 的操作,该部分可以脱离处理器实现.

3.1 硬件逻辑部分实现

设计中的PL 部分有3 个主要组件:游戏核心、VGA 控制器和作为2 个模块之间的桥梁的FIFO.游戏核心可以从处理器或板上的按钮接收输入作为指令源,并根据输入更新游戏状态.之后游戏状态通过FIFO 发送到VGA 控制器.然后,VGA 控制器使用从FIFO 接收的状态和屏幕上的像素位置,选择模块内的一个ROM 作为数据源,并在屏幕上打印具有相应颜色的像素.

游戏有上、下、左、右4 个指示,向左和向右控制块的移动方向,向下控制坠落的速度,向上控制块的旋转.除了这些基本操作之外,游戏核心提供控制游戏暂停的功能、速度切换功能及控制切换功能.

3.2 软件部分实现

软件用于为不同外设(PIO、音频核心、audio_and_video_cfg内核及SD 卡等)生成驱动程序合作预处理输入数据(包括语音激活检测),并执行整个CNN 过程完成音频识别.软件还生成分类结果,并与可编程逻辑进行通信,以产生俄罗斯方块游戏核心的下一个输入信号,PL 和PS 的执行过程如图3 所示.

通过从软件控制并行I/O 寄存器,将识别结果由LED 进行表示.当完成一次音频识别时,软件通知可编程逻辑来获取结果并将其转换为相应的操作.硬件获取结果后,软件将返回到语音激活检测(VAD)状态,并等待另一个音频输入.

4 实验结果

采用包括有Altera 公司FPGA 的DE2-115 开发板平台,在FPGA 上实现了一个嵌入式语音识别控制系统用以完成语音识别游戏.该系统具有VGA 显示屏用于显示游戏界面、具备键盘输入和音频输入2 种方式.该游戏具备友好的八色欢迎界面、游戏界面与背景,以及一个3 位数的记分牌,用于显示得分.通过开关来决定游戏是由键盘控制还是受音频控制.除VGA 屏幕以外,同时还通过LED 指示游戏的状态及音频识别的结果.

实现的俄罗斯方块游戏可以通过语音识别实现控制,基于全新的CLDNN 结构,该语音识别已经可以满足游戏对实时性的基本要求.鉴于所采用的FPGA 的逻辑单元数量有限及Nios-II 处理器的性能受到限制,在具备硬件DSP等的更好性能的平台上,响应速度和实时性等性能将会有进一步的改善.

5 结束语

设计实现的基于FPGA 的嵌入式语音识别控制系统采用基于处理器软核和硬件逻辑的改进架构,通过Nios-II 处理系统实现声音采集、参数读取和CNN 前馈语音识别,通过FPGA硬件逻辑构建了游戏运行逻辑及VGA 显示功能,在嵌入式平台上实现了语音控制游戏操作的功能.试验结果表明,该方案采用软硬件协同设计,对资源要求较低,是一种实现嵌入式平台实时语音识别控制有效且可行的方案.通过采用嵌入式平台实现语音识别控制,将是今后语音识别技术及应用发展的趋势.

控制系统论文范文结:

大学硕士与本科控制系统毕业论文开题报告范文和相关优秀学术职称论文参考文献资料下载,关于免费教你怎么写控制系统方面论文范文。

1、学生管理系统论文

2、关于成本控制的论文

3、通信系统论文

4、信息系统项目管理论文

5、企业成本控制论文

6、论文查询系统