Builder C++. Циклические коды
Написать программу в которой передаваемое изображение кодируется, в него вносятся помехи (вводится вероятность от 0 до 1), изображение декодируется, вычисляется вероятность появления ошибки (от 0 до 1). На одну кнопку сделать пункты 3-5, на другую с декодером Меггитта. Примерный интерфейс в изображениях.
Порядок выполнения работы
Перед началом выполнения задания каждый студент получает свой вариант в соответствии с видом порождающего полинома (табл. 4.1). Пункты 3-7 выполняются с помощью приложения C++.
Порождающего полином: степень полинома 5, g(x)=110111
1. На основании заданного порождающего полинома g(x) определить порождающую G и проверочную H матрицу циклического кода.
2. С помощью проверочной (транспонированной) HT матрицы определить таблицу векторов синдрома S(x).
3. На основании задания практической работы №1 с помощью выполнить следующие пункты:
- создать битовый поток передаваемой информации для полутонового изображения;
- смоделировать двоично-симметричный канал (ДСК) передачи с заданной вероятностью ошибок Pk;
- реализовать восстановление исходного изображения из битового потока и выполнить расчет количества ошибок Рош.
4. Выполнить помехоустойчивое кодирование битового потока с помощью циклического кода по схеме 4.1.
5. Выполнить синдромное декодирование по схеме 4.3.
6. Выполнить декодирование по схеме Меггитта.
Порождающая и проверочная матрица найдены. Пункт 2 вычисление векторов синдрома S(x) сделать в программе.