【发布时间】:2011-06-25 10:40:18
【问题描述】:
我有两个由 2 个不同麦克风(例如,WAV 格式)对同一信号的录音,但其中一个录音有延迟,例如几秒钟。
在某种波形查看器中查看这些信号时,很容易直观地识别出这种延迟 - 即只需在每个信号中发现第一个可见峰值并确保它们的形状相同:
(来源:greycat.ru)
但是我该如何以编程方式进行 - 找出这个延迟 (t) 是什么?两个数字化信号略有不同(因为麦克风不同,位置不同,ADC 设置等原因)。
我已经挖掘了一下,发现这个问题通常被称为“时间延迟估计”,它有无数种方法来解决它 - 例如,one of them。
但是是否有任何简单且现成的解决方案,例如可用的命令行实用程序、库或直接算法?
结论:我没有找到简单的实现,我自己做了一个简单的命令行实用程序 - 可在 https://bitbucket.org/GreyCat/calc-sound-delay 获得(GPLv3 许可)。它实现了Wikipedia 中描述的一个非常简单的最大搜索算法。
【问题讨论】:
标签: algorithm signal-processing delay timedelay