[an error occurred while processing this directive]
|
Начал пробовать через FFT/iFFT на 512 точек (Overlap-Add). Так как два FFT писать было лень, пришлось делать битреверс, потом переходить от реальных вычислений к комплексным, потом реализовывать Overlap-add.
После недельных мучений я сделал коррелятор во времменной области, что-то типа десятка инструкций с ядром типа
RPT T0
MAC *AR0+, *CDP+, AC0
::MAC *AR1+, *CDP+, AC1
И получил полный кайф отказавшись от комплексных FFT/iFFT, битреверсов, сохраниения хвоста от предыдущего FFT, комплексных перемножений спектров и т.д.
Может в конце концов и получилось бы сделать Overlap/add корреляцию лучше чем во временной области, но цена решения в десятки раз более дорогая (по времени разработки).
E-mail: info@telesys.ru