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

 
 
> ДПФ И БПФ, когда что применять...
TigerSHARC
сообщение Nov 10 2009, 17:42
Сообщение #1


Знающий
****

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



Здравствуйте!
Интересно, в каких случая удобно применять БПФ, а в каких прямое ДПФ??? Что требует меньше процессорного времени и при каких условиях?
Есть универсальные критерии применяемости для этих алгоримтов???
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
eugen_pcad_ru
сообщение Nov 11 2009, 06:42
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 642
Регистрация: 15-11-07
Пользователь №: 32 353



вспомним, что гласит теорияsmile.gif
БПФ - это "более быстрая" реализация БПФ, алгоритмически требуещая на своем входе и выходе некоего буфера для хранения данных во время своего вычисления (вычисление преобразования Фурье выполняется УЖЕ при наличии предварительно заполненного буфера). В случае, если вычисление спектра требуется постоянно (в режиме реального времени), выполняется с помощью ДПФ или процесс распараллеливается и используется не менее двух устройств, реализующих БПФ, выходы которых "склеиваются" (пока вычисляется первый, идет заполнение входного буфера второго).
Я в своей цифровой практике сталкивался только с реализацией БПФ, ибо вопрос с буферной памятью в наше просвещенное время можно считать несущественнымsmile.gif

P.S.: Усеченные алгоритмы - совсем другая песня, про нее можно писать много и лучше отдельноsmile.gif


--------------------
Правильно сформулированый вопрос содержит в себе половину ответа.
P.S.: Некоторые модераторы в качестве ответа так навязчиво предлагают посетить свой сайт, что иначе как саморекламу такие действия интерпретировать сложно.
Go to the top of the page
 
+Quote Post
EvgenyV
сообщение Nov 11 2009, 08:29
Сообщение #3


Участник
*

Группа: Validating
Сообщений: 22
Регистрация: 10-11-09
Пользователь №: 53 528



Цитата(eugen_pcad_ru @ Nov 11 2009, 15:42) *
БПФ - это "более быстрая" реализация БПФ, алгоритмически требуещая на своем входе и выходе некоего буфера для хранения данных во время своего вычисления (вычисление преобразования Фурье выполняется УЖЕ при наличии предварительно заполненного буфера). В случае, если вычисление спектра требуется постоянно (в режиме реального времени), выполняется с помощью ДПФ...


А не подскажете как как в режиме реального времени вычислять спектр с помощью ДПФ. Я считал что БПФ - это всего лишь частный случай ДПФ. Различие всего лишь в длине обрабатываемой последовательности N. Для FFT N является степенью двойки, а для ДПФ любая. И там и там надо где-то иметь уже накопленные N символов.
Или я чего-то не понимаю? unsure.gif
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 11 2009, 08:37
Сообщение #4


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

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



Цитата(EvgenyV @ Nov 11 2009, 11:29) *
А не подскажете как как в режиме реального времени вычислять спектр с помощью ДПФ. Я считал что БПФ - это всего лишь частный случай ДПФ. Различие всего лишь в длине обрабатываемой последовательности N. Для FFT N является степенью двойки, а для ДПФ любая. И там и там надо где-то иметь уже накопленные N символов.
Или я чего-то не понимаю? unsure.gif


БПФ и есть быстрая реалиация ДПФ (даже не частный случай). БПФ существует не только для степени двойки. БПФ существует для любого N составленого из большого числа множителей (http://sonder.ru/content/view/480/32/).

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

Короче, отвечая на первоначальный вопрос можно сказать так: ДПФ используется только когда

- или число гармоник мало, поскольку мало число входных отсчётов N
- или число гармоник мало, поскольку нас интересуют не все гармоники N, а только некоторые

Во всех остальных случаях БПФ предпочтителен. Поскольку в ошибках округления он уступает не очень, а для случая простого N тоже есть способы перейти к составному. В конце концов просто добавить несколько нулевых отсчётов...
Go to the top of the page
 
+Quote Post
Oldring
сообщение Nov 11 2009, 09:12
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(fontp @ Nov 11 2009, 11:37) *
БПФ существует для любого N составленого из большого числа множителей (http://sonder.ru/content/view/480/32/).


Под термином "БПФ" традиционно понимают алгоритм Кули-Тьюки. Он существует только для степеней двойки. Если же рассматривать быстрые алгоритмы дискретного преобразования Фурье вообще, то возможность разложения N на множители не обязательна. Например, алгоритм Рейдера работает только для простых N, сводя преобразования Фурье к циклической свертке длиной N-1 и некоторому количеству сложений.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 11 2009, 09:38
Сообщение #6


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

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



Цитата(Oldring @ Nov 11 2009, 12:12) *
Под термином "БПФ" традиционно понимают алгоритм Кули-Тьюки. Он существует только для степеней двойки.


Странная традиция. Алгоритмы Гуда_Томаса, Винограда, Рейдера значит уже не БПФ, ага ))
Г. Нуссбаумер. Быстрое преобразование Фурье и алгоритмы вычисления сверток
Да и по прошлой ссылке ясно написано: "алгоритм БПФ для составных множителей". Вы конечно туда не ходили...

"Традицию" можно оправдать только в качестве прикладной унификации
Go to the top of the page
 
+Quote Post
Oldring
сообщение Nov 11 2009, 09:45
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 041
Регистрация: 10-01-05
Из: Москва
Пользователь №: 1 874



Цитата(fontp @ Nov 11 2009, 12:38) *
Странная традиция. Алгоритмы Гуда_Томаса, Винограда, Рейдера значит уже не БПФ, ага ))


Про эти алгоритмы знают уже далеко не все. Поэтому когда написано "БПФ", можно подразумевать, что автор имел в виду Кули-Тьюки.


--------------------
Пишите в личку.
Go to the top of the page
 
+Quote Post
fontp
сообщение Nov 11 2009, 09:53
Сообщение #8


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

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



Цитата(Oldring @ Nov 11 2009, 12:45) *
Про эти алгоритмы знают уже далеко не все. Поэтому когда написано "БПФ", можно подразумевать, что автор имел в виду Кули-Тьюки.


Это так.
Но это не важно.
Большое к-во множителей в N (в том числе кратных двоек) даёт возможность построить БПФ.
Хотя действительно, даже это не обязательно. Главное чтобы матрица преобразования факторизовалась в произведение прореженых матриц

Походу тут и реализация попалась БПФ для произвольного N.
Enjoy! Только не забывайте, что не все N одинаково полезны ))
http://alglib.sources.ru/fasttransforms/fft.php
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- TigerSHARC   ДПФ И БПФ   Nov 10 2009, 17:42
- - fontp   Цитата(TigerSHARC @ Nov 10 2009, 20:42) З...   Nov 10 2009, 17:49
- - V_G   Есть мнение, что БПФ становится более эффективным ...   Nov 11 2009, 00:07
|- - fontp   Цитата(V_G @ Nov 11 2009, 03:07) Есть мне...   Nov 11 2009, 08:17
- - bahurin   Цитата(TigerSHARC @ Nov 10 2009, 20:42) З...   Nov 11 2009, 04:47
- - анатолий   Бывают случаи, что главный период сигнала нельзя р...   Nov 13 2009, 09:36
- - bahurin   Цитата(анатолий @ Nov 13 2009, 12:36) Быв...   Nov 13 2009, 11:45
- - fontp   Цитата(bahurin @ Nov 13 2009, 14:45) И чт...   Nov 13 2009, 12:06
- - анатолий   Цитата(fontp @ Nov 13 2009, 15:06) что хо...   Nov 13 2009, 13:00
- - fontp   Цитата(анатолий @ Nov 13 2009, 16:00) Име...   Nov 13 2009, 13:14
- - АНТОН КОЗЛОВ   Цитата(fontp @ Nov 13 2009, 16:14) ...   Nov 14 2009, 06:52


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

 


RSS Текстовая версия Сейчас: 28th June 2025 - 01:05
Рейтинг@Mail.ru


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