реклама на сайте
подробности

 
 
> Декодер Рида-Соломона со стираниями, Какой признак того, что ошибок слишком много?
andrex
сообщение Jun 8 2009, 10:56
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 20-01-09
Пользователь №: 43 650



Добрый день!

Использую декодирование кода Рида-Соломона по следующему алгоритму.
1. Определяется полином локаторов стираний (в данном случае код с выколотыми проверочными байтами, поэтому этот полином постоянный).
2. Определяются модифицированные синдромы, которые уже соответствуют ошибкам.
3. Алгоритмом Берлекэмпа определяются корни полинома локаторов ошибок, и далее - локаторы ошибок.
4. Определяются ошибки.

В моем случае код должен исправлять 2 ошибки.
Когда допущена 1 или 2 ошибки, все исправляется.
Если ошибок больше двух, то полином локаторов ошибок так же имеет степень 2 (как будто произошло 2 ошибки), но, естественно, позиции ошибок вычисляются неверно.
Вроде как на 3-м этапе должен делаться вывод, что ошибок больше 2. Насколько я понимаю, этим условием является то, что степень полинома локаторов больше 2. Но почему-то такого не получается.

Может быть, кто-то сможет помочь, вывести на верную мысль?

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

Сообщение отредактировал andrex - Jun 8 2009, 11:17
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrov
сообщение Jun 8 2009, 11:43
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Для любого кода ресурс по обнаружению/исправлению ошибок/стираний может быть исчерпан, при каком-то отношении сигнал/шум/вероятности ошибок на входе кода он уже не работает, нужно оценивать качество входного сигнала и если оно неудовлетворительное то никак не интерпретировать сигнал.
Go to the top of the page
 
+Quote Post
andrex
сообщение Jun 8 2009, 12:22
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 20-01-09
Пользователь №: 43 650



Цитата(petrov @ Jun 8 2009, 18:43) *
Для любого кода ресурс по обнаружению/исправлению ошибок/стираний может быть исчерпан, при каком-то отношении сигнал/шум/вероятности ошибок на входе кода он уже не работает, нужно оценивать качество входного сигнала и если оно неудовлетворительное то никак не интерпретировать сигнал.

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

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

То есть ответ на исходный вопрос, по всей видимости, такой: если локаторы ошибок лежат в недопустимых пределах, значит ошибки нельзя исправить.
Go to the top of the page
 
+Quote Post
SKov
сообщение Jun 8 2009, 12:41
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(andrex @ Jun 8 2009, 16:22) *
То есть ответ на исходный вопрос, по всей видимости, такой: если локаторы ошибок лежат в недопустимых пределах, значит ошибки нельзя исправить.

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

Сообщение отредактировал SKov - Jun 8 2009, 12:43
Go to the top of the page
 
+Quote Post
andrex
сообщение Jun 8 2009, 12:45
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 20-01-09
Пользователь №: 43 650



Цитата(SKov @ Jun 8 2009, 19:41) *
В принципе, это верно. Но на практике делается чуть иначе. В процедуре Ченя проверяется все локаторы, соответствуюшие невыколотым позициям кода. Если число найденный корней соответствует степени полинома ошибок, то все в порядке, в противном случае выдается сообщение об обнаруженной ошибке.

Да, точно. Спасибо!
Go to the top of the page
 
+Quote Post
SKov
сообщение Jun 8 2009, 14:22
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 812
Регистрация: 22-01-05
Из: SPb
Пользователь №: 2 119



Цитата(andrex @ Jun 8 2009, 16:45) *
Да, точно. Спасибо!

И, к слову, исправлять две ошибки по Берлекемпу давно вышло из моды.
Используется прямое решение ключевого уравнения.
В принципе, и для трех ошибок это возможно, но уже заметно сложнее, так что легче
сделать Б-ма. А для двух ошибок - однозначно лучше прямое решение.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- andrex   Декодер Рида-Соломона со стираниями   Jun 8 2009, 10:56
||- - petrov   Цитата(andrex @ Jun 8 2009, 16:22) Наскол...   Jun 8 2009, 12:47
|- - samurad   Цитата(petrov @ Jun 8 2009, 14:43) Для лю...   Jun 8 2009, 13:18
|- - petrov   Цитата(samurad @ Jun 8 2009, 17:18) Прави...   Jun 8 2009, 13:37
|- - samurad   Цитата(petrov @ Jun 8 2009, 16:37) Наверн...   Jun 8 2009, 14:49
- - andrex   Буду признателен, если кто-нибудь оценит скорость ...   Jun 16 2009, 13:03
|- - SKov   Цитата(andrex @ Jun 16 2009, 17:03) Буду ...   Jun 16 2009, 18:31
|- - andrex   Цитата(SKov @ Jun 17 2009, 01:31) Уточнит...   Jun 17 2009, 09:27
- - Pshekoff   Я проверяю, правильно ли декодер исправил ошибки, ...   Oct 28 2009, 14:32
|- - andrex   Цитата(Pshekoff @ Oct 28 2009, 20:32) Я п...   Nov 13 2009, 09:32
|- - Pshekoff   Цитата(andrex @ Nov 13 2009, 12:32) А ест...   Nov 20 2009, 13:53
|- - andrex   Цитата(Pshekoff @ Nov 20 2009, 19:53) Да ...   Nov 23 2009, 05:46
|- - Pshekoff   Цитата(andrex @ Nov 23 2009, 08:46) Я име...   Nov 23 2009, 08:04
- - andrex   Цитата(Pshekoff @ Nov 23 2009, 14:04) ......   Nov 23 2009, 10:56
- - Pshekoff   Видимо, вы не совсем точно представляете ситуацию....   Nov 23 2009, 14:29
- - petrov   Цитата(Pshekoff @ Nov 23 2009, 17:29) А н...   Nov 23 2009, 14:39


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th June 2025 - 06:53
Рейтинг@Mail.ru


Страница сгенерированна за 0.01433 секунд с 7
ELECTRONIX ©2004-2016