реклама на сайте
подробности

 
 
> Быстрая свертка дискретных сигналов, как?
phantom
сообщение Jan 30 2010, 16:32
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



Надо написать алгоритм КИХ фильтрации. Особенность процесса такова, что сигнал выдается фрагментами (начиная от 64 отсчетов).Светрку реализовили через БПФ в нескольких вариантах (overlap&save, overlap&add), но необходимой производительности достичь не удалось (получается в 2-8раз медленнее чем у существующих программ). Причем у программ-аналогов загрузка процессора практически не зависит от длины импульсной характеристики, а у нас - чем больше длина ИХ, тем больше времени требуется на обработку. Думали может БПФ медленное, заменили на Intel FFT которое в 10 раз быстрее общепринятых алгоритмов, но это существенно не помогло. Осталось попаробовать метод блоков переменной длины, но не совсем понятно как это работает. Что можно было бы сделать?


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
DRUID3
сообщение Jan 31 2010, 14:42
Сообщение #2


山伏
*****

Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294



Цитата(phantom @ Jan 30 2010, 18:32) *
Надо написать алгоритм КИХ фильтрации. Особенность процесса такова, что сигнал выдается фрагментами (начиная от 64 отсчетов).
...ну и что? Вы что, после каждого приращения буфера на 64 сэмпла делаете новое FFT на 4096(допустим) отсчета?

Цитата(phantom @ Jan 30 2010, 18:32) *
Светрку реализовили через БПФ в нескольких вариантах (overlap&save, overlap&add), но необходимой производительности достичь не удалось (получается в 2-8раз медленнее чем у существующих программ).
А откуда Вам знать, что там именно так сделано?

Цитата(phantom @ Jan 30 2010, 18:32) *
Причем у программ-аналогов загрузка процессора практически не зависит от длины импульсной характеристики, а у нас - чем больше длина ИХ, тем больше времени требуется на обработку.
Даже не знаю, что сказать laughing.gif ...

Цитата(phantom @ Jan 30 2010, 18:32) *
Думали может БПФ медленное, заменили на Intel FFT которое в 10 раз быстрее общепринятых алгоритмов...
w00t.gif w00t.gif Из цикла "аФФтАр пЕши ИСчО" biggrin.gif ...

Цитата(phantom @ Jan 30 2010, 18:59) *
Забыл добавить - ИХ длинная >130тис. Выиграш есть конечно по сравнению с простыми алгоритмами - но все равно не то.

На 130 000 выигрыш FFT очень ощутим. Вот получили свои 130 000 и сделали один раз FFT...


--------------------
Нас помнят пока мы мешаем другим...
//--------------------------------------------------------
Хороший блатной - мертвый...
//--------------------------------------------------------
Нет старик, это те дроиды которых я ищу...
Go to the top of the page
 
+Quote Post
phantom
сообщение Jan 31 2010, 17:32
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 323
Регистрация: 13-05-05
Пользователь №: 4 986



[quote name='DRUID3' post='711474' date='Jan 31 2010, 17:42']...ну и что? Вы что, после каждого приращения буфера на 64 сэмпла делаете новое FFT на 4096(допустим) отсчета?

А откуда Вам знать, что там именно так сделано?
>>>>>>>>>А я и не знаю. Я только проверяю время обработки для своего алгоритма и программ-аналогов.


w00t.gif w00t.gif Из цикла "аФФтАр пЕши ИСчО" biggrin.gif ...
>>>>>>>>> Ну это я не понял, но так для общей инфы: FFT которые описаны в общедоступной литературе, проигрывают в производительности некоторым оптимизированным алгоритмам, например FFTW, либо Intel MKL от 8 до 15 раз.

а Вы CUDA попробуйте.
>>>>> да я в курсе, но надо на СPU а не на GPU


--------------------
О сколько нам открытий чудных ...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 23:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.016 секунд с 7
ELECTRONIX ©2004-2016