法律状态公告日
法律状态信息
法律状态
2019-08-27
授权
授权
2016-11-09
实质审查的生效 IPC(主分类):G10L17/20 申请日:20160612
实质审查的生效
2016-10-12
公开
公开
技术领域
本发明属于信号处理技术领域,尤其涉及一种基于十字形声阵列宽带波束形成的声识别方法。
背景技术
传统的单传声器声识别系统中,存在以下几个问题:
1.声识别系统只需要对某一个方向的信号进行识别,然而由于单个传声器的全向性,当识别对象并不在该方向附近时,识别系统依然会被触发,从而造成了误警。
2.在真实的复杂环境中,识别对象附近存在多种干扰声源以及严重的背景噪声,这就会造成系统的整体识别率急剧下降,误警率、漏警率会急剧上升。
3.在实际应用中,为了提高识别系统的作用区域的极限距离,就会使用高灵敏度的传声器,然而高灵敏的传声器势必会导致背景噪声的增强,从而造成对远距离的识别率并不会有着明显的增高,反而会下降。
发明内容
针对以上问题,本发明提供了一种基于十字形声阵列宽带波束形成的声识别方法。
为了实现上述目的,本发明采用的技术方案包括如下步骤:
步骤1、将十字形声阵列对准所需方向采集4通道声音信号;
步骤2、对采集到的4通道声音信号进行预处理,包括分帧、加窗;
步骤3、对预处理后的每一帧数据进行离散傅里叶变换,离散傅里叶变换后的4通道声音信号根据需要的频带进行频带提取;
步骤4、提取的各频带分别在所需方向上进行LSMI-MVDR波束形成;
步骤5、将波束形成后的频域信号进行逆离散傅里叶变换;
步骤6、对应分帧时的原则进行帧重叠合成,输出信号;
步骤7、对输出信号进行特征提取和分类学习、识别。
所述的步骤1:将十字形声阵列的其中一个通道对准声源方向,作为LSMI-MVDR宽带波束形成的方向,采集4通道声音信号,采样频率记为fs。
所述的步骤2:预处理包括数据的分帧、加窗,对声音信号进行分帧,声音信号每帧选取1024个采样点,帧移为512个采样点;然后采用汉明窗对声音信号进行加窗;
所述的步骤3:通过FFT来实现信号的离散傅里叶变换,其中,每一帧信号经过FFT后频率分辨率为
其中,L=1024为每一帧的长度,
然后,根据声音信号的频率特性,选取相应的频率带,比如信号所在的频率带为[f1,f2],则我们提取FFT后的k所在的区间为
所述的步骤4:设第k个频带的中心频率为fk,则对于十字形阵列,首先将十字形阵列建立在直角坐标系下,则十字形阵列接收到的第m帧信号在时域内表示为:
其中,S(t)为声源信号,它的方位角为θ;
c是声音在空气中的传播速度,r是十字形声阵列的半径。
将(1)式进行离散傅里叶变换得到在频域下表示方式为
其中,k=0,1,...,L-1;a(θ,fk)是中心频率为fk的第k个频带所对应的方向矢量,即
对于MVDR波束形成原理,表述为在保证期望方向θde的信号功率不变的情况下,使得阵列输出的功率最小,即
其中,R=E[X(k)XH(k)]是接收信号在频域下的自相关矩阵。在实际应用中,用估计值
其中NF表示声音信号的帧数。
因此,MVDR波束形成的最佳权矢量wopt为:
为了提高MVDR波束形成的稳健性,我们使用基于对角加载的改进MVDR波束形成算法,其原理是在自相关矩阵的对角线上增加一个加载量,即
>
从而,改进的最佳权矢量wLSMI变为
波束形成后的第m帧频域信号Y(m)(k)为:
>
所述的步骤5:将第m帧频域信号Y(m)(k)通过逆离散傅里叶变换转换到时域,其中逆离散傅里叶变换通过IFFT来实现,其中第m帧时域信号y(m)(i)为:
所述的步骤6:将经过逆离散傅里叶变换的各帧声音信号按照分帧时的原则进行重叠,然后再输出信号;其中:第一帧信号不变,后面每一帧信号去掉前面的512个点,只保留后512点,然后再添加到前一帧信 号后面。
所述的步骤7:将输出信号作为原始信号,进行特征提取和分类学习、识别。其中,声音的特征提取算法主要有线性预测倒谱系数(Linear Prediction CepstralCoefficients,LPCC)或者梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient,MFCC)等,而分类学习识别算法主要有支持向量机(Support Vector Machine,SVM)或者极限学习机(Extreme Learning Machine,ELM)等。
本发明有益效果如下:
本发明使用4通道十字形声阵列采集声音信号数据进行LSMI-MVDR宽带波束形成,能够提高期望方向接收信号的信噪比并且抑制其他方向的干扰信号,达到空间滤波和噪声抑制的效果,提高的接收信号的信干噪比,非常有效的解决了上述的提到的缺陷,将其用于声音识别系统的信号处理阶段,可以有效的提高识别系统对识别对象的识别率和可靠性。
附图说明
图1是本发明提出的基于4通道十字形声阵列LSMI-MVDR宽带波束形成的声识别方法的流程图
图2是基于LSMI-MVDR算法的宽带波束形成的流程图
图3是识别系统的特征提取、模型库建立和识别部分的流程示意图
图4为4通道十字形声阵列建立在直角坐标系下的结构图
具体实施方式
下面结合附图和具体实施方式对本发明作详细说明,以下描述仅作为示范和解释,并不对本发明作任何形式上的限制。
如图4所示为4通道十字形声阵列建立在直角坐标系下的结构图,其中d为两个相邻传声器的间距;r为十字形阵列的半径;S(t)为声源,它的方向为θ;图中的A、B、C、D分别对应于通道1、通道2、通道3、 通道4。假设只需要识别0度方向的信号,则将十字形声阵列的通道1对准0度方向,即在图4中,使得声源位于x轴正半轴上,然后采集信号,总共会采集到4个通道的信号,分别记为x1(t),x2(t),x3(t),x4(t)。
图2展示了基于LSMI-MVDR算法的宽带波束形成的实现流程图,按照图2中的步骤,我们首先将4通道信号分别进行分帧加窗,其中帧长为1024,帧移为512,加汉明窗。
将4通道的每一帧后的数据通过FFT算法进行离散傅里叶变换。第p个通道的第m帧信号FFT后的结果为,
第k个频带对应的中心频率为
假设,我们需要进行波束形成的信号频带的区间为[f1,f2],则对应的频带编号k的区间为
接下来以第k个频带为例来讲述LSMI-MVDR波束形成,其他的频带都通过同样的方法来进行LSMI-MVDR波束形成。
首先,我们需要估计接收信号的自相关矩阵,通过
来进行估计,其中NF为采集的信号分帧后的总帧帧数。然后计算期望方向(本例中是0度方向)的方向矢量a(0°,fk),其中fk表示第k个频带的中心频率,a(0°,fk)的计算公式为
得到自相关矩阵和方向矢量后,就可以计算LSMI-MVDR波束形成的最优权矢量的比例系数μ,其值为
然后我们需要确认对角加载量λ的值,该值可以通过组成十字形声阵列的传声器参数以及各传声器的幅相响应的差别来确定,或者也可以根据LSMI-MVDR波束形成后的波束响应图来不断进行调整以确定一个比较好的加载量λ。当λ被确定后,就可以计算LSMI-MVDR波束形成的最优权矢量,公式为
将第k个频带下求出的最优权矢量分别对每一帧信号的第k个频带信号进行处理,得到这一帧信号的LSMI-MVDR波束形成结果
通过同样的方法对其他频带进行LSMI-MVDR波束形成。
将各帧下LSMI-MVDR波束形成后的各频带合成在一起进行逆离散傅里叶变换,通过IFFT进行,IFFT后的第m帧信号结果为
最后,需要将各帧信号进行合成输出,由于我们分帧时采取的帧移是512个点,即有512个点的重叠。因此,在将各帧信号进行重叠输出 时,也需要采取同样的方式。首先,第1帧信号不做改变,从第二帧信号开始,我们只取后512个点,而前512个点我去舍去,然后将后512个采样点叠加到上一帧的尾端。通过这种方式就完成了信号的合成。
经过LSMI-MVDR波束形成后的数据就可以作为声识别系统的输入进行特征提取以及分类学习识别的输入。图3展示了识别系统的特征提取、模型库建立和识别部分的流程示意图。在这里我们以LPCC特征提取和SVM分类学习算法为例来说明,其中,我们使用16阶LPCC系数,SVM的核函数我们选取径向基函数(Radial Basis Function,RBF),需要进行识别的声音类型有A1,A2,A3三种类型。
首先,我们将经过LSMI-MVDR波束形成后的声音进行分帧加窗。然后求得每帧信号的12阶线性预测系数(Linear Prediction Coefficients,LPC)值,其中LPC值可以采用Levinson-Durbin算法来求解。接下来通过LPCC值与LPC值的对应关系求得16阶的LPCC值。
所述的声指纹库建立方法如下:
对每帧信号提取出来的16阶LPCC值按行排列,然后在前面加入一列作为类标,标号‘0’代表A1,‘1’代表A2,‘2’代表A3。从而构成一个17阶的特征向量。
用现有的libsvm库来实现SVM算法,选取RBF作为分类器函数;RBF有两个参数:惩罚因子c以及参数gamma,可以通过libsvm的网格搜索函数opti_svm_coeff选取出最优数值。
训练过程使用libsvm库中的svmtrain函数,包含四个参数:特征向量,用上述提取出的有标号的LPCC值;核函数类型,选用RBF核函数;RBF核函数参数c和gamma,使用网格搜索法确定;调用svmtrain后会得到一个名为model的变量,这一变量保存了训练所得模型信息,即所述的声指纹库,将这一变量保存下来供下一步识别用。
而声音的识别是通过libsvm库中的svmtest来实现的,将每帧信号得到的LPCC值用libsvm的svmtest函数进行智能分类,svmtest有三个参数:第一个为类标,用来测试识别率用的(在对未知类型的声音进行识别时,该参数不具有实际意义);第二个为特征向量,即存储LPCC值的变量,第三个为匹配模型,就是上述步骤训练过程svmtrain函数的返回值。调用svmtest得到的返回值就是分类所得结果,即类标,从而能确定产生这一声音的设备类型。
在实际应用中时,将实际采集到的声信号先进行LSMI-MVDR波束形成算法进行滤波,然后提取特征与已建立的声指纹库进行比较,来做到识别。其具体流程图见图1。
机译: 基于卷积神经网络的环境声识别方法及其系统
机译: 基于伪证据技术的人声和深度聋人语音识别方法及实施方法
机译: 一种数字指纹识别方法,其中手指经过检测器的线性阵列,并且基于像素位移值与阈值的比较来改变成像步骤之间的间隔