您当前的位置:首页 > 科技前沿

说话人识别算法的定点DSP实现

时间:2014-12-22  来源:扁平线圈电感厂家  点击:

引言
说话人识别又称声纹识别,是通过说话人的声音特征进行身份认证的一种生物特征识别技术。说话人识别经过60多年的研究,已经逐步应用到法律、银行等各个领域。说话人识别通过对语音信号进行处理,提取说话人语音当中的生物学个性特征,在特征空间建立不同个体的特征模型,从而实现说话人的识别。识别的关键算法包括特征提模压电感取和建立模型两个方面,参考文献从基本概念到特征提取,再到模型建立,对说话人识别中涉及的主要算法进行了详细的综述,并比较了各种算法的优劣。
实现基于嵌入式的实时说话人识别系统是说话人识别走向应用的关键步骤。随着DSP技术的发展,DSP作为数字处理专用芯片在复杂数学算法的实现上起着越来越重要的作用。参考文献在DSP上实现了说话人确认,并应用于电感器生产汽车声纹锁。本文以TI公司的TDSDM642EVM为平台,实现了实时的说话人身份识别系统。

1 系统组成
说话人识别系统是一个模式识别的过程,总体上分为两个步骤:第一个步骤是训练说话人模型,第二个步骤是通过比对模型库对输入的信号进行说话人识别。其识别过程如图1所示。

a.jpg


在训练注册阶段,系统主要完成说话人的特征提取以及模型特征库的建立。在识别阶段,系统根据输入的语言信号提取相应的特征,然后再与模型库中的模型进行匹配判决,最后给出识别结果。
说话人识别在嵌入式系统中实现时主要完成语音采集、模型训练、匹配识别3个任务。本文采用TDSDM642EVM平台实现说话人识别系统,其结构框图如图2所示。该系统通过AIC23实现语音信号采集和播放的功能,输入的语音信号经过TDSDM642处理后,通过LED显示识别结果。 ROM中包含说话人识别程序和训练出的模型数据,并可以实时更新。SDRAM则提供了系统运行时所需的内存。

b.jpg



2 系统算法描述
说话人识别的算法主要包括特征提取和模式识别两个方面。MFCC特征参数是从频率域提取语音信号的特征参数,并根据人耳的听觉特性进行降维,既可减小计算复杂度,又能获得良好的识别效果。MFCC特征提取过程如图3所示。

c.jpg


说话人识别建模的方法主要有矢量量化(VQ)、高斯混合模型(GMM)、支持向量基(SVM)、人工神经网络(ANN),以及动态时间规整(DTW)等。综合考虑嵌入式系统上算法的识别率和计算量,本文采用DTW方法实现文本相关的说话人识别。

3 定点算法实现和优化
TDSDM642是TI公司推出的定点DSP芯片,具有性价比高、运算速度快的优点,但是定点DSP对于浮点运算比较困难,因此在系统实现时需要对算法进行浮点到定点的移植。同时,为了使DSP上的代码获得最好的性能,还应该根据TDSDM642芯片片内资源的特征进行优化。优化的方法有编译风华高科系列电感器优化、软件流水、内联函数等。通过优化可以明显提高代码执行速度,并减小代码尺寸。
说话人识别当中,计算耗时最长的是MFCC参数的提取和参数模型的训练,本文采用以下优化方法。
3.1 编译器优化
TI公司的CCS编译器可以对C代码进行不同级别的优化,通过打开不同的优化选项,可以针对具体的硬件平台进行不同程度的优化,包括代码的大小、运行的速度等。通常经过CCS优化的程序,运行速度电感生产已经相当快,结构设计良好的程序能实现90%的优化。如果还没有达到系统设计的要求,则需要对代码进行手工优化。
3.2 软件流水优化
TDSDM642处理器采用C64x系列芯片,其内部共有8条软件流水线,可以8条指令并行执行,能够大大提高系统性能。恰当地电感生产设计软件结构,并配合合适的编译优化选项,可以充分利用芯片内的软件流水优化提高系统性能。CCS的编译优化一般只针对最内层的循环进行流水
优化,并且在循环中代码应该尽量简单,如果循环中含有大量判断、跳转等指令,那么编译出来的软件流水会大打折扣,有时甚至无法进行流水执行指令,这样处理器的性能就不能充分地发挥出来。

大电流电感

数字中频调制解调系统的设计与实现摘要:为了实现MSK数字调制解调、扩频解扩等复杂算法,设计了以TMS320C6416 DSP和Altera公司FPGAEP3SE110为核心的数字中频调制解调系统,并在此系统中成功实现MSK数字正交调

LED驱动设计需要注意的问题1、芯片发热这主要针对内置电源调制器的高压驱动芯片。假如芯片消耗的电流为2mA,300V的电压加在芯片上面,芯片的功耗为0.6W,当然会引起芯片的发热。驱动芯片的最大电流来自于驱动功率mos管的消耗,

[稳压电源]LDO欠压工作寿命问题是这样的,我们正在使用的一个模块里面用到了LP38692-ADJ芯片,之前是3.3V转2.5V给运放供电,总电流不到0.1A,最近发现优化参数时2.5V电压不够用,可以直接使用3.3V供电,但是这样得飞线,比较麻烦,模块已经量产了,于是我改变电阻值将输出电压调节到3.1V,芯片手册说25℃ 3.3V输出0.1A负载时压降为典型值80mV,最大值145mV,但是温度变化会导致压降变化,有可能低温时输出就达不到3.1V,但输出电压降低对于后端电路是无所谓的,主要是此时LDO工作在输入欠压模式

注塑加工厂


上一篇基于AT89C52单片机的超低频信号发生器设计

下一篇具有带隙结构的迟滞比较器电路设计


  
  温馨提示
网站首页 | 产品展示 | 科技前沿 | 行业资讯
本公司专业研发、设计、生产、销售贴片电感、插件电感、功率电感、大电流电感、扁平线圈电感、一体成型电感。
专业电感生产制造商,品质优异、交期快。
在线客服
热线电话