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

 
 
> Есть специалисты по FFT ?, про реализацию на fpga
Shtirlits
сообщение Oct 21 2004, 03:48
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 845
Регистрация: 18-10-04
Из: Pereslavl-Zalessky, Russian Federation
Пользователь №: 905



В большинстве книг по БПФ рекомендуется не заморачиваться, а брать готовое.
Вот только с готовым бывают проблемы.
Делаю convolution processor на stratix.
Можно использовать готовое ядро от altera (пока так и делаю), но помимо того, что оно стоит денег, оно еще и не очень оптимальное для моей задачи, так как целочисленное. При анализе спектра это нормально, но при свертке между прямым и обратным преобразованиями делается умножение, которое приводит либо к округлениям, либо к увеличению разрядности обратного преобразования.
Хочется сделать FFT/iFFT, который бы работал с плавающей запятой, но не в формате 1 знак, 23 мантисса, 8 порядок (такое для stratix существует в продаже), а 6 - 9 бит мантисса, а порядок 7 или 8 бит.
Пока не понимаю, можно ли организовать память так, что бы параллельно работали 8 или 16 бабочек, но памяти при этом использовалось меньше, чем в два раза больше блока.

PS: Заранее извиняюсь, если off-topic, подозрение вызвано противоречием между темами сообщений и названием раздела.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Slavik
сообщение Nov 29 2004, 20:53
Сообщение #2


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

Группа: Свой
Сообщений: 170
Регистрация: 30-09-04
Пользователь №: 746



Не совсем понимаю, почему такая заострённость на плавающей точке. Когда на машине/процессоре имеешь 80 бит, то да, все хорошо. Но реально с АЦП получаем целочисленное значение. Переводить его в плавающее значение с ограниченой разрядностью - ошибки набегут и не заметите. А уж реализовывать такой алгоритм на FPGA - муторно и не естественно.
Или я чего-то упускаю?
Go to the top of the page
 
+Quote Post
new6666
сообщение Dec 14 2004, 15:29
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 22
Регистрация: 15-10-04
Пользователь №: 885



Конечно упускаешь. Когда умножаешь 10 на 10 в итоге получаешь 20 разрядов, затем тебе опять приходится умножать только уже 20 на 20, получается - 40. Смекаешь, что произойдет, на пятом шаге при 1024 точках. А если на входе у нас 16 разрядов? Естественно что даже более слабый DSP с плавающей точкой в этом случае уделает своего даже более шустрого целочисленного собрата. Господин Shtirlits, если у вас получится, дайте знать, если не жалко будет поделится плодами труда. Спасибо.
Go to the top of the page
 
+Quote Post
Rok
сообщение Jan 12 2005, 14:19
Сообщение #4


Участник
*

Группа: Свой
Сообщений: 62
Регистрация: 11-01-05
Из: Беларусь, Минск
Пользователь №: 1 894



Цитата(new6666 @ Dec 14 2004, 18:29)
Конечно упускаешь. Когда умножаешь 10 на 10 в итоге получаешь 20 разрядов, затем тебе опять приходится умножать только уже 20 на 20,  получается - 40. Смекаешь, что произойдет, на пятом шаге при 1024 точках. А если на входе у нас 16 разрядов? Естественно что даже более слабый DSP с плавающей точкой в этом случае уделает своего даже более шустрого целочисленного собрата. Господин Shtirlits, если у вас получится, дайте знать, если не жалко будет поделится плодами труда. Спасибо.
*

Немножечко не согласен.
Конечно можно получить 20 разрядов после умножения 10-ти разрядных. Но зачем ???
Если вы помните, то поворачивающие множители для БПФ всегда меньше 1. Следовательно после умножения число будет меньше умножаемого. Необходимо сделать только округление после умножения. Т.е. если на входе 16 разрядов, то после первой бабочки (Radix-2) нам достаточно на 2 разряда больше (умножение и затем сложение комплексных чисел). А если идти еще дальше и рассматривать скажем 1024 точки, то можно заметить, что после каждой бабочки увеличивать разрядность необязательно. smile.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Shtirlits   Есть специалисты по FFT ?   Oct 21 2004, 03:48
- - Mad Makc   1.А как это ты себе представляешь работу 8 или 16 ...   Oct 21 2004, 18:50
- - yornik   А почему convolution именно через Фурье, а не како...   Oct 21 2004, 22:13
- - Shtirlits   to Mad Makc: 1. Работа нескольких бабочек - это пр...   Oct 23 2004, 12:43
- - Mad Makc   to Shtirlits: С такими запросами,у меня такое ощущ...   Oct 25 2004, 18:53
- - Shtirlits   FPGA Stratix EP1S60. Памяти около мегабайта в сумм...   Oct 25 2004, 19:33
- - Mad Makc   Ну, если памяти много,то и флаг в руки. А сколько...   Oct 28 2004, 20:50
- - Shtirlits   Задачи опять же две: 1) Обрабатывать поток, которы...   Oct 28 2004, 21:16
- - Shtirlits   to yornik: В CataputC нет float point, есть числа ...   Nov 4 2004, 20:34
|- - RVlad   Цитата(Rok @ Jan 12 2005, 17:19)Если вы помни...   Apr 6 2005, 12:46
- - 3.14   Ну если быть объективным, то с плавающей точкой то...   Dec 14 2004, 17:02
- - Jools   Привет всем! Может я немного не в тему, но не ...   Feb 20 2005, 13:14
- - vovic   >To Jools Сходи на www.opencores.org. Простоты,...   Feb 20 2005, 15:04
- - Anybody   Можете попробывать написать на Confluence http://w...   Apr 6 2005, 10:56


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

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 10:41
Рейтинг@Mail.ru


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