Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: как програмно реализовать умножение в поле Галуа?
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
barabek
Вначале присказка. Использую флэш MT29F64G08CBAAA. В документации написано: Minimum required ECC-24-bit ECC per 1080 bytes of data. Вроде как необходимо использовать БЧХ. Рассчитываю необходимую степень для расширения поля, получаю >1080*8=8640. Т.е. степень должна быть 14 и размер поля 2^14-1=16383. Если так, то степень генерирующего полинома 24*14=336.
Итак, вопросы.
1. Нет ошибок в моих рассуждениях выше?
2. Если нет, то как организовать умножение? Табличный метод требует два массива по 16384*2 байт. Т.е. всего на обе таблицы степеней и логарифмов потребуется 64к. Не пойдет, так как в железе стоит МК C8051F930 от silabs и у него всего 64к флэши на борту. Умножение с регистром сдвига как-то медленно будет, думаю. Во всех интернетах даются только примеры с маленькими полями. Или я не знаю, как искать. Для кодера и процедуры Ченя можно попытаться сделать умножение подобно табличному расчету CRC, там умножение на константу. Но однако и в этом методе при моей степени 336 необходимо либо 336 таблиц по ..., ну, наверно, по 16. В общем, не самый лучший вариант. К тому же в алгоритме Берлекэмпа-Месси уже умножение не на константу. Так как быть? Может литературу посоветуете?
Gold777
Посмотри вот этот документ. Я делал для поля GF(2^13), вроде нормально работает. Хотя не знаю насколько это быстрый способ для программной реализации.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.