Страница 1 из 1

Быстрая корреляция

Добавлено: 27 янв 2016, 15:59
abraziv
Доброго времени суток.
Быстрая взаимная корреляция реализуется, как произведение одного спектра с другим комплексно сопряжённым. Можно получить эквивалент временной области корреляции с помощью свойств преобразования Фурье ? Ну например известно, что эффективная ширина спектра ( его площадь) умноженная на интервал корреляции (площадь корреляционной функции) есть константа. Можно ли например найти эффективную ширину спектра корреляционной функции (в частотной области) и этим получить примерно такую же картинку как корреляционная функция во временной области. Т.е. у нас есть комплексный спектр, нужно просто сложить все его отчёты и всё ?

Re: Быстрая корреляция

Добавлено: 28 янв 2016, 09:19
Бахурин Сергей
Мне думается, что эффективная ширина спектра ( его площадь) умноженная на интервал корреляции (площадь корреляционной функции) есть константа только для автокорреляционной функции. Мне кажется что для взаимно-корреляционной функции это в общем случае не выполняется.

Re: Быстрая корреляция

Добавлено: 09 апр 2016, 19:34
Santik
Пусть x(t), y(t) две действительные функции.
Необходимо найти взаимную корреляцию x(t) и y(t).

Можно представить представить комплексную функцию f(t)=x(t)+i y(t)
Обозначив F(W) преобразование Фурье функции f(t),получим:


W=0,1,2,...N-1
Функция взаимной корреляции:












Re: Быстрая корреляция

Добавлено: 10 апр 2016, 08:12
Santik
Сравнение быстродействия на Intel Atom CPU N20 1.6 GHz RAM 1.48 GB
Подпрограмма комплексного FFT удвоенной точности из Фортрановской библиотеки IMSL.
1 способ
Вычислялось FFT X(w) функции x(t)
Вычислялось FFT Y(w) функции y(t)
Вычислялось обратное FFT от X(w)Y*(w)
2 способ
Вычислялось FFT F(w) функции x(t)+iy(t)
Вычислялось обратное FFT от преобразованной F(w) (см. формулу выше)

Вычислялась функция взаимной корреляции данных из звукового файла (16 бит) сдвинутых на 200 выборок.
Общее число выборок: 120384
Число вычисляемых функций взаимной корреляции: 100
Время вычисления:
1 способ: 51 сек
2 способ: 35 сек
Таким образом выигрыш по времени составил примерно 30%. :shock:

Литература:
http://www.ti.com/lit/an/spra291/spra291.pdf

Re: Быстрая корреляция

Добавлено: 25 июл 2016, 14:53
abraziv
Спасибо за ответ. Мне почему то не пришло уведомление. Только сейчас увидел.

Re: Быстрая корреляция

Добавлено: 03 мар 2021, 18:37
Vladimir
Может кто подскажет
У меня задача построить функцию когерентности 2 сигналов
Я рассчитал fft для обоих сигналов
Не могу найти алгоритм для C