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