当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于串行FFT的低功耗MFCC语音特征提取电路制造技术

技术编号:24332701 阅读:85 留言:0更新日期:2020-05-29 20:29
本发明专利技术公开一种基于串行FFT的低功耗MFCC语音特征提取电路,属于计算、推算或计数的技术领域。该电路面向智能领域,通过优化MFCC算法,使其适应硬件电路设计,充分利用串行FFT算法以及对乘法运算的近似运算,极大地降低了电路面积和功耗。电路整体包括:预处理模块、分帧加窗模块、FFT模块、梅尔滤波模块、对数和DCT模块,改进后的FFT算法采用串行流水线方式处理数据,有效利用音频帧的时间,达到满足输出要求的情况下,减小了电路的存储面积和运算次数。同时,预加重模块利用移位运算代替乘加运算,以及对数运算利用查找表的方式,都进一步降低了电路的面积和功耗。

A low power MFCC speech feature extraction circuit based on serial FFT

【技术实现步骤摘要】
一种基于串行FFT的低功耗MFCC语音特征提取电路
本专利技术公开了一种基于串行FFT的低功耗MFCC语音特征提取电路,涉及语音特征信号处理和集成电路设计领域,属于计算、推算或计数的

技术介绍
随着当前时代智能化的逐渐发展,语音交互在智能领域上的重要性也愈加增强,语音交互设备也开始在我们生活中扮演了重要角色,如智能手机的语音助手,门禁系统和车载系统等。而语音交互的关键是语音识别,语音特征提取又是语音识别的关键技术,以较小的功耗实现对音频特征信号的低损失提取能够有效地提升语音识别系统的识别准确率。目前,传统的语音特征提取算法包含了动态时间规划(DTW,DynamicTimeWarping)、线性预测编码(LPC,LinearPredictiveCoding)、梅尔倒频谱分析(MFCC,Mel-frequencyCepstralCoefficients)等,其中,性能和提取精度较好的为梅尔频率倒谱分析。该算法通过对音频的预处理、分帧加窗、快速傅里叶变换(FFT,FastFourierTransform)、梅尔对数运算以及离散余弦变换(DCT,DiscreteCosineTransform),最终得到音频的结果,但是传统的MFCC算法对于硬件的适配性很差,其中,FFT运算过程以及梅尔滤波运算所需的大量乘加运算和存储面积增大了硬件的实现难度和代价。而且由于智能设备面临供电续航的局限性,传统的语音提取算法已经不适合当前智能设备的使用,因此,本专利技术设计了MFCC语音特征提取电路,通过优化其中的FFT和梅尔滤波算法架构和预处理模块的乘加方式,极大减小了语音特征提取电路的运算量和存储量,使其更适应智能设备的低功耗要求。
技术实现思路
本专利技术的专利技术目的是针对上述
技术介绍
的不足,提供了一种基于串行FFT的低功耗MFCC语音特征提取电路,在低功耗MFCC电路架构下,通过优化其乘加运算方式,并采用串行FFT算法以及优化的梅尔滤波架构,以降低一定的速度来极大地减小电路的面积以及功耗,从而解决了语音特征提取算法在硬件上的高功耗和大存储量问题。本专利技术为实现上述专利技术目的采用如下技术方案:一种基于串行FFT的低功耗MFCC语音特征提取电路包括:预处理模块,分帧加窗模块、FFT模块、梅尔滤波模块以及对数和DCT模块;预处理模块,其功能等同于一个高通滤波器,该模块保证了信号在频谱上的信噪比,并且减小了人声高频部分的衰减。预处理模块对串行输入的语音序列的具体操作为输入的数据与语音序列中相邻时间的前一个数据相减后再累加前一数据向右移位4位后的值得到预加重后的语音信号。分帧加窗模块,其功能为将一段长音频分割为若干帧送入后续模块处理。输入的语音序列每t(t为小数,常取20到40)毫秒的数据作为一帧,一帧的数据点数(数据点数为帧长乘以采样率)为T(T为整数,为了满足后续FFT模块,T常取2的N次方),数据精度为A比特(A为大于1的整数),帧与帧之间重叠s(s为小数,常取t的一半)毫秒,重叠部分的点数为S(S为整数,通常为T的一半)。由于相邻两帧之间有重叠数据,因此相邻帧的重叠部分的数据需要使用一个S*A比特的静态随机存储器存储,以备在下一帧中使用,每一帧数据与存储在只读存储器中的汉明窗函数值相乘,即可得到该模块的输出。FFT模块,其功能为将一帧的时域信号转换为频域信号。FFT模块由N/2(N为上述T中2的指数项)个基22单路径延迟反馈(Radix-22singledelayfeedback,简称Radix-22SDF)单元组成,每个Radix-22SDF单元内包含两次蝶形运算以及一次与旋转因子的乘积运算,其中,蝶形运算是对两个输入的实数交叉相加减得到一组新的实数,而旋转因子预先存储在只读存储器中。由分帧加窗模块输出的数据以自然顺序串行流入FFT模块,经历了N/2个Radix-22SDF单元运算之后,最终数据以比特置换(位翻转为高位和对称的低位进行翻转)的顺序依次输出。梅尔滤波模块,其功能为对每一帧的频域信号进行梅尔滤波运算。具体操作为,首先对FFT模块输出的实部虚部数据进行平方相加运算,得到频域的能量值,然后将能量值和预存在静态随机存储器的M阶梅尔滤波组(M为整数,通常取20到40)的函数值进行相乘,并对相乘之后的整帧信号的值进行累加,最终每帧得到M个梅尔值。对数和DCT模块,其功能为对上述滤波器组数据进行压缩表示。首先利用查找表(通过寻找输入数据位中最高位‘1’出现的位置,查找对应的对数值)的方式对M个梅尔值取以2为底的对数值,然后再进行DCT变换。DCT变换的具体实现为输入数据与余弦系数相乘后累加计算,余弦系数储存在只读存储器中,最终输出L阶DCT变换结果(L为整数,通常小于M),该结果为电路输出的特征值。基于串行FFT的低功耗MFCC语音特征提取电路的语音特征提取电路的进一步优化方案,在预加重模块中,用下述优化公式替换原公式,其中,datain和dataout分别表示本操作的输入数据和输出数据,k表示数据的位置,从1开始:dataout[k]=datain[k]-datain[k-1]+datain[k-1]>>4(优化公式),最终将原本数学公式上的乘加运算,优化为移位加运算,降低了片上系统在实现乘法运算时的额外功耗以及存储量。作为基于串行FFT的低功耗MFCC语音特征提取电路的进一步优化方案,采用流水线式的串行FFT算法实现傅里叶变换。该算法通过串接的基22单路径延迟反馈单元实现了时域数据的逐层傅里叶变换,在牺牲了一定吞吐量和速度下,大大减小了电路面积以及功耗。其具体流程为:步骤一:首先,第一个Radix-22SDF运算单元中的第一个蝶形运算(简称BF1)部分中含有一个大小为T/2*A比特的存储器,输入的一帧T个数据,将第1个数据到第T/2个数据作为第一组数据,第T/2+1个数据到T个数据为第二组数据,先将第一组数据依次存入存储器中,然后随即到来的第二组数据与已经存储在存储器中的第一组数据依次做第一次蝶形运算,第一次记蝶形运算后得到一组T长度的数据,由于下一个蝶形运算(简称BF2)部分只会处理T/2个数据,所以先将BF1输出的T个数据中的后T/2个数据返回存入BF1中的T/2长度的存储器里,以此替换之前存储的第一组数据,再将BF1输出的T个数据中的前T/2个数据送入BF2进行蝶形运算,同理,BF2采用与BF1相同的数据处理方式实现蝶形运算,BF2完成对BF1输出的T个数据中的前T/2个数据的蝶形运算完后,再将BF1中的存储器存入的第一组T/2个数据送入BF2中进行蝶形运算。步骤二:第一个Radix-22SDF运算单元中的BF2部分含有一个大小为T/4*A比特的存储器,BF1部分输出的T/2个数据,首先存前T/4个数据进入到BF2的存储器中,和BF1部分类似,接下来的后T/4个数据与已存储的前T/4个数据做第二次蝶形运算,再返回第二次蝶形运算结果的第二组数据更新T/4*A比特的存储器,输出第二次蝶形运算结果的第一组数据至乘法器,第二次蝶形运算结果本文档来自技高网
...

【技术保护点】
1.一种基于串行FFT的低功耗MFCC语音特征提取电路,其特征在于,包括:/n预加重模块,对输入的语音序列进行预处理;/n分帧加窗模块,对经预处理后的语音序列进行分帧加窗操作;/nFFT模块,对经分帧加窗操作后的序列数据进行逐层分组的傅里叶变换后输出比特置换的复数数据,每一层傅里叶变换对输入数据进行两次串行的分组后蝶形运算输出最后一次蝶形运算输出数据与旋转因子的乘积至下一层傅里叶变换;/n梅尔滤波模块,提取FFT模块输出复数的能量值,对能量值进行多阶梅尔滤波得到梅尔值;/n取对数模块,通查找表的方式对梅尔值取以2为底的对数值;及,/nDCT模块,对梅尔值取2为底的对数值进行DCT变换。/n

【技术特征摘要】
1.一种基于串行FFT的低功耗MFCC语音特征提取电路,其特征在于,包括:
预加重模块,对输入的语音序列进行预处理;
分帧加窗模块,对经预处理后的语音序列进行分帧加窗操作;
FFT模块,对经分帧加窗操作后的序列数据进行逐层分组的傅里叶变换后输出比特置换的复数数据,每一层傅里叶变换对输入数据进行两次串行的分组后蝶形运算输出最后一次蝶形运算输出数据与旋转因子的乘积至下一层傅里叶变换;
梅尔滤波模块,提取FFT模块输出复数的能量值,对能量值进行多阶梅尔滤波得到梅尔值;
取对数模块,通查找表的方式对梅尔值取以2为底的对数值;及,
DCT模块,对梅尔值取2为底的对数值进行DCT变换。


2.根据权利要求1所述一种基于串行FFT的低功耗MFCC语音特征提取电路,其特征在于,所述预加重模块对输入的语音序列进行预处理的具体方式为:输入语音序列的当前时刻数据与前一个时刻的数据相减后再累加前一时刻的数据向右移位4位后的值得到预处理后的语音信号。


3.根据权利要求1所述一种基于串行FFT的低功耗MFCC语音特征提取电路,其特征在于,每一层傅里叶变换对输入的数据分组进行蝶形运算的具体方法为:将输入数据的高位部分分为第一组数据,将输入数据的低位部分分为第二组数据,对第一组数据和第二组数据进行第一次蝶形运算后更新第一组数据为第一次蝶形运算结果的低位数据,对第一次蝶形运算结果分组后进行第二次蝶形运算,输出第二蝶形运算结果。


4.根据权利要求1所述一种基于串行FFT的低功耗MFCC语音特征提取电路,其特征在于,所述对能量...

【专利技术属性】
技术研发人员:单伟伟朱励轩
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1