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

 
 
> Евклидово расстояние на Xilinx DSP48
count_enable
сообщение Feb 18 2016, 09:18
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Вот такую задачку сейчас обдумываю. Надо считать евклидово расстояние, координаты точек передаются парами последовательно: А(0) В(0), А(1) В(1), А(2) В(2). Евклидово расстояние это sqrt(sum((А-B )^2)). Корень посчитаю кордиком, сумму аккумулятором, а вот как быть с квадратом разницы? Возможно ли это сделать на одном DSP48 блоке за вменяемое количество циклов? Подскажите где прочитать об этом. Все числа с фикс. точкой.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
count_enable
сообщение Feb 18 2016, 11:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 310
Регистрация: 28-01-13
Из: Лондон
Пользователь №: 75 384



Спасибо большое. Уже "увидел" как оно будет работать. Сейчас пообедаю и буду смотреть что об этом синтезатор скажет.

Думаю тема будет полезна не только мне одному, задача широко распространена.
Go to the top of the page
 
+Quote Post
blackfin
сообщение Feb 18 2016, 12:21
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261



Цитата(count_enable @ Feb 18 2016, 15:49) *
Спасибо большое. Уже "увидел" как оно будет работать. Сейчас пообедаю и буду смотреть что об этом синтезатор скажет.

Там только надо следить, чтобы при генерации IP параметр "Actual C Latency" был больше двух.

Для коротких чисел A,B,C,P это условие может не выполняться и тогда придется ставить задержку на один такт для входного порта .C().
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Feb 18 2016, 15:55
Сообщение #4


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



есть приближенная оценка модуля вектора для двумерного случая:
abs([x,y])=max(abs(x),abs(y)) + 0.375*min(abs(x),abs(y))

умножение на коэффициент делается, как shift and add

я думаю, что можно сделать аналогичное приближение для вашего трехмерного вектора:
отсортировать модули трех проекций, умножить на коэффициенты и сложить
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- count_enable   Евклидово расстояние на Xilinx DSP48   Feb 18 2016, 09:18
- - Maverick   Цитата(count_enable @ Feb 18 2016, 11:18)...   Feb 18 2016, 09:31
- - blackfin   Цитата(count_enable @ Feb 18 2016, 13:18)...   Feb 18 2016, 09:37
|- - Maverick   нашел тему   Feb 18 2016, 09:40
- - count_enable   Цитата(blackfin @ Feb 18 2016, 13:37) Так...   Feb 18 2016, 10:18
|- - blackfin   Цитата(count_enable @ Feb 18 2016, 14:18)...   Feb 18 2016, 10:35
|- - count_enable   Цитата(blackfin @ Feb 18 2016, 14:35) Ну,...   Feb 18 2016, 11:13
|- - Maverick   Вам привели описание для этого случая...   Feb 18 2016, 11:16
- - count_enable   Последний multadd multadd_m(..,.A(D),.B(D),.C(P),....   Feb 18 2016, 11:19
|- - Maverick   Цитата(count_enable @ Feb 18 2016, 13:19)...   Feb 18 2016, 11:33
- - blackfin   Цитата(count_enable @ Feb 18 2016, 15:13)...   Feb 18 2016, 11:41
|- - blackfin   Цитата(count_enable @ Feb 18 2016, 14:49)...   Feb 22 2016, 10:02
|- - Timmy   Цитата(blackfin @ Feb 22 2016, 13:02) Есл...   Feb 22 2016, 13:06
- - анатолий   Цитата(count_enable @ Feb 18 2016, 11:18)...   Mar 6 2016, 08:53


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

 


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


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