我正在开发一种工具来比较两个波形文件的波形相似性。例如,我有一个持续时间为 1 分钟的波形文件,我使用第一个文件制作了另一个波形文件,但每 5 秒的数据以 5 秒的间隔制作为 0。现在我的软件会告诉我在 5 秒到 10 秒的时间间隔内有波形差异, 15 秒到 20 秒, 25 秒到 30 秒等等...
截至目前,随着初步开发,这工作正常。以下是 3 个测试集:
我有两个采样率为 960Hz 的波形文件,单声道,没有数据样本为 138551(arnd 1min 12sec 文件)。我正在使用 128 点 FFT(将文件拆分为 128 个样本块),结果很好。
当我对采样率为 48KHz、2 通道的波形文件使用相同的算法时,每个通道没有数据样本 6927361(arnd 2 分 24 秒文件),该过程变得太慢。当我使用 4096 点 FFT 时,过程更好。
但是,在 22050Hz、2 通道的文件上进行 4096 点 FFT,每个通道的数据样本数为 55776(arnd 0.6sec 文件)给出的结果非常差。在这种情况下,128 点 FFT 给出了很好的结果。
所以,我很困惑如何决定 FFT 的长度,以便我的结果在每种情况下都很好。
我猜长度应该取决于样本数量和采样率。请就此提供您的意见。
谢谢