Главная страница
Навигация по странице:

  • 10.3 Математическое введение к линейным кодам

  • Построение групповых кодов 11.1 Понятие корректирующей способности кода

  • 11.2 Общая схема построения группового кода

  • 11.3 Связь корректирующей способности с кодовым расстоянием

  • 11.4 Построение опознавателей ошибок

  • 11.5 Определение проверочных равенств и уравнений кодирования

  • Лекции по теории информации. Фурсов teoria_informacii. Лекции по теории информации под редакцией Н. А. Кузнецова


    Скачать 1.32 Mb.
    НазваниеЛекции по теории информации под редакцией Н. А. Кузнецова
    АнкорЛекции по теории информации
    Дата17.04.2022
    Размер1.32 Mb.
    Формат файлаpdf
    Имя файлаФурсов teoria_informacii.pdf
    ТипЛекции
    #480820
    страница10 из 16
    1   ...   6   7   8   9   10   11   12   13   ...   16
    10.2 Общие принципы построения помехоустойчивых кодов
    Повышение достоверности передачи и хранения информации достигается введением избыточности (дополнительных символов). При выборе этих симво- лов используются условия, проверка которых при декодировании дает возмож- ность обнаруживать и исправлять ошибки. Коды, обладающие этим свойством, называют помехоустойчивыми.
    Обычно указанные условия связаны с алгебраической структурой кода, при этом соответствующий код называют алгебраическим. Алгебраические ко- ды могут строиться как блоковые или непрерывные. В случае блоковых кодов процедура кодирования заключается в сопоставлении
    k
    информационным сим- волам, соответствующих кодируемому знаку, блока из
    n
    символов. Если
    n
    по- стоянно для всех знаков кодируемого сообщения, блоковый код называют рав- номерным.
    Предположим, что на вход кодирующего устройства поступает последова- тельность из
    k
    (соответствующих кодируемому знаку) информационных сим- волов, которые преобразуются в кодовую комбинацию из
    n
    символов, причем
    n
    k

    . Всего возможно
    2
    k
    различных входных и
    2
    n
    выходных последователь- ностей. Среди указанных выходных последовательностей только
    2
    k
    так назы- ваемых разрешенных последовательностей, соответствующих входным инфор- мационным последовательностям. Остальные
    2 2
    n
    k

    комбинаций являются за-
    прещенными. Ясно, что любая из
    2
    k
    разрешенных комбинаций может быть трансформирована помехой в любую из
    2
    n
    комбинаций. При этом возможны следующие случаи;
    1)
    2
    k
    случаев безошибочной (неискаженной) передачи;

    90 2)
    2 (2 2 )
    k
    n
    k

    случаев, когда разрешенные комбинации помехой трансфор- мируются в запрещенные, но обнаруживаемые;
    3)
    2 (2 1)
    k
    k

    случаев перехода в другие разрешенные комбинации. Такие ошибки не могут быть обнаружены.
    Поскольку всего случаев передачи
    2 2
    k
    n

    , относительное число обнаружи- ваемых ошибок (вероятность обнаружения ошибки) составит
    2 (2 2 )
    1 1
    2 2 2
    k
    n
    k
    k
    n
    n k
    p



     
    Нетрудно заметить, что при
    n  
    вероятность обнаружения ошибки стремит- ся к единице. Из соображений простоты реализации число
    n
    k

    проверочных разрядов, характеризующих избыточность кода, ограничивают.
    Избыточность является одной из основных характеристик помехоустойчи- вого кода. Относительную избыточность определяют как
    1
    n
    k
    R
    n


    или
    n
    k
    R
    k



    При
    n  
    предельное значение
    1
    R равно 1, а R

    – бесконечности.
    Процедуры определения проверочных символов обычно строятся как ли- нейные операции над определенными информационными символами. Поэтому эти коды называют линейными.
    10.3 Математическое введение к линейным кодам
    Кодовые комбинации можно рассматривать как элементы некоторого множества. Множество элементов, в котором определена одна основная опера- ция, выполняются аксиомы замкнутости и ассоциативности, имеется нулевой
    (если основная операция – сложение) или единичный (если основная операция
    – умножение) и для всякого элемента существует противоположный (обрат- ный) элемент называется группой.
    Если основная операция коммутативна, группа называется коммутатив-
    ной или абелевой. Число элементов в конечной группе называют порядком группы. Для построения двоичных кодов используется коммутативная опера-

    91 ция сложения по модулю 2, при выполнении которой число разрядов кода не увеличивается. Поэтому множество
    n
    -разрядных комбинаций двоичного кода является конечной абелевой группой.
    Подмножество группы, само являющееся группой относительно операции, заданной в группе, называют подгруппой. Пусть в абелевой группе задана подгруппа и элемент
    j
    b
    . Множество элементов, образованное как суммы
    (по модулю 2) элемента
    j
    b
    с каждым из элементов подгруппы :


    ,
    j
    j
    b
    b
    a a





    называется смежным классом, а сам элемент
    j
    b

    образующим элементом. Задавая образующие элементы группы так, чтобы они не входили в уже образованные классы, можно разложить всю группу на смеж- ные классы по подгруппе .
    Заметим, что в соответствии с теоремой Шеннона любой метод кодирова- ния можно рассматривать, как правило разбиения множества запрещенных ко- довых комбинаций на
    2
    k
    непересекающихся подмножества, в каждом из кото- рых лишь одна разрешенная комбинация. Операция разложения на классы смежности указывает формальное правило такого разбиения.

    92
    Лекция 11
    Построение групповых кодов
    11.1 Понятие корректирующей способности кода
    Кодовое расстояние
    d
    выражается числом символов, в которых последо- вательности отличаются друг от друга. Для определения кодового расстояния между двумя комбинациями двоичного кода достаточно сложить их по модулю
    2, и подсчитать число единиц в полученном результате. Минимальное расстоя- ние, подсчитанное по всем парам разрешенных кодовых комбинаций, называют
    минимальным кодовым расстоянием данного кода.
    Вес (Хэмминга) кодовой последовательности определяется как число нену- левых компонент этой последовательности. Ясно, что кодовое расстояние меж- ду двумя последовательностями равно весу некоторой третьей последователь- ности, являющейся их суммой, которая (в силу свойства операции сложения по модулю два) также обязана быть последовательностью данного кода. Следова- тельно, минимальное кодовое расстояние для линейного кода равно минималь- ному весу его ненулевых векторов.
    Вектором ошибок называют
    n
    -разрядную двоичную последовательность, содержащую единицы в разрядах, подверженных ошибкам, и нули в остальных разрядах. Любая искаженная комбинация может рассматриваться как результат сложения по модулю 2 исходной разрешенной комбинации и вектора ошибки.
    Число
    r
    искаженных символов кодовой комбинации называют кратно-
    стью ошибки. При кратности ошибок
    r
    всего может быть
    r
    n
    C
    n
    -разрядных двоичных векторов ошибок. Ошибки символов, при которых вероятность появ- ления любой комбинации зависит только от числа
    r
    искаженных символов и вероятности
    p
    искажения одного символа, называют взаимно независимыми.
    При взаимно независимых ошибках вероятность искажения любых
    r
    символов в
    n
    -разрядной кодовой комбинации


    1
    n r
    r
    r
    r
    n
    p
    C p
    p




    93
    Корректирующая способность кода характеризуется значениями кратно- сти
    r
    ошибок, которые обнаруживаются, и кратностью
    s
    ошибок, которые мо- гут исправляться корректирующим кодом. Подчеркнем, что конкретный кор- ректирующий код не обязан исправлять любую комбинацию ошибок. Он может обнаруживать и исправлять лишь ошибки заданной кратности, которые прини- мались в расчет при его построении.
    11.2 Общая схема построения группового кода
    Исходными данными для построения группового кода являются: объем кода
    Q
    (количество передаваемых дискретных сообщений) и заданная коррек- тирующая способность. Задача заключается в определении числа разрядов
    n
    кода и правила формирования проверочных разрядов.
    Количество информационных разрядов
    k
    по заданному
    Q
    определяется из условия
    2 1
    k
    Q
     
    (11.1)
    (здесь учтено, что нулевая комбинация обычно не используется, т.к. не изменя- ет состояния канала связи). Далее каждой из этих
    2 1
    k

    ненулевых информаци- онных последовательностей необходимо поставить в соответствие
    n
    - разрядный избыточный код (разрешенную комбинацию).
    Множество
    2
    k
    n
    -разрядных разрешенных комбинаций (вместе с нулевой) образует подгруппу группы всех
    2
    n
    n-разрядных комбинаций. Разложим группу на смежные классы по этой подгруппе. В качестве образующих элементов смежных классов примем векторы ошибок, которые мы намерены исправлять.
    Если, например, ставится задача исправлять все одиночные ошибки (крат- ность
    1
    s
    ), то в качестве образующих элементов должны быть взяты
    n
    разных векторов, содержащих по одной единице в одном из
    n
    разрядов. Если кроме одиночных необходимо исправлять также все двойные ошибки (кратность
    2
    s
    ), то добавится
    2
    s
    n
    n
    С
    С

    векторов ошибок (образующих элементов классов) и т.д.

    94
    Кроме самой подгруппы разрешенных комбинаций в результате разложе- ния группы всех n-разрядных комбинаций может быть образовано
    2 1
    n k


    не- пересекающихся смежных классов. Если число подлежащих исправлению век- торов ошибок не превышает числа смежных классов, каждому из них можно поставить в соответствие некоторый класс смежности. Таким образом, для того чтобы обеспечивалась возможность определения и исправления ошибок крат- ности до s включительно, в общем случае должно выполняться неравенство
    1 2
    2 1
    n k
    s
    n
    n
    n
    С
    С
    С

     



    или
    0 2
    s
    n k
    i
    n
    i
    С




    (11.2)
    В соответствии с (11.2) число разрядов корректирующего кода, предназначен- ного для исправления ошибок кратности
    s
    , определяется неравенством:
    2 0
    log
    s
    i
    n
    i
    n
    k
    C




    (11.3)
    Для исправления ошибок необходимо определить, какому классу смежно- сти принадлежит принятая кодовая последовательность, а затем соответствую- щий этому классу образующий элемент (вектор ошибки) сложить (по модулю два) с принятой последовательностью. Для определения класса смежности каж- дому из них ставится в соответствие последовательность
    n
    k

    символов, назы- ваемая опознавателем или синдромом. Исправление ошибок возможно лишь при взаимнооднозначном соответствии между множеством смежных классов
    (векторов ошибок) и множеством опознавателей.
    11.3 Связь корректирующей способности с кодовым расстоянием
    Обычно декодирование осуществляется таким образом, что любая приня- тая запрещенная кодовая комбинация отождествляется с разрешенной комби- нацией, находящейся от неё на минимальном кодовом расстоянии. Если мини- мальное кодовое расстояние данного кода
    1
    d
    , т.е. все комбинации кода яв- ляются разрешенными, то обнаружить ошибку не удастся. Если
    2
    d
    , то удаст- ся обнаружить единичную ошибку и т.д. В общем случае при необходимости

    95 обнаружения ошибки кратности до
    r
    включительно, минимальное кодовое рас- стояние должно удовлетворять условию min
    1
    d
    r
      .
    (11.4)
    Для исправления ошибок кратности
    s
    , в соответствии с описанной в раз- деле 11.2 общей схемой построения группового кода, каждой разрешенной ко- довой комбинации необходимо поставить в соответствие подмножество запре- щенных комбинаций так, чтобы эти подмножества не пересекались. Для этого должно выполняться неравенство min
    2 1
    d
    s

     .
    (11.5)
    Число комбинаций, расположенных на расстоянии i от заданной разрешенной, равно
    i
    n
    C
    . Следовательно, при выполнении условия (11.5) число исправляемых ошибок будет равно числу запрещенных комбинаций, находящихся в подмно- жестве, соответствующем разрешенной комбинации:
    1
    s
    i
    n
    i
    C


    Для исправления ошибок кратности
    s
    и одновременного обнаружения всех ошибок кратности
    r
    ( r
    s
     ) минимальное кодовое (хэммингово) расстоя- ние должно удовлетворять неравенству min
    1
    d
    r
    s
       .
    (11.6)
    Дадим геометрическую трактовку приведенным выше соотношениям.
    Любая
    n
    -разрядная двоичная кодовая комбинация может быть интерпре- тирована как вершина
    n
    -мерного гиперкуба с длиной ребра равной 1. Напри- мер, при
    2
    n
    это квадрат, при
    3
    n
    – единичный куб. В общем случае
    n
    - мерный гиперкуб содержит
    2
    n
    вершин, что совпадает с возможным числом
    n
    - разрядных двоичных кодовых комбинаций.
    Кодовое расстояние можно интерпретировать, как наименьшее число ре- бер, которое надо пройти, чтобы попасть из одной разрешенной комбинации в другую. В подмножество каждой разрешенной комбинации в соответствии с
    (11.5) относят все вершины, оказавшиеся в сфере радиуса


    1 2
    s
    d


    (11.7)

    96
    Если в результате действия шума разрешенная комбинация переходит в точку, принадлежащую сфере, то она может быть исправлена.
    11.4 Построение опознавателей ошибок
    В соответствии с общей схемой построения группового кода, каждой из
    2 1
    k

    ненулевых информационных последовательностей ставится в соответст- вие
    n
    -разрядная разрешенная кодовая комбинация, в которой
    n
    k

    символов проверочные. Они должны быть заполнены опознавателями так, чтобы имело место взаимнооднозначное соответствие множеств исправляемых ошибок
    (классов смежности) и опознавателей.
    Предположим, что двоичный код, предназначенный для исправления всех ошибок кратности до
    s
    включительно, построен так, что в (11.2), (11.3) имеет место равенство:
    1 2
    1
    s
    n k
    i
    n
    i
    C


     

    В частности, если исправлению подлежат только одиночные ошибки, имеем
    2 1
    n k
    n

     
    Этому равенству удовлетворяют, например,
    7
    n
    и
    4
    k
    . Для указанных зна- чений можно построить
    3 7
    4 2
    2 1 2 1 7
     
     
    классов смежности. Каждому из этих 7-ми классов смежности можно поставить в соответствие трехразрядный опознаватель вектора ошибки. В данном случае в качестве опознавателей мож- но взять двоичные числа, указывающие номер разряда, в котором произошла ошибка (таблица 11.1).
    При построении опознавателей ошибок более высокой кратности (векторы ошибок имеют единицы в нескольких разрядах) их можно строить как суммы по модулю два опознавателей одиночных ошибок. При этом, (выбирая очеред- ной опознаватель одиночной ошибки в следующем разряде), необходимо

    97 следить за тем, что очередная кодовая комбинация и формируемые с ее ис- пользованием опознаватели векторов ошибок более высокой кратности еще не использованы в качестве опознава- телей одиночных и кратных ошибок в предшествующих разрядах.
    Такую проверку необходимо делать при пере- ходе к одиночной ошибке каждого следующего разряда.
    Заметим, что при использовании указанной процедуры формирования опо- знавателей для составления проверочных равенств, о которых пойдет речь в следующем разделе, достаточно знать лишь опознаватели одиночных ошибок в каждом разряде.
    11.5 Определение проверочных равенств
    и уравнений кодирования
    Как указывалось выше, для обеспечения возможности исправления оши- бок на этапе построения кода необходимо обеспечить взаимнооднозначное со- ответствие между множеством векторов ошибок, смежных классов и множест- вом опознавателей.
    На этапе декодирования процедура определения символов опознавателя реализуется с использованием так называемых проверочных равенств как про- верка на четность. При отсутствии ошибок в декодируемой последовательности в результате всех проверок на четность, должен получиться опознаватель из одних нулей. При наличии ошибок в соответствующих разрядах опознавателя появляются единицы. Рассмотрим общие принципы построения проверочных равенств и уравнений кодирования. Для наглядности изложение проведем на примере построенного выше кода (7,4), который носит исключительно иллюст- ративный характер.
    Таблица 11.1
    Вектор ошибки
    № разряда
    Опозна- ватель
    0000001 0000010 0000100 0001000 0010000 0100000 1000000 1
    2 3
    4 5
    6 7
    001 010 011 100 101 110 111

    98
    Разряды, которые должны входить в каждую из проверок на четность оп- ределяются по таблице опознавателей (таблица 11.1). В коде (7,4) число прове- рочных разрядов, а, следовательно, и проверочных равенств должно быть три:
    7 4
    3
    n
    k

      
    В данном случае в качестве опознавателей взяты двоичные коды номеров разрядов, в которых произошла ошибка. Каждое проверочное равенство стро- ится по значениям символов в соответствующем этому равенству разряде опо- знавателей. Единица в первом (младшем) разряде опознавателя является след- ствием ошибки в одном из следующих разрядов: 1, 3, 5, 7; поэтому в качестве первого проверочного равенства можно взять
    1 3
    5 7
    0
    a
    a
    a
    a



     .
    (11.8)
    Единица во втором разряде опознавателей является следствием ошибки в одном из следующих разрядов: 2, 3, 6, 7. Поэтому второе проверочное равенст- во определяется как
    2 3
    6 7
    0
    a
    a
    a
    a



     .
    (11.9)
    Аналогично, единица в третьем разряде опознавателей является следстви- ем ошибки в одном из следующих разрядов: 4, 5, 6, 7; т.е. третье проверочное равенство можно записать в виде:
    4 5
    6 7
    0
    a
    a
    a
    a



     .
    (11.10)
    Номера проверочных разрядов целесообразно выбирать так, чтобы каждый из них входил только в одно проверочное равенство (11.8)-(11.10). Это обеспе- чит однозначное определение значений символов в проверочных разрядах при кодировании:
    1 3
    5 7
    2 3
    6 7
    4 5
    6 7
    a
    a
    a
    a
    a
    a
    a
    a
    a
    a
    a
    a














    (11.11)
    В данном случае проверочными будут первый, второй и четвертый разряд, ко- торые заполняются на этапе формирования разрешенных комбинаций в соот- ветствии с уравнениями кодирования (11.11).

    99
    В рассматриваемом примере min
    3
    d
     , поэтому в соответствии с (11.4),
    (11.5) данный код может использоваться либо для обнаружения единичных и двойных ошибок, либо для исправления одиночных ошибок. Из таблицы 11.1. видно, что сумма любых двух опознавателей единичных ошибок дает ненуле- вой опознаватель, который и может использоваться для обнаружения двойной ошибки.
    Для того, чтобы одновременно исправлять одиночные и обнаруживать двойные ошибки необходимо в соответствии с (11.6) построить код с min
    4
    d
     , например, путем добавления еще одного (8-го разряда) для дополнительной проверки на четность.

    100
    Лекция 12
    1   ...   6   7   8   9   10   11   12   13   ...   16


    написать администратору сайта