Читайте также:
|
|
Кодовое расстояние d (по Хеммингу) между двумя кодовыми комбинациями двоичного кода равно числу символов, в которых эти комбинации отличаются одна от другой. Чтобы получить значение кодового расстояния между двумя комбинациями двоичного кода, достаточно подсчитать число единиц в результате поразрядного сложения этих комбинаций по модулю 2, другими словами, расстояние между двумя двоичными кодовыми векторами равно весу вектора, полученного в результате сложения исходных векторов по модулю два.
Если в коде имеется несколько кодовых слов, необходимо для каждой пары заданного множества кодовых слов вычислить кодовое расстояние, выбрать из полученных кодовых расстояний минимальное значение и определить по нему корректирующие способности исследуемого кода.
В соответствии с заданием (таблица 3) имеем следующий код:
Решение:
d12=4; d13=6;
d23=6.
Для определения корректирующих способностей существуют формулы (23) – (25).
dmin ≥ R + 1, (23)
где R – кратность обнаруживаемых ошибок;
dmin ≥ 2S + 1, (24)
где S – кратность исправляемых ошибок;
dmin ≥ R + S. (25)
Вычислим минимальное кодовое расстояние:
dmin=min{4, 6, 6}=4.
По формуле (23) найдем кратность обнаруживаемых ошибок R, а по формуле (24) – кратность исправляемых ошибок S:
R ≤ dmin – 1 ≤ 4 – 1 ≤ 3;
S ≤ (dmin – 1)/2 ≤ (4 – 1)/2 ≤ 1.
Проверим вычисленные значения по соотношению (25):
dmin ≥ 3 + 1 ≥ 4.
Следовательно, заданный код может обнаруживать три ошибки, а исправлять одну.
1) Число добавочных символов для составления символов с выявлением ошибки:
d= r+1,
где r-число обнаруживаемых ошибок.
Для данного случая r=3. Код может обнаружить 3 ошибки.
2) Общее выражение для определения кодового расстояния в случае одновременного обнаружения и исправления ошибок:
d= r +s+1 и r>s,
где r-число обнаруживаемых ошибок; s-число исправляемых ошибок;
d-количество элементов, в которых одна кодовая комбинация отличается от другой.
По этому критерию код может обнаруживать r=2 ошибки и исправлять s=1 ошибку.
3) Если требуется определить кодовое расстояние исходя только из количества исправляемых ошибок, то применяют формулу
d=2*s +1.
Вывод: код может обнаружить 3 ошибки, либо исправить 1 ошибку, либо обнаружить 2 ошибки и одну из них исправить.
Дата добавления: 2015-11-30; просмотров: 140 | Нарушение авторских прав