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

发布者:静默思考最新更新时间:2011-09-15 来源: 单片机与嵌入式系统关键字:DSP  识别算法 手机看文章 扫描二维码
随时随地手机看文章

   

引言
    说话人识别又称声纹识别,是通过说话人的声音特征进行身份认证的一种生物特征识别技术。说话人识别经过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的编译优化一般只针对最内层的循环进行流水
优化,并且在循环中代码应该尽量简单,如果循环中含有大量判断、跳转等指令,那么编译出来的软件流水会大打折扣,有时甚至无法进行流水执行指令,这样处理器的性能就不能充分地发挥出来。
3.3 循环展开优化
    循环展开是另一种优化程序的方法。为了充分利用芯片内的硬件资源,使尽可能多的指令同时并行执行,可以采用将小循环展开的方式,使片内资源的性能得到最大的发挥。CCS优化编译器通常情况下会根据程序的情况自动展开循环,编程人员也可以采用编译指令或手工方式展开循环优化程序。
3.4 采用内联函数
    TI公司的C6000编译器含有大量的内联函数,支持从C语言里直接调用汇编程序,从而大大提高程序的执行速度。系统提供的内联函数还可以支持C64x系列DSP特有指令的执行,例如数据打包相乘等操作,可以进一步提高系统数据处理能力。

4 实验结果
    本文在TDSDM642 EVM平台上实现了实时的说话人识别系统。经过对10个人的语音数据进行识别实验,正确率达到90%,可以达到实用水平。通过改进算法和调整参数,可以进一步提高系统识别率,以满足安全系统的更高要求。

关键字:DSP  识别算法 引用地址:说话人识别算法的定点DSP实现

上一篇:一种DSP与PCI总线的接口设计
下一篇:基于DSP的外部存储器引导方法实现

推荐阅读最新更新时间:2024-05-02 21:34

中科昊芯解读业界第一颗基于RISC-V的DSP
日前,在2021 中国集成电路设计创新大会暨 IC 应用博览会(ICDIA)期间,中科昊芯联合创始人&副总经理吴军宁和总经理助理&销售总监王铠接受了媒体专访,就中科昊芯推出的首款RISC-V DSP产品进行了解读。 中科昊芯联合创始人&副总经理吴军宁 中科昊芯总经理助理&销售总监王铠 中科昊芯总经理助理&销售总监王铠表示,尽管DSP芯片已经诞生多年,但是在传统的工业控制以及新兴的消费电子、新能源等领域仍有巨大的市场空间;大部分市场份额都被国际友商所占据,一些国内企业曾尝试进行突围,但由于知识产权、生态或技术问题,并没有取得显著成果。 中科昊芯依托中科院,近年来一直开发基于DSP的产品,很早开始RISC-V的研究
[嵌入式]
中科昊芯解读业界第一颗基于RISC-V的<font color='red'>DSP</font>
DSP/BIOS环境下的数据通信
引 言 对于数字信号处理应用来说,数据的通信很关键。在TI公司的DSP/BIOS环境下有3种通信方式,即基于管道(PIP,pipe)的通信、基于流(SIO,stream I/O)通道的通信以及基于主机(HST,host)通道的通信。每一种通信方式都是通过调度其相应的内核对象来完成的。DSP/BIOS提供了管理每一种通信方式的模块及相应地API调用,通过这些模块及调用,可以完成DSP环境下的输入/输出 (I/O)。本文在对各种通信方式进行简要介绍的基础上,对各种通信方式进行比较,并给出利用PIP对象进行数据通信的1个例子。 1 通信方式简介 (1)主机通信   主机通信方式下,由HST对象完成主机与目标机之间的通信。HST对象静态配置
[嵌入式]
基于DSP动液面深度测试系统设计
1 引言 动液面深度是油机井的井口到井下油层表面的距离,是抽油机井定期测试中的一个重要参数。由动液面深度还可计算出井管内的平均声速。动液面深度、井管内的平均声速与其它测试项目的结果相结合可以充分反映抽油机井的工作状态和产量情况,为油井的诊断和维护提供依据。 2 动液面深度测试原理 动液面深度测试仪器通过采集由安装在井口的炮枪发出并经过井管接头反射的节箍波信号和经过油层表面反射的液面波信号(如图1所示),找出井口位置、动液面位置及基准节箍波,用公式(1)来计算动液面深度。 图1节箍波和液面波波形示意图 (1) 公式(1)中A、B、C、D分别代表井口位置、液面位置、参考节箍波起点和参考节箍波终点,L为单节井管的长度
[测试测量]
基于<font color='red'>DSP</font>动液面深度测试系统设计
数字信号处理芯片重拾多核心架构
为了在提升性能并同时降低功耗,在处理器中加入更多核心俨然已成为运算和嵌入式处理器产业的标准作法。尽管类似的演变对各种高性能处理来说似乎无可避免,但以往的经验也让数字讯号处理器(DSP)供货商在采用多核心方式上更具有选择性。目前DSP正开始重新采纳多核心架构,但主要仍针对一些处理任务可以得到妥善划分的特殊应用。 DSP应用通常只包含一些高度复杂的任务,且其系统性能的提升有赖于加速任务的执行速度,而不只是单纯地执行更多的任务。DSP系统并不在任务级进行分割,而通常必须在算法等级上完成分割任务。对于如压缩视讯串流的整体任务而言,则必须将其分成可在不同核心上平行执行的多个步骤。任务排程器或操作系统无法完成这种分割,这种分割必
[嵌入式]
数字信号处理芯片重拾多核心架构
Credo Seagull 50芯片:完美匹配5G无线通信严苛要求的高性能DSP
Credo——高性能、低功耗串行连接解决方案领域全球创新企业宣布推出Seagull 50芯片,一款专供于5G无线通信网络中前传/中传光模块的高性能光通信数字信号处理器(DSP)。Credo Seagull 50满足了移动网络不断攀升的带宽需求,支持长距离传输及工业级工作温度范围。Credo Seagull 50 可配置为两种工作模式:2x25G — 1x50G 及 1x50G — 1x50G。Seagull 50产品采用Credo独特设计架构,最大程度减小芯片尺寸,并使用主流工艺制程以降低产品成本。 Credo将于2020年9月9日至11日,在中国深圳国际光电博览会(CIOE 2020)期间,于8A21号展位为大家现场展示Se
[嵌入式]
谷歌解释为何Pixel 6/Pro的屏下指纹识别慢:采用增强安全算法
谷歌 Pixel 6 和 6 Pro 有很多值得称赞的地方,但它们的屏下指纹不在其中。   自 Pixel 6 系列于 10 月发布以来,用户一直在抱怨其缓慢、不可靠的指纹传感器,这使得手机解锁起来很麻烦。近日,谷歌终于向用户回应了这些抱怨。   我们很抱歉给您带来麻烦。Pixel 6 系列的指纹传感器采用增强的安全算法,在某些情况下,这些附加保护可能需要更长的时间来验证或需要与传感器进行更直接的接触。   谷歌在回应下方提供了一个指向支持页面的链接,该页面除了建议确保手指干净并且使用的是已在手机上注册的手指之外,实际上并没有提供太多帮助。   IT之家了解到,Pixel 6 系列使用屏下光学指纹传感器,而不是像三星
[手机便携]
谷歌解释为何Pixel 6/Pro的屏下指纹<font color='red'>识别</font>慢:采用增强安全<font color='red'>算法</font>
基于DSP的高性能通用并行弹载计算机设计实现
0 引 言 随着技术的发展,在导弹控制和通信等领域,需要处理的任务规模越来越大。虽然随着VLSI技术的发展,已产生了运算能力达每秒几十亿次的处理器,但还远远不能满足这些领域的需求。而VLSI技术的发展已受到其开关速度的限制,进一步提高处理器主频遇到的困难越来越大。为此,把用于大型计算机的并行处理技术应用到信号处理中来,在信号处理系统中引入并行多处理器技术是必然趋势。传统弹载计算机一般针对特定场合,先确定算法,再根据算法确定系统结构,由于系统结构与算法严格相关,因此通用性较差。随着一些标准技术(标准板型、接口、互联协议等)在弹上控制系统中的应用,设计标准化、模块化的通用型计算机成为了可行。而且所设计的还要可扩展、可重构,进而根
[嵌入式]
流水线型ADCMAX1200及其与DSP的接口
    摘要: 新型的流水线结构模数转换技术是实现高速、高精度、低功耗的数据转换的新技术。介绍16位MAX1200的结构、原理及其在高速数据采集系统中与DSP的接口及应用,可对流水线型ADC有实频了解。     关键词: 流水线MAX1200 ADC TMS320F206 1 概述 为了适应计算机、通信和多媒体技术的飞速发展以及高新技术领域的数字化进程不断加快,ADC在工艺、结构、性能上都有了很大进步,正在朝着低功耗、高速、高分辨率的方向发展。新型的流水线结构是实现高速低功耗ADC的新型有效的方法。MAX1200就是采用这一新技术的高速、高精度、低功耗ADC的代表。    
[应用]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved