Какова максимальная возможность исправления ошибок кода REED-SOLOMON?

Я обнаружил, что (255,223,32) код RS где

  255 = output symbols of RS encoder
  223 = input symbols to the RS encoder

и каждый символ шириной 8 бит является наиболее широко используемым и может исправить до 16 (255-223/2) ошибок символов; где ошибка символа происходит, если по меньшей мере один бит среди 8 битов символа поврежден, даже все 8 битов могут быть повреждены в худшем случае. У меня есть следующие сомнения

1) Имеет ли вышеупомянутый код RS возможность исправить все 16 символов ошибок, где в каждом символе ошибки все 8 битов повреждены?

2) Код RS (255,223,32) имеет возможность исправления ошибок 6,27% (16/255 *100). Если мой код (255,16,239), могу ли я считать, что он имеет возможность исправления ошибок 46,86%?

Прошу вас помочь мне с этими сомнениями.

1 ответ

Вы абсолютно правы: RS(255,223,32) исправляет все шаблоны ошибок, которые влияют на 16 (или менее) из 255 байтов - независимо от того, как они повреждены. Если вы заранее знаете, какие байты были повреждены, то эта возможность еще выше. Этот тип ошибки называется стиранием.

Декодер RS(255, 255-k) корректирует все шаблоны ошибок / стираний байтов, ограниченные:

(2 * errorCount + erasureCount) <= k

Вы можете взглянуть на мою C-реализацию, которая доступна на моей домашней странице. Он обрабатывает как ошибки, так и стирания.

Другие вопросы по тегам