gpt4 book ai didi

android - GCC_PHAT输出

转载 作者:行者123 更新时间:2023-12-02 23:51:00 35 4
gpt4 key购买 nike

我正在尝试在Android设备上开发GCC_PHAT算法。
对于FFT,我使用了this library
这个想法是关联两个音频文件(16位PCM单声道)以找到它们之间的延迟。与Matlab一起完美地工作。
我的第一个问题是FFT输出,它给出的数字大于32768。例如:

fft re   -20830.895138576154
fft re -30639.569794501647
fft re -49850.48597621472
fft re -49335.28275604235
fft re -96060.94916529073
fft re -91409.17426504416
fft re -226903.051428709

有没有办法将这些数字标准化为[-1,1]的间隔?

最佳答案

library's forward transform definition确实匹配Matlab,因此您应在正向变换之后获得匹配的值(这并不重要,因为G_PHAT确实被归一化为[-1,1])。

但是,inverse transform不能说相同。确实来自inverseTransform上的代码注释:

This transform does not perform scaling, so the inverse is not a true inverse.



并从图书馆网页:

This FFT does not perform any scaling. So for a vector of length n, after performing a transform and an inverse transform on it, the result will be the original vector multiplied by n (plus approximation errors).



因此,要获得与Matlab的FFT / IFFT实现相匹配的值,您需要将IFFT的结果除以n。

关于android - GCC_PHAT输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24447227/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com