Здравствуйте, sz36, Вы писали:
s>>Какой код может устранить "n" потерь при "n" входных блоках и "n" контрольных? Позиции потерь известны заранее, а устранение ошибок, позиции которых неизвестны — не требуется
sz>Никакой. Максимальное количество стираний (ошибок, позиции которых известны), исправляемых блочным кодом <= n-1, где n — количество контрольных разрядов.Равенство достигается только при использовании т.н. оптимального кода, а оптимального кода, у которого n==k, сдается мне, не существует.
А разве обычный код Рида-Соломона не может исправить в точности "n" стираний, если n — это количество контрольных разрядов? Другое дело, что если я правильно понимаю теорию, то в обычном коде Рида-Соломона предельное количество контрольных сумм и данных = 2^q — 1. Опять-таки, насколько я понимаю теорию, с помощью расширенного кода Рида-Соломона можно поднять количество данных на 1 или на 2 (то есть, можно сделать код с k = 2^q данными), но количество контрольных разрядов по-прежнему останется равным 2^q — 1 даже у расширенного кода. И поэтому в таком режиме (кода количество данных k = 2^q) код будет корректировать на одно стирание меньше.
Правильно ли я понимаю, что кода Рида-Соломона с параметрами (2^q, 2^(q — 1)) в стандартной нотации "(длина сообщения, количество информационных символов в нем)" не существует в природе? А известен ли хоть один другой код с такими характеристиками для q > 3?
sz> Ну не знаю.. А какие тогда быстрыми? Коды РC являются оптимальными, но половину блока все равно исправить не смогут, а плюс к тому Вы не построите код, у которого число контрольных разрядов равно числу информационных.
То есть даже расширенный код не позволит поднять количество контрольных разрядов и достичь предела, когда исправляется ровно половина блока?
s> А вообще эффективный код, исправляющий ошибки, подбирают по статистике ошибок канала. Грубо говоря код должен быть ориентирован на исправление именно тех ошибок, которые возникают с наибольшей вероятностью. Наука эта довольно сложная, но литературы хватает. Из того, что помню, например здесь
Спасибо, но мне код нужен для системы хранения информации, поэтому корректирующая способность важнее, чем другие достоинства кода, ценные при поточной передаче. И даже быстродействие в разумных пределах не критично, хотя понятно, что чем оно выше — тем лучше.