李俊萩 张晴晖 吕丹桔 秦明明
摘要:电子信息工程专业的综合实训其教学目的是使学生对所学多门主干课程进行一个系统复习,继而为本科毕业设计奠定坚实的基础。本次实训项目为设计一个语音控制的虚拟信号发生器,综合了多学科知识,涉及电子电路设计类、程序设计类、信号处理类等课程。实训项目由教师指导学生分模块、分步骤进行,先硬件、后软件,让学生熟悉系统设计的过程及步骤。实践证明,通过综合实训的锻炼,学生的实际动手能力、综合应用能力、项目开发能力等方面都得到一定程度的提高。
关键词:综合实训;单片机;LabWindows/CVI;电子线路设计;语音信号处理
中图分类号:G642.41 文献标志码:A 文章编号:1674-9324(2016)07-0117-03
电子信息工程专业的综合实训在整个本科教学中起到一个承上启下的作用。教学内容是将学生所学的多门主干课程融合在一起,设计一个语音控制的虚拟信号发生器。该题目融合了单片机基础、C语言程序设计、数字电路、电子线路设计、语音信号处理等多门课程的知识,对学生所学知识进行了一个系统的复习,这是“承上”的作用。经过为期三周的实训,学生的实际动手能力、综合应用能力、项目设计能力都能得到很好的锻炼,为大四即将进行的本科毕业设计起到一个铺垫,这是“启下”的作用。综合实训由多名教师合作,分模块、分步骤地指导学生完成。第一阶段进行系统设计,向学生讲解整个项目的框架;第二阶段是单片机系统仿真,基于Proteus和Keil软件仿真实现信号发生器的基本功能;第三阶段是硬件电路的焊接及调试;第四阶段是上层应用软件设计,基于LabWindows/CVI软件设计一个虚拟信号发生器控制面板,通过串口实现对下层硬件系统的控制;第五阶段是语音信号处理,基于Matlab软件对语音信号进行检测,实现由语音控制信号发生的功能。
一、综合实训项目总体框架
综合实训项目的总体框图如图1所示。上层软件包括语音信号处理部分和虚拟信号软面板部分。下层硬件电路包括单片机、D/A转换电路、按键、LED、串口电路。为了锻炼学生的项目开发经验,本次综合实训遵循项目开发的过程,先整体后局部。按照自底向上,先硬件后软件的步骤,由教师指导学生一步步完成。
二、单片机及外围电路设计
本次实训项目是语音控制的虚拟信号发生器,其基本功能是产生四种常规波形(方波、锯齿波、三角波、正弦波)。波形的产生由单片机控制D/A转换电路实现,波形选择可以由按键控制,也可以由PC机通过串口发送命令控制。硬件设计阶段主要完成的实践内容有,基于Proteus软件进行系统仿真,基于Protel软件绘制电路原理图及PCB板,最后进行实物焊接。
1.Proteus仿真。基于Proteus进行仿真时,按以下模块分步骤进行,首先仿真D/A转换部分,然后仿真按键和LED部分,再接下来仿真串口部分。各部分仿真完成后,再进行总体仿真。如此分模块地进行有利于学生查找和定位问题。第1步:D/A转换模块的仿真。本次实训的D/A转换芯片选择TLC5615,这是一块串行的10位DAC芯片,只需要3根总线便可以完成10位数据的串行输入。对于项目经验很少的本科生来说,选择引脚较少的芯片有利于提高实物焊接的成功率。第2步:按键和显示模块的仿真。本次实训的按键和显示部分仅做了最简单的设计,选用独立式按键和一个七段数码管,其目的是简化硬件电路,尽可能保证绝大多数同学能将实物焊接并调试出来,提高他们的学习兴趣。四个独立式按键分别用于选“方波”、“锯齿波”、“三角波”、“正弦波”等四种波形,四种波形的序号1、2、3、4显示在数码管上。第3步:系统总体仿真。图2所示为简易波形发生器的总体仿真电路图。
2.硬件电路的焊接。基于Proteus完成系统仿真之后,接下来进行硬件电路的焊接。很多同学在焊接电路时,由于经验不足,急于求成,总是将全部电路焊接完成后,再进行测试。然而往往由于焊接技术不娴熟,常出现虚焊、错焊等问题,导致看不到运行效果,而众多的焊接线路又使得学生无从下手去查找和定位问题,最终散失信心。为了提高同学焊接电路的成功率,在硬件电路焊接时,教师也是分步骤进行指导,每焊接完一部分电路就进行测试,在保证前一部分电路焊接正确的前提下,再进入后一部分电路的焊接。实践证明,有了这样的过程控制,仅有极少部分学生的电路最终未调试出结果。第1步:认识电子元件的实物。第2步:焊接单片机最小系统,并测试最小系统能否正常工作。第3步:焊接TLC5615芯片,并将D/A转换的仿真程序下载到单片机里,观察能否产生波形。第4步:焊接按键及数码管,并将对应的仿真程序下载到单片机里,观察按键和数码管的工作情况。第5步:使用串口調试助手向STC89C51单片机发送控制命令,观察单片机能否根据控制命令产生相应的波形,并在数码管上显示波形序号。
三、上层控制软件设计
完成了硬件电路的设计和制作,接下来是软件部分的设计。软件分为虚拟信号发生器的软面板以及语音信号处理两个部分。虚拟信号发生器软面板采用虚拟仪器专用开发平台LabWindows/CVI设计完成,编程语言是C语言,对于电子信息工程专业的学生来说,该软件较容易上手并掌握。
1.分步骤学习LabWindows/CVI软件。本次实训学生是初次接触LabWindows/CVI开发平台,为了让学生能够在短时间内完成虚拟信号发生器上层控制软件的设计,我们仍然按照分模块、分步骤的方法对学生进行指导。第1步:创建一个简单面板。通过该步骤,让学生了解基于LabWindows/CVI进行程序设计的工程创建过程,整个工程由面板文件、源文件、头文件等组成。第2步:设计一个简易信号发生器。通过该步骤,让学生初步了解CVI里专用库函数的查找及调用方法。第3步:设计一个配置串口的小程序。通过该步骤,让学生了解串口的编程方法。第4步:设计一个文件读写的小程序。通过该步骤,建立语音识别模块与虚拟信号发生器控制面板之间联系的通道。
2.虚拟信号发生器控制面板设计。完成以上几个独立的功能模块后,学生对CVI软件的编程方法有了一定了解,接下来是将各模块整合为虚拟信号发生器上层控制软件,如图3所示。
该软件的基本功能有以下两点:一是可以通过手动控制产生方波、锯齿波、三角波、正弦波四种波形,每选定一种波形,就在波形显示区显示该信号,同时向单片机系统发送控制命令。二是可以通过语音控制产生四种波形,语音识别正确后,将波形序号存储在一个文本文件中,由上层控制软件读取该文本文件,根据序号值便可知道语音识别的结果,然后再控制单片机系统产生相应的波形信号。
图3所示的软件界面左侧为串口参数配置部分。信号产生模式分为“手动控制”和“语音控制”两种,选择“手动控制”时,根据下方的滑动条选择波形类别。选择“语音控制”时,将读取语音信号处理后生成的文本文件,根据文件中存放的波形序号值选择波形类别。信号显示区下方有三个按钮,“产生信号”按钮的功能是在“信号显示”区显示波形信号,同时向单片机系统发送控制命令产生实际波形。“串口测试”按钮的功能是测试串口工作是否正常。“退出系统”按钮的功能是关闭面板。
四、语音信号处理
语音信号处理部分基于Matlab平台,采用上位机PC机录制用户语音命令,通过提取语音命令的美尔倒谱系数(Mel MFCC)为特征,采用动态时间规整算法(Dynamic Time Warping,DTW)进行识别,将识别结果存入文档后,通过Labwindows读取识别结果,依据识别结果产生相应的虚拟波形,同时把识别结果送至单片机产生实际波形。
1.语音控制识别系统。语音识别系统框图如图4所示,这一部分的程序设计主要分为两个阶段:训练阶段和识别阶段。第1步:训练阶段。分别录制方波、锯齿波、三角波、正弦波四个语音命令的wav文件,分别进行切音框分帧,应用高阶差分(HOD)进行端点检测,提取有效语音命令,以帧为单位提取13维的MFCC特征,将这四个语音命令的MFCC特征进行存储建模。第2步:识别阶段。用户任意说出其中的一个波形名称,录制为wav波形文件,经分帧,HOD端点检测,提取13维MFCC特征,将此待识别信息与训练阶段的四个参考模型应用DTW进行计算,将DTW运算中距离最小者判定为识别的语音命令。
2.关键技术。①MFCC特征,本文采用的MFCC特征提取过程如图5所示,以11.4K采样率录制的语音命令,先经过预处理,进行高频补偿,512点/帧进行切音框,逐帧加汉明窗后进行FFT变换,在频域通过20个三角滤波器组,实现频率压缩后,通过离散余弦变换返回时域,提取该倒谱的前13个系统作为MFCC特征。②DTW算法,本文采用的DTW算法原理,采用首尾固定,以0-45-90的路径进行,r表示参考模板的MFCC矩阵,t表示待识别语音命令的MFCC矩阵,其距离计算公式为:
D(i,j)=||t(i),r(j)||+minD(i,j-1)D(i-1,j-1)D(i-1,j)
本次综合实训历时90个学时,以设计并实现一个语音控制的虚拟信号发生器为模型,其特点在于每一阶段的工作教师都按照分步骤、分模块的方法指导学生逐步完成。让学生在硬件设计、软件设计、调试和定位错误等方面都得到一定程度的锻炼和提高。可以说,综合实训在学生的本科教學阶段起到了一个承上启下的作用,既让学生系统复习了多门电子信息类主干课程的相关知识,又为大四即将进行的毕业设计打下坚实的基础。通过该项目的实施能够锻炼学生综合应用多学科知识解决问题的能力。
参考文献:
[1]李江全.Labwindows/CVI数据采集与串口通信典型应用实例[M].电子工业出版社,2014.
[2]王建新,隋美丽.LabWindows/CVI虚拟仪器测试技术及工程应用[M].化学工业出版社,2014.
[3]陈辉,陈梅,杜静,等.基于AT89C51单片机波形发生器的Proteus设计[J].自动化与仪器仪表,2012,(3):51-53.
[4]宋跃,余炽业,胡胜.省级精品单片机课程教学改革探索[J].实验室研究与探索,2012,(4):124-126.