Gre*_*Cat 13 algorithm signal-processing timedelay delay
我有2个不同麦克风的同一信号的两个录音(例如,WAV格式),但其中一个录音有延迟,例如几秒钟.
当在某种波形观察器中查看这些信号时,很容易在视觉上识别这种延迟 - 即只是在每个信号中发现第一个可见峰值并确保它们是相同的形状:
http://www.greycat.ru/temp/time-delay-peaks.png
但是我如何以编程方式进行 - 找出这个延迟(t)是什么?两个数字化信号略有不同(因为麦克风不同,由于ADC设置等原因位于不同位置).
我已经挖了一下,发现这个问题通常被称为"时间延迟估计",它有无数的方法 - 例如,其中之一.
但是有没有简单的现成解决方案,例如命令行实用程序,库或直接算法?
结论:我发现没有简单的实现,并且自己完成了一个简单的命令行实用程序 - 可从https://bitbucket.org/GreyCat/calc-sound-delay(GPLv3-licensed)获得.它实现了维基百科中描述的非常简单的最大搜索算法.