论文部分内容阅读
摘要: DSP是一种专门为实时、快速实现各种数字信号处理算法而设计的、具有特殊结构的微处理器,其处理速度比最快的CPU还快10~50倍。介绍一种基于TMS320C6713DSP芯片设计的10个人范围的说话人身份识别系统。该系统可以自举运行,并可灵活的选择训练、识别或者更换训练者、识别者,识别率达98%以上。
关键词: DSP;嵌入式;应用
中图分类号:TP311文献标识码:A文章编号:1671—7597(2011)0110077-01
随着DSP新技术的发展,DSP芯片无论在处理速度、精度、功耗或者体积等方面都取得了突破性的进展。DSP也越来越多的应用于说话人身份识别。但目前这方面研究主要局限于小数据量、与PC机配套使用上,没有太大的实用价值。本文介绍一种基于TMS320C6713DSP芯片设计10个人范围的说话人身份识别系统。
1 系统的构建
系统主要分为训练和识别两部分,系统初始化后由操作者控制训练或识别。训练目的是提取说话人模型参数并将其存储在FLASHROM中。识别目的是读取待识别者语音信息并将获得的模型参数与训练的模型参数比较,从而获得识别结果。系统主要包含语音采集模块、数据处理模块(DSP)、程序数据存储及自举FLASH模块、数据存储器RAM模块、系统时序逻辑控制CPLD模块、JTAG接口模块。
语音采集模块主要由TLV320AIC23音频编解码器来完成,该芯片是TI公司的一款高性能的立体声音频Codec芯片,内置放大器,输入/输出增益可编程设置。模数,数/模转换集成在一块芯片中。采样率8~96kHz可编程实现。另外还具有低功耗,连接电路简单,性价比高的特点。
数据处理模块(DSP)采用TI公司的TMS320C6713芯片,该芯片实现浮点运算,最高时钟频率225MHz,使用该芯片外部存储器接口可实现对外部存储器(SDRAM)数据传输和程序存储器(FLASHROM)进行程序读写;依靠JTAG接口电路通过仿真器进行仿真调试,实现与主机数据交换;通过片内外设McBSP完成串行数据的接收和发送,实现对音频处理模块的控制等工作。
FLASHROM最大可提供512KB空间,通常为前256KB可用。SDRAM最大容量为16MB,为该系统提供较大的数据存储空间。CPLD为存储器的扩展实现逻辑编码。电源为TPS54310芯片,可为系统提供3.3V和1.26V两种电压。由TLV320AIC23获得的语音信号的数据。为此在SDRAM中定义一片数组存储区域。对于数组大小及类型的选择基于以下两点:
1)数组大小选择。该系统算法中包含训练和识别两个内容。语音信号的训练需要大量的数据才能准确的提取语音的特征参量。该系统采用8kHz采样率的10s的语音信号,所需的数组空间大小为80000个数据单位;语音信号的识别要求快速性,该系统采用时间较短的8kHz3s语音信号,所需数组空间大小为30000个数据单位,为了减少数据空间,系统设定为与训练数组共用前30000个数据单位的空间。2)数组类型为浮点型,由于设定的采样格式是16b采样,而采样后数据类型是Uint32,语音数据位于低16位,所以赋值过程中取低16位数据赋值给数组。
2 识别方法实现
基于该系统对速度、识别效率、存储空间的要求,这里的识别方法选为高斯混合模型。一个M阶混合高斯模型的概率密度函数是由M个高斯概率密度函数加权求和得到,计算公式如下:
式中:X是一个D维随机向量;bi(Xi)是子分布,i=1,2,…,M是子分布;ωi是混合权重,i=1,2,…,M。对GMM模型参数的估计方法该系统采用最大似然估计。对于一组长度为T的训练矢量序列X={X1,X2,…,XT},GMM的似然度可表示为:
由于上式是参数λ的非线性函数,很难直接求出其最大值。因此,该系统采用EM算法估计参数λ。
1)聚类中心的初始化。对于聚类中心数目由GMM模型决定,假设是N。对于聚类中心的初始化,一般取前N个矢量作为聚类中心,但在实验过程中发现,这种方法不具有针对性,往往设立的初始的聚类中心不具有很好的聚类效果。所以这里采用取质心法。具体方法为:第一步先求出训练集S中全体矢量X的质心,然后在S中找出一个与此质心的畸变量最大的矢量Xj,再在S中找到一个与Xj的畸变量最大的矢量Xk。以Xj和Xk为基准进行胞腔划分,得到Sk和Sj两个子集。对这两个子集分别按照同样的方法划分得到4个子集。依次类推,得到N个子集。这N个子集的质心即为初始的聚类中心。2)聚类中心改进量δ的选择。对于聚类中心改进量δ的选择,若选择太大,则聚类不充分,影响训练效果;若太小,则会导致训练无法完成,该系统通过试验,取比较适中的数0.01。3)最大迭代次数的选择。对于最大迭代次数的选择,太小会导致误判,太大导致训练不成功时过多的占用系统时间。该系统迭代次数设为100,比较适中。
3 实验过程中的重点及实验结论
实验过程中的重点:
1)FFT变换点数的选择。FFT变换点数选择很重要,如果选择太大,则运算复杂度变大,使系统响应时间变长,如果选择太小则可能造成频率分辨率过低,提取参数误差过大。该系统中选取的点数为240点。2)模型参数的选择。首先模型阶数M必须适中,必须足够大,可以充分表示出空间的分布。然而,阶数也不能太大,否则数据数量不足,也无法准确描述特征空间分布。考虑该系统对参数的存储空间要求,并综合以上考虑,该系统选用的阶数为32阶。3)协方差矩阵类型。考虑到减少计算量,这里采用对角阵。在高维特征空间中,对角阵比全矩阵优势更为明显。4)方差限定。当训练数据不足或者是存在噪声干扰时,方差幅度会很小,这样会导致模型概率函数的奇异性,所以每次EM迭代时,都需要对方差进行限定。即:
根据实验结果,该系统选取S2min为0.025。5)模型初值的设定:EM算法是寻找局部最大概率的模型。不同的初值会导致不同的局部极值。该系统中采用的是K均值法。
4 实验结论
通过系统调试及改进,该系统最终实现10个说话人的身份识别,并自举运行。运行时通过Switch组合可方便的选择训练或识别的功能,并可更新说话人。训练,识别的进度及结果通过LED组合显示。利用该系统对5男5女10个人进行训练,每人500次测试,结果正确识别率为98%,识别时间为3s左右。说明该系统可以有效的识别说话人的身份。
参考文献:
[1]申敏等,《DSP原理及其在移动通讯中的应用》,人民邮电出版社,2001,9.
[2]张云、谢莉萍等,《DSP控制器及其应用》,机械工业出版社,2001,8.
作者简介:
明勇,硕士,成都广播电视大学,讲师,研究方向:计算机应用技术。
关键词: DSP;嵌入式;应用
中图分类号:TP311文献标识码:A文章编号:1671—7597(2011)0110077-01
随着DSP新技术的发展,DSP芯片无论在处理速度、精度、功耗或者体积等方面都取得了突破性的进展。DSP也越来越多的应用于说话人身份识别。但目前这方面研究主要局限于小数据量、与PC机配套使用上,没有太大的实用价值。本文介绍一种基于TMS320C6713DSP芯片设计10个人范围的说话人身份识别系统。
1 系统的构建
系统主要分为训练和识别两部分,系统初始化后由操作者控制训练或识别。训练目的是提取说话人模型参数并将其存储在FLASHROM中。识别目的是读取待识别者语音信息并将获得的模型参数与训练的模型参数比较,从而获得识别结果。系统主要包含语音采集模块、数据处理模块(DSP)、程序数据存储及自举FLASH模块、数据存储器RAM模块、系统时序逻辑控制CPLD模块、JTAG接口模块。
语音采集模块主要由TLV320AIC23音频编解码器来完成,该芯片是TI公司的一款高性能的立体声音频Codec芯片,内置放大器,输入/输出增益可编程设置。模数,数/模转换集成在一块芯片中。采样率8~96kHz可编程实现。另外还具有低功耗,连接电路简单,性价比高的特点。
数据处理模块(DSP)采用TI公司的TMS320C6713芯片,该芯片实现浮点运算,最高时钟频率225MHz,使用该芯片外部存储器接口可实现对外部存储器(SDRAM)数据传输和程序存储器(FLASHROM)进行程序读写;依靠JTAG接口电路通过仿真器进行仿真调试,实现与主机数据交换;通过片内外设McBSP完成串行数据的接收和发送,实现对音频处理模块的控制等工作。
FLASHROM最大可提供512KB空间,通常为前256KB可用。SDRAM最大容量为16MB,为该系统提供较大的数据存储空间。CPLD为存储器的扩展实现逻辑编码。电源为TPS54310芯片,可为系统提供3.3V和1.26V两种电压。由TLV320AIC23获得的语音信号的数据。为此在SDRAM中定义一片数组存储区域。对于数组大小及类型的选择基于以下两点:
1)数组大小选择。该系统算法中包含训练和识别两个内容。语音信号的训练需要大量的数据才能准确的提取语音的特征参量。该系统采用8kHz采样率的10s的语音信号,所需的数组空间大小为80000个数据单位;语音信号的识别要求快速性,该系统采用时间较短的8kHz3s语音信号,所需数组空间大小为30000个数据单位,为了减少数据空间,系统设定为与训练数组共用前30000个数据单位的空间。2)数组类型为浮点型,由于设定的采样格式是16b采样,而采样后数据类型是Uint32,语音数据位于低16位,所以赋值过程中取低16位数据赋值给数组。
2 识别方法实现
基于该系统对速度、识别效率、存储空间的要求,这里的识别方法选为高斯混合模型。一个M阶混合高斯模型的概率密度函数是由M个高斯概率密度函数加权求和得到,计算公式如下:
式中:X是一个D维随机向量;bi(Xi)是子分布,i=1,2,…,M是子分布;ωi是混合权重,i=1,2,…,M。对GMM模型参数的估计方法该系统采用最大似然估计。对于一组长度为T的训练矢量序列X={X1,X2,…,XT},GMM的似然度可表示为:
由于上式是参数λ的非线性函数,很难直接求出其最大值。因此,该系统采用EM算法估计参数λ。
1)聚类中心的初始化。对于聚类中心数目由GMM模型决定,假设是N。对于聚类中心的初始化,一般取前N个矢量作为聚类中心,但在实验过程中发现,这种方法不具有针对性,往往设立的初始的聚类中心不具有很好的聚类效果。所以这里采用取质心法。具体方法为:第一步先求出训练集S中全体矢量X的质心,然后在S中找出一个与此质心的畸变量最大的矢量Xj,再在S中找到一个与Xj的畸变量最大的矢量Xk。以Xj和Xk为基准进行胞腔划分,得到Sk和Sj两个子集。对这两个子集分别按照同样的方法划分得到4个子集。依次类推,得到N个子集。这N个子集的质心即为初始的聚类中心。2)聚类中心改进量δ的选择。对于聚类中心改进量δ的选择,若选择太大,则聚类不充分,影响训练效果;若太小,则会导致训练无法完成,该系统通过试验,取比较适中的数0.01。3)最大迭代次数的选择。对于最大迭代次数的选择,太小会导致误判,太大导致训练不成功时过多的占用系统时间。该系统迭代次数设为100,比较适中。
3 实验过程中的重点及实验结论
实验过程中的重点:
1)FFT变换点数的选择。FFT变换点数选择很重要,如果选择太大,则运算复杂度变大,使系统响应时间变长,如果选择太小则可能造成频率分辨率过低,提取参数误差过大。该系统中选取的点数为240点。2)模型参数的选择。首先模型阶数M必须适中,必须足够大,可以充分表示出空间的分布。然而,阶数也不能太大,否则数据数量不足,也无法准确描述特征空间分布。考虑该系统对参数的存储空间要求,并综合以上考虑,该系统选用的阶数为32阶。3)协方差矩阵类型。考虑到减少计算量,这里采用对角阵。在高维特征空间中,对角阵比全矩阵优势更为明显。4)方差限定。当训练数据不足或者是存在噪声干扰时,方差幅度会很小,这样会导致模型概率函数的奇异性,所以每次EM迭代时,都需要对方差进行限定。即:
根据实验结果,该系统选取S2min为0.025。5)模型初值的设定:EM算法是寻找局部最大概率的模型。不同的初值会导致不同的局部极值。该系统中采用的是K均值法。
4 实验结论
通过系统调试及改进,该系统最终实现10个说话人的身份识别,并自举运行。运行时通过Switch组合可方便的选择训练或识别的功能,并可更新说话人。训练,识别的进度及结果通过LED组合显示。利用该系统对5男5女10个人进行训练,每人500次测试,结果正确识别率为98%,识别时间为3s左右。说明该系统可以有效的识别说话人的身份。
参考文献:
[1]申敏等,《DSP原理及其在移动通讯中的应用》,人民邮电出版社,2001,9.
[2]张云、谢莉萍等,《DSP控制器及其应用》,机械工业出版社,2001,8.
作者简介:
明勇,硕士,成都广播电视大学,讲师,研究方向:计算机应用技术。