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

 
 
> модификации БПФ, выбор
TigerSHARC
сообщение Dec 20 2009, 12:59
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 688
Регистрация: 4-09-09
Пользователь №: 52 195



В литературе фигурируют несколько вариантов исполнения алгоритма БПФ:
Кули - Тьюки, Винограда, Блюштейна...
Есть ли практический смысл в анализе их реализации и конкретном выборе оптимального алгоритма для конкретной задачи.
Читаю у С.Смита, что все варианты БПФ дают приблизительно одинаковый выигрышь в производительности и, как я понял, особо заморачиваться нестоит...
(тем более, если честь что большинство библиотек для DSP написаны для Кули-Тьюки)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
fontp
сообщение Dec 20 2009, 15:36
Сообщение #2


Эксперт
*****

Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183



Цитата(TigerSHARC @ Dec 20 2009, 15:59) *
В литературе фигурируют несколько вариантов исполнения алгоритма БПФ:
Кули - Тьюки, Винограда, Блюштейна...
Есть ли практический смысл в анализе их реализации и конкретном выборе оптимального алгоритма для конкретной задачи.
Читаю у С.Смита, что все варианты БПФ дают приблизительно одинаковый выигрышь в производительности и, как я понял, особо заморачиваться нестоит...
(тем более, если честь что большинство библиотек для DSP написаны для Кули-Тьюки)


При программной реализации - да, если только не требуется по каким-то причинам конкретное N, а не ближайшее к нему 2**log(N)
При аппаратной реализации алгоритм Винограда может оказаться более выгодным за счет снижения кол-ва умножений, т.е. при нессиметричности затрат на сложение и умножение Кули-Тьюки не оптимален

Вот что говорится о конкретной реализации для "произвольного N"
http://forum.sources.ru/index.php?showtopic=273153&st=0
* максимум быстродействия для степеней двойки; все дальнейшие случаи сравниваются с этим
* для N вида (2^i)*(3^j)*(5^k) - медленнее раза в полтора; впрочем, это отличие скорее всего будет уменьшено при помощи оптимизации
* для N с простыми множителями, большими пятерки, но значительно меньшими N, раза в три-четыре медленнее, но всё равно N*log(N); это уже не поддается оптимизации
* если само N - простое, то раз в шесть медленнее, но всё равно N*log(N); это тоже не поддается оптимизации

Алгоритм Томаса-Гуда для N составленого из взаимно простых множителей 2.3.5.7... не уступит Кули-Тьюки по быстродействию и структурно более прост. Но это неудобно, составлять N только из простых множителей
Go to the top of the page
 
+Quote Post
SPACUM
сообщение Dec 20 2009, 21:43
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 161
Регистрация: 22-06-09
Из: Москва
Пользователь №: 50 531



Цитата(fontp @ Dec 20 2009, 18:36) *
При аппаратной реализации алгоритм Винограда может оказаться более выгодным за счет снижения кол-ва умножений, т.е. при нессиметричности затрат на сложение и умножение Кули-Тьюки не оптимален

Только для програмной реализации плавающей точки и ненамного, а для фиксированной - медленнее. Аппаратное умножение почти везде очень быстрое. Я всегда рекомендую 1000 - 2000 - 5000 - 10000 точек. Выигрыш по скорости менее, чем в 2 раза, несравним с удобством читать временные и частотные шкалы в круглых и приятных для глаза единицах. Несколько раз встречал явный отказ по причине советских ГОСТов, в которых указана степень двойки. А по поводу российских стандартов только статьи в газетах. Может кто-нибудь знает какой-нибудь РОСТ со свободной длиной выборки для БПФ? Еще неназван самый быстрый алгоритм - для реальных выборок. Впрочем Кули - Тьюки запросто потянет вычисление сразу двух реальных выборок сразу. И, наконец, в случае жестокого ограничения разрядности Кули - Тьюки и реальный дают существенное преимущество по точности по сравнению с Виноградом. У Меня в 5 раз.


--------------------
Ты можешь знать все что угодно, но пока ты не доказал это на практике, ты не знаешь ничего!© Ричард Бах
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TigerSHARC   модификации БПФ   Dec 20 2009, 12:59
|- - AndrewN   Цитата(SPACUM @ Dec 21 2009, 00:43) Кули ...   Dec 21 2009, 03:35
|- - fontp   Цитата(AndrewN @ Dec 21 2009, 06:35) За с...   Dec 21 2009, 08:36
|- - SPACUM   <А "в случае жестокого ограничения разрядн...   Dec 21 2009, 09:54
- - анатолий   Кули-Тьюки по основанию 2 пойдет почти во всех слу...   Dec 21 2009, 09:04
- - TigerSHARC   Господа, а как вы отнесётесь к такому, недавно про...   Dec 21 2009, 14:26
|- - fontp   Цитата(TigerSHARC @ Dec 21 2009, 17:26) Г...   Dec 21 2009, 14:36
- - TigerSHARC   Так это реально или нет? На практике применяется?   Dec 21 2009, 15:25
- - thermit   ЦитатаTigerSHARC: Так это реально или нет? На прак...   Dec 21 2009, 15:31
- - TigerSHARC   нет ли у кого ссылки на какой-нибудь документ, или...   Dec 21 2009, 15:57
- - thermit   ЦитатаTigerSHARC: нет ли у кого ссылки на какой-ни...   Dec 21 2009, 16:48
- - TigerSHARC   спасибо! Но в моих источниках упоминается, чт...   Dec 21 2009, 19:13
|- - SPACUM   Цитата(TigerSHARC @ Dec 21 2009, 22:13) с...   Dec 21 2009, 22:22
- - thermit   ЦитатаTigerSHARC: Но в моих источниках упоминается...   Dec 22 2009, 07:51


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

 


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


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