Коды, исправляющие ошибки. Варианты программной реализации

в 16:13, , рубрики: информационная безопасность, Программирование, разработка, хранение информации, шифрование данных, метки: ,
Сразу прошу не «прогонять пинками», я старался, и это может быть полезно для таких же школьников как я.

Коды, исправляющие ошибки.

Существует множество кодов, исправляющих ошибки в двоичном коде. Они добавляют к бинарному тексту дополнительные, кодовые биты, при помощи которых мы сможем исправить полученные ошибки. Каждый такой код имеет две характеристики – k и n. Такой код называется (n,k)-кодом. Здесь “n” обозначает общее количество символов в блоке закодированного текста, а “k” – число значимых символов.
Например, простейшим кодом является код с повторениями. В этом коде к каждому символу двоичного кода добавляется по n-1 кодовых битов, которые дублируют, значимый символ и в последствие мы сможем исправить ошибку. Например (3,1)-код дописывает к каждому символу в двоичной системе два таких же и при зашумлении, если меняется один символ из блока, то остаётся 2 одинаковых и по ним мы возвращаем исходный символ.

Описание проекта

В моей программе мы использовали 2 вида таких кодов, это (3,1)-код с повторением и (7,4)-код, который является одним из так называемых «кодов Хэмминга». Однако моя программа написана так, что в неё без особых усилий и затрат времени можно добавить любой другой код типа (n,k).
Для того чтобы осуществить свою цель, мне потребовалось переводить обычный текст в бинарный вид, затем добавлять кодовые биты, помогающие мне восстановить текст. И для того, чтобы с эмитировать ошибки в бинарном коде, я написал процедуру, зашумляющую текст (совершающую ошибки в бинарном коде).
Затем я переводил в обычный текст зашумлённый код, чтобы продемонстрировать пользователю действенность зашумления. Следующим действием я исправлял оставшийся у мой зашумленный код и переводили его в обычный текст.
Для создания своей программы я использовал справку программы Pascal, мои собственные знания и «великий» Google.com.

Выводы и перспективы.

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

Исходные коды

Автор: xkelx

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js