Log polar变换常用于具有相位相关的图像,使用傅里叶变换估算旋转和平移等。 但是,我很少混淆如何将其应用于音频信号。我试图通过对数极坐标变换(LPT)和相位相关来估计两个音频信号之间的时移。 我使用带有极坐标(theta,rho)的matlab在音频信号和绘图仪中使用https://en.wikipedia.org/wiki/Log-polar_coordinates应用LPT,直到这里,没有问题,问题是我不知道如何对这个转换信号应用相位相关。 谢谢。
答案 0 :(得分:1)
相位相关不仅适用于2D。你可以在1D信号上使用相同的东西。特别是,您的两个音频信号已经在时域上,而您只是想知道它们之间的时移。
尝试对原始音频信号进行相位相关,而不将其转换为对数极坐标表示。
这是Python中的一个例子:
import numpy as np
# sig1, sig2 = your audio signals
# ...
fft_sig1 = np.fft.fft(sig1)
fft_sig2 = np.fft.fft(sig2)
fft_sig2_conj = np.conj(fft_sig2)
R = (fft_sig1 * fft_sig2_conj) / abs(fft_sig1 * fft_sig2_conj)
r = np.fft.ifft(R)
time_shift = np.argmax(r)
print('time shift = %d' % (time_shift))
祝你好运!