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

abraziv
Сообщения: 48
Зарегистрирован: 08 апр 2015, 15:16

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

Сообщение abraziv »

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

Аватара пользователя
Бахурин Сергей
Администратор
Сообщения: 1114
Зарегистрирован: 05 окт 2010, 19:55
Контактная информация:

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

Сообщение Бахурин Сергей »

Мне думается, что эффективная ширина спектра ( его площадь) умноженная на интервал корреляции (площадь корреляционной функции) есть константа только для автокорреляционной функции. Мне кажется что для взаимно-корреляционной функции это в общем случае не выполняется.

Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

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

Сообщение 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
Функция взаимной корреляции:












Аватара пользователя
Santik
Сообщения: 609
Зарегистрирован: 28 дек 2010, 08:04
Откуда: Мирный (Якутия)
Контактная информация:

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

Сообщение 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

abraziv
Сообщения: 48
Зарегистрирован: 08 апр 2015, 15:16

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

Сообщение abraziv »

Спасибо за ответ. Мне почему то не пришло уведомление. Только сейчас увидел.

Vladimir
Сообщения: 3
Зарегистрирован: 03 мар 2021, 18:28

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

Сообщение Vladimir »

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

Ответить