Данные коды относятся к классу блоковых неразделимых кодов, так как в них не представляется возможным выделить информационные и проверочные символы. Все комбинации этих кодов имеют одинаковый вес (). Примером является известный код "3 из 7" - семизначный код с постоянным весом .
Одна из основных причин применения этих кодов - их преимущество при использовании в каналах связи, в значительной степени асимметричных. В случае полностью асимметричного канала код с постоянным весом считается совершенным применительно к обнаружению ошибок, так как он обнаруживает все ошибки. Полностью асимметричным является канал, в котором имеет место только один вид ошибок, т.е. возможно только преобразование нулей в единицы либо только единиц в нули.
В двоичном симметричном канале (канал, в котором оба вида ошибок равновероятны) коды с постоянным весом обнаруживают все возможные сочетания нечетного числа ошибок, из которых они не выявляют только те, при которых преобразование нуля в единицу на одних позициях компенсируется преобразованием единиц в нули на других. Кроме того, при заданной длине кодового слова оптимальный код с постоянным весом имеет обычно больше разрешенных комбинаций, чем разделимый код с эквивалентной обнаруживающей способностью. Основной недостаток кода с постоянным весом - его неразделимость.
|
|
При использовании кода с постоянным весом прежде всего определяется основной алфавит системы. Затем выбирается код, имеющий достаточное количество кодовых слов. Далее каждой букве алфавита сопоставляется кодовое слово с постоянным весом.
Следовательно, при построении n-разрядного кода с постоянным весом отношение единиц m к количеству нулей (n-m) выбирается таким, чтобы обеспечивалось необходимое количество “разрешенных” комбинаций. Общее количество комбинаций может быть найдено как число сочетаний из n элементов по m: .
Известно, что для любого числа элементов справедливо соотношение: (1).
Максимальное число "разрешенных" кодовых комбинаций для элементов кода с постоянным весом с учетом соотношения (1) выражениями:
при n нечетном;
при n четном.
Очевидно, что во всех остальных случаях, когда
при n нечетном,
при n четном, количество “разрешенных” комбинаций уменьшается.
Например, при применении кода “3 из 7” с количество комбинаций во всех остальных случаях это количество меньше (). Поэтому из числа возможных (N= ) отбирается 35 кодовых комбинаций, которые используются в качестве “разрешенных”. Остальные 93 комбинации являются “запрещенными”. Избыточность рассмотренного кода .
Другим примером кода с постоянным весом может служить код “4 из 8”. Этот 8-элементный код обеспечивает 256 возможных комбинаций, из которых используются только комбинации, содержащие 4 единицы и 4 нуля. Данному коду присущи те же ограничения и такая же избыточность, что и коду "3 из 7", хотя количество используемых комбинаций в нем .
|
|
Декодирование принятых комбинаций кода с постоянным весом сводится к определению их веса. Если вес отличается от заданного, то это означает, что комбинация принята с ошибкой. При проверке на постоянство веса могут быть обнаружены ошибки любой кратности, за исключением ошибки "сдвига", когда одна из единиц комбинации преобразуется в нуль, а один из нулей - в единицу.
Однако несмотря на простоту, преимущества кодов с постоянным весом невелики. Такие коды используются только в системах, обнаруживающих ошибки. По сравнению с кодом с проверкой на четность для обеспечения той же способности обнаружения ошибок им необходима большая избыточность.
Код "3 из 7" широко применяется при частотной манипуляции в каналах декаметрового диапазона, для которого характерны селективные замирания.