Как работают переводчики азбуки Морзе: от световых сигналов к тексту
Переводчик азбуки Морзе преобразует последовательности точек и тире в читаемый текст. Онлайн-конвертеры текста встречаются на каждом шагу, но куда интереснее и полезнее переводчики, работающие в реальном времени, — те, что расшифровывают настоящие световые или звуковые сигналы.
Перевод текста
Простейшая форма перевода Морзе — из текста в текст: вы вводите точки и тире, а переводчик выдаёт буквы. В основе — обычная таблица соответствий, где каждому символу сопоставлен его эквивалент в Морзе.
Например:
- Ввод:
.... . .-.. .-.. --- - Вывод: HELLO
Расшифровка сигнала в реальном времени
Перевод настоящих сигналов Морзе (световых вспышек или звуковых тонов) устроен сложнее. Вот как это работает.
1. Обнаружение сигнала
Сначала переводчик должен обнаружить сам сигнал:
- Свет: камера покадрово измеряет изменения яркости.
- Звук: микрофон улавливает частоту и громкость тона.
2. Определение порога
Адаптивный порог отделяет «включено» (сигнал есть) от «выключено» (сигнала нет):
- замеряет уровень фоновой яркости или шума;
- задаёт порог выше уровня шума;
- непрерывно подстраивается под меняющиеся условия.
3. Анализ тайминга
Как только определены состояния «включено/выключено», переводчик измеряет длительности:
- короткое «включено» — точка;
- длинное «включено» (втрое длиннее точки) — тире;
- короткое «выключено» — пауза между элементами;
- среднее «выключено» (втрое) — пауза между символами;
- длинное «выключено» (в семь раз) — пауза между словами.
4. Распознавание символа
Когда точки и тире определены, двоичное дерево или таблица соответствий сопоставляет каждую последовательность символу. Дерево Морзе начинается от корня: точка ведёт влево, тире — вправо, и так до листа с расшифрованным символом.
5. Подстройка под скорость
Хорошие переводчики автоматически определяют скорость передачи, измеряя самое короткое «включено» (это должна быть точка) и масштабируя под него все временные пороги.
Сложности расшифровки в реальном времени
- Шум: перепады фонового освещения, дрожание камеры, звуковые помехи.
- Разброс скорости: человек передаёт не идеально ровно.
- Тайминг Фарнсуорта: некоторые отправители используют иные промежутки между символами.
- Сила сигнала: слабые или далёкие сигналы бывает трудно различить.
Как расшифровывает Морзе наше приложение
Приложение «Азбука Морзе» использует камеру телефона как переводчик Морзе в реальном времени:
- Обработчик кадров снимает данные о яркости на частоте 30+ кадров в секунду.
- Адаптивный порог подстраивается под фоновое освещение.
- Анализ тайминга определяет точки, тире и паузы.
- Автоопределение скорости подстраивается под любой темп передачи.
- Поддержка двоичного протокола позволяет также расшифровывать двоичные сигналы в манчестерском кодировании.
Весь процесс идёт прямо на устройстве без задержек — интернет не нужен.
Попробуйте приложение «Азбука Морзе»
Расшифровывайте, передавайте и учите азбуку Морзе на телефоне. Бесплатно для iOS и Android.