Передача данных с помощью светодиода

Передача данных с помощью светодиода

28 мая 2019

Система однонаправленной передачи информации между речными и морскими судами на основе беспроводной оптики (FSO, free-space optics). Применяется светодиодный передатчик, подключенный к ноутбуку или ПК, кодирующему цифровой сигнал. В качестве приемника используется обычная веб-камера. Была поставлена задача спроектировать алгоритм обработки видеокадров по предоставленной модели кодирования информации и разработать ПО, позволяющее декодировать информацию.

Суть модели кодирования информации — в манипуляции гаммой и яркостью свечения светодиодов. Уровни яркости синего и красного цветов используются для кодирования уровня 0/1, а уровень зеленого цвета применяется в качестве синхронизирующего сигнала.

Зеленый светодиод обозначает каждый бит байта разным уровнем мощности. Уровни подобраны так, что отношение текущего уровня к следующему дает уникальное число, идентифицирующее один из 8 битов в байте.

Калибровочная последовательность

До передачи каждых 3 байтов происходит передача калибровочной последовательности из 8 кадров. Каждый байт передается также за 8 кадров. Скорость передачи полезной информации составляет 22,5 бита в секунду.

Изначально замысел заказчика состоял в поиске светового пятна в кадре и дальнейшем анализе этого пятна. Практика показала, что такой алгоритм нежизнеспособен, так как процесс очень ресурсоемкий, но в определении физических границ светового пятна нет необходимости.

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

  • Выбирается исходный кадр, на котором светодиод не светится. Далее этот кадр используется как базовый и вычитается из последующих.
  • Когда находится кадр, в котором суммарный объем оставшейся после вычитания информации превосходит установленный порог, что свидетельствует о светящемся светодиоде, выполняются дальнейшие вычисления.
  • Из найденного кадра удаляется полностью засвеченное белое пятно и весь постоянный фон исходного кадра. На полученном изображении остается только ореол светового пятна.
  • Оставшиеся вне ореола шумы фильтруются с заданным настраиваемым порогом яркости.
  • Определяется гамма ореола, интенсивность свечения каждой цветовой компоненты, и по этим параметрам производится декодирование передаваемой кадром информации.

В результате разработки прототипа был сделан вывод, что предложенный способ передачи информации с помощью светодиодов может быть использован на практике. Разработаны алгоритмы, позволяющие считывать и декодировать информацию из такого видеопотока.