.wav信号的音频分离

时间:2013-09-13 20:38:20

标签: audio signal-processing

我已阅读以下问题:Here

我要做的是接收一个信号(.wav音频文件),其中包含来自不同蝙蝠物种的呼叫。以下是信号的图形表示:

enter image description here

到目前为止,我所做的是:

1)强调信号

2)压缩信号

这是我绘制的输出:

enter image description here

我需要删除不经过考虑的信号。此时,信号采用1D表示,并且在分离完成后,信号将是包含JUST呼叫的2D表示,因此我可以对每个呼叫执行分析。

这是我建议的方法:

1)将信号分成以下块:256x100(因此它们重叠)

2)计算每个块的RMS(均方根)

3)将(2)与阈值进行比较,如果该块需要考虑,则可以将其归类为呼叫。

但问题是:

1)将信号拆分成256x100的块会超过调用,从而在计算RMS时使一些调用丢失吗?

2)因此,我如何选择合适的阈值?找到信号中的峰值是否可以准确地假设?

我希望有人可以帮助我:)。

1 个答案:

答案 0 :(得分:0)

如果您使用的是matlab,我建议您使用中值滤镜 - medfilt1()。这将允许您删除异常值,这是您在这里尝试做的。您可以设置所需的窗口大小,并将值设置为每个窗口的中位数,如果没有异常值,则应该接近实际值。

如果数据过于分散,您可能需要考虑6西格玛方法,而不是计算RMS而是计算方差并删除超过+ -3标准差的数据点。