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', соответствующий полю Галуа и двойным типам данных соответственно. Значение по умолчанию outputFormatis ' 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] Peterson, W. Wesley, and E. J. Weldon, Jr., Коды исправления ошибок, 2-е изд., Cambridge, MA, MIT Press, 1972.

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

.

См. также

| |

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