Коды Хэмминга. Создание проверочной матрицы кода Хэмминга. Декодирование кодового слова кода Хэминга

Страницы работы

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.

Содержание работы

1. Коды Хэмминга:

1.1 Создание проверочной матрицы кода Хэмминга для поля GF(2)^k

используется процедура hamming_check_binary(k);

где k-количество строк

> hamming_check_binary(3);

1.2 Создание проверочной матрицы кода Хэмминга для поля GF(p)^k

используется процедура hamming_check(k,p);

и hamming_check_nonstandard(k,p) - перевернутая матица где k-количество строк

p-число элементов поля

>

> H:=hamming_check(3,2);

> hamming_check_nonstandard(3,2);

>

>

1.3 Создание порождающей матрицы кода Хэмминга для поля GF(p)^k

используется процедура hamming_generator(k,p);

где p^k-k-1 - количество строк(k= количестово столбцов-количество строк);

p-число элементов поля

>

>  G3:=hamming_generator(3,2);

1.4 Нахождение дуальных кодов  используется процедура dual_code_list(G,p);

где G - порождающая(генераторная) матрица ;

p-число элементов поля

> dual_code_list(G3,2);

1.5 Нахождение всех кодовых словых в порождающей матрице используется процедура code_list(G,p);

где G - порождающая(генераторная) матрица ;

p-число элементов поля

> C:=code_list(G3,2);

Сортировка  кодовых слов в соответствии с их весом

> C:=sort(C,weight_order);

>

1.6 Нахождение количества кодовых слов с одинаковым весом используется процедура weight_enumerator_vector(G,p);

где G - порождающая(генераторная) матрица ;

p-число элементов поля

> weight_enumerator_vector(G3,2);

это значит что 7 кодовых слов имеют вес 3 и 7-4

1.7 Нахождение минимального кодового расстояния используется процедура min_distance(G,p);

где G - порождающая(генераторная) матрица ;

p-число элементов поля

> min_distance(G3,2);

1.8 Умножение матрицы на вектор используется процедура matrix_times_vector_modp(H,v,2);

где G -  матрица ;

v-вектор

p-число элементов поля

> v:=[1,1,1,0,0,0,0];

matrix_times_vector_modp(H,v,2);

1.9 Декодирование кодового слова кода Хэмминга для поля GF(2) используется процедура decode_hamming_binary(v);

где v-декодируемое слово;

> decode_hamming_binary(v);

1.10 Декодирование кодового слова кода Хэминга для поля GF(p) используется процедура decode_hamming(v,p);

где v-декодируемое слово;

p- количество элементов поля

> decode_hamming(v,2);

1.11 Декодирование кодового слова для любого кода для поля GF(p) используется процедура decode(v,G,p,d);

где v-декодируемое слово;

G-порждающая матрица

p- количество элементов поля

d- кодовое расстояние

> decode(v,G3,2,3);

Похожие материалы

Информация о работе

Уважаемые коллеги! Предлагаем вам разработку программного обеспечения под ключ.

Опытные программисты сделают для вас мобильное приложение, нейронную сеть, систему искусственного интеллекта, SaaS-сервис, производственную систему, внедрят или разработают ERP/CRM, запустят стартап.

Сферы - промышленность, ритейл, производственные компании, стартапы, финансы и другие направления.

Языки программирования: Java, PHP, Ruby, C++, .NET, Python, Go, Kotlin, Swift, React Native, Flutter и многие другие.

Всегда на связи. Соблюдаем сроки. Предложим адекватную конкурентную цену.

Заходите к нам на сайт и пишите, с удовольствием вам во всем поможем.