Я хотел бы знать, если кто-нибудь знает, как выполнить взаимную корреляцию между двумя звуковыми сигналами на iOS .
Я хотел бы выровнять FFTокна, которые я получаю в приемнике (я получаю сигнал от микрофона) с окнами в передатчике (который воспроизводит звуковую дорожку), т.е. убедитесь, что первая выборка каждого окна (кроме периода "синхронизации")на передатчике также будет первое окно на приемнике.
Я вводил в каждый кусок передаваемого аудио известную форму волны (в частотной области).Я хочу оценить задержку через взаимную корреляцию между известной осциллограммой и полученным сигналом (через несколько последовательных фрагментов), но я не знаю, как это сделать.
Похоже, есть метод vDSP_convD
чтобы сделать это, но я понятия не имею, как его использовать и нужно ли мне сначала выполнять реальное БПФ сэмплов (вероятно, да, потому что я должен передать double []).
void vDSP_convD (
const double __vDSP_signal[],
vDSP_Stride __vDSP_signalStride,
const double __vDSP_filter[],
vDSP_Stride __vDSP_strideFilter,
double __vDSP_result[],
vDSP_Stride __vDSP_strideResult,
vDSP_Length __vDSP_lenResult,
vDSP_Length __vDSP_lenFilter
)