An open API service indexing awesome lists of open source software.

https://github.com/70null07/building-linear-group-code

Программа строит линейно-групповой код, кодирует и декодирует строку и исправляет одиночную ошибку.
https://github.com/70null07/building-linear-group-code

decoding encoding lgc-algorithm lgc-code

Last synced: 7 months ago
JSON representation

Программа строит линейно-групповой код, кодирует и декодирует строку и исправляет одиночную ошибку.

Awesome Lists containing this project

README

          

# Building-Linear-Group-Code
Программа строит линейно-групповой код, кодирует и декодирует строку и исправляет одиночную ошибку.

Для вычисления основных параметров кода задается либо количество информационных символов, либо количество информационных комбинаций.
В нашем случае задано количество сообщений 𝑛 = 32. Подставим в формулу исходные данные и получим количество информационных
разрядов 𝑛_и = 5. Число контрольных разрядов для кодов, которые позволяют определять одиночные и двойные и исправлять одиночные,
вычислим по формуле 𝑛_𝑘1(2) = log2((𝑛_и + 1) + log2 = (𝑛_и + 1) = log2(6 + log2(6) ≈ 3,10182.
Округляем до большего и получим 𝑛_к = 4. Длина кодовой комбинации в таком случае равна 𝑛 = 𝑛_и + 𝑛_к = 5 + 4 = 9.

На рисунке ниже приведено бинарное представление 32-буквенного русского алфавита, с количеством информационных разрядов равном 5.
![image](https://user-images.githubusercontent.com/76547066/205106629-1fbf8c9f-eb4c-467b-bd9b-cbccc3d1e5cc.png)

После этого строится и выводится порождающая матрица, затем запрашивается строка для кодирования, производится кодирование, декодирование и выод на экран.

![image](https://user-images.githubusercontent.com/76547066/205107521-2555b2a1-f79f-409e-ab53-94a15265c2a0.png)