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

 
 
> Реализация БПФ на ПЛИС, Тудности, встречаемые при реализации
ZED
сообщение Jan 18 2009, 19:19
Сообщение #101


Местный
***

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



Доброго времени суток!

Нужно реализовать алгоритм БПФ с прореживанием по частоте на ПЛИС, но при реализации возникают трудности, вот некоторые из них:
  1. Поворачивающие множители являются числами по модулю меньше либо равно единицы: |W|<=1. Я так понял, чтобы перейти к целым числам требуется умножать их на (2^N) и то, что после запятой отсекать (N - разрядность). Нужно ли то же самое делать с входными данными (x1 и x2) или не обязательно?
  2. Нужно реализовать операции умножения и сложения со знаковыми числами, тут у меня такая задумка: преобразовать в integer соответствующего диапазона: от -(2^N)/2 до (2^N)/2 - 1, произвести нужные арифметические операции и преобразовать обратно std_logic_vector, код прилагается:

CODE
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_arith.all;

entity butterfly is
generic (b_size: natural := 14);
port (
x1, x2, w: in std_logic_vector(b_size - 1 downto 0);
y1, y2: out std_logic_vector(b_size - 1 downto 0)
);
end entity butterfly;

architecture behavioral of butterfly is
signal x1_int, x2_int, w_int: integer range -8192 to 8191;
signal y1_int: integer range -8192 to 8191;
signal y2_int: integer range -134217728 to 134217727; -- Т.к. производится умножение на поворачивающий множитель
begin
process (CLK) is
begin
-- Преобразовываю в тип integer:
x1_int <= conv_integer(x1);
x2_int <= conv_integer(x2);
w_int <= conv_integer(w);
y1_int <= conv_integer(y1);
y2_int <= conv_integer(y2);

-- Вычисляю бабочку и преобразовываю обратно в std_logic_vector (b_size - 1 downto 0):
y1 <= conv_std_logic_vector(x1_int + x2_int, b_size);
y2 <= conv_std_logic_vector((x1_int - x2_int) * w_int, b_size);
end process;
end architecture behavioral;

Вопрос будет ли так корректно сделать или все делается совершенно по-другому?
Буду рад любым вашим замечаниям, предложениям, советам и ссылкам. Заранее спасибо!

P.S. На форуме я искал и не нашел ответа на свои вопросы, тем более я уверен далее появятся новые, думаю лучше, чтоб это все было в одной теме...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ZED   Реализация БПФ на ПЛИС   Jan 18 2009, 19:19
- - Sefo   Цитата(ZED @ Mar 25 2009, 21:20) только д...   Mar 26 2009, 12:17
- - ZED   Честно говоря я не совсем понял, в дополнительном ...   Mar 28 2009, 08:51
- - Джеймс   ЦитатаSefo Как Вы думаете, какое 12-ти разрядное ...   Mar 28 2009, 11:32
- - Sefo   Цитата(Джеймс @ Mar 28 2009, 14:32) Сорри...   Mar 28 2009, 12:15
- - ZED   Я учусь в МЭИ на радиотехника, с вычислилкой тугов...   Mar 28 2009, 20:02
- - Sefo   Прошу прощения, но вынужден взять таймаут до вторн...   Mar 29 2009, 22:08
- - ZED   Я прочитал статью, ну да знак представляется самым...   Mar 30 2009, 16:25
- - Sefo   Не могу понять, что именно меня сбило с толку, но ...   Mar 30 2009, 21:24
- - ZED   Я не совсем понял, что значит описать математическ...   Mar 31 2009, 14:34
- - Sefo   Например выход y0_re бабочки = (x0_re + x1_re + x...   Mar 31 2009, 16:01
- - ZED   Видим о это будет как-то так: result_re <= (...   Apr 1 2009, 16:03
- - Sefo   Непонятно откуда взялось 4096 - последней версии у...   Apr 1 2009, 21:20
- - ZED   result_re <= (y_re_sig*w_re_sig + y_im_sig*w_im...   Apr 2 2009, 15:33
- - Sefo   А вот теперь непонятно, откуда Вы взяли 2048 в фор...   Apr 2 2009, 17:26
- - ZED   ЦитатаЯ-то думал, что Вы в симуляции умножителя 60...   Apr 3 2009, 04:00
- - Sefo   Есть 2 варианта. Либо, как и в бабочке увеличить р...   Apr 4 2009, 17:38
- - ZED   Я склоняюсь ко 2 варианту. с точки зрения БПФ мы п...   Apr 4 2009, 17:42
- - Sefo   Если говорить очень кратко, то в силу того, что зн...   Apr 5 2009, 15:27
- - ZED   Да, все понятно, спасибо!   Apr 5 2009, 16:28
- - Sefo   Тогда продолжим. Во-первых, подправьте код умножи...   Apr 5 2009, 22:14
- - ZED   ЦитатаВо-первых, подправьте код умножителей под ди...   Apr 7 2009, 14:03
- - Sefo   Цитата(ZED @ Apr 7 2009, 18:03) Вот тут я...   Apr 7 2009, 22:10
- - ZED   ЦитатаЧисто комбинаторный блок это вполне нормальн...   Apr 8 2009, 16:12
- - ZED   На счет if generate я погорячился, даже сказал бы...   Apr 9 2009, 03:50
- - Sefo   Цитата(ZED @ Apr 8 2009, 20:12) Да, но ба...   Apr 9 2009, 09:20
- - ZED   Цитатаprocess никогда и ни при каких обстоятельств...   Apr 9 2009, 15:06
- - ZED   Я переправил, просто исправил позже, чем вы ответи...   Apr 9 2009, 15:46
- - Sefo   Ok. А как обстоят дела с введением record?   Apr 9 2009, 15:50
- - ZED   В процессе, сейчас хочу все соединить поскорее, а ...   Apr 9 2009, 17:03
- - ZED   Прошу прощения забыл регистры, на выходе для отсче...   Apr 10 2009, 03:58
- - Sefo   наконец-то выдалось немного свободного времени - п...   Apr 12 2009, 02:20
- - ZED   Цитата1) Зачем, всетаки, приставка but к портам ба...   Apr 13 2009, 17:12
- - ZED   Никак не пойму, что нужно с записью сделать, как о...   Apr 14 2009, 13:08
- - Sefo   Цитата(ZED @ Apr 13 2009, 21:12) Resize н...   Apr 16 2009, 22:37
|- - petrov   Цитата(Sefo @ Apr 17 2009, 02:37) К сожал...   Jul 8 2009, 11:26
- - ZED   Ну, если предположить, что каждая память состоит и...   Apr 19 2009, 10:28
- - Sefo   Такая коррекция адреса – бессмысленный расход логи...   Apr 19 2009, 19:19
- - ZED   ЦитатаЛучше сразу в управляющей логике формировать...   Apr 20 2009, 15:13
- - Sefo   Цитата(ZED @ Apr 20 2009, 19:13) Тогда во...   Apr 21 2009, 15:41
- - Sefo   Цитата(Sefo @ Apr 21 2009, 19:41) Теперь,...   Apr 24 2009, 15:21
|- - ZED   Цитата(Sefo @ Apr 24 2009, 18:21) Что-то ...   Apr 25 2009, 09:30
- - Sefo   Да. Дело в мультиплексировании. Как именно напишу ...   Apr 25 2009, 13:39
- - Reddy   А прикольное Руко-водство! Давно такое искал. ...   Apr 30 2009, 15:56
|- - Maverick   Цитата(Reddy @ Apr 30 2009, 18:56) А прик...   May 4 2009, 07:56
- - ZED   Вот с recordом, только он не как шины распознает, ...   Apr 30 2009, 18:37
- - Sefo   Цитата(Reddy @ Apr 30 2009, 19:56) А прик...   May 1 2009, 13:53
- - Reddy   Можно тогда тоже поучаствовать? - У меня вопрос...   May 4 2009, 07:02
- - ZED   ЦитатаZED - не в обиду будет сказано, хороший учен...   May 4 2009, 15:31
- - Sefo   Цитата(Reddy @ May 4 2009, 11:02) Можно т...   May 4 2009, 20:53
- - ZED   Поправил, ох уж этот Ctl+C Ctl+V   May 7 2009, 15:08
- - Sefo   Вы не тот файл выложили - там нет ни одного отличи...   May 7 2009, 20:25
- - ZED   Блин, точно=) Вот...   May 8 2009, 03:56
- - Sefo   Увы, в сумме стало хуже. Поправляя ошибки Вы порав...   May 8 2009, 20:43
- - ZED   Вот моя очередная попытка!   May 10 2009, 09:18
- - Sefo   Замечательно! Так бы сразу! Проблемы 6-го...   May 10 2009, 23:03
- - ZED   Ну, если в двух словах, с помощью счетчика с перем...   May 13 2009, 03:15
- - Sefo   Про счетчики с переменным модулем счета все понятн...   May 13 2009, 11:10
- - ZED   ЦитатаПро назначение мультиплексоров не совсем пон...   May 16 2009, 13:52
- - Sefo   Цитата(ZED @ May 16 2009, 17:52) Ну так c...   May 18 2009, 15:04
- - ZED   Вот новый вариант, так сказать вторая попытка, бол...   May 21 2009, 16:34
|- - Sefo   Цитата(ZED @ May 21 2009, 20:34) Вот новы...   May 25 2009, 21:20
- - Sefo   Цитата(kas @ Jun 3 2009, 07:03) (-32 + 2)...   Jun 3 2009, 17:53
|- - kas   Цитата(Sefo @ Jun 4 2009, 01:53) Да. Отбр...   Jun 4 2009, 06:53
- - Sefo   Цитата(kas @ Jun 4 2009, 10:53) я не совс...   Jun 4 2009, 07:50
|- - kas   Цитата(Sefo @ Jun 4 2009, 15:50) Нет, оши...   Jun 4 2009, 09:52
- - Sefo   Что-то я Вас не понимаю... Цитата(kas @ Jun ...   Jun 4 2009, 10:58
|- - kas   Цитата(Sefo @ Jun 4 2009, 18:58) Что-то я...   Jun 4 2009, 11:38
- - Sefo   Понятно, к чему Вы клоните . Вы не очень удачно вы...   Jun 4 2009, 18:45
- - ZED   Простите пока временно не могу продолжать работу -...   Jun 8 2009, 10:31
- - Sefo   Цитата(ZED @ Jun 8 2009, 14:31) Простите ...   Jun 9 2009, 05:56
- - Reddy   Извиняюсь за вопрос! Я честно говоря так и не ...   Jun 14 2009, 10:44
- - Sefo   Цитата(Reddy @ Jun 14 2009, 14:44) Извиня...   Jun 15 2009, 08:29
|- - Reddy   Цитата(Sefo @ Jun 15 2009, 12:29) С фикси...   Jun 15 2009, 13:43
- - Sefo   Цитата(Reddy @ Jun 15 2009, 17:43) А не м...   Jun 16 2009, 19:02
- - Reddy   В смысле вместо стандартного ДПФ используем как б...   Jun 17 2009, 15:06
- - Sefo   Цитата(ZED @ Jun 8 2009, 14:31) Простите ...   Jun 27 2009, 22:47
- - ZED   ЦитатаКак прошла защита? Продолжим освоение БПФ? ...   Jun 29 2009, 16:48
- - ZED   Я думаю, что на 5 этапе банки вращать не следует, ...   Jul 2 2009, 06:34
- - ZED   Блин удалилось сообщение, в общем для чтения и зап...   Jul 6 2009, 07:22
- - Sefo   Цитата(ZED @ Jul 2 2009, 10:34) Я думаю, ...   Jul 7 2009, 09:06
- - Sefo   Цитата(petrov @ Jul 8 2009, 15:26) Кванто...   Jul 9 2009, 11:09
|- - petrov   Цитата(Sefo @ Jul 9 2009, 15:09) Ну а теп...   Jul 9 2009, 12:46
- - Sefo   Цитата(petrov @ Jul 9 2009, 16:46) Так эт...   Jul 10 2009, 08:21
|- - petrov   Цитата(Sefo @ Jul 10 2009, 12:21) Ну и чт...   Jul 10 2009, 08:38
- - Sefo   Цитата(petrov @ Jul 10 2009, 12:38) Снача...   Jul 10 2009, 11:06
|- - petrov   Цитата(Sefo @ Jul 10 2009, 15:06) Это утв...   Jul 10 2009, 11:45
- - Sefo   Цитата(petrov @ Jul 10 2009, 15:45) Вот в...   Jul 16 2009, 17:11
- - ZED   С интернетом были проблемы, а с работы файлы почем...   Jul 16 2009, 17:20
- - Sefo   Цитата(ZED @ Jul 16 2009, 21:20) С интерн...   Jul 16 2009, 17:42
- - ZED   Вот, поправил!   Jul 19 2009, 07:36
- - Sefo   Цитата(ZED @ Jul 19 2009, 11:36) Вот, поп...   Aug 8 2009, 08:20
- - ZED   Хорошо, спасибо!   Aug 8 2009, 08:38
- - ZED   Я тут на досуге несколько поколдовал над генератор...   Aug 22 2009, 08:39
- - Sefo   Еще раз извиняюсь за столь длительный перерыв. На...   Aug 30 2009, 20:51
- - Krolm   Добрый день! тоже хочется вклиниться, но из-за...   Aug 31 2009, 10:40
- - ZED   Не знаю, я не сталкивался с Альтеровским БПФ, если...   Aug 31 2009, 12:38
- - ZED   Да, там действительно нет коэффициента W1028? хотя...   Sep 3 2009, 08:51
- - Sefo   Цитата(ZED @ Sep 3 2009, 12:51) хотя кста...   Sep 3 2009, 22:10
- - ZED   ЦитатаВаш gen_addr посмотрел, но мы сделаем другую...   Sep 6 2009, 10:36
4 страниц V  < 1 2 3 4 >


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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 12:44
Рейтинг@Mail.ru


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