Лабораторная работа: Программный кодер-декодер для циклических (n,k)-кодов
Шаг 3. Исправление декодируемого вектора F путем суммирования F + E = V ;
3. Параметры исследуемых кодов
Чтобы трудоемкость лабораторных работ согласовать с отпущенным временем, исследуются короткие (по меркам практики) коды. Параметры кодов приведены в таблицах 1 – 3.
Согласуйте с преподавателем номер варианта, с которым Вы будете работать. Программы CODER и DECODER следует писать для одного варианта кода.
Таблица №1. Варианты заданий для (n, k) – кодов с длиной слова n=15
Вари-анты | Параметры n, k | Расстояние кода d0 | Порождающий многочлен G (x) | G (x) в двоичном и HEX‑форматах |
1 | 2 | 3 | 4 | 5 |
1.1 | (15,11) | 3 | G 1 (x)=x4 +x+1 | 1 0011«13h |
1.2 | (15,7) | 5 | G 2 (x)=x8 +x7 +x6 +x4 +1 | 1 1101 0001«1D1h |
1.3 | (15,5) | 7 | G 3 (x)=x10 +x8 +x5 +x4 +x2 +x+1 | 101 0011 0111«537h |
Таблица №2. Варианты заданий для (n, k) – кодов с длиной слова n=31
Вари-анты | Параметры n, k | Расстояние кода d0 | Порождающий многочлен G (x) | G(x) в двоичном и HEX‑форматах |
1 | 2 | 3 | 4 | 5 |
2.1 | (31,26) | 3 | G 1 (x)=x5 +x2 +1 | 10 0101«25h |
2.2 | G 2 (x)=x5 +x4 +x2 +x+1 | 11 0111«37h | ||
2.3 | G 3 (x)=x5 +x4 +x3 +x+1 | 11 1011«3Bh | ||
2.4 | G 4 (x)=x5 +x3 +1 | 10 1001«29h | ||
2.5 | (31,21) | 5 | G 5 (x)=x10 +x9 +x8 +x6 +x5 +x3 +1 | 111 0110 1001«769h |
2.6 | G 6 (x)=x10 +x7 +x5 +x4 +x2 +x+1 | 100 1011 0111«4B7h | ||
2.7 | (31,16) | 7 | G 7 (x)=x15 +x11 +x10 +x9 +x8 +x7 ++x5 + +x3 +x2 +x+1 | 1000 1111 1010 1111«8FAFh |
2.8 | G 8 (x)=x15 +x14 +x13 +x12 +x11 + +x10 +x9 +x8 +x7 +x6 +1 | 1111 1111 1100 0001«FFC1h |
Таблица №3. Варианты заданий для (n, k) – кодов с длиной слова n=63
Вари-анты | Параметры n, k | Расстояние кода d0 | Порождающий многочлен G (x) | G (x) в двоичном и HEX‑форматах |
1 | 2 | 3 | 4 | 5 |
3.1 | (63,57) | 3 | G 1 (x)= x6 +x+1 | 100 0011«43h |
3.2 | (63,51) | 5 | G 2 (x)=Ååхi , i=12,10,8,5,4,3,0 | 1 0101 0011 1001«1539h |
3.3 | (63,45) | 7 | G 3 (x)=Ååхi , i=18,17,16,15,9,7,6,3,2,1,0 | 111 1000 0010 1100 1111««782СFh |
3.4 | (63,39) | 9 | G 4 (x)=Ååхi , i=24,23,22,20,19,17,16,13, 10,9,8,6,5,4,2,1,0 | 1 1101 1011 0010 0111 0111 0111««1DB2777h |
3.5 | (63,36) | 11 | G 5 (x)=Ååхi , i=27,22,21,19,18,17,15, 8,4,1,0 | 1 000 0110 1110 1000 0001 0001 0011«86Е8113h |
3.6 | (63,30) | 13 | G 6 (x)=Ååхi , i=33,32,30,29,28,27,26,23,22, 20,15,14,13,11,9,8,6,5,1,0 | 11 0111 1100 1101 0000 1110 1011 0110 0011« «37СD0EB63h |
3.7 | (63,24) | 15 | G 7 (x)=Ååхi , i=39,38,37,36,34,33,31,28,27, 25,22,19,17,11,6,3,0 | 111 1011 0100 1101 0010 0101 0000 0100 0100 1001 ««7B4D250449h |
4. Порядок выполнения лабораторной работы CODER
Конечной задачей является написание и отладка программы CODER, способной преобразовать предлагаемый файл. Программа должна рассматривать файл (не обязательно двоичный) как последовательность двоичных векторов А j длины k и преобразовать его в другой файл – файл, состоящий из слов V j длины n избыточного кода заданных параметров.
Легко просматривается промежуточная, технологическая задача: нужно иметь средства, с помощью которых можно было бы убедить себя и оппонентов в том, что программа CODER выполняет преобразование требуемым образом. Назовем эту программу отладочной.
4.1 Интерфейс отладочной программы
Необходимо иметь (хотя бы) два «окна»:
- одно для ввода вручную кодируемого вектора А j заданных параметров;
- другое – для показа выходного вектора V j (или только контрольных бит этого вектора).
Необходимо заранее вручную вычислить несколько выходных векторов V j , соответствующих известным А j . У преподавателя должны быть заготовлены свои тестовые слова кода. Таким образом можно будет обеспечить определенный уровень доверия к кодирующей программе[2] .
4.2 Интерфейс основной кодирующей программы CODER[3]
Необходимо предусмотреть возможность выбора исходного (кодируемого) файла из каталогов Windows (или писать вручную в какой-либо «командной строке» путь к этому файлу). Необходимо предусмотреть возможность запоминания выходного файла программы CODER на диске и возможность многократного возвращения к анализу этого файла.
Выходной файл (файлы) программы CODER понадобятся при выполнении лабораторной работы, связанной с декодированием.
4.3 Отчет по лабораторной работе, защита результатов
Отчет должен содержать:
- краткое изложение постановки задачи;
- требуемые параметры выходного кода и граф-схему алгоритма работы основного кодирующего модуля с комментариями;
- характер и результаты тестового кодирования:
· (5…6) «пар» входных и выходных векторов кодера;
· проверка свойства замкнутости множества кодовых векторов относительно операции суммирования по mod2;
· проверка расстояний между кодовыми векторами на соответствие исходным требованиям.
Результаты работы программы CODER должны быть продемонстрированы преподавателю.
5. Условия и порядок выполнения лабораторной работы DE CODER
Конечной задачей в данной работе является не только практическое изучение алгоритма декодирования по синдрому (остатку) и отладка декодирующей программы, но и изучение структуры (конфигураций) обнаруживаемых и / или исправляемых ошибок, т.е. косвенная оценка помехоустойчивости кода с конкретными заданными параметрами. Программа – DECODER должна уметь декодировать предлагаемый файл.