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
Программа строит линейно-групповой код, кодирует и декодирует строку и исправляет одиночную ошибку.
- Host: GitHub
- URL: https://github.com/70null07/building-linear-group-code
- Owner: 70Null07
- Created: 2022-12-01T16:20:09.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2022-12-01T16:32:47.000Z (over 3 years ago)
- Last Synced: 2025-01-08T12:14:40.336Z (over 1 year ago)
- Topics: decoding, encoding, lgc-algorithm, lgc-code
- Language: C++
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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.

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