|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
||||||
Ускорение функции расчета автокорреляционной функции06.04.2017, 12:20. Показов 9229. Ответов 33
Метки нет (Все метки)
Доброго времени суток!
Столкнулся с необходимостью ускорения расчета автокорреляционной функции. Сейчас она реализуется следующим образом:
Делаю таким образом: 1. Заполняю вещественную часть 2*Win значениями вектора. Мнимая нулевая (сигнал сугубо вещественный). 2. Прямое преобразование Фурье. 3. Возвожу в квадрат мнимую и вещественную части результата (2). 4. Обратное преобразование Фурье. 5. Записываю Win значений в выходной массив и рисую его. Может быть я не понимаю методику или вообще не в ту сторону смотрю? Буду рад любой помощи и заранее спасибо!
0
|
||||||
| 06.04.2017, 12:20 | |
|
Ответы с готовыми решениями:
33
Программа расчета функции - y=ctg lnx |
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
||||||
| 07.04.2017, 13:51 [ТС] | ||||||
|
Я сам проблему не изучал, но коллеги заморочились.
Например, при вызове
Возможно это и не так. Я, повторяюсь, в это не углублялся Добавлено через 31 секунду просто редко работаю с ним
0
|
||||||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
||
| 07.04.2017, 13:52 | ||
|
0
|
||
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
|
| 07.04.2017, 13:56 [ТС] | |
|
Здесь полностью согласен.
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 07.04.2017, 13:58 | |
|
А кстати, господа, что насчет операций с фиксированной точкой? Могут ли они оказаться быстрее плавающей арифметики?
0
|
|
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
|
| 07.04.2017, 14:04 [ТС] | |
|
Mirmik, Я пока понять не могу как обойти преобразование числа с плавающей точкой в число с фиксированной. нагрузка то все-равно дополнительная появится.......Хотя она может на самом деле ускорить процесс.
Останавливает еще то, что мне результат этой функции один фиг придется обратно в float переводить, чтобы дальше расчеты продолжить.
0
|
|
|
techpriest
634 / 213 / 57
Регистрация: 27.02.2014
Сообщений: 1,180
|
|
| 07.04.2017, 14:36 | |
|
Зависит от размеров вашего массива.
Ваш алгоритм имеет квадратичную сложность, а преобразование - линейную. Чем больше массив, тем несопоставимей временные интервалы. Если у вас хотя-бы пятьдесят точек в этом массиве, вы затрат времени на преобразования даже незаметите по сравнению со временем вычисления развёртк Но будет ли выигрыш, конечно требует проверки.
0
|
|
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||
| 07.04.2017, 14:50 | ||
|
0
|
||
|
Форумчанин
8217 / 5048 / 1437
Регистрация: 29.11.2010
Сообщений: 13,453
|
|
| 07.04.2017, 15:13 | |
|
в OpenCV были готовые функции для БПФ, сам их пользовал, довольно шустрые. Можно взять для сравнения результата.
0
|
|
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
|||||||||||
| 08.04.2017, 15:53 [ТС] | |||||||||||
|
nonedark2008, Делаю так:
Само БПФ реализовано следующим образом. Раньше никогда меня не подводили результаты этой функции. Её брал откуда то и "допиливал" под себя.
0
|
|||||||||||
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
||||||
| 10.04.2017, 18:12 [ТС] | ||||||
|
Хрень какая то твориться........
Уже по методичке сделал: Т.е. обратное БПФ от призведения спектра на комплексно-сопряженный спектр - все равно хрень получается(( Уже тупо все в лоб закодил....
0
|
||||||
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
|||||||||||
| 10.04.2017, 18:21 [ТС] | |||||||||||
|
опечатался - не
а
0
|
|||||||||||
|
1394 / 1023 / 325
Регистрация: 28.07.2012
Сообщений: 2,813
|
||
| 10.04.2017, 23:53 | ||
|
Может вообще оказаться, что у тебя не ответ, а одни сплошные ошибки округления. Какой из результатов вообще больше похож на правду?
0
|
||
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
||||||
| 11.04.2017, 12:47 [ТС] | ||||||
|
nonedark2008, Проверял. результаты немного другие получаются. Сейчас разбираюсь сижу где все-таки не так сделал.
Вот результат именно расчета автокорреляции. Только работает он в 2 раза быстрее исходного алгоритма.
0
|
||||||
|
12 / 12 / 0
Регистрация: 20.11.2013
Сообщений: 167
|
|||||||||||
| 11.04.2017, 16:26 [ТС] | |||||||||||
|
В последнем посте у меня корреляция куска с самим собой на участке Win считалась. Для куска размером 2*Win поправил так:
Время работы функции с обвязкой упало с 25-140 мс на моей машине до 1-25 мс. в зависимости от количества необходимых операций (постоянно плавает). Результат вычислений испытания на модельных и "полевых" наборах данных выдержал. Результатом доволен - теперь полезу в обвязку ![]() Ускорение через быстрое преобразование Фурье реализовал как свертку комплексно-сопряженного спектра части сигнала размером Win со спектром куска размером 2*Win.
Всем большое спасибо за помощь и дельные советы!
2
|
|||||||||||
| 11.04.2017, 16:26 | |
|
Составить программу расчета таблицы значений функции f(x)
Программа расчета функции с использование разложения Чебышева Составить программу расчета таблицы значений функции f(x)
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транслитерация текста с кириллицы на латиницу (вариант №2)
Maks 13.11.2026
Обновленная версия ранее созданной обработки.
Добавлено:
- Проверка исходного текста на кириллицу, через обращение к стандартной функции "ТолькоКириллицаВСтроке" из общего модуля. . .
|
Часы с термометром и праздничным календарем
yariko 12.11.2026
Сегодня мы рассмотрим как можно сделать отличные многофункциональные часы.
Итак, поставим конкретную задачу: разработать часы с календарем, двумя термодатчиками, выводом поздравительных сообщений. . .
|
Транслитерация текста с кириллицы на латиницу (вариант №1)
Maks 11.11.2026
Решил облегчить жизнь себе и коллегам админам при создании электронных почтовых ящиков для пользователей, в результате написал обработку "Транслитерация текста" с кириллицы на латиницу, а в ней. . .
|
Книги по геймдизайну, левел-дизайну, игровым механикам и проектированию игрового опыта
8Observer8 08.11.2026
Содержание блога | English Version
1. 2003 - 06 - Designing Virtual Worlds (1st Edition)
Автор: Richard A. Bartle | Объем: 768 стр.
Ссылки: Amazon
. . .
|
|
Родители токсичные абьюзеры по отношению к своим детям ругают их оскорбляют не любят
zorxor 08.11.2026
Жить в атмосфере постоянных оскорблений, критики и холодности со стороны родителей — это тяжелое и болезненное испытание, которое оставляет глубокие эмоциональные раны. Токсичное и абьюзивное. . .
|
Как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы. Ответ от Джемени ИИ.
zorxor 08.11.2026
Джемени, как только я захожу к себе в свою комнату я сразу же с себя снимаю свои трусы.
Многие люди, возвращаясь домой, сразу переодеваются в максимально свободную одежду или вовсе предпочитают. . .
|
Паттерн очереди действий/команд (Action / Command Queue). Система очереди действий и кат-сцен с SDL3 Callbacks, cglm и OpenGL
8Observer8 07.11.2026
Содержание блога | English Version
Руководство для начинающих по реализации паттерна очереди действий/ команд (Action / Command Queue) на C++ (C++20) с использованием официального SDL3 Callbacks. . .
|
Проверка полного ФИО в типовом справочнике
Maks 07.11.2026
Решение реализовано в конфигурации КА2, на примере справочника "КонтактныеЛицаПартнеров".
Задача:
Запрет инициалов.
Не допускаеть использование сокращений вида "И. И. ", "И. И. ", "И И" и. . .
|