Другие языки программирования и технологии
Клод Шеннон. Теорема кодирования
Ребят, решил прочесть книгу Джон Фона Неймана "Вычислительная машина и мозг". Буквально на первых страницах столкнулся с "элементарным" по мнению автора решением передачи информации через избыточность. Решил разобраться в этом поподробнее и застрял. Что бы найти 0 или 1 из всего потока данных подверженных изменению(инверсии), можно сделать отбор(посмотрел в ютубе) в котором принимают участие 3 бита четности на 4 бита данных. Но как они отбирают поврежденные данные, что-то не пойму никак.... И, тем более, как при помощи этого, можно изменять информацию, которая доходит до получателя? Это довольно интересно и охота разобраться в этом, буду благодарен за простой в понимании ответ! Так же не понятна фраза: " Повторение информации - самый простой способ достичь высокой точности в каналах низкой точности" - объясните ее понятнее, пожалуйста!
Книга как раз и призвана сделать непонятное понятным. Надо объяснять книгу, что ли?
Избыточность позволяет сделать передачу устойчивой к потере данных.
Например, самый простой код - XOR всех бит.
Передаём сообщение
Если это контрольный разряд - то норм, он и не нужен.
Если это один из битов содержательной части, то вычисляем его на основе остальных бит и контрольного разряда.
Например, пришло
В книге принцип тот же, только больше контрольных бит, и алгоритм устойчивее к большим потерям.
Избыточность позволяет сделать передачу устойчивой к потере данных.
Например, самый простой код - XOR всех бит.
Передаём сообщение
11010111
к нему добавляем контрольный разряд: 0
Допустим, в процессе передачи один бит потерялся.Если это контрольный разряд - то норм, он и не нужен.
Если это один из битов содержательной части, то вычисляем его на основе остальных бит и контрольного разряда.
Например, пришло
110_01110
Мы знаем, что XOR всех бит (включая контрольный) должен быть равен 0. Решаем уравнение, получаем, что значение пропавшего бита равно 1.В книге принцип тот же, только больше контрольных бит, и алгоритм устойчивее к большим потерям.
Читай про "расстояние Хэмминга". Смысл в том, что двоичные коды, которыми записываются символы алфавита, должны отличаться друг от друга более чем в одном бите.
Например, если в двух любых кодах алфавита различны не менее 3 битов, при искажении одного бита мы всегда сможем восстановить символ: просто берём тот символ, который отличается от переданного не более, чем на 1 бит - такой символ будет единственным.
Если в двух любых кодах различны не менее 5 битов, мы можем восстановить символ, в котором искажено уже 2 бита.
И т.д.
Добавляемые биты чётности как раз и обеспечивают необходимо для восстановления данных отличие кодов.
Например, если в двух любых кодах алфавита различны не менее 3 битов, при искажении одного бита мы всегда сможем восстановить символ: просто берём тот символ, который отличается от переданного не более, чем на 1 бит - такой символ будет единственным.
Если в двух любых кодах различны не менее 5 битов, мы можем восстановить символ, в котором искажено уже 2 бита.
И т.д.
Добавляемые биты чётности как раз и обеспечивают необходимо для восстановления данных отличие кодов.
Похожие вопросы
- сколько бит требуется для кодирования словаря Элочки -Людоедки
- Печалька с кодированием
- алгоритм Хаффмана и Арифметического кодирования
- Посоветуйте видеоконвектор, что б была возможность кодирование в любой формат и любым розширением!
- Теорема Пифагора PASCAL
- как перевести информацию в двоичную сстему кодирования и шестнадцатиричную систему исчисления
- Подскажите пожалуйста прогу для кодирования FLAC в AUDIO CD без потери качества. Благодарю
- Почему в компьютере используется двоичная знаковая система для кодирования информации?
- Метод кодирования шенона фано. Помогите закодировать мое ФИо этим методом ( корнилов алексей олегович)
- Хорошый интернет-магазин, со штрих кодированием. Сколько хороший магазин стоит?