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

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


Местный
***

Группа: Свой
Сообщений: 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 @ Sep 6 2009, 14:36) MODULE(8 ...   Sep 6 2009, 15:28
- - Sefo   Продолжим разбираться с чтением. Посмотрим на адре...   Sep 7 2009, 19:26
- - ZED   Хорошо, немного не понял пока тогда назначения сче...   Sep 8 2009, 12:12
- - Sefo   У нас выходы банков памяти подсоеденены к бабочке ...   Sep 10 2009, 13:34
- - Sefo   Чтобы разобраться какими должны быть биты 'X...   Sep 11 2009, 22:16
- - ZED   Я не очень понял, что за биты 'X', предпол...   Sep 13 2009, 17:07
- - Sefo   Цитата(ZED @ Sep 13 2009, 21:07) Я не оче...   Sep 13 2009, 20:25
- - Sefo   Цитата(ZED @ Sep 13 2009, 21:07) Как у ...   Sep 15 2009, 10:58
- - ZED   Вот мои наработки, я там вывел некоторые сигналы д...   Sep 18 2009, 12:48
- - Sefo   Давайте разберем Ваш код. На будущее попрошу Вас п...   Sep 19 2009, 18:59
- - ZED   Поправил. Цитатано при реализации все сделали наоб...   Sep 20 2009, 12:06
- - Sefo   Цитата(ZED @ Sep 20 2009, 16:06) Чтобы ос...   Sep 20 2009, 18:44
- - ZED   Поправил реализацию генератора адресов на чтение, ...   Sep 21 2009, 14:49
- - Sefo   Цитата(ZED @ Sep 21 2009, 18:49) Мне каза...   Sep 21 2009, 19:34
|- - Alexey86   огромной спасибо Sefo за обучение... давно такое и...   Sep 23 2009, 10:53
- - ZED   Вот, доделал генератор с учетом маски, только там ...   Sep 24 2009, 16:18
- - Sefo   Цитата(ZED @ Sep 24 2009, 20:18) Файл при...   Sep 24 2009, 20:25
- - ZED   Прикрепляю исправленный генератор адресов на чтени...   Sep 29 2009, 03:45
- - Sefo   Очень хорошо. Теперь нужно все эти разрозненные бл...   Oct 1 2009, 21:10
- - ZED   Вот пока мои наработки, еще забыл добавить адресац...   Oct 5 2009, 17:06
- - Sefo   Цитата(ZED @ Oct 5 2009, 21:06) Вот пока ...   Oct 6 2009, 20:23
- - ZED   Вот, немного переделал, правда еще не сделал паузы...   Oct 8 2009, 04:46
- - Sefo   Цитата(ZED @ Oct 8 2009, 08:46) Вот, немн...   Oct 8 2009, 14:26
- - ZED   ЦитатаЛюбопытно, а с чего это Вы вдруг в основном ...   Oct 9 2009, 05:31
- - Sefo   Цитата(ZED @ Oct 9 2009, 09:31) Просто пр...   Oct 9 2009, 08:40
- - ZED   Да, давайте, а то я уже путаться начинаю.   Oct 10 2009, 07:28
- - Sefo   А как насчет статейки про wait until? Любопытно вс...   Oct 12 2009, 09:20
- - ZED   Суворова Е.А. Шейнин Ю.Е. Проектирование цифровых...   Oct 13 2009, 05:18
- - Sefo   Извиняюсь за долгое молчание. Совсем не было време...   Oct 21 2009, 23:05
- - ZED   Я так понял, что сигналы для записи в память мы бу...   Oct 22 2009, 14:53
- - Sefo   Цитата(ZED @ Oct 22 2009, 18:53) Я так по...   Oct 23 2009, 14:38
- - ZED   Простите с ответом немного потяну, работы много на...   Oct 28 2009, 11:43
- - ZED   ЦитатаВопрос-подсказка: до скольки должен считать ...   Oct 30 2009, 07:32
- - Sefo   Цитата(ZED @ Oct 30 2009, 10:32) Счетчик ...   Nov 1 2009, 21:43
- - ZED   Вот моя очередная попытка, жду Ваших замечаний...   Nov 2 2009, 19:08
- - Sefo   Внимательно разбираться в коде и диаграмме времени...   Nov 3 2009, 21:58
- - ZED   Еще один вариант   Nov 5 2009, 17:43
- - Sefo   Так гораздо лучше. Продолжим анализ кода. Вы, суд...   Nov 6 2009, 22:38
- - ZED   Вот подправленный вариант.   Nov 9 2009, 18:37
- - Sefo   Пока я анализирую более детально что получилось с ...   Nov 10 2009, 08:23
- - ZED   Вот ОЗУ.   Nov 12 2009, 04:18
- - Sefo   Цитата(ZED @ Nov 12 2009, 07:18) Вот ОЗУ....   Nov 12 2009, 08:12
- - ZED   А я думал, что у нас будет отдельное ОЗУ для реаль...   Nov 14 2009, 09:06
- - Sefo   Цитата(ZED @ Nov 14 2009, 12:06) А я дума...   Nov 14 2009, 14:40
- - ZED   Вот тут два варианта: один простой, а второй с при...   Nov 17 2009, 17:51
- - Sefo   Цитата(ZED @ Nov 17 2009, 20:51) Вот тут ...   Nov 27 2009, 14:06
- - ZED   Сегодня не успеваю, завтра думаю пришлю! Извин...   Dec 7 2009, 13:31
- - flipflop   Ребят, а вы делаете БПФ по Кули-Тьюки? Просто для ...   Dec 7 2009, 23:21
|- - Александр77   Цитата(flipflop @ Dec 8 2009, 02:21) Ребя...   Dec 8 2009, 19:07
- - ZED   Вот, прикрепляю собранный проект, только я не подс...   Dec 8 2009, 18:46
|- - flipflop   Цитата(ZED @ Dec 8 2009, 21:46) БПХ это п...   Dec 8 2009, 19:43
|- - Maverick   Цитата(ZED @ Dec 8 2009, 21:46) БПХ это п...   Dec 9 2009, 10:01
- - Sefo   Цитата(ZED @ Dec 8 2009, 21:46) Вот, прик...   Dec 9 2009, 10:31
- - ZED   ModelSim 6.5 SE, да немного умею.   Dec 10 2009, 19:30
- - Sefo   Цитата(ZED @ Dec 8 2009, 21:46) Вот, прик...   Dec 13 2009, 20:15
- - ZED   flipflop и Maverick спасибо за информацию, интерес...   Dec 14 2009, 06:34
- - Sefo   Цитата(ZED @ Dec 14 2009, 09:34) Я так по...   Dec 14 2009, 09:34
- - ZED   Я переделал, файл прикрепляю. Коэффициенты не подс...   Dec 15 2009, 09:55
- - Sefo   Цитата(ZED @ Dec 15 2009, 12:55) 2. Код К...   Dec 16 2009, 16:03
- - Sefo   Посмотрел я ваш код внимательно и вот какие ошибки...   Jan 7 2010, 10:51
- - ZED   При компиляции Warning: КодWarning (10036...   Jan 11 2010, 06:45
|- - Sefo   Цитата(ZED @ Jan 11 2010, 09:45) При комп...   Jan 11 2010, 09:39
- - ZED   1) Если можно напишите по подробнее про сигнал ENA...   Jan 12 2010, 13:34
- - Sefo   Цитата(ZED @ Jan 12 2010, 16:34) 2) BIC э...   Jan 14 2010, 21:47
- - Sefo   Цитата(ZED @ Jan 12 2010, 16:34) 1) Если ...   Jan 24 2010, 21:14
- - ZED   Вот, выдалась свободная минутка, прикрепляю собран...   Feb 6 2010, 11:23
|- - Sefo   Цитата(ZED @ Feb 6 2010, 14:23) Вот, выда...   Feb 7 2010, 17:52
- - ZED   Да, совсем забыл, вот поправил: http://webfile.ru/...   Feb 8 2010, 17:37
- - Reddy   Что-то затихло это Великое Дело? Кстати вопрос...   Feb 28 2010, 22:31
|- - jb83   Цитата(Reddy @ Mar 1 2010, 01:31) Кстати ...   Mar 24 2010, 09:00
- - ZED   ЦитатаКстати вопрос, а почему такие формулы вычисл...   Mar 8 2010, 20:33
- - Sefo   Цитата(Reddy @ Mar 1 2010, 01:31) Что-то ...   Mar 23 2010, 09:20
- - ZED   Да у меня тоже со временем до конца марта туго...   Mar 23 2010, 18:08
- - Sefo   Цитата(jb83 @ Mar 24 2010, 12:00) Кстати,...   Mar 26 2010, 08:41
- - ViKo   Ричард Лайонс - Цифровая обработка сигналов   Mar 26 2010, 09:04
- - jb83   Спасибо, поищу   Mar 26 2010, 11:08
|- - Maverick   Какой результат, этой титанической работы? Предл...   Sep 22 2010, 06:37
- - Sefo   Цитата(Maverick @ Sep 22 2010, 10:37) Как...   Sep 25 2010, 20:11
- - ZED   Я тоже, правда еще понадобится время вспомнить, но...   Sep 26 2010, 18:17
- - Sefo   Продолжим, по-тихоньку. Сейчас написано много кода...   Oct 23 2010, 16:16
- - Sefo   Модули памяти я предпочел переименовать т.к. у нас...   Oct 26 2010, 18:30
- - ZED   В архиве единственная непустая папка RTL, где хран...   Nov 11 2010, 13:00
- - Jhonny.   Здравствуйте. Спасибо за очень полезную тему. У ме...   Nov 28 2010, 08:44
- - ZED   Динамически тут будет сделать трудно, ибо для кажд...   Nov 29 2010, 06:37
- - Jhonny.   К сожалению, нулями дополнить нельзя. БПФ нужно дл...   Nov 29 2010, 07:47
- - Sefo   Цитата(Jhonny. @ Nov 28 2010, 11:44) Необ...   Nov 29 2010, 10:50
- - ZED   ЦитатаНаличие разнородных бабочек, безусловно, усл...   Nov 29 2010, 13:42
- - Sefo   Цитата(ZED @ Nov 29 2010, 16:42) Вычислен...   Nov 29 2010, 20:58
- - Jhonny.   Спасибо за ответы. То, что принцип соединения баб...   Nov 30 2010, 10:28
- - Sefo   Цитата(Jhonny. @ Nov 30 2010, 13:28) Спас...   Nov 30 2010, 16:57
- - Sefo   Вот "причесанный" код нашего БПФ (...   Jan 4 2011, 21:48
|- - ZED   Вот коэффициенты ROM_x.mif плюс файл Matlab для их...   Jan 11 2011, 04:14
- - Sefo   Цитата(ZED @ Jan 11 2011, 07:14) Вот коэф...   Jan 20 2011, 20:29
- - ZED   А ну да, коэффициенты у нас лежат в диапазоне от -...   Jan 24 2011, 12:09
- - Jhonny.   Попытался оптимизировать бабочку, убрав повторяющи...   Jan 29 2011, 10:54
- - chirik   Добрый день! Я разбираюсь с БПФ и не могу пон...   Aug 3 2011, 14:52
- - ZED   ЦитатаДобрый день! Я разбираюсь с БПФ и не мо...   Aug 4 2011, 05:14
- - chirik   Почитав еще литературы стало яснее, что как правил...   Aug 4 2011, 12:42
- - Костян   Почему для W используется разрядность всего 12 бит...   Sep 28 2011, 13:26
- - almost   Цитата(Костян @ Sep 28 2011, 17:26) Почем...   Sep 29 2011, 08:18
4 страниц V  < 1 2 3 4 >


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

 


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


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