Я намагаюся обчислити автокореляцію на платформі, де єдиним у мене прискореним примітивом є (I) FFT. У мене все-таки проблема.
Я прототипував це в MATLAB . Я, проте, трохи розгублений. Я припускав, що це працює просто так (це з пам’яті, тож вибачте, якщо я зрозумів це трохи неправильно).
autocorr = ifft( complex( abs( fft( inputData ) ), 0 ) )
Однак я отримую інший результат, ніж я отримую від використання xcorr
функції. Тепер я повністю сподіваюсь не отримати ліву частину автоматичної кореляції (оскільки це відображення правої сторони і, таким чином, не потрібно в будь-якому випадку). Однак проблема в тому, що моя права сторона, здається, сама відображена на півдорозі. Що фактично означає, що я отримую приблизно половину тієї кількості даних, яку я очікую.
Тож я впевнений, що я повинен робити щось дуже просте неправильно, але я просто не можу зрозуміти, що.