Полином генератора кода 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
is ' gf
'.
[genpoly,t] = bchgenpoly(...)
возвращает t
, возможность исправления ошибок кода.
Максимально допустимое значение n
составляет 65535.
[1] Peterson, W. Wesley, and E. J. Weldon, Jr., Коды исправления ошибок, 2-е изд., Cambridge, MA, MIT Press, 1972.