Перейти к содержанию
    

Умножение в поле Галуа

Как вы решили эту проблему? Где храните эти значения?

А чем не устраивает вариант с реализацией на 16 параллельно работающих умножителях? Так как умножаем на константу (alpha^i в каждом модуле), они будут весьма компактны. В статье Hahno Lee на стр. 289 формула (3) раскладывается по схеме Горнера и становится понятно, как получается модуль расчета синдрома на рис. 3а на стр. 290.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про схему Горнера терпеливый barabek мне уже все разъяснил :-)

 

Про проверку непонятно. У меня при вычислении с определенной комбинацией полиномов программа вывалилась с ошибкой, тк попыталась в алгоритме Форни поделить на нуль. Это и есть сигнал того, что че то не то?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про проверку непонятно. У меня при вычислении с определенной комбинацией полиномов программа вывалилась с ошибкой, тк попыталась в алгоритме Форни поделить на нуль. Это и есть сигнал того, что че то не то?

decfailed <= (root_cnt != deg(locator_poly));

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

root_cnt Это число корней чего именно? Полинома локаторов ошибок? Ну у меня насчитался с виду приличный полином локаторов ошибок, коэффициентов равных 0 нет, а при рассчете значений по нему - ошибки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

root_cnt Это число корней

найденных в процедуре ченя. Если чень нашел ошибок больше степени полинома локаторов, значит полином не верный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если чень нашел ошибок больше степени полинома локаторов, значит полином не верный.

 

Но ведь это можно определить только прогнав все возможные значения, т.е. если вдруг встретилась еще и 4 ошибка, то значит комбинация вообще была неисправима и прошлые ошибки тоже не надо было исправлять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но ведь это можно определить только прогнав все возможные значения, т.е. если вдруг встретилась еще и 4 ошибка, то значит комбинация вообще была неисправима и прошлые ошибки тоже не надо было исправлять?

а вы не задумывались почему у альтеровского декодера, который выдает на выходе decfailed одновременно с началом блока, задержка 3 блока ? :biggrin:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Чтобы задуматься над альтеровским декодером мне следовало бы столкнуться с ним :-)

 

Т.е. вы хотите сказать, что декодирования "на лету" не получится и надо сначала прогнать все возможные комбинации в поиске Ченя и если Ченя собирается исправить больше, чем может, то дать ему по рукам и выдать слово как есть. Так что ли?

 

Тут вот какая проблема

 

У меня алгоритм Ченя совмещен с алгоритмом Форни, как это рекомендуют многие пособия. Если мы столкнулись с неисправимой комбинацией ошибок, то значение производной от полинома локатора ошибок равно 0, соответственно делить на него нельзя. Я в модели ввел отслеживание этого случая, получившиеся кривые достаточно точно совпадают с теоретическими.

 

Может этот метод и пустить на поток? Мол если в процессе вычисления столкнулись с тем, что производная нуль, то прекращаем исправление ошибок.

Хотя моя кривая на 0.5дБ отстает от теоретической, возможно это как раз и вызвано случаем -

неисправимая комбинация случилась,но производная обратилась в нуль не в 1 исправленном символе, а в 3-4-5, соответственно исправленные до этого символы могли внести дополнительные ошибки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Т.е. вы хотите сказать, что декодирования "на лету" не получится и надо сначала прогнать все возможные комбинации в поиске Ченя и если Ченя собирается исправить больше, чем может, то дать ему по рукам и выдать слово как есть. Так что ли?

нужно подсчитать количество найденных ченем корней и сравнить их со степенью полинома локаторов. если эти числа не равны, значит блок исправить нельзя. Что выдавать наружу в этом случае, решать вам %)

 

У меня алгоритм Ченя совмещен с алгоритмом Форни, как это рекомендуют многие пособия. Если мы столкнулись с неисправимой комбинацией ошибок, то значение производной от полинома локатора ошибок равно 0, соответственно делить на него нельзя. Я в модели ввел отслеживание этого случая, получившиеся кривые достаточно точно совпадают с теоретическими.

в своем декодере в случае нуля, деление выдает что-то, но мне это не принципиально %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

найденных в процедуре ченя. Если чень нашел ошибок больше степени полинома локаторов, значит полином не верный.

Число корней не может быть больше степени полинома. Никогда.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Число корней не может быть больше степени полинома. Никогда.

сейчас не помню точно, но когда я смотрел работу кодера РС в шумах (на вход декодера подавал шум), то наблюдал подобное. Правда давно это было.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

сейчас не помню точно, но когда я смотрел работу кодера РС в шумах (на вход декодера подавал шум), то наблюдал подобное. Правда давно это было.

Число корней не может быть больше степени полинома.

Независимо от того, что это за полином. Хоть из алгоритма Берлекемпа,

хоть из учебника алгебры 5-го класса начальной школы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Число корней не может быть больше степени полинома.

Независимо от того, что это за полином. Хоть из алгоритма Берлекемпа,

хоть из учебника алгебры 5-го класса начальной школы.

кхм, подниму модели проверю. чень же ищет корни тупым перебором, может ли он найти их больше (быть равным нулю) в больше количестве чем степень полинома.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

кхм, подниму модели проверю. чень же ищет корни тупым перебором, может ли он найти их больше (быть равным нулю) в больше количестве чем степень полинома.

 

Если взять полином не из поля Галуа, а привычные нам полиномы вещественных чисел (т.е. поля вещественных чисел), то по теореме (ЕМНИП ) Безу число корней всегда (!) равно степени полинома (из поля мнимых чисел) или не больше степени полинома (при допустимости только поля вещественных чисел). Лень чейчас учебник открывать, но думаю, что для полей Галуа это также справедливо, но так как не может быть мнимых корней, то корней не больше степени.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если взять полином не из поля Галуа, а привычные нам полиномы вещественных чисел (т.е. поля вещественных чисел), то по теореме (ЕМНИП ) Безу число корней всегда (!) равно степени полинома (из поля мнимых чисел) или не больше степени полинома (при допустимости только поля вещественных чисел). Лень чейчас учебник открывать, но думаю, что для полей Галуа это также справедливо, но так как не может быть мнимых корней, то корней не больше степени.

Если a,b,c - корни многочлена второй степени, то этот многочлен может быть представлен в виде произведения (х-a)(х-b )(х-c). Если раскрыть скобки,

то получим многочлен, у которого присутствует х в степени 3, что противоречит исходному предположению.

От поля ничего не зависит.

5-й класс начальной школы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...