nabbla (nabbla1) wrote,
nabbla
nabbla1

Categories:

Яркостный центр: способ получше!

В продолжение этого

Что-то перемудрил: поставил туда аж целый перемножитель, занимающий 250 ЛЭ, а уже под вечер сообразил: без умножения на каждом такте можно обойтись!


Вспомнил, что уже ковырял что-то похожее, безумных 5 лет назад: наглядное пособие по "отбраковке"

Там нужно было посчитать математическое ожидание, и я предложил графическую иллюстрацию:
exp.png

Математическое ожидание равно площади изображённой фигуры, и по "обычной формуле" мы её делим на отдельные столбцы. Но можно поделить её на строки, и это зачастую будет проще.

Вот и сейчас нам нужно было найти сумму
-4p-4-3p-3-2p-2-p-1

Точнее, изначально она "симметрично" продолжалась до 4p4, а точнее, до RpR, однако "сдвинуть ноль" достаточно легко, об этом позже.

А пока вынесем за скобку знак "минус" (раздражает) и забудем про него, а оставшееся выражение преобразуем:
4p-4+3p-3+2p-2+p-1=

=p-4 + 
+p-4 + p-3 +
+p-4 + p-3 + p-2 +
+p-4 + p-3 + p-2 + p-1


И теперь видно, насколько всё упрощается. Сумму всех значений мы считаем в любом случае, и пока не приходит следующий пиксель, у нас получается "частичная сумма" всех значений до текущего.

Остаётся только просуммировать все эти "частичные суммы" - и получим то, что хотели!

Завтра (сегодня после сна) попробую это дело описать на верилоге, но навскидку, на обе суммы уйдёт порядка 70 ЛЭ, что самую чуточку лучше, чем 284 ЛЭ, которые получились сегодня...

Единственное, потом на QuatCore ляжет дополнительная нагрузка по сдвижке нуля, для чего нужно ОДНО-ЕДИНСТВЕННОЕ умножение на строку. Но это не так уж страшно, надо только определиться с циклограммой: в какой именно момент производить все вычисления, чтобы всё успеть "в реальном времени", при любой дистанции до мишени, от 300 метров (когда все точки очень маленькие и предельно близко друг к другу) до 0,5 метров (когда мишень растягивается на всё поле зрения, и каждая точка сильно расплывается).

Сейчас, с аналоговой камерой, всё элементарно, QuatCore будет всё успевать на обратном ходу развёртки. А вот фотоприёмная матрица 1205ХВ014 - тот ещё геморрой. Там "время обратного хода" строки всего лишь 8 тактов, а обратный ход по кадрам в принципе отсутствует, хотя если время экспозиции превышает время считывания пикселей, то он всё-таки есть. Но главное другое: вся матрица разделена на 2 части, "верхнюю" и "нижнюю", и на каждом такте приходит два пикселя, один сверху, другой снизу, и развёртка в верхней части "от центра вверх", а в нижней части "от центра вниз". Подозреваю, что по-хорошему нужно будет поставить ДВА ВИДЕООБРАБОТЧИКА, но тогда один QuatCore их двоих еле потянет, возможно, придётся всё-таки ещё некое "аппаратное ускорение" придумывать. Но об этом подумаем чуть позже. Пока буду ковыряться с более простым вариантом, глядишь, что-то и придумается.
Tags: ПЛИС, программки, работа, странные девайсы
Subscribe

  • Великая Октябрьская резня бензопилой

    Сегодня прокатился прочистить Абрамцевскую просеку. Как обычно, с приключениями. Выезжал на велосипеде, а вернулся на самокате. Первый раз по этим…

  • Очередная несуразность в единицах измерения

    Когда-то я написал программу PhysUnitCalc - калькулятор, умеющий работать с размерностями. Мне казалось, что я наступил уже на все грабли, которые…

  • Big Data, чтоб их... (3)

    "В предыдущих сериях": мой прибор выдаёт 6 значений: 3 координаты и 3 угла, т.е все 6 степеней свободы твёрдого тела. Причём ошибки измерения этих 6…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments