cyclgen

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

Синтаксис

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

Описание

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

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

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

[h,g] = cyclgen(...) совпадает с h = cyclgen(...), за исключением того, что это также производит k- 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