QUOTE (des00 @ Jul 19 2012, 16:50)

а разве 8b/10b при изменении пары бит не даст символьную ошибку? которая позволит накрыть сразу 8 бит.
8b/10b может определить только неверную полярность . разве он может определять символьную ошибку ? кодер на логике(не табличный) даст неверную комбинацию и будет разбирать следующий байт как ни в чем не бывало.
Кроме того, я пока затрудняюсь , как вычислить вероятность правильного обнаружения декодером 8b/10b неверной полярности сигнала. Подозреваю она будет всего ~75%, что есть очень плохо.
QUOTE
и не понятно вам нужно только определить ошибки или их исправить.
достаточно
определить битый байт. исправлять пока не планирую.
QUOTE
Это надо написать более четко. т.к. разница между 1 ошибкой и двумя принципиальная.
дело в том, что хоть один, что 2 бита ошибки в канале в 8b/10b кодеровке приведет к ошибочному байту после декодирования. поэтому достаточно найти код, котрый будет определять (не исправлять) 1 байт .
QUOTE
Похоже, надо использовать байтовый код Хэмминга.
В данном случае есть резон называть его укороченным кодом Рида-Соломона над GF(256) с расстоянием 3.
более точное название не подскажите ? Либо подскажите название литературы.
Решение впринципе нашел - код Файра. циклический и простой в реализации
QUOTE
ИМХО нечего мудрить, CRC и заново передаём битый пакет.
ээ..не, слишком просто, да и не хочется терять целый пакет, при потере всего 1 бита !. Передавать заново пакет не имею возможности, канал связи и так на пределе своей пропускной способности, могу выделить только 2..3 байта на кодировку.
QUOTE (SKov @ Jul 19 2012, 18:37)

укороченным кодом Рида-Соломона над GF(256) с расстоянием 3.
Т.е. к потоку надо добавить два байта, и будете исправлять любую ошибку в любом одном байте.
Или будете обнаруживать любую ошибку кратности до 2. но ничего исправить не сможете.
Будте добры, поясните ключевой момент, который я не до конца понимаю.
Что скажет декодер в данном случае, если количество ошибок будет больше 2 ? Какова вероятность необнаружения ошибок при их кол-ве более 2 ?