|
коды, исправляющие ошибки |
|
|
|
Jun 7 2010, 15:04
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 3-06-10
Пользователь №: 57 721

|
Всем здравствуйте. Есть блок данных размером 8 байт. Кодовое слово состоит из 12 байт. Данные кодируются при помощи кода Рида-Соломона, реализованного в IP Core пакета Xilinx ISE. Этот кодер исправляет 2 байта из 12. Хотелось бы реализовать код с большей корректирующей способностью при той же длине кодового слова. К примеру код исправляющий те же 16 бит, но размазанных по всему пакету. Подскажите, кто знает.
|
|
|
|
|
Jun 7 2010, 16:26
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 3-06-10
Пользователь №: 57 721

|
нет, не перетасовать. Код исправляет 2 байта из 12 при 8 информационных. Есть ли возможность его улучшить. Например, исправляя 16 бит из 96 при 64 информационных. Суть в том, что в первом случае алфавит кодирования состоит из 2^8 символов, есть ли возможность его уменьшить.
|
|
|
|
|
Jun 7 2010, 16:42
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(mluk @ Jun 7 2010, 11:26)  нет, не перетасовать. Код исправляет 2 байта из 12 при 8 информационных. Есть ли возможность его улучшить. Например, исправляя 16 бит из 96 при 64 информационных. перемежение и будут те же яйца только в профиль. Цитата Суть в том, что в первом случае алфавит кодирования состоит из 2^8 символов, есть ли возможность его уменьшить. при генерации корки указать размер символа меньше байта ?
--------------------
|
|
|
|
|
Jun 8 2010, 05:26
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 3-06-10
Пользователь №: 57 721

|
Цитата(des00 @ Jun 7 2010, 20:42)  перемежение и будут те же яйца только в профиль. Перемежение - к сожалению не те же яйца. Оно даже может ухудшить рабоду кодера. Например байт с большим количеством ошибок "испортит" много других байт пакета. Цитата(des00 @ Jun 7 2010, 20:42)  при генерации корки указать размер символа меньше байта ? при генерации корки минимальный размер символа 3 бита, но естественно чем меньше - тем лучше. И еще вопрос: в Блейхуте рассматриваются коды Рида Соломона "мультипликативный порядок алфавита которых делится на длину кода". Каким образом может получаться код (12,8) с байтовым алфавитом (в корке этот код можно сгенерить).
Сообщение отредактировал mluk - Jun 8 2010, 05:45
|
|
|
|
|
Jun 8 2010, 06:14
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 3-06-10
Пользователь №: 57 721

|
Цитата(MrYuran @ Jun 8 2010, 10:06)  Для начала определитесь с характером ошибок и вообще с требованиями. При увеличении длины пакета резко возрастает сложность кодека. Если для байта можно просто тупо таблицу забить, то для больших пакетов применяются сложные алгоритмы. Скремблирование применяется, если ошибки вываливаются редкими пачками (например, при чтении компактного диска или при мощных импульсных помехах на линии). Сформулирую вопрос так: пакет состоит из 96 бит, информационных 64, ошибки случайным образом (с гауссовым распределением) встречаются по всей длине пакета. Какое кодирование в такой ситуации может быть оптимальным.
Сообщение отредактировал mluk - Jun 8 2010, 06:17
|
|
|
|
|
Jun 8 2010, 17:50
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(mluk @ Jun 8 2010, 10:14)  Сформулирую вопрос так: пакет состоит из 96 бит, информационных 64, ошибки случайным образом (с гауссовым распределением) встречаются по всей длине пакета. Какое кодирование в такой ситуации может быть оптимальным. Все просто. У Вас двоичный код длины 96 и избыточностью 32. По таблице лучших кодов определяем, что наилучший код с такими параметрами исправляет 4 ошибки. Кстати, укороченный БЧХ код над GF(2^7) тоже имеет такую же корректирующую способность, так что нет смысла городить огород. Берете БЧХ код, алгоритм Берлекэмпа - и с песнями вперед!
|
|
|
|
|
Jun 9 2010, 05:38
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 3-06-10
Пользователь №: 57 721

|
Цитата(SKov @ Jun 8 2010, 21:50)  Все просто. У Вас двоичный код длины 96 и избыточностью 32. По таблице лучших кодов определяем, что наилучший код с такими параметрами исправляет 4 ошибки. Кстати, укороченный БЧХ код над GF(2^7) тоже имеет такую же корректирующую способность, так что нет смысла городить огород. Берете БЧХ код, алгоритм Берлекэмпа - и с песнями вперед!  Большое спасибо за совет, но как я понимаю укороченный БЧХ код над GF(2^7) код будет исправлять "недобайты" - последовательности из 7 бит и уж лучше сохранить укороченный код Рида соломона имеющийся в корке. Не подскажете, что за таблица лучших кодов, и где ее посмотреть.
|
|
|
|
|
Jun 9 2010, 07:53
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(mluk @ Jun 9 2010, 09:38)  Большое спасибо за совет, но как я понимаю укороченный БЧХ код над GF(2^7) код будет исправлять "недобайты" - последовательности из 7 бит и уж лучше сохранить укороченный код Рида соломона имеющийся в корке. Не подскажете, что за таблица лучших кодов, и где ее посмотреть. Нет, Вы неправильно понимаете, "недобайты" Вы исправлять не сможете. Или я Вас неправильно понял. Вы писали о том, что хотите исправлять любые ошибки, и желательно никак не привязанные к границам байтов. Например, ваш РС код заткнется и на 3-х одиночных ошибках, если они лягут в три разных байта. Для исправления независимых (непакетных) ошибок код РС подходит плохо. Как видите, можно исправлять одиночные ошибки в 4-х разных байтах и вообще в любых местах кодового слова. Как это делать - я Вам и написал. Но оказалось, что Вы хотите исправлять и как код PC и как двоичный код ВЧХ. На этот счет есть одна известная русская пословица, смысл который сводится к тому, что так не бывает.  С таблицей наилучших кодов все сложно. Свежие таблицы мне не известны. Была хорошая таблица в книжке Теория кодов, исправляющих ошибки, авторы: Мак-Вильямс Ф. Дж., Слоэн Н. Дж. А. Она есть в И-нете. Но она (таблица, не книга) сильно устарела. Попробуйте поискать такой препринт: Зиновьев В. А., Лицын С. Н. Таблица наилучших известных двоичных кодов: Препринт. М.: ИППИ АН СССР. 1984. Эта таблица тоже немножко устарела, но не слишком  Кроме того, в этих таблицах указаны любые коды, в том числе и нелинейные, в том числе и с очень хитроумными (сложными) алгоритмами построения (и декодирования), так что практическое использование этих лучших кодов может быть не так просто.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|