设计用于区分不同声波波形的特征向量

信息处理 计算机视觉 频谱 自相关 语音识别
2022-01-16 13:44:51

考虑以下 4 个波形信号:

signal1 = [4.1880   11.5270   55.8612  110.6730  146.2967  145.4113  104.1815   60.1679   14.3949  -53.7558  -72.6384  -88.0250  -98.4607]

signal2 = [ -39.6966   44.8127   95.0896  145.4097  144.5878   95.5007   61.0545   47.2886   28.1277  -40.9720  -53.6246  -63.4821  -72.3029  -74.8313  -77.8124]

signal3 = [-225.5691 -192.8458 -145.6628  151.0867  172.0412  172.5784  164.2109  160.3817  164.5383  171.8134  178.3905  180.8994  172.1375  149.2719  -51.9629 -148.1348 -150.4799 -149.6639]

signal4 = [ -218.5187 -211.5729 -181.9739 -144.8084  127.3846  162.9755  162.6934  150.8078  145.8774  156.9846  175.2362  188.0448  189.4951  175.9540  147.4631  -89.9513 -154.1579 -151.0851]

信号

我们注意到信号 1 和 2 看起来相似,而信号 3 和 4 看起来相似。

我正在寻找一种算法,将 n 个信号作为输入并将它们分成 m 个组,其中每组内的信号相似。

这种算法的第一步通常是为每个信号计算一个特征向量Fi

例如,我们可以将特征向量定义为:[width, max, max-min]。在这种情况下,我们将得到以下特征向量:

F1=[13,146,245]

F2=[15,145,223]

F3=[18,181,406]

F4=[18,189,408]

在决定一个特征向量时,重要的是相似的信号得到彼此接近的特征向量,而不同的信号得到相距很远的特征向量。

在上面的例子中,我们得到:

|F2F1|=22.1,|F3F1|=164.8

因此,我们可以得出结论,信号 2 与信号 1 比信号 3 更相似。

作为特征向量,我还可以使用信号离散余弦变换中的术语。下图显示了信号以及离散余弦变换的前 5 项对信号的近似: 余弦变换

这种情况下的离散余弦系数为:

F1 = [94.2496  192.7706 -211.4520  -82.8782   11.2105]

F2 = [61.7481  230.3206 -114.1549 -129.2138  -65.9035]

F3 = [182.2051   18.6785 -595.3893  -46.9929 -236.3459]

F4 = [148.6924 -171.0035 -593.7428   16.8965 -223.8754]

在这种情况下,我们得到:

|F2F1|=141.5,|F3F1|=498.0

该比率不如上面更简单的特征向量那么大。这是否意味着更简单的特征向量更好?

到目前为止,我只展示了 2 个波形。下面的图表显示了一些其他的波形,它们可以作为这种算法的输入。将从该图中的每个峰中提取一个信号,从峰左侧最近的最小值开始,到峰右侧最近的最小值处停止:痕迹

例如,信号 3 是从样本 217 和 234 之间的该图中提取的。信号 4 是从另一个图中提取的。

如果你很好奇;每个这样的图对应于空间中不同位置的麦克风的声音测量。每个麦克风接收相同的信号,但信号在时间上略有偏移,并且在麦克风之间发生失真。

可以将特征向量发送到诸如 k-means 的聚类算法,该算法将具有彼此接近的特征向量的信号组合在一起。

你们中的任何人对设计一个擅长区分波形信号的特征向量有任何经验/建议吗?

您还会使用哪种聚类算法?

提前感谢您的任何答案!

1个回答

您只需要客观的标准来区分信号,还是重要的是它们在被某人聆听时具有某种相似性?当然,这将不得不限制您发出更长的信号(超过 1000 个样本)。