Какова максимальная возможность исправления ошибок кода 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-реализацию, которая доступна на моей домашней странице. Он обрабатывает как ошибки, так и стирания.