Builder C++. Циклические коды

Максим8 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
05.05.2017

Написать программу в которой передаваемое изображение кодируется, в него вносятся помехи (вводится вероятность от 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) сделать в программе.