cyclpoly

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

Синтаксис

pol = cyclpoly(n,k)
pol = cyclpoly(n,k,opt)

Описание

Для всех синтаксисов полином представлен как строка, содержащая коэффициенты в порядке возрастающих степеней.

pol = cyclpoly(n,k) возвращает вектор - строку, представляющий один нетривиальный полином генератора для циклического кода, имеющего длину кодовой комбинации n и длина сообщения k.

pol = cyclpoly(n,k,opt) поиски одного или нескольких нетривиальных полиномов генератора для циклических кодов, имеющих длину кодовой комбинации n и длина сообщения k. Вывод pol зависит от аргумента opt как показано в приведенной ниже таблице.

выбратьЗначение политикаФормат политика
'min'Один полином генератора, имеющий самый маленький вес Вектор - строка, представляющий полином
'max'Один полином генератора, имеющий самый большой вес Вектор - строка, представляющий полином
'all'Все полиномы генератораМатрица, каждая строка которой представляет один такой полином
положительное целое число, L Все полиномы генератора, имеющие вес L Матрица, каждая строка которой представляет один такой полином

Вес бинарного полинома является количеством ненулевых условий, которые это имеет. Если никакой полином генератора не удовлетворяет данные условия, вывод pol пуст, и предупреждающее сообщение отображено.

Примеры

свернуть все

Создайте [15,4] циклические полиномы генератора кода.

Используйте вход 'all', чтобы показать все возможные полиномы генератора для [15,4] циклический код. Используйте вход 'max', чтобы показать это 1+x+x2+x3+x5+x7+x8+x11 один такой полином, который имеет наибольшее число ненулевых условий.

c1 = cyclpoly(15,4,'all')
c1 = 3×12

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

c2 = cyclpoly(15,4,'max')
c2 = 1×12

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

Эта команда показывает, что никакой полином генератора для [15,4] циклический код не имеет точно три ненулевых условия.

c3 = cyclpoly(15,4,3)
Warning: No cyclic generator polynomial satisfies the given constraints.
c3 =

     []

Алгоритмы

Если opt является 'min', 'max', или не использованный, полиномы создаются путем преобразования десятичных целых чисел, чтобы основывать p. На основе десятичного упорядоченного расположения gfprimfd возвращает первый полином, это находит, что это удовлетворяет соответствующие условия. Этот алгоритм подобен тому, используемому в gfprimfd.

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

|

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