Полином генератора кода 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
, поддержку исправления ошибок кода.
Максимальное допустимое значение n
65535.
[1] Петерсон, В. Уэсли, и Э. Дж. Уэлдон младший, Коды С коррекцией ошибок, 2-й редактор, Кембридж, MA, Нажатие MIT, 1972.