有机合成的基本步骤范例(3篇)

来源:

有机合成的基本步骤范文篇1

1.1供应链的流程主要包含:备件生产、采购、储备与库房建设、管理等一系列流程,需要设备供应商、采购商与用户等轮流接手,将电力物资在此供应链上顺承。因此,只有保证各个环节所获取的信息准确无误,才能进一步确定最终信息的正确性,进而防止信息在传播过程中遭受恶意攻击破坏。如果发现文档被篡改,合理的进行篡改定位,可以及时发现被改动的信息,防止导致严重的后果。

1.2文本数字水印技术文本数字水印技术利用文本文档的冗余空间,完成水印信息的嵌入,以达到隐蔽通信、真伪鉴定、内容认证等目的。文本数字水印技术结合人类视觉系统(HVS),在肉眼感知系数变化不超过不可感知的范围内,通过微调文档格式或改变文档内容嵌入水印信息,以达到所需目的。基于微调文档格式的水印算法主要是在肉眼不可分辨的阈值内,轻微改变行间距、字符间距及字符属性嵌入水印信息,此类水印算法鲁棒性较好,可以抵抗一定的攻击,透明性高,容量大;通过改变文档内容嵌入水印信息的方法主要是依靠同义词替换和等价句式替换完成水印信息的嵌入,此类算法鲁棒性高于基于格式嵌入水印的算法,但是,由于引起了内容的变化,透明性较差,容量较小。

2基于字符颜色的文本水印算法

电力物资供应链中文档的可信传输,针对算法的透明性与鲁棒性要求较高,即不能发生易察觉的变化,引起攻击者的兴趣,保证文档内容不能发生变化导致歧义的同时还必需保障算法具备较好的鲁棒性以抵抗攻击。因此,本文采取基于改变字符颜色嵌入水印信息的水印算法。根据人眼视锥细胞对颜色的敏感度测试可知,肉眼对颜色的RGB分量敏感度不同,对红色最敏感,绿色次之,蓝色最弱。为了保证嵌入水印信息具备更好的透明性,本算法不改变字符颜色的R位,而采用修改字符颜色G分量的低三位,B分量的低四位,完成水印信息的嵌入。

2.1水印信息潜入规则水印信息的预处理过程为了提高安全性,本算法结合密码学,对水印信息进行预处理,使用汉明编码对加密后的信息进行编码。基于线性同余法实现了水印信息嵌入位置的随机化。线性同余伪随机序列的迭代公式为:xi+1=(axi+c)(modm)其中,m为最接近文档字符总数的素数,a∈(2,m),c小于m且与m互素。步骤1:输入密钥信息,并将其转化为二进制序列K=k1k2k3…km;步骤2:输入水印信息,并将其转化为二进制序列W=w1w2w3…wn;步骤3:针对密钥与水印序列进行循环取模,获得加密后的二进制序列M=m1m2m3…ml,其中,l=max{m,n};步骤4:基于(7,4)汉明编码增加监督码,以实现错位纠正的目的,即可获得预处理后的二进制序列H=h1h2h3…ht,其中,t=7*l/4,hi∈0,1,1≤i≤t。水印信息的嵌入步骤1:文档初始化,将字符颜色均设置为黑色,即RGB(0,0,0);步骤2:遍历文档,统计字符数N,判断预嵌入空间是否足够;步骤3:根据水印信息预处理部分所得的位置,对于字符(jj<N),嵌入水印信息的间隔标识S,进行水印信息的循环嵌入,即修改字符的RGB值,此时,RGB分别被修改为(0,0,1),(0,0,2);步骤4:选定字符j,若j<N,则执行步骤7;否则判断间隔标识,标识嵌入完成执行步骤5,未完成则执行步骤1;步骤5:hi=1时,修改当前字符为RGB(0,1,1);修改下一个字符为RGB(0,1,2);hi=0时,修改当前字符为RGB(0,2,0);修改下一个字符为RGB(0,2,1);步骤6:重复执行步骤1-5嵌入信息。步骤7:嵌入完成,保存文档。

2.2水印信息的提取步骤1:输入密钥,将其转换成二进制序列K;步骤2:遍历文档,查找RGB被修改的位置,根据嵌入的规则,提取“1”,“0”,得到二进制序列S;步骤3:通过对S解码和纠错,得到二进制序列M;当imod7=0时,计算校正子,如果3位校正子全为0,则水印未被篡改,如果得到其它值,对其进行篡改定位并进行一位错码纠正,去除监督位。步骤4:对二进制序列M与密钥K进行循环取模,可以得到水印信息的二进制序列,再对其进行转换,得到输入的水印信号。

3实验结果与实验分析

本实验随机选取3篇包含中、英文字符的word文档为测试文档,对其进行水印信息的嵌入和提取,以及攻击实验,其中,嵌入的测试水印信息为“电力物资123”。

(1)透明性分析:该算法的透明性设计充分考虑了HVS,满足肉眼不可分辨字符色彩有所变化的范围。同时,由图1和图2对比所见,嵌入信息后的文档与原始文档并无差异。

(2)鲁棒性分析:该算法的鲁棒性较强,由于此算法采用循环嵌入水印信息的方式,因此,含有水印信息的文档只要有一个完整的水印信息没有被攻击破坏,就可以完成该水印信息的检测提取。该算法可以抵抗除了全篇字符颜色攻击外的其他格式攻击,同时,在针对一部分字符遭受颜色攻击时可以成功进行篡改定位。针对内容攻击,该算法的鲁棒性亦较强,只要全篇内容没有均遭受攻击,嵌入的水印信息就可以被正确检测。

(3)容量分析:该算法基于改变字符RGB值完成水印信息的嵌入,一个字符可以完成一个字节信息的嵌入,容量很大,但是,算法中结合了纠错机制,即汉明编码,每7个码字包含4个信息位,纠正1比特错误。因此,平均两个字符可以完成一个字节水印信息的嵌入,容量可以满足基本的使用。综上,该算法具备透明性、容量较大的特点,可以实现针对内容进行隐蔽通信,不易引起对手的兴趣,该算法鲁棒性较强,可以抵抗一定的攻击,同时该算法具备一定的篡改定位性能,进一步保障了文档的安全传输。

4结束语

有机合成的基本步骤范文

关键词:蚁群算法;基因表达式编程;GEP

Hybridantcolonyalgorithmbasedongeneexpressionprogramming

Zhouhaiyan

(ShoolofComputerandInformationEngineering,GuangxiTeachersEducationUniversity,Nanning530023,China)

Abstract:Antcolonyalgorithmhascapabilityofdistributedparallelglobalsearch,convergestotheoptimalpathbyaccumulatingandupdatingthepheromone,butlackofinitialpheromone,slowconvergencespeed.Tosolvethisproblem,Thispaperpresentsanewhybridalgorithmwhichgeneratepheromonedistributionbygeneexpressionprogrammingfirst,thentakeadvantageoftheantcolonyalgorithmstofindoptimalsolutions.BysolvingcomplexTSPproblemofsimulationdataexperiments,itprovedthetheefficiencyofthehybridantcolonyalgorithmbasedongeneexpressionprogramming.

Keywords:Antcolonyalgorithm;geneexpressionprogramming;GEP

葡萄牙进化生物学家Ferreira通过借鉴生物遗传的基因表达规律,将遗传算法GA(GeneticAlgorithm)和遗传编程GP(GeneticProgramming)的优点融合在其中,经过五年时间的研究,在2000年提出了进化计算家族中的革命性的新成员基因表达式编程GEP(geneexpressionprogramming)。

基因表达式编程GEP是借鉴生物界的自然选择和遗传机制,在GA和GP的基础上发展起来的全新的随机搜索和优化算法。它虽然具有跟传统GA和GP相似的计算机理,但是在个体的编码方法和结果的表现上有着明显的区别。在GEP中,计算机程序被编码成固定长度的线性符号串(染色体),然后在进行个体适应度计算时,被表示成不同形状和大小的表达树,从而解决问题。这种把基因型(染色体)和表现型(表达式树)既分离又互相转化的结合,使得GEP克服了GA损失功能复杂性的可能性和GP难以再产生新的变化的可能性,提高了解决问题的能力和效率。Ferreira指出基因表达式编程的效率比传统的遗传算法和遗传编程高出100~60000倍,实现了又一次跨学科的革新。

蚁群算法是通过信息素的累积和更新而收敛于最优路径,具有分布、并行、全局收敛能力。但初期信息素匮乏、导致算法速度慢,为了克服蚁群算法的缺陷。为此首先利用基因表达式编程的随机搜索、快速性、全局收敛性产生有关问题的初始信息素分布。然后,充分利用蚁群的并行性、正反馈机制以及求解效率高等特征。这样融合后的算法,在时间效率和求解效率都比较好的启发式算法。

1基因表达式编程简介

1.1GEP算法工作原理

跟所有的演化算法一样,GEP算法的基本步骤也是从随机产生的一定数量的染色体个体(初始种群)开始;然后对这些染色体进行表达,依据一个适应度样本集(问题的输入)计算出每个个体的适应度;最后个体按照适应度值被选择,进行遗传操作,产生具有新特性的后代。该过程一直重复若干代,直到发现一个最优解。

GEP的核心技术就是将变异过程和评估过程完全分开。它的变异过程使用定长的线性符号串,而评估过程采用表达式树ET(ExpressionTree),两者之间可以通过规则进行相互转化。对每个具体问题来说,算法执行之前必须确定产生染色体的符号,即选择适合问题解的函数集和终点集;确定基因的结构及基因的头长,每个染色体中的基因数和各基因的连接运算符号;最后还要选择一个适应度函数,确定遗传控制参数。

1.2GEP的基因结构

GEP遗传操作的基本单位是染色体,染色体由一个或多个基因构成。基因由线性定长的字符串组成。GEP的基因型个体由定长的头部和尾部组成,头部元素∈{函数集F}∪{终结符集T},尾部元素∈{终结符集T}(其中函数集F由求解问题需要的所有函数运算符组成,终止符集T由描述问题的解的已知符号变量或常数组成),并且头部长度h和尾部长度t须满足以下关系:

其中nmax为函数集F的最大操作数目,在个体表现型中表现为树型结构中节点的最大分支数,这一设计使得基于基因型个体的遗传操作都具有很好的合法性。GEP的个体表现型被称为ET树。ET树是通过顺序扫描基因型个体的字符,按照层次顺序构成。例如,若定义函数集F={*,/,+,-,Q}(依次为乘除加减和开方运算),终止符集T={c,d,e,f},则nmax=2,取头部长h=5由式(1)得到尾部长t=6假定有基因型个体:Q/+-cfed,它可以转化为如图1所示的ET树:

1.3GEP算法基本步骤

⑴输入相关参数,创建初始化群体;

⑵计算每个个体的适应度函数,若不符合结束条件,继续下一步,否则结束;

⑶保留最好个体;

⑷选择操作;

⑸变异;

⑹插串操作(IS插串RIS插串Gene插串);

⑺重组(1-点重组2-点重组多基因重组);

⑻若达到设定最大进化代数或计算精度,则进化结束,否则转到步骤2)。

2基于基因表达式编程的混合蚁群算法

2.1基本思想

蚁群算法是群集智能算法的一种,它属于自然计算中的一类,模拟的是生物系统――社会系统,即利用群体与环境以及个体之间的互动行为来搜寻最优解。GEP算法则属于演化计算一个重要分支,它模拟基因进化过程,利用种群进化来搜寻最优解。首先利用GEP算法的随机搜索、快速性、全局收敛性在大范围内寻找一组粗略解,然后以这组粗略解为蚁群算法的初始路径,利用蚂蚁算法的并行性、正反馈机制以及求解效率高等特性求解出最优解。

2.2基于GEP算法的混合蚁群算法原理及流程

GEP算法一开始,先随机的产生种群。对于TSP问题,种群里面的每一个个体(或叫染色体)都代表一组城市的排列,其质量高低用一个适应函数来评价。每一个个体按照一定的概率,通常是按照适应值被选择进行交叉、倒串、插串、变异产生新的下一代种群。适应值高的个体更有机会来繁殖下一代,随着连续的繁殖,种群趋于收敛于高的那些种群,从而找到可能的最优解。

(1)编码与适应值函数。结合待解决问题,采用十进制实数编码,适应值函数结合目标函数而定。在TSP问题中以城市的遍历次序作为遗传算法的编码,例如:(7,4,9,5,6,1,2,8,10)代表从城市7出发,经由城市4-9-5-6-1-2-8-10,最后又回到城市4的一条路径。适应值函数取为:

其中L为遍历所有城市的路径长度。

(2)种群生成与染色体选择。利用随机函数生成一定数量的十进制实数编码种群,根据适应值函数选择一对染色体父串进行。在此利用式选择策略(roulettewheelselection)进行选择,根据适应函数值选择准备进行的染色体父串。

⑶变异算子。变异作用在单个染色体上,对染色体的每一位进行随机测试,当满足变异概率时,讲重新产生该位的编码。如果变异位在基因头部,可以重新选择所有的符号,否则只能选择终结符。

⑷倒串算子。倒串算子作用于染色体某个基因的头部,它随机地在基因头部选择一段子串,然后以该子串中间字符为对称中心各字符位置顺序对调。

⑸插串算子。插串是GEP所特有的遗传算子。它随机在基因中选择一段子串,然后将该子串插入头部随机指定的一个位置(但不能是第一个位置),将头部的其他符号向后顺延,超过头部长度的编码将被截去。

⑹单点重组。单点重组作用在两个父代染色体上,随机选择一个交叉位置,互换交叉点后面的染色体部分,得到两个子代染色体。

⑺信息素的初值设置。根据GEP算法的执行,得到了一定的路径信息素。另外,为了防止算法过早收敛,陷入局部最优解,这里采用最大-最小蚂蚁系统(MMAS)中的方法,即将各路径信息素初值设为最大值τmax。综合这两部分,信息素的初值τs设置为:

其中:τc是一个常数,相当于MMAS算法中的τmin,τG是遗传算法求解出的最优解所转换的信息素值。

⑻信息素的更新.采用蚁周模型进行信息素的更新公式如公式(2.3),路径上的轨迹更新方程为公式(2.4)。

τij(t)为t时刻边e(i,j)上外激素的强度,Δτkij表示第K只蚂蚁在本次循环中留在路径ij上的信息素,Δτij表示本次循环中路径ij上的信息增量,ρ表示轨迹的持久性。

2.3算法流程

步骤1参数初始化。令时间t=0,循环次数nc=0,设置最大初循环次数ncmax,信息素Q,将m只蚂蚁置于n个元素(城市)组成的集合C中,令有向图上每条边(i,j)的初始化信息量τij(t)=const,且初始时刻Δτij(0)=0,其中const为常数;

步骤2循环次数nc=nc+1;

步骤3蚂蚁的禁忌表索引号k=1;

步骤4蚂蚁数目k=k+1;

步骤5蚂蚁个体根据状态转移式计算的概率选择元素(城市)并前进,j∈{c-tabuk};

步骤6修改禁忌表指针,将蚂蚁移动到新的元素(城市),并把该元素(城市)移动到该蚂蚁个体的禁忌表中;

步骤7若k

步骤8选出本次循环中的最优路径和次优路径,按照交叉算子中的方法进行交叉运算,并保留最优路径,记其为L;

步骤9按照2.2中的方法进行变异运算;

步骤10根据式(2.3)、(2.4)、(2.5)局部更新每条路径上的信息量;

步骤11根据式(2.3)、(2.4)、(2.5)全局更新每条路径上的信息量;

步骤12若满足结束条件,即如果循环次数nc≥ncmax,则循环结束并输出程序计算结果,否则清空禁忌表并跳转到步骤2。

3实验结果与分析

本文通过对TSPLIB数据库中Oliver30问题和Eil51问题进行仿真研究,平均运行30次作为仿真结果,来验证GEP蚁群混合算法的有效性。实验中所采取的各项参数如下:α=1,β=6,Q=140,Oliver30问题中蚂蚁数目m=20,设置最大循环次数300次;在Eil51问题中蚂蚁数目m=30,设置最大循环次数600次。实验数据结果如表1所示。

对实验结果的数据进行分析可以看出,本文提出的算法求出的平均解和最优解都要优于基本的蚁群算法的求解结果,同时本文算法收敛性能也比基本蚁群算法好,本文给出的一类融入GEP算法的蚁群算法的全局性和收敛性比基本蚁群算法都有所提高,因此是一种有效的改进算法。

4结束语

蚁群算法是一种新型的进化算法,它与其它进化算法同样存在易陷入局部最优值,存在过早收敛的现象。本文通过融入GEP算法,引入交叉算子和变异算子扩大了算法的搜索空间,同时在交叉运算中保留解中的公共最优路径加快了算法的收敛速度,改进后蚁群算法可以提高算法的全局搜索能力和收敛性能。通过对TSP问题的仿真表明本文算法是一种有效的改进算法。

[参考文献]

[1]LiM,WangH,LiP.Tasksmappinginmulti-corebasedsystem:HybridACO&GAapproach[C].Beijing,China:Proceedingsofthe5thInternationalConferenceonASIC,2003:355-340.

[2]PilatML,WhiteT.UsinggeneticalgorithmstooptimizeACS-TSP[C].Brussels,Belgium:Proceedingsof3rdInternationalWorkshoponantAlgorithms/ANTS2002,LNCS,2002:282-287.

[3]元昌安.基于GEP的函数发现的智能模型库关键技术研究[D].成都:四川大学博士论文,2006.

[4]左.基因表达式核心技术研究[D].成都,四川大学计算机学院,2004.

[5]唐常杰,张天庆,左吉力,等.基于基因表达式编程的知识发现沿革、成果和发展方向,2004,24(10):7-10.

[6]LiMinqiang,KouJisong,LinDan,etal.Thetheoryandap-plicationofgeneticalgorithm[M].Beijing:SciencePress,2002.

有机合成的基本步骤范文

关键词:综合实训;单片机;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机录制用户语音命令,通过提取语音命令的美尔倒谱系数(MelMFCC)为特征,采用动态时间规整算法(DynamicTimeWarping,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.

你会喜欢下面的文章?

    年级写人的作文范例(整理5篇)

    - 阅2

    年级写人的作文篇1我最熟悉的人当然是我的弟弟啦,我的弟弟是个瓜子脸,乌黑的眉毛下有一双水汪汪的大眼睛。他还有一张会说的嘴,如果你和他斗嘴,他肯定斗得你无话可说。我弟弟特.....

    党员酒驾检讨书范例(精选3篇)

    - 阅2

    2020年党员酒驾检讨书范例篇1尊敬的交警同志:关于我酒后驾驶的行为,几天来,我认真反思,深刻自剖,为自己的行为感到了深深地愧疚和不安,在此,我谨向各位做出深刻检讨,并将我几天来的.....

    女生培训礼仪范例(3篇)

    - 阅0

    女生培训礼仪范文礼仪培训心得体会一:首先,感谢朱老师在百忙中给我们讲课。我们每个人都有一个形象,不管是否刻意塑造。仅仅因为你没有有意识地设计,并不意味着别人眼里就不存.....

    女生心理健康表现范例(3篇)

    - 阅0

    女生心理健康表现范文“爱,灿如夏花”温情沙画,启迪女性健康会前,韩小红博士发表了精彩致辞,分享了其初创慈铭奥亚国际医疗会所、首推私人医生、深度体检的心路历程,对未来女性.....

    女生健康教育心得体会范例(3篇)

    阅:0

    女生健康教育心得体会范文关键词:高校;女大学生;性别视角;心理健康教育中图分类号:B844.2文献标识码:B1.性别视角....

    有机合成的基本步骤范例(3篇)

    阅:0

    有机合成的基本步骤范文篇11.1供应链的流程主要包含:备件生产、采购、储备与库房建设、管理等一系列流程,需要....

    女生培训礼仪范例(3篇)

    阅:0

    女生培训礼仪范文礼仪培训心得体会一:首先,感谢朱老师在百忙中给我们讲课。我们每个人都有一个形象,不管是否刻....