Цель C - Взаимная корреляция для оценки задержки звука

Я хотел бы знать, знает ли кто-нибудь, как выполнить взаимную корреляцию между двумя аудио сигналы на 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
)
7
задан Kal 20 June 2011 в 18:10
поделиться