我有一些风力涡轮机录制的音频文件,并且正在尝试进行异常检测。一般的想法是,如果一个刀片有故障(例如破裂),则该刀片的声音会与其他两个刀片不同,因此我们基本上可以找到一种方法来提取每个刀片的声音信号并比较它们之间的相似度/距离,如果这些信号之一有很大的不同,我们可以说涡轮机将要发生故障。
我只有一些错误的样本,缺少标签。

但是,似乎没有人从事这种工作,并且在尝试时遇到了很多麻烦。
我尝试使用stft将信号转换为功率谱,并且出现一些尖峰。如何从原始数据中识别每个刀片? (一些相关的工作使用自动编码器从音频中检测异常,但是在此任务中,我们希望使用一些基于相似度的方法。)

有人有好主意吗?有一些相关的工作/论文值得推荐吗?

最佳答案

好...

如果您的轴以1200 RPM或20 Hz的速度旋转,则该旋转产生的所有重要声音应为20 Hz的谐波。

但是,如果涡轮机具有3个完美的叶片,则其每次旋转将具有3次完全相同的配置,因此,旋转产生的所有声音都应限制在60 Hz的倍数内。

在20 Hz,20、40、80、100等的其他谐波处的能量高于本底噪声,通常是由叶片之间的差异引起的。

当然,这会忽略来自也与轴同步的其他来源的噪声,这可能会使分析混乱。

关于python - 如何从音频信号中识别每个组件?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/56520227/

10-12 21:54
查看更多