Обновить

Когда в 1977 году с Земли стартовали межзвёздные зонды «Вояджер-1» и «Вояджер-2», инженеры NASA понимали, что им предстоит передавать научные данные с расстояний в миллиарды километров. Для защиты от ошибок, вызванных космическими помехами, в бортовые компьютеры изначально были заложены бинарные коды Голея (23,12,7).

Этот код — совершенный линейный блоковый код, способный исправлять до 3 ошибок в каждом 23-битном блоке, построенном из 12 бит данных и 11 бит избыточности. Таким образом, каждое исходное сообщение удваивалось по объёму — накладные расходы составляли 100%. Это было приемлемо для первых этапов миссии, например, при передаче изображений с Юпитера и Сатурна, где помехи были серьёзной проблемой, а расстояние до Земли — ещё не максимальное.

Однако по мере удаления аппаратов от Сатурна и ослабления сигнала стало ясно, что эффективность системы кодирования необходимо пересмотреть. Тогда на борт было дистанционно загружено обновление с реализацией кодов Рида–Соломона — более совершенного метода коррекции ошибок, основанного на конечных полях GF(2^m), работающего с символами, а не битами.

К примеру, код RS(255,223) добавляет 32 символа избыточности к 223 символам полезной информации и способен исправлять до 16 ошибочных символов. В отличие от кодов Голея, здесь накладные расходы составляют около 14–20%, в зависимости от параметров, но при этом значительно выше надёжность: частота ошибок снизилась с 5 на 100 000 бит до 1 на миллион.

Этот переход стал ключевым для долговечности миссии. Он позволил «Вояджерам» продолжать передачу научных данных из-за пределов гелиосферы.

Теги:
Всего голосов 12: ↑9 и ↓3+12
Комментарии1

Метод Каллана: я повторял предложения три года

Как курс английского, построенный на повторении, оказался самым полезным, что я изучал, — и почему любой разработчик за пределами англоязычного мира рано или поздно сталкивается с тем же выбором.

Фото: little Gabriel, Unsplash

Мне было четырнадцать, когда я решил, что школа не научит меня английскому.

Шёл 2009 год. Я учил немецкий и не любил его — не сам язык, а тот факт, что его выбрали за меня. К тому времени я уже писал первые строки кода и заметил вещь, которая казалась мне очевидной и, судя по всему, никому вокруг: любой язык программирования, который я хотел выучить, был документирован на английском. Любой ответ на форуме. Любое сообщение об ошибке. Любая книга, которую стоило читать.

Так что я попросил записать меня куда-нибудь всерьёз. Так я оказался в Британский Центр в Тбилиси, в двухэтажном здании на улице Пекини, в комнате с одиннадцатью другими людьми и преподавателем, который говорил быстрее, чем я успевал думать.

Метод Каллана: я повторял предложения три года

Публикации