|
|
 |
Ответов
|
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. Эта таблица тоже немножко устарела, но не слишком  Кроме того, в этих таблицах указаны любые коды, в том числе и нелинейные, в том числе и с очень хитроумными (сложными) алгоритмами построения (и декодирования), так что практическое использование этих лучших кодов может быть не так просто.
|
|
|
|
|
Jun 9 2010, 08:08
|
Участник

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

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

|
Цитата(mluk @ Jun 9 2010, 12:08)  Что Вы имеете ввиду под словами бчх код над GF(2^7): Наберите в Гугле "БЧХ код" и почитайте в Википедии, что я имею в виду. Мне кажется, Вы путаете код Рида Соломона, например в вашем случае - над GF(256) и двоичный БЧХ код, например над GF(2^8). GF(256) и GF(2^8) - это не совсем одно и то же
|
|
|
|
|
Jun 9 2010, 09:53
|
Участник

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

|
Цитата(SKov @ Jun 9 2010, 12:54)  Наберите в Гугле "БЧХ код" и почитайте в Википедии, что я имею в виду. Мне кажется, Вы путаете код Рида Соломона, например в вашем случае - над GF(256) и двоичный БЧХ код, например над GF(2^8). GF(256) и GF(2^8) - это не совсем одно и то же  Я прекрасно понимаю, что вы имеете в виду. По Вашему совету посмотрел в гугле и википедии, однако не нашел различия между бчх над GF(256) и над над GF(2^8). Есть некоторое поле галуа НАД которым строится код. Корни порождающего многочлена лежат в его расширении
|
|
|
|
|
Jun 9 2010, 10:24
|
Знающий
   
Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119

|
Цитата(mluk @ Jun 9 2010, 13:53)  Я прекрасно понимаю, что вы имеете в виду. По Вашему совету посмотрел в гугле и википедии, однако не нашел различия между бчх над GF(256) и над над GF(2^8). Есть некоторое поле галуа НАД которым строится код. Корни порождающего многочлена лежат в его расширении  Разница в символах кода и кодовых параметрах (длина, число инф. символов, мин. расстояние). Грубо говоря, кодовыми словами над полем GF(2^8) являются многочлены с двоичными коэффициентами из GF(2), а кодовыми словами над полем GF(256) являются многочлены с коэффициентами из GF(256). В поле GF(2^8) символом кода является элемент поля GF(2). Соответственно вычисляются кодовая длина в битах, и грубая оценка на число исправляемых ошибок(в двоичных символах кода) = число проверочных символов, деленных на 8(для GF(2^8)). В поле GF(256) символом кода является элемент поля GF(256), т.е. байт. Соответственно ошибка в символе - это любая ошибка в пределах байта, и один оскаженный бит в байте это одна ошибка, и все 8 бит искажены в байте - это тоже одна ошибка в одном символе кода. И кодовая длина уже может быть другая(например, если считать ее в байтах - то 256 символов, а если в битах - то 256*8), и точная оценка на число исправляемых ошибок = число проверочных символов(байтов)/2. Так что разница в полях, может, и небольшая, а вот разница в параметрах кодов над этими полями уже существенна.
|
|
|
|
|
Jun 9 2010, 10:46
|
Участник

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

|
Цитата(SKov @ Jun 9 2010, 14:24)  Разница в символах кода и кодовых параметрах (длина, число инф. символов, мин. расстояние). Грубо говоря, кодовыми словами над полем GF(2^8) являются многочлены с двоичными коэффициентами из GF(2), а кодовыми словами над полем GF(256) являются многочлены с коэффициентами из GF(256). В поле GF(2^8) символом кода является элемент поля GF(2). Соответственно вычисляются кодовая длина в битах, и грубая оценка на число исправляемых ошибок(в двоичных символах кода) = число проверочных символов, деленных на 8(для GF(2^8)). В поле GF(256) символом кода является элемент поля GF(256), т.е. байт. Соответственно ошибка в символе - это любая ошибка в пределах байта, и один оскаженный бит в байте это одна ошибка, и все 8 бит искажены в байте - это тоже одна ошибка в одном символе кода. И кодовая длина уже может быть другая(например, если считать ее в байтах - то 256 символов, а если в битах - то 256*8), и точная оценка на число исправляемых ошибок = число проверочных символов(байтов)/2. Так что разница в полях, может, и небольшая, а вот разница в параметрах кодов над этими полями уже существенна. Это все понятно, я Вас просил уточнить, что вы имеете ввиду под "бчх над GF(2^8)", чтобы не было недоразумений. Как таковая эта запись не означает, что алфавит кодирования бинарен, а поле разложения порождающего многочлена есть GF(2^8).
|
|
|
|
Сообщений в этой теме
mluk коды, исправляющие ошибки Jun 7 2010, 15:04    Methane Цитата(mluk @ Jun 8 2010, 08:26) Перемеже... Jun 8 2010, 05:56              SKov Цитата(mluk @ Jun 9 2010, 14:46) Это все ... Jun 9 2010, 11:17               mluk Цитата(SKov @ Jun 9 2010, 15:17) Я как ра... Jun 9 2010, 11:25                mluk Уважаемый SKov, не могли бы Вы поделиться одной и... Jun 9 2010, 13:06                 SKov Цитата(mluk @ Jun 9 2010, 17:06) Уважаемы... Jun 9 2010, 13:11                  mluk Большое спасибо Jun 9 2010, 13:13                   SKov Цитата(mluk @ Jun 9 2010, 17:13) Большое ... Jun 10 2010, 09:17                    mluk Цитата(SKov @ Jun 10 2010, 13:17) На здор... Jun 10 2010, 09:41                     mluk Не подскажете, как этой таблицей пользоваться. Не ... Jun 10 2010, 14:19                      SKov Цитата(mluk @ Jun 10 2010, 18:19) Не подс... Jun 10 2010, 14:52                       mluk Что есть алфавит кодирования и количество исправля... Jun 10 2010, 15:03                        SKov Цитата(mluk @ Jun 10 2010, 19:03) Что ест... Jun 10 2010, 15:38                         mluk Скажем так, есть ли возможность найти по таблице у... Jun 10 2010, 15:48                          petrov Цитата(mluk @ Jun 10 2010, 19:48) Скажем ... Jun 10 2010, 16:15                           mluk я не понял как таблицей пользоваться и совета прош... Jun 10 2010, 16:20                            petrov Цитата(mluk @ Jun 10 2010, 20:20) я не по... Jun 10 2010, 16:26                           SKov Цитата(petrov @ Jun 10 2010, 20:15) Нету ... Jun 10 2010, 16:36                            mluk Спасибо, все прояснилось. А нет ли таких же таблиц... Jun 11 2010, 05:53                             SKov Цитата(mluk @ Jun 11 2010, 09:53) Спасибо... Jun 11 2010, 07:32                              petrov Цифровая связь - Скляр, есть таблица до 255. Jun 11 2010, 07:50                               SKov Цитата(petrov @ Jun 11 2010, 11:50) Цифро... Jun 11 2010, 08:21                                SKov А вот и таблица линейных кодов разыскалась:
http:/... Jun 16 2010, 13:58                          SKov Цитата(mluk @ Jun 10 2010, 19:48) Скажем ... Jun 10 2010, 16:23  petrov Таких мощных как вы хотите нету или они неизвестны... Jun 7 2010, 19:23 Serg76 попробуйте блоковые турбокоды, хотя бы на базе все... Jun 7 2010, 19:44 MrYuran Цитата(Serg76 @ Jun 7 2010, 23:44) кроме ... Jun 8 2010, 04:35  Serg76 Цитата(MrYuran @ Jun 8 2010, 08:35) ???
С... Jun 8 2010, 10:45 e-serg Вот еще сайт на эту тему, с примерами.
http://www.... Jun 17 2010, 03:33 valera1234 народ, помогите пожалуйста, мне надо сделать прогр... Apr 20 2011, 07:15 Serg76 Цитата(valera1234 @ Apr 20 2011, 10:15) н... Apr 20 2011, 07:30
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|