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

 
 
> Помогите решить задачку, вроде элементарна
Herz
сообщение Apr 21 2007, 23:24
Сообщение #1


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Стыдно признаться, но безуспешно ломаю голову над ней не первый день...
Итак, имеем 3 светодиода: красный, зелёный и синий. Коэффициенты яркости (назовём это так), то есть зависимости силы света от тока у каждого свои: Lr, Lg и Lb соответственно.
Есть также сенсор RGB с усилителями в каждом канале. Коэффициенты усиления их фиксированы: A, B и С.
Каждый канал сенсора чувствителен ко всем трём цветам, но в разной степени. Чувствительность "красного" канала к R, G и B назовём соответственно: SRr, SRg и SRb. "Зелёного" - SGr, SGg и SGb. "Синего" - SBr, SBg и SBb.
Таким образом, выходное напряжение каждого канала описывается выражениями:
Vr=A(IrLrSRr+IgLgSRg+IbLbSRb),
Vg=B(IrLrSGr+IgLgSGg+IbLbSGb),
Vb=C(IrLrSBr+TgLgSBg+IbLbSBb),
где Ir, Ig и Ib - токи через каждый из светодиодов.

Вопрос: какое соотношение должны иметь коэффициенты A: B: C и в каких пропорциях должны изменяться токи Ir, Ig, Ib, чтобы сохранялся цветовой баланс, т.е. соотношения:
Vr/(Vr+Vg+Vb), Vg/(Vr+Vg+Vb), Vb/(Vr+Vg+Vb) ?

Имеет ли вообще задача решение для произвольных коэффициентов?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Herz
сообщение Apr 22 2007, 11:15
Сообщение #2


Гуру
******

Группа: Модераторы
Сообщений: 10 983
Регистрация: 23-11-05
Пользователь №: 11 287



Нет, тремя коэффициентами, конечно, не обойтись. Кроме коэффициентов усиления A, B, C, я имел в виду ещё и коэффициенты пропорциональности токов Ir, Ig и Ib. То есть, что-то вроде x, y и z так, чтобы Ir=x*I, Ig=y*I, Ib=z*I.
Ведь, теоретически, зная коэффициенты передачи каждого канала, можно подобрать сочетания величин токов Ir, Ig и Ib для любой требуемой суммы Vr+Vg+Vb, чтобы сохранить пропорции в ней каждой составляющей цвета, разве нет?
Я рассуждал так:
Коэффициенты A, B, C, а также x, y и z - искомые корни системы уравнений, т.е. величины, поддающиеся необходимым изменениям. В отличие от S и L, которые не только неизвестны, но и неизменяемы, т.к. заданы конструктивно. Определить их по отдельности не представляется возможным, зато можно найти их взаимные произведения.
Положив для начала A=B=C=1 и подавая на светодиоды одинаковые токи, будем освещать сенсор поочерёдно монохроматическими красным, зелёным и синим.
Для трёх случаев получим по 3 результата:
1)
Vr=I*Lr*SRr,
Vg=I*Lr*SGr,
Vb=I*Lr*SBr

2)
Vr=I*Lg*SRg,
Vg=I*Lg*SGg,
Vb=I*Lg*SBg

3)
Vr=I*Lb*SRb,
Vg=I*Lb*SGb,
Vb=I*Lb*SBb

Останется лишь подставить их в основную матрицу, но... дольше какая-то путаница. Я уж, похоже, действительно подзабыл первый курс...
Go to the top of the page
 
+Quote Post
ivan2006
сообщение Apr 22 2007, 13:53
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 45
Регистрация: 8-01-06
Из: Петербург
Пользователь №: 12 944



Замените Lr*SRr -> sRr, Lb*SGb -> sGb и так далее. Остаётся всего 9 неизвестных коэффициентов.

Цитата(Herz @ Apr 22 2007, 12:15) *
Нет, тремя коэффициентами, конечно, не обойтись. Кроме коэффициентов усиления A, B, C, я имел в виду ещё и коэффициенты пропорциональности токов Ir, Ig и Ib. То есть, что-то вроде x, y и z так, чтобы Ir=x*I, Ig=y*I, Ib=z*I.
Ведь, теоретически, зная коэффициенты передачи каждого канала, можно подобрать сочетания величин токов Ir, Ig и Ib для любой требуемой суммы Vr+Vg+Vb, чтобы сохранить пропорции в ней каждой составляющей цвета, разве нет?


Теперь давайте определим сколько есть параметров, которые можно изменять.
Как я понимаю вы хотите получить на выходе
Код
Vr ~ Ir (пропорционально)
Vg ~ Ig
Vb ~ Ib

Если так, то видно, что Vr Вы домножаете (или делите) на A, а Ir - на x, в то время как Vr~Ir. То есть {x,y,z} ничего нового не приносят.

Единственный вариант получить пропорциональную зависимость - найти коэффициенты sRr,...sBb.
Например так.
1. Светите единичными токами, измеряете Vri, Vgi, Vbi.
2. Находите обратную матрицу к {Vji}
3. Нормируете её по самому большому коэффициенту - это и будет матрица {s_ij}
4. I_i = s_ir*Vr + s_ig*Vg + s_ib*Vb; A=B=C=1
Go to the top of the page
 
+Quote Post



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

 


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


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