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

 
 
23 страниц V  « < 10 11 12 13 14 > »   
Reply to this topicStart new topic
> Реализация БПФ на ПЛИС, Тудности, встречаемые при реализации
Sefo
сообщение Jun 4 2009, 10:58
Сообщение #166


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Что-то я Вас не понимаю...

Цитата(kas @ Jun 4 2009, 13:52) *
А разве числовая ось не должна быть зеркальной относительно нуля?


Разумеется должна. Такая и есть. Так и нарисовано.


Цитата(kas @ Jun 4 2009, 13:52) *
Если мы будем отрицательные числа с дробной частью равной 0.5 округлять до большего по абсолютной величине, то мы получем смещение.


Мы и не округляем отрицательные числа до большего по абсолютной величине - мы просто округляем к большему, когда дробная часть = 0.5 (независимо от знака числа).

Какое смещение Вы имеете ввиду?
Go to the top of the page
 
+Quote Post
kas
сообщение Jun 4 2009, 11:38
Сообщение #167


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

Группа: Свой
Сообщений: 77
Регистрация: 17-05-05
Из: Красноярск
Пользователь №: 5 108



Цитата(Sefo @ Jun 4 2009, 18:58) *
Что-то я Вас не понимаю...

blush.gif

Цитата(Sefo @ Jun 4 2009, 18:58) *
Разумеется должна. Такая и есть. Так и нарисовано.

? rolleyes.gif
Прикрепленное изображение


Цитата(Sefo @ Jun 4 2009, 18:58) *
Мы и не округляем отрицательные числа до большего по абсолютной величине - мы просто округляем к большему, когда дробная часть = 0.5 (независимо от знака числа).
Какое смещение Вы имеете ввиду?

Например как на этой картинке
Прикрепленное изображение



И уже совсем по детски конечно, но Matlab -7.5 округляет до -8
Вот я и пытаюсь разобраться. smile.gif
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jun 4 2009, 18:45
Сообщение #168


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Понятно, к чему Вы клоните smile.gif. Вы не очень удачно выбрали цитату для своего вопроса. Существуют разные методы округления. В той цитате, что Вы привели для своего вопроса
Цитата
По этой же причине (неправильная разрядность), видимо, Вы для округления прибавляете 4, вместо 2 - это приведет к неправильным вычислениям.


Речь шла не о выборе метода округления, а о неправильной реализации выбранного. Должно было быть реализовано выражение X/4+0.5, что соответствует (Х + 2)/4, а было реализовано (Х + 4)/4, что соответствует Х/4 + 1, что не подпадает под округление никаким способом. Округление к простому большему числа с дробной частью 0.5 весьма просто в реализации, посравнению с приведенным вами, а дает не такие уж плохие результаты - ведь к какому числу округлить значение, находящееся строго по середине решить не так-то просто smile.gif. Вы вот говорите, что округлять отрицательные числа с дробной частью (д.ч.) 0.5 в большую чторону неверно по причине... и приводите пример. Но почему Вы считаете, что отрицательные числа округляются неверно? На точно таком же основании можно утверждать, что это положительные числа округляются неверно! Если отрицат. числа с д.ч. 0.5 округлять в большую чторону, а вот положительные в меньшую, то никакого смещения наблюдаться не будет, а отличие по модулю от истинного значения, между прочим, в обоих случаях одинаково.

Существуют методы, в которых округление чисел с д.ч. 0.5 происходит то в одну сторону, то в другую случайным образом, но равное количество раз в каждую сторону.

Можно придумать еще много способов округления, учитывающих особенности конкрентых систем и имеющие лучшее "качество" округления, чем наиболее распространенные методы. Так что этот вопрос можно обсуждать долго.

Так что как округлять надо решать в зависимости от имеющейся задачи.
Go to the top of the page
 
+Quote Post
ZED
сообщение Jun 8 2009, 10:31
Сообщение #169


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Простите пока временно не могу продолжать работу - слишком сильные напряги с дипломом. Вообще защищаюсь 26, но может раньше смогу приступить к работе. Еще раз приношу свои извинения.
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jun 9 2009, 05:56
Сообщение #170


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(ZED @ Jun 8 2009, 14:31) *
Простите пока временно не могу продолжать работу - слишком сильные напряги с дипломом. Вообще защищаюсь 26, но может раньше смогу приступить к работе. Еще раз приношу свои извинения.


Удачи при защите диплома! Какая у Вас тема?
Go to the top of the page
 
+Quote Post
Reddy
сообщение Jun 14 2009, 10:44
Сообщение #171





Группа: Участник
Сообщений: 7
Регистрация: 10-01-05
Пользователь №: 1 865



Извиняюсь за вопрос! Я честно говоря так и не понял какой формат используется для арифметических операций? - с "плавающей точкой", с "блочной плавающей запятой"?
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jun 15 2009, 08:29
Сообщение #172


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(Reddy @ Jun 14 2009, 14:44) *
Извиняюсь за вопрос! Я честно говоря так и не понял какой формат используется для арифметических операций? - с "плавающей точкой", с "блочной плавающей запятой"?


С фиксированной точкой. Данные 17-ти разрядные, коэффициенты 12-ти разрядные. Диапазону значений -1.0 ... +1.0 соответствует диапазон значений от -32768 до +32768 для данных и -2048 ... +2048 для коэффициентов.
Go to the top of the page
 
+Quote Post
Reddy
сообщение Jun 15 2009, 13:43
Сообщение #173





Группа: Участник
Сообщений: 7
Регистрация: 10-01-05
Пользователь №: 1 865



Цитата(Sefo @ Jun 15 2009, 12:29) *
С фиксированной точкой. Данные 17-ти разрядные, коэффициенты 12-ти разрядные. Диапазону значений -1.0 ... +1.0 соответствует диапазон значений от -32768 до +32768 для данных и -2048 ... +2048 для коэффициентов.


А не маловато ли разрядов для коэффициентов? 2048 - отриц. + '0' + 2048 - положит. = 4097 > 12 бит.
Потом а какова будет размерность промежуточных результатов? Насколько я понял она может вырости на 4*sqrt(2) - т.е около 6 раз.
Ещё один момент который мне не совсем понятен.
После каждого этапа, мы маштабируем результат и используем округление (отсечение), чтобы втиснуться в разрядность. Но не исказит ли это результат преобразования Фурье (динамический диапазон) ?
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jun 16 2009, 19:02
Сообщение #174


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(Reddy @ Jun 15 2009, 17:43) *
А не маловато ли разрядов для коэффициентов?


Да, запамятовал smile.gif, -1024 ... +1024

Цитата(Reddy @ Jun 15 2009, 17:43) *
Потом а какова будет размерность промежуточных результатов? Насколько я понял она может вырости на 4*sqrt(2) - т.е около 6 раз.


Ну, всетаки, не размерность, а разрядность. Она не меняется. rolleyes.gif Все данные и коэффициенты находятся внутри единичной окружности на комплексной плоскости и в силу особенностей вычислений результат тоже остается внутри единичной окружности. Я кажется об этом уже писал.

Цитата(Reddy @ Jun 15 2009, 17:43) *
После каждого этапа, мы маштабируем результат и используем округление (отсечение), чтобы втиснуться в разрядность. Но не исказит ли это результат преобразования Фурье (динамический диапазон) ?


Используется округление, а не отсечение. Мы масштабируем не для того, чтобы "втиснуться" в разрядность. В бабочке мы делим результаты на 4 (а на последнем этапе на 2) чтобы результат соответствовал формуле (1/N)*СУММА(...). У нас N = 2048. На первых 5-ти этапах мы каждый результат делим на 4, а на последнем делим на 2 - получаем ((1/4)^5) / 2 = 1/2048, ну а СУММА(...) вычисляется выражениями бабочки и умножителями.

Искажения безусловно будут, причем, строго говоря, будут при любой реализации. Но целью данной темы является объяснить и практически показать как вообще, в целом, реализовать БПФ в железе "с нуля" и полностью самостоятельно. После этого уже можно будет поэкспериментировать с тем что и как влияет на результат.

Кроме того, на практике, нужно всегда искать разумный баланс между сложностью реализации / объемом "железа" / точностью / быстродействием.
Go to the top of the page
 
+Quote Post
Reddy
сообщение Jun 17 2009, 15:06
Сообщение #175





Группа: Участник
Сообщений: 7
Регистрация: 10-01-05
Пользователь №: 1 865



В смысле вместо стандартного ДПФ
Прикрепленное изображение
используем как бы нормированное
Прикрепленное изображение
Тогда согласен, в том смысле что нам не столько важны абсолютные значения бинов сколько их отношения
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jun 27 2009, 22:47
Сообщение #176


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(ZED @ Jun 8 2009, 14:31) *
Простите пока временно не могу продолжать работу - слишком сильные напряги с дипломом. Вообще защищаюсь 26, но может раньше смогу приступить к работе. Еще раз приношу свои извинения.


Как прошла защита?

Продолжим освоение БПФ?
Go to the top of the page
 
+Quote Post
ZED
сообщение Jun 29 2009, 16:48
Сообщение #177


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Цитата
Как прошла защита?

Продолжим освоение БПФ?


Спасибо, защита прошла на УРА, защитился на отлично, мне нужно немного времени, чтобы восстановить всю картину, а так я с удовольствием продолжу работу над БПФ!
Go to the top of the page
 
+Quote Post
ZED
сообщение Jul 2 2009, 06:34
Сообщение #178


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Я думаю, что на 5 этапе банки вращать не следует, а запись и чтение будут одинаковыми, файл прилагаю. С Ошибками согласен позже исправлю.

Сообщение отредактировал ZED - Jul 2 2009, 06:41
Go to the top of the page
 
+Quote Post
ZED
сообщение Jul 6 2009, 07:22
Сообщение #179


Местный
***

Группа: Свой
Сообщений: 264
Регистрация: 17-04-07
Из: Москва
Пользователь №: 27 102



Блин удалилось сообщение, в общем для чтения и записи на последних этапах адресация видимо одна и та же, файл прикрепляю.
Прикрепленные файлы
Прикрепленный файл  FFT_2048_2_07_09.rar ( 440.61 килобайт ) Кол-во скачиваний: 66
Прикрепленный файл  FFT_2048_2_07_09.rar ( 440.61 килобайт ) Кол-во скачиваний: 57
Прикрепленный файл  FFT_2048_2_07_09.rar ( 440.61 килобайт ) Кол-во скачиваний: 62
 
Go to the top of the page
 
+Quote Post
Sefo
сообщение Jul 7 2009, 09:06
Сообщение #180


Местный
***

Группа: Свой
Сообщений: 429
Регистрация: 11-08-05
Из: Санкт-Петербург
Пользователь №: 7 537



Цитата(ZED @ Jul 2 2009, 10:34) *
Я думаю, что на 5 этапе банки вращать не следует, а запись и чтение будут одинаковыми, файл прилагаю. С Ошибками согласен позже исправлю.


Без вращения банков Вы действительно сможете читать и писать на 6-м этапе, но Вы не сможете таким образом записать данные на 5-ом этапе. Посмотрите на Вашу схему - результаты вычисления первой бабочки должны будут попасть, соответственно, в банки 0,2,0,2, при этом банки 1 и 3 остаются незадействованы, а в банки 0 и 2 Вы должны будуте записать по 2 результата за раз, что невозможно осуществить.

Таким образом запись на 6-м этапе действительно может осуществляться без вращения банков, а вот запись на 5-ом этапе и, как следствие, чтение на 6-ом этапе нужно продумать.

P.S. Пришла пора 5-ый и 6-ой этап на схеме разъединить, чтобы можно было четко нарисовать для них номера банков и адреса памяти при чтении и записи.
Go to the top of the page
 
+Quote Post

23 страниц V  « < 10 11 12 13 14 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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