cyclgen

Произведите проверку четности и матрицы генератора для циклического кода

Синтаксис

h = cyclgen(n,pol)
h = cyclgen(n,pol,opt)
[h,g] = cyclgen(...)
[h,g,k] = cyclgen(...)

Описание

Для всех синтаксисов длиной кодовой комбинации является n, и длиной сообщения является k. Полином может сгенерировать циклический код с длиной кодовой комбинации n и передать длину k , если и только если полином является степенью - (n-k) делитель x^n-1. (По бинарному полю GF (2), x^n-1 совпадает с x^n+1.) Это подразумевает, что k равняется n минус степень полинома генератора.

h = cyclgen(n,pol) производит (n-k)-by-n матрица проверки четности для систематического бинарного циклического кода, имеющего длину кодовой комбинации n. Вектор - строка pol дает бинарные коэффициенты, в порядке возрастающих степеней, степени - (n-k) полином генератора. Также можно задать pol как полиномиальный вектор символов. Для получения дополнительной информации смотрите Символьное представление Полиномов.

h = cyclgen(n,pol,opt) совпадает с синтаксисом выше, за исключением того, что аргумент opt определяет, должна ли матрица быть сопоставлена с систематическим или несистематическим кодом. Значениями для opt является 'system' и 'nonsys'.

[h,g] = cyclgen(...) совпадает с h = cyclgen(...), за исключением того, что он также производит k-by-n порождающая матрица g, который соответствует матрице проверки четности h.

[h,g,k] = cyclgen(...) совпадает с [h,g] = cyclgen(...), за исключением того, что он также возвращает длину сообщения k.

Примеры

свернуть все

Создайте проверку четности и матрицы генератора для бинарного циклического кода, имеющего длину кодовой комбинации 7 и длина сообщения 4.

Создайте полином генератора использование cyclpoly.

pol = cyclpoly(7,4);

Создайте матрицы генератора и проверка четности. Матрице проверки четности parmat встроили 3х3 единичную матрицу в ее крайние левые столбцы.

[parmat,genmat,k] = cyclgen(7,pol)
parmat = 3×7

     1     0     0     1     1     1     0
     0     1     0     0     1     1     1
     0     0     1     1     1     0     1

genmat = 4×7

     1     0     1     1     0     0     0
     1     1     1     0     1     0     0
     1     1     0     0     0     1     0
     0     1     1     0     0     0     1

k = 4

Создайте матрицу проверки четности, в которой код не систематичен. Матричный parmatn не имеет встроенной 3х3 единичной матрицы.

parmatn = cyclgen(7,pol,'nonsys')
parmatn = 3×7

     1     1     1     0     1     0     0
     0     1     1     1     0     1     0
     0     0     1     1     1     0     1

Создайте проверку четности и матрицы генератора для (7,3) бинарный циклический код. Когда это - систематический код, существует единичная матрица 4 на 4 в крайних левых столбцах parmat2.

parmat2 = cyclgen(7,'1 + x^2 + x^3 + x^4')
parmat2 = 4×7

     1     0     0     0     1     1     0
     0     1     0     0     0     1     1
     0     0     1     0     1     1     1
     0     0     0     1     1     0     1

Смотрите также

| | |

Представлено до R2006a