Магия Электроники

Теория информации


Теория групповых кодов

Задача построения группового кода формулируется так же, как и постановка общей задачи кодирования. Ее решение начинается с очевидного этапа: с определения числа избыточных элементов по нижней границе Хемминга (формула 10). Однако построить групповой код с избыточностью, определяемой подобным образом, удается не всегда. Обычно при dmin ≤ 4 можно воспользоваться нижней границей Хемминга. В ряде случаев для достижения dmin = 5 расчетную избыточность, увеличивают на один элемент, а для достижения dmin = 7 – на два элемента.

На втором этапе решается задача записи всех требуемых M = 2m кодовых комбинаций. Можно сразу же записать нулевую кодовую комбинацию

(n = m + k), так как в группе должен быть нулевой элемент. Затем записывается некоторое число q ненулевых комбинаций. Далее, используя эти q комбинаций, построим дополнительные комбинации, применяя операцию G = mod2 к любой паре, тройке и т. д. из комбинаций a1aq. Процедуру получения дополнительных кодовых комбинаций можно формально представить так:

C1a1C2a2C3a3 ⊕ …⊕ Ciai Cqaq, (1)

где Ci = 0 или Ci= 1.

В результате все дополнительные комбинации можно считать рабочими, так как они будут новыми равноправными элементами группы.

Количество дополнительных комбинаций MДОП может быть получено в результате выполнения процедуры (1):

Общее количество рабочих комбинаций равно

Так как по условию надо иметь в коде MРАБ = 2m рабочих комбинаций, то q = m.

Для построения группового кода с параметрами MРАБ = 2m и заданным минимальным кодовым расстоянием dmin достаточно, кроме нулевой комбинации, записать q = m ненулевых, которые будут являться базовыми. Эти ненулевые комбинации a1aq, однако, нельзя выбирать произвольно. Базовые комбинации должны удовлетворять следующим условиям.

  1. Все базовые комбинации должны быть ненулевыми и различными.
  2. При реализации процедуры (1) не должны получаться исходные комбинации из числа a1aq, так как это приведет к получению a0 еще раз. То есть
  3. C1a1C2a2C3a3 ⊕ …⊕ Ciai Cqaq ≠ 0 (2)

    при любых значениях коэффициентов, кроме C1 = C2 =C3 =…= Ci =…= Cq = 0. Все базовые комбинации, удовлетворяющие условию (2), называются линейно независимыми.

  4. Так как в число рабочих комбинаций входит нулевая a0, то для получения кода с заданным значением dmin необходимо, чтобы любая базовая комбинация имела вес (вес комбинации – число единиц в ней).
  5. Число отличающихся разрядов у любой пары базовых комбинаций не должно быть меньше dmin.

Базовые кодовые комбинации, удовлетворяющие условиям 1-4, принято называть базисом группового кода и записывать в виде матрицы, строки которой являются базовыми кодовыми комбинациями:

(1)

Матрицу V называют порождающей (генераторной).

Матрица V порождает несистематический код, в котором нет четкого различения информационных и избыточных элементов, что не очень удобно для практического применения. Однако можно записать порождающую матрицу V для систематического кода, в котором первые левые m элементов будут информационными, а последующие k – избыточными.

В матрице (1) всегда можно переставить столбцы независимо друг от друга так, что на первых m позициях окажутся только информационные элементы. Расстояние dmin при этом не изменится. В итоге получим так называемую каноническую форму порождающей матрицы:

(2)

Пример

Построить групповой код с параметрами M = 8 и dmin = 3.

Определим сначала необходимое число избыточных элементов.

Код не имеет однозначной записи кодовых комбинаций.

Строки порождающей матрицы удовлетворяют условиям 1-4, и поэтому могут быть базисом кода. Дополнительные кодовые комбинации найдем суммированием по модулю два базисных:

a4 = a1a2 = 010011,

a5 = a1a3 = 011110,

a6 = a2a3 = 001101,

a7 = a1a2a3 = 101011.

Построим порождающую матрицу в каноническом виде (ее можно получить из V перестановкой столбцов):

Основной задачей, которая решается при построении группового кода, является нахождение порождающей матрицы путем подбора. Однако существуют частные разновидности групповых кодов, в которых порождающие матрицы записываются по формализованным алгоритмам. К таким кодам относятся коды Рида-Мюллера, коды на базе матриц Адамара, коды Макдональда и другие. Некоторым недостатком этих кодов является возможность получения только четного минимального кодового расстояния dmin = 2b, b = 1,2,3,….



<<Назад Выход Вверх Дальше >>


Hosted by uCoz