bchgenpoly

Порождающий полином кода BCH

Синтаксис

genpoly = bchgenpoly(n,k)
genpoly = bchgenpoly(n,k,prim_poly)
genpoly = bchgenpoly(n,k,prim_poly,outputFormat)
[genpoly,t] = bchgenpoly(...)

Описание

genpoly = bchgenpoly(n,k) возвращает порождающий полином узкого смысла кода BCH с длиной кодовой комбинации n и передайте длину k. Длина кодовой комбинации n должен иметь форму 2m- 1 для некоторого целого числа m между 3 и 16. Выход genpoly вектор-строка Галуа, который представляет коэффициенты порождающего полинома в порядке убывающих степеней. Порождающий полином узкого смысла является LCM [m_1 (x), m_2 (x)..., m_2t (x)], где:

  • LCM представляет наименьшее общее кратное,

  • m_i (x) представляет минимальный многочлен, соответствующий αi, α является корнем примитивного полинома по умолчанию для поля GF (n+1),

  • и t представляет поддержку с коррекцией ошибок кода.

Примечание

Несмотря на то, что bchgenpoly функция выполняет промежуточные расчеты в GF (n+1), итоговый полином имеет бинарные коэффициенты. Выход от bchgenpoly вектор Галуа в GF (2), а не в GF (n+1).

genpoly = bchgenpoly(n,k,prim_poly) совпадает с синтаксисом выше, за исключением того, что prim_poly задает примитивный полином для GF (n+1) это имеет Альфу как корень. prim_poly или полиномиальный вектор символов или целое число, бинарное представление которого указывает на коэффициенты примитивного полинома в порядке убывающих степеней. Использовать примитивный полином по умолчанию для GF (n+1), установите prim_poly к [].

genpoly = bchgenpoly(n,k,prim_poly,outputFormat) совпадает с предыдущим синтаксисом, за исключением того, что outputFormat задает тип выходных данных. Значение outputFormat может быть ‘gf'или 'double'соответствуя Полю Галуа и двойным типам данных соответственно. Значение по умолчанию outputFormat 'gf'.

[genpoly,t] = bchgenpoly(...) возвращает t, поддержка исправления ошибок кода.

Примеры

свернуть все

Создайте два полинома генератора BCH на основе различных примитивных полиномов.

Установите кодовую комбинацию и длины сообщения, n и k.

n = 15;
k = 11;

Создайте порождающий полином и возвратите возможность исправления ошибок, t.

[genpoly,t] = bchgenpoly(15,11)
 
genpoly = GF(2) array. 
 
Array elements = 
 
   1   0   0   1   1
t = 1

Создайте порождающий полином для (15,11) код BCH с помощью различного примитивного полинома, описанного как вектор символов. Обратите внимание на то, что genpoly2 отличается от genpoly, который использует примитив по умолчанию.

genpoly2 = bchgenpoly(15,11,'D^4 + D^3 + 1')
 
genpoly2 = GF(2) array. 
 
Array elements = 
 
   1   1   0   0   1

Ограничения

Максимальное допустимое значение n 65535.

Ссылки

[1] Петерсон, В. Уэсли, и Э. Дж. Уэлдон младший, Коды С коррекцией ошибок, 2-й редактор, Кембридж, MA, Нажатие MIT, 1972.

Расширенные возможности

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

| |

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