Здравствуйте, я работаю над реализацией кодов коррекции ошибок БЧХ.
Вычисления ведутся в поле галуа

построенное относительно примитивного полинома

(он используется как примитив по умолчанию для этого поля в матлабе) . Вычисления провожу в матлабе при помощи функций, встроенных в communication toolbox.
1. Вычисляю минимальные полиномы

для первых 24 нечетных членов -

.
2. Нахожу произведение этих минимальных полиномов получая generator polynomial(не знаю как его называют в русских терминах - порождающий ?)

3. Другой полином (в моем приложении - сообщение) m(x) делится на этот g(x). В результате формируется кодовое слово R(x) - полином, состоящий из остатка от деления и самого сообщения.
После этого я начинаю выполнять обратную операцию - делю R(x) на каждый из минимальных полиномов

. Ожидая в результате получить нулевые остатки от деления.
Надо отметить, что именно так оно и получается для других полей - в частности, выполнение аналогичных операций в поле

в результате деления на каждый из полиномов остаток равен нулю.
Однако при делении на

и

получаются результаты, отличные от нуля. Это, по-видимому, каким-то образом связано с тем, что минимальные полиномы для этих элементов имеют степени, меньшие 8:

;

Соответственно, и произведение из п.2 - g(x) имеет меньшую степень, чем

Помогите пожалуйста разобраться, что нужно сделать, чтобы получить правильное кодовое слово для этого поля.