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