1.本发明属于水声信号的特征提取技术领域,涉及一种水声信号谱峰检测方法。
背景技术:
2.在进行水声信号识别或参数估计时经常需要对谱峰进行检测,比如对水声频移键控(fsk)识别时会对频谱的谱峰进行检测,对水声正交频分复用(ofdm)信号识别时会对其自相关谱峰进行检测,对fsk、相移键控(psk)以及直接序列扩频(dsss)等通信信号进行载频估计时需要对频域的谱峰位置进行检测。
3.在水声中信号的谱峰检测方法大多都来源于无线电中。无线电中有许多经典的谱峰提取方法,比如直接谱峰检测算法、三点谱峰检测算法、高斯拟合算法、多项式拟合算法等。直接谱峰检测虽然计算复杂度低,但是抗噪性能差。三点谱峰检测、高斯拟合、多项式拟合算法对谱峰的形状要求较高。水声信道相比于常见的无线信道更为复杂,具有复杂的时-空-频变特性,在频域表现为频率选择性衰落,并且当信噪比较低或信道时变明显时,利用相关得到的谱峰也会变得不稳定。所以在水声信道下利用信号频域或相关波形进行谱峰检测具有较高的挑战性。
技术实现要素:
4.针对上述现有技术,本发明要解决的技术问题是提供一种针对水声信道下谱峰特征不明显的水声信号谱峰检测方法,能有效地实现对谱峰特征的增强,并且还能对干扰进行抑制。
5.为解决上述技术问题,本发明的一种水声信号谱峰检测方法,包括以下步骤:
6.s1、用a(n)表示包含谱峰的信号波形,n为信号波形第n个采样点的位置,n=1,2,
···
,n,n为采样点个数,当谱峰波形存在负极性时,令b(n)=|a(n)|,当谱峰波形不存在负极性时,令b(n)=a(n);
7.s2、以b(n)的第n个采样点为中心,建立两个滑动窗,短滑动窗长度为2s
win
+1,长滑动窗长度为2l
win
+1,并且l
win
=2s
win
;通过所述两个滑动窗的能量差得到增益系数c(n),;通过所述两个滑动窗的能量差得到增益系数c(n),是第n个采样点的短滑动窗能量,是第n个采样点的长滑动窗能量,其中输出信号为c(n)=b(n)
·
c(n),其中n=1,2,
···
,n,当c(n)值为负数、n-s
win
≤0、n-l
win
≤0、n+s
win
>n或n+l
win
>n时,令c(n)=0;
8.s3、对s2中得到的c(n)波形进行滑动平均滤波,经过滑动平均滤波后的输出信号为:其中2p+1是滑动平均滤波长度,n=1,2,
···
,n,当n-p≤0或n+p>n时,令d(n)=c(n);
9.s4、对s3中得到的d(n)做高斯拟合,高斯窗函数为:其中l是高斯窗函数长度,-(l-1)/2≤n≤(l-1)/2,α是高斯窗函数的宽度系数,α与高斯函数的标准差σ=(l-1)/2α成反比;经过高斯拟合后的输出信号为:其中l=2q+1是高斯窗函数的长度,n=1,2,
···
,n,然后对e(n)做归一化得到优化后的谱峰波形,当n-q≤0或n+q>n时,令e(n)=d(n);
10.s5、提取e(n)中所有极大值以及对应的极大值点,并按照极大值从大到小排序,如果是单个谱峰,则提取e(n)中最大的极大值以及对应的极大值点作为谱峰,如果有多个谱峰,则提取e(n)中前m个极大值以及对应的极大值点作为谱峰,m等于谱峰数量。
11.进一步的,s3中滑动平均滤波长度等于s2中短滑动窗长度。
12.进一步的,s4中高斯窗函数长度等于s2中短滑动窗长度。
13.进一步的,s2中短滑动窗长度、s3中滑动平均滤波长度和s4高斯窗函数长度相等。
14.本发明的有益效果:本发明通过绝对值去极性、双滑动窗谱峰增强、滑动平均滤波、高斯拟合等步骤能对信号波形中存在的谱峰进行检测,有效减少水声信道对原始谱峰的影响,实现谱峰特征的增强。本发明主要有两个方面的应用:
15.第一个方面,我们可以利用本发明进行非合作水声通信信号进行谱峰特征的提取,通过这些特征实现非合作水声通信信号的识别。比如水声ofdm一般存在循环前缀的结构,我们对信号的自相关波形进行谱峰检测,确定是否存在两个相关峰的情况。又比如水声fsk信号在频域有多个谱峰,我们对信号频域波形进行谱峰检测,确定存在多少个谱峰,根据检测到的谱峰数量确定fsk的调制阶数。
16.第二个方面,我们可以利用本发明进行水声fsk信号各载波频率的估计。利用本发明进行谱峰检测最终会得到极大值点与对应的极大值,在频域上极大值点对应的就是信号的频率。
附图说明
17.图1为本发明所提供的水声信号谱峰提取方法的流程图;
18.图2为本发明所提供的进行测试的信道冲激响应图;
19.图3为仿真的8fsk进行傅里叶变换得到的原始频域波形;
20.图4为在图3原始频域波形的基础上得到增益系数;
21.图5为图4增益系数与图3原始频域波形乘积的结果;
22.图6为对图5中波形进行滑动平均滤波的结果;
23.图7为对图6中波形进行高斯拟合的结果;
24.图8为将图7中横坐标限定在10khz至14khz内的结果。
具体实施方式
25.下面结合说明书附图和具体实施例对本发明做进一步说明。
26.结合图1,本发明包括以下步骤:
27.s1、用a(n)表示包含谱峰的信号波形,n为信号波形第n个采样点的位置。为了消除
双极性信号的不确定性,我们首先对a(n)取绝对值得到b(n),即b(n)=|a(n)|,当谱峰波形不存在负极性时,令b(n)=a(n);
28.s2、针对全部采样点逐个进行以下操作:以b(n)的采样点n为中心,建立一长一短两个滑动窗,短滑动窗的长度为2s
win
+1,长滑动窗的长度为2l
win
+1,并且l
win
=2s
win
。通过这两个滑动窗的能量差得到增益系数c(n),c(n)可以表示为其中当c(n)值为负数,n-s
win
≤0,n-l
win
≤0,n+s
win
>n或n+l
win
>n时,令c(n)=0,输出信号为c(n)=b(n)
·
c(n)。通过乘以增益系数c(n),当信号波形中存在谱峰时,谱峰处波形被放大,其它处波形被抑制;
29.s3、针对全部采样点逐个进行以下操作:对s2中得到的c(n)波形进行滑动平均滤波,该步可以减少随机噪声,并且大致得到谱峰波形的包络形状。经过滑动平均滤波后的输出信号可以表示为其中2p+1是滑动平均滤波的长度,当n-p≤0或n+p>n时,令d(n)=c(n);
30.s4、针对全部采样点逐个进行以下操作:最后是对s3中得到的d(n)做高斯拟合,该步能有效对d(n)起到平滑的作用,有利于d(n)中极大值的提取和谱峰检测。高斯窗函数可以表示为其中l是高斯窗函数的长度,-(l-1)/2≤n≤(l-1)/2,α是高斯窗函数的宽度系数,α与高斯函数的标准差σ=(l-1)/2α成反比。经过高斯拟合后的输出信号可以表示为其中l=2q+1是高斯窗函数的长度,当n-q≤0或n+q>n时,令e(n)=d(n),然后对e(n)做归一化得到优化后的谱峰波形;
31.s5、提取e(n)中所有极大值以及对应的极大值点,并按照极大值的大小从大到小排序。如果是单个谱峰,则提取e(n)中最大的极大值以及对应的极大值点作为谱峰,如果有多个谱峰,则提取e(n)中前m个极大值以及对应的极大值点作为谱峰,m等于谱峰数量。
32.谱峰指的是频域谱峰或信号相关谱峰,s1中的双极性信号指的是由相关等运算导致信号波形存在负极性的情况,有些情况下不会存在负极性的情况,比如信号的频域波形,s2中短滑动窗长度的设定上,滑动窗的长度应尽量包含谱峰,但是也不应过长,当信号波形存在多个谱峰时,滑动窗长度过长容易出现窗内包含多个谱峰的情况。此外滑动窗长度过短对干扰的抑制能力也会减弱。实际应用时可以根据经验值进行设定。s3中滑动平均滤波的长度过短容易形成大量的伪包络,长度过长则会包含大量无用信息,为了保证能有效的提取谱峰的包络可以设置滑动平均滤波的长度与s2中短滑动窗长一致。s4中高斯窗函数的长度与s2中短滑动窗和s3中滑动平均滤波长度可以保持一致。
33.下面结合具体参数给出实施例:
34.结合图1,假设采集到的信号为8fsk信号,采样率为48khz,8fsk信号带宽为4khz,其载频分别为{10.25khz,10.75khz,11.25khz,11.75khz,12.25khz,12.75khz,13.25khz,13.75khz},仿真的信噪比设置为全频带0db,仿真中所用的信道冲激响应如图2所示,我们首先对采集到的8fsk信号做傅里叶变换得到包含谱峰的信号波形a(n),a(n)的信号波形如
图3所示。本发明的具体实施包括以下步骤:
35.s1、由于a(n)中不存在负极性,绝对值去极性可省略,即b(n)=a(n);
36.s2、设定短滑动窗长度为200hz带宽对应的采样点长度,分别求出这两个滑动窗内的能量,通过能量差得出增益系数c(n)。增益系数c(n)的波形如图4中虚线所示。最终输出信号为c(n)=b(n)
·
c(n),c(n)的波形如图5所示;
37.s3、对s2得到的c(n)做滑动平均滤波,得到滤波后信号d(n),d(n)的波形如图6所示;
38.s4、对s3得到的d(n)做高斯拟合,首先生成一个高斯窗g(n),利用g(n)对d(n)中的每个采样点进行拟合,得到拟合后信号e(n),对e(n)做归一化得到的波形如图7所示。
39.s5、提取图7中极大值点及其对应的极大值如图8所示,从图8中可以发现共有8个明显的谱峰,图8是将图7的横坐标限定在10khz至14khz范围内的信号波形,可以发现这些极大值点对应的频率能够与8fsk信号的8个载频相对应。
技术特征:
1.一种水声信号谱峰检测方法,其特征在于,包括以下步骤:s1、用a(n)表示包含谱峰的信号波形,n为信号波形第n个采样点的位置,n=1,2,
···
,n,n为采样点个数,当谱峰波形存在负极性时,令b(n)=|a(n)|,当谱峰波形不存在负极性时,令b(n)=a(n);s2、以b(n)的第n个采样点为中心,建立两个滑动窗,短滑动窗长度为2s
win
+1,长滑动窗长度为2l
win
+1,并且l
win
=2s
win
;通过所述两个滑动窗的能量差得到增益系数c(n),;通过所述两个滑动窗的能量差得到增益系数c(n),是第n个采样点的短滑动窗能量,是第n个采样点的长滑动窗能量,其中输出信号为c(n)=b(n)
·
c(n),其中n=1,2,
···
,n,当c(n)值为负数、n-s
win
≤0、n-l
win
≤0、n+s
win
>n或n+l
win
>n时,令c(n)=0;s3、对s2中得到的c(n)波形进行滑动平均滤波,经过滑动平均滤波后的输出信号为:其中2p+1是滑动平均滤波长度,n=1,2,
···
,n,当n-p≤0或n+p>n时,令d(n)=c(n);s4、对s3中得到的d(n)做高斯拟合,高斯窗函数为:其中l是高斯窗函数长度,-(l-1)/2≤n≤(l-1)/2,α是高斯窗函数的宽度系数,α与高斯函数的标准差σ=(l-1)/2α成反比;经过高斯拟合后的输出信号为:其中l=2q+1是高斯窗函数的长度,n=1,2,
···
,n,然后对e(n)做归一化得到优化后的谱峰波形,当n-q≤0或n+q>n时,令e(n)=d(n);s5、提取e(n)中所有极大值以及对应的极大值点,并按照极大值从大到小排序,如果是单个谱峰,则提取e(n)中最大的极大值以及对应的极大值点作为谱峰,如果有多个谱峰,则提取e(n)中前m个极大值以及对应的极大值点作为谱峰,m等于谱峰数量。2.根据权利要求1所述的一种水声信号谱峰检测方法,其特征在于:s3中所述滑动平均滤波长度等于s2中所述短滑动窗长度。3.根据权利要求1所述的一种水声信号谱峰检测方法,其特征在于:s4中所述高斯窗函数长度等于s2中所述短滑动窗长度。4.根据权利要求1所述的一种水声信号谱峰检测方法,其特征在于:s2中所述短滑动窗长度、s3中所述滑动平均滤波长度和s4所述高斯窗函数长度相等。
技术总结
本发明公开了一种水声信号谱峰检测方法,对包含谱峰的信号波形消除极性得到B(n),求增益系数c(n),c(n)与B(n)相乘得到输出信号C(n),对C(n)中值滤波平滑得到D(n),利用高斯窗对D(n)拟合得到E(n),对E(n)提取极大值点以及对应的极大值。本发明通过绝对值去极性、双滑动窗谱峰增强、滑动平均滤波、高斯拟合等步骤能对信号波形中存在的谱峰进行检测,有效减少水声信道对原始谱峰的影响,实现谱峰特征的增强。强。强。
技术研发人员:刘凇佐 方涛 王虔 青昕 乔钢
受保护的技术使用者:哈尔滨工程大学
技术研发日:2021.11.25
技术公布日:2022/3/8