基于mfcc和hmm的次声信号识别方法、系统和设备
技术领域
1.本发明涉及次声信号识别技术领域。
背景技术:
2.次声信号在人类活动中,诸如地震、海啸、火山、核爆炸、导弹飞行、火炮发射、轮船航行、汽车争驰、高楼和大桥摇晃,都能产生。并且次声信号的波长往往很长,因此能绕开某些大型障碍物发生衍射。因此对次声信号的识别具有很大的现实意义。通过准确及时地识别各种次声事件,能够有效地加以应对。
3.然而现有的次声信号识别中,对于次声信号的频率特征提取,并没有充分考虑人耳的听觉特性,使得提取的特征无法很好的用于次声事件识别。尤其是在复杂现场环境中,多种未知声音信号容易产生虚警的问题。
技术实现要素:
4.本发明的目的在于提供一种基于美尔频率倒谱系数(mfcc)和隐马尔可夫模型(hmm)的次声信号识别方法、系统及设备,以解决现有技术中存在的分类识别精度不高、容易产生虚警的技术问题。
5.为解决上述技术问题,本发明提供的基于mfcc和hmm的次声信号识别方法,包括:
6.步骤1,设计针对次声信号的美尔滤波器;根据次声信号的实际频率,基于人耳的听觉特性,将实际频率转换为符合人耳听觉特性的美尔频率;分频率特征提取,将声纹频率划分成一系列三角形的滤波器序列;
7.步骤2,基于准稳态声纹数据分帧的美尔频率倒谱系数特征提取;包括弹道波声纹数据分帧和加窗函数,快速傅里叶变换,计算谱线能量,计算通过美尔滤波器的能量,计算dct倒谱,获得次声信号特征;
8.步骤3,基于隐马尔科夫模型的信号识别;针对未知声音信号容易产生虚警的问题,采用对每个hmm模型设定输出概率阈值,根据声音信号通过同种信号建立的模型输出概率大于阈值,而声音信号通过不同种信号建立的模型输出小于这个阈值来确定信号类别;具体包括:首先,输入已知的次声信号带标签数据,提取mfcc特征,然后进行hmm模型的训练,得到每种次声事件类型对应的hmm模型,得到次声事件对应的hmm参数,进行模型的训练;其次,输入次声信号数据,提取mfcc特征,针对每种类型的hmm计算输出概率,输出概率最大的就为该类次声事件。
9.为解决上述技术问题,本发明提供的基于mfcc和hmm的次声信号识别系统,包括:
10.美尔滤波器设计模块,用于根据次声信号的实际频率,基于人耳的听觉特性,将实际频率转换为符合人耳听觉特性的美尔频率;分频率特征提取,将声纹频率划分成一系列三角形的滤波器序列;
11.美尔频率倒谱系数特征提取模块,包括弹道波声纹数据分帧和加窗函数,快速傅里叶变换,计算谱线能量,计算通过美尔滤波器的能量,计算dct倒谱,获得次声信号特征;
12.信号识别模块,采用对每个hmm模型设定输出概率阈值,根据声音信号通过同种信号建立的模型输出概率大于阈值,而声音信号通过不同种信号建立的模型输出小于这个阈值来确定信号类别;具体包括:首先,输入已知的次声信号带标签数据,提取mfcc特征,然后进行hmm模型的训练,最后得到每种次声事件类型对应的hmm模型,得到次声事件对应的hmm参数;其次,输入次声信号数据,提取mfcc特征,针对每种类型的hmm计算输出概率,输出概率最大的就为该类次声事件。
13.为解决上述技术问题,本发明提供的基于mfcc和hmm的次声信号识别设备,包括:
14.处理器,用于执行多条指令;
15.存储器,用于存储多条指令;
16.其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行上述方法。
17.采用上述技术方案,本发明提供的基于mfcc和hmm的次声信号识别方法、系统及设备,通过设计频率的分布曲线来使得提取的频率更加符合人耳的听觉特性,从而有利于后续的分类识别精度的提高;而基于分频率特征提取,将声纹频率划分成一系列三角形的滤波器序列,通过采用对每个hmm模型设定输出概率阈值分别进行处理的方式,解决了对未知声音信号容易产生虚警的问题。
附图说明
18.为了更清楚地说明本发明具体实施方式或现有技术中的技术方案下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1为本发明实施例提供的基于mfcc和hmm的次声信号识别方法的流程图;
20.图2为线性频谱与美尔频谱的映射关系;
21.图3为分频特征提取示意图;
22.图4为美尔滤波器频谱响应曲线;
23.图5为mfcc系数的计算流程;
24.图6(a)为122炮时域波形与mfcc系数;
25.图6(b)为122火箭炮时域波形与mfcc系数;
26.图7为130炮时域波形与mfcc系数;
27.图8为155炮时域波形与mfcc系数;
28.图9为hmm组成示意图;
29.图10(a)为hmm模型原理图;
30.图10(b)为hmm模型训练流程;
31.图10(c)为次声信号识别流程图。
具体实施方式
32.下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术
人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
33.下面结合具体的实施方式对本发明做进一步的解释说明。
34.本实施例所涉及的技术术语包括:次声信号,也称为次声波,次声;美尔,即mel;美尔频率,即mel频率;美尔频率倒频谱谱系数,也称为倒频谱系数,美尔频率倒谱系数,即mel
‑
frequency cepstral coefficients,缩写为mfcc;频谱,是频率谱密度的简称,是频率的分布曲线;美尔频谱,即mel频谱,美尔频率的分布曲线;隐马尔科夫模型,即hmm。
35.如图1所示,本实施例给出了一种基于mfcc和hmm的次声信号识别方法,包括如下步骤:
36.步骤1,设计针对次声信号的美尔滤波器;根据次声信号的实际频率,基于人耳的听觉特性,将实际频率转换为符合人耳听觉特性的美尔频率;分频率特征提取,将声纹频率划分成一系列三角形的滤波器序列。
37.步骤2,基于准稳态声纹数据分帧的美尔频率倒谱系数特征提取。包括弹道波声纹数据分帧和加窗函数,快速傅里叶变换,计算谱线能量,计算通过美尔滤波器的能量,计算dct倒谱,获得次声信号特征。
38.步骤3,基于隐马尔科夫模型的信号识别;采用对每个hmm模型设定输出概率阈值,根据声音信号通过同种信号建立的模型输出概率大于阈值,而声音信号通过不同种信号建立的模型输出小于这个阈值来确定信号类别;具体包括:首先,输入已知的次声信号带标签数据,提取mfcc特征,然后进行hmm模型的训练,得到每种次声事件类型对应的hmm模型,得到次声事件对应的hmm参数,进行模型的训练。其次,输入次声信号数据,提取mfcc特征,针对每种类型的hmm计算输出概率,输出概率最大的就为该类次声事件。
39.步骤1中,设计针对次声信号的美尔滤波器,根据次声信号的实际频率,基于人耳的听觉特性,将实际频率转换为符合人耳听觉特性的美尔频率。
40.与普通实际频率倒谱分析不同,mfcc(mel
‑
frequency cepstral coefficients)的分析着眼于人耳的听觉特性。这是因为,人耳所听到的声音的高低与声音的频率并不成线性正比关系,而用美尔(mel)频率尺度则更符合人耳的听觉特性。mel频率尺度的值大体上对应于实际频率的对数分布关系。如图2所示,线性频谱与美尔频谱的映射关系。
41.美尔频率的计算方法为:
42.f
mel
(f)=2595*lg(1 f/700)
43.其中,f表示信号的实际频率,单位是hz,f
mel
是以美尔(mel)为单位的感知频率。
44.步骤1中还包括:分频率特征提取,将声纹频率划分成一系列三角形的滤波器序列。
45.如图3所示,为分频特征提取的示意图。
46.在声纹的频谱范围内设置若干带通滤波器h
m
(k),0≤m≤m,m为带通滤波器的序号,m为滤波器的个数。每个滤波器具有三角形滤波特性,第m个带通滤波器的中心频率为f(m),在mel频率范围内,这些滤波器是等带宽的。每个带通滤波器的传递函数h
m
(k)为:
[0047][0048]
其中,k为传递函数的参数,
[0049]
美尔滤波器的中心频率f(m)定义为
[0050][0051]
其中,f
h
和f
l
分别为滤波器组的最高频率和最低频率,f
s
为采样频率,单位为hz;n为fft变换的点数;fmel()是频率到mel频率尺度的转换。
[0052]
在弹道波声纹数据中,虽然系统采样率为10khz,只是为了在检测中减少时延估计的误差,但从信号频谱上分析,信号的频率最高到1khz,故美尔滤波器的截止频率设置为1khz,美尔滤波器频率响应曲线如图4所示。
[0053]
步骤2,基于准稳态声纹数据分帧的美尔频率倒谱系数特征提取,包括:
[0054]
1)弹道波声纹数据分帧和加窗函数。
[0055]
分帧处理:将弹道波声纹信号分为较短的帧,将每帧信号看作稳态信号,采用处理稳态信号的方法处理所述每帧信号,在相邻两帧信号之间互相有部分重叠;
[0056]
加窗函数:加窗函数的目的是减少频域中的泄露,将对每一帧弹道波声纹乘以汉明窗或海宁窗。弹道波声纹信号x(n)经预处理后为x
i
(m),其中下标i表示分帧后的第i帧。
[0057]
在弹道波声纹识别中,选取256点为帧长,选取80点为帧移,选取汉明窗作为加窗函数。
[0058]
2)快速傅里叶变换
[0059]
对每一帧信号进行fft变换,从时域数据转变为频域数据:
[0060]
x(i,k)=fft[x
i
(m)],
[0061]
其中fft[]为快速傅里叶变换函数,x(i,k)为快速傅里叶变换的结果。
[0062]
3)计算谱线能量
[0063]
对每一帧fft后的数据计算谱线的能量:
[0064]
e(i,k)=[x
i
(k)]2[0065]
其中,e(i,k)为谱线能量,即能量谱,其中i表示第i帧,k表示频域中的第k条谱线。
[0066]
4)计算通过美尔滤波器的能量
[0067]
把求出的每帧谱线能量谱通过美尔滤波器,并计算在该美尔滤波器中的能量。在频域中相当于把每帧的能量谱e(i,k)与美尔滤波器的频域响应h
m
(k)相乘并相加。
[0068][0069]
s(i,m)为每个mel频带滤波后的子带能量。
[0070]
5)计算dct倒谱
[0071]
序列x(n)的fft倒谱为
[0072][0073]
式中,
[0074]
其中ln为自然对数,x(k)为fft后第k个频点的能量,
[0075]
序列x(n)的dct为
[0076][0077]
式中,参数n是序列x(n)的长度;c(k)是正交因子,可表示为:
[0078][0079]
把美尔滤波器的能量取对数后计算dct:
[0080][0081]
式中,s(i,m)通过滤波器后的美尔滤波器能量,m是指第m个美尔滤波器,共有m个,i是第i帧;n是dct后的谱线。
[0082]
将声纹数据分帧后提取的mfcc参数,记为(q1,q2........,q
t
)。
[0083]
下面是122身管炮、122火箭炮、130身管炮、155身管炮时域波形与mfcc系数对比图。
[0084]
如图6(a)所示,122炮时域波形与mfcc系数。
[0085]
如图6(b)所示,122火箭炮时域波形与mfcc系数。
[0086]
如图7所示,130炮时域波形与mfcc系数。
[0087]
如图8所示,155炮时域波形与mfcc系数。
[0088]
步骤3,基于隐马尔科夫模型的信号识别;针对未知声音信号容易产生虚警的问题,采用对每个hmm模型设定输出概率阈值,根据声音信号通过同种信号建立的模型输出概率大于阈值,而声音信号通过不同种信号建立的模型输出小于这个阈值来确定信号类别;具体包括:首先,输入已知的次声信号带标签数据,提取mfcc特征,然后进行hmm模型的训练,得到每种次声事件类型对应的hmm模型,得到次声事件对应的hmm参数,进行模型的训练。其次,输入次声信号数据,提取mfcc特征,针对每种类型的hmm计算输出概率,输出概率最大的就为该类次声事件。
[0089]
一个hmm可以用m={a,b,π}来描述,式中,a为状态转移矩阵a={a
ij
};b为观察概率矩阵b={b
ij
(k)};π={π
i
}为初始状态概率矢量。形象的说,hmm可以分为两部分,一部分是markov链,由π和a描述,产生的输出为状态序列(q1,q2........,q
t
),对应着由炮种声纹帧提取的mfcc参数;另一部分是一个随机过程。
[0090]
如图9所示,为hmm组成示意图。其中,t为观察值时间长度。状态序列发生器先按照某种概率a={a
ij
}产生一个状态序列,而序列中的每一个状态都按照一定的概率b={b
ij
(k)}产生实际的观测数据,这一系列的观测数据构成观测序列。在声纹目标识别中,所谓的观测序列就是特征提取得到的一帧的声纹特征参数,而状态是在训练阶段事先规定好的不同声纹单元。
[0091]
用hmm识别目标时,面临两个问题,首先,在已知数据下,怎么得到基于最优化准则下hmm参数。其次,在给定模型下和一组未知观测数据下,怎么才能有效地识别分类。这两个问题就是模型的训练和识别问题。
[0092]
如图10(a)所示的hmm模型原理图,用baum_welch算法来优化在给定训练数据后的hmm模型参数;用lagrange数乘法构造一个以hmm所有参数为变量的目标优化函数q,用求导方法推导出q达到极点时新的hmm模型参数相对于旧的模型参数之间的关系,从而得到hmm各参数的估计。用新旧hmm模型参数之间的函数关系反复迭代运算,直到hmm模型参数不再明显变化为止;先用veterbi算法求出代表第n类事件的hmm模型m
n
,1<n<n,n为所有可能的目标类个数;未知信号的特征序列o在给定训练好的hmm模型下的条件似然函数记作p
max
,p
max
是判定信号属于哪个类别的目标函数;条件似然函数最大对应的事件类别编号记为n*:
[0093][0094]
但这种方法只能用于限定信号的分类,而战场上瞬息万变,有很多未知声音信号,容易产生虚警。采用对每个hmm模型设定输出概率阈值,根据声音信号通过同种信号建立的模型输出概率大于阈值,而不同种信号输出小于这个阈值来确定信号类别。
[0095]
如图10(b)所示,为设定概率阈值的hmm模型训练流程。具体训练步骤如下:
[0096]
(1)设置最大训练次数n,并设置归一化收敛阈值t;
[0097]
(2)给定初始参数λ=(π,a,b);
[0098]
(3)利用bw重估算法对初始化参数λ进行参数重估,得到新的模型参数
[0099]
(4)利用viterbi算法求所有观察值序列的输出概率
[0100]
(5)计算观察值序列的输出概率p的变化,如若则说明新的模型参数回到第3步进行继续迭代,直到模型参数收敛。如果迭代次数大于最大训练次数,即使不收敛也要停止运算。
[0101]
如图10(c)所示,为次声信号训练和识别的流程图。首先,输入已知的次声信号带标签数据,提取mfcc特征,然后进行hmm模型的训练,最后得到每种次声事件类型对应的hmm模型,得到次声事件对应的hmm参数。其次,输入次声信号数据,提取mfcc特征,针对每种类型的hmm计算输出概率,输出概率最大的就为该类次声事件。
[0102]
另一个实施例还给出了一种基于mfcc和hmm的次声信号识别系统,包括如下模块:
[0103]
美尔滤波器设计模块,用于根据次声信号的实际频率,基于人耳的听觉特性,将实际频率转换为符合人耳听觉特性的美尔频率;分频率特征提取,将声纹频率划分成一系列三角形的滤波器序列;
[0104]
美尔频率倒谱系数特征提取模块,包括弹道波声纹数据分帧和加窗函数,快速傅里叶变换,计算谱线能量,计算通过美尔滤波器的能量,计算dct倒谱,获得次声信号特征;
[0105]
信号识别模块,采用对每个hmm模型设定输出概率阈值,根据声音信号通过同种信
号建立的模型输出概率大于阈值,而声音信号通过不同种信号建立的模型输出小于这个阈值来确定信号类别;具体包括:首先,输入已知的次声信号带标签数据,提取mfcc特征,然后进行hmm模型的训练,最后得到每种次声事件类型对应的hmm模型,得到次声事件对应的hmm参数;其次,输入次声信号数据,提取mfcc特征,针对每种类型的hmm计算输出概率,输出概率最大的就为该类次声事件。
[0106]
另一个实施例还给出了一种基于mfcc和hmm的次声信号识别设备,包括:
[0107]
处理器,用于执行多条指令;
[0108]
存储器,用于存储多条指令;
[0109]
其中,所述多条指令,用于由所述存储器存储,并由所述处理器加载并执行上述的基于mfcc和hmm的次声信号识别方法。
[0110]
另一个实施例还给出了一种计算机可读存储介质,其特征在于,所述存储介质中存储有多条指令;所述多条指令,用于由处理器加载并执行上述的基于mfcc和hmm的次声信号识别方法。
[0111]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
转载请注明原文地址:https://win.8miu.com/read-250148.html