Я хотел бы знать, знает ли кто-нибудь, как выполнить взаимную корреляцию между двумя аудио сигналы на iOS .
Я хотел бы выровнять окна БПФ, которые я получаю на приемнике (я получаю сигнал с микрофона), с окнами на передатчике (который воспроизводит звуковую дорожку ), то есть убедитесь, что первая выборка каждого окна (помимо периода "синхронизации") в передатчике будет также первым окном в приемнике.
Я вставил в каждый блок передаваемого звука известную форму волны (в частотной области). Я хочу оценить задержку посредством взаимной корреляции между известной формой сигнала и принятым сигналом (по нескольким последовательным порциям), но я не знаю, как это сделать.
Похоже, есть метод vDSP_convD
для этого, но я не знаю, как его использовать и нужно ли сначала выполнить реа l БПФ выборок (возможно, да, потому что мне нужно передать 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
)