Материал: 636_Nosov_V.I._Seti_radiodostupa_CH.1_

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

Показанный алгоритм восстанавливает принятый полином Z(X), выдавая

ˆ

и в конечном счете,

в итоге предполагаемое кодовое слово T X

декодированное сообщение.

Поскольку символы сообщения содержатся в крайних правых k = 3 символах, декодировано будет следующее сообщение

 

 

 

010

010

010

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

3

 

 

5

 

 

 

 

 

 

 

 

 

ˆ

 

ˆ

 

 

 

ˆ

 

 

 

 

 

 

 

 

 

 

 

 

T ( X )

Z ( X ) E( X ) T ( X ) E( X ) E( X ),

 

 

 

 

 

 

 

 

 

Z ( X )

(100)

(001) X

(011) X 2

(100) X 3

(101) X 4

(110) X 5

 

(111) X 6 ,

 

ˆ

(000)

(000) X

(000) X

2

(001) X

3

(111) X

4

(000) X

5

(000) X

6

,

E( X )

 

 

 

 

 

ˆ

(100)

(001) X

(011) X

2

(101) X

3

 

(010) X

4

(110) X

5

(111) X

6

 

 

T ( X )

 

 

 

 

 

 

 

 

 

 

 

 

0

2 X 4 X 2

6 X 3

 

 

1 X 4

 

3 X 5 5 X 6 .

 

 

 

(4.80)

Это сообщение в точности соответствует тому, которое было выбрано для этого примера (смотри уравнение (4.44)).

Эффективность кодирования – это снижение необходимого отношения Eb/N0 для системы с кодированием по сравнению с системой без кодирования (при одном и том же виде модуляции) для достижения заданной вероятности ошибок. Часто этот параметр называют энергетическим выигрышем кода – ЭВК.

ЭВК Eb / N0 без код. Eb / N0 с код. , дБ.

(4.81)

В таблице 4.11 приведены значения ЭВК для некоторых блочных кодов при использовании в гауссовом канале модуляции BPSK, вероятности ошибки 10-5 при отношении Eb/N0.= 9,6 дБ без использования кодирования.

Таблица 4.11 Значения ЭВК блочных кодов

Тип кода

Хэмминг

Хэмминг

Хэмминг

Голея

БЧХ

БЧХ

 

а

а

а

 

 

 

Парамет

(7, 4),

(15, 1),

(31, 26),

(24, 12),

(127, 36),

(127, 64),

ры кода

t = 1

t = 1

t = 1

t = 3

t = 15

t = 10

ЭВК

0,8

1,6

1,9

2,3

2,5

3,4

 

 

 

146

 

 

 

В таблице 4.12 приведены значения требуемого отношения Eb/N0 для блочного кода Рида-Соломона при использовании в гауссовом канале модуляции 32-MFSK с возможностью коррекции t символов и n = 31.

Таблица 4.12 Значения Eb/N0

для кода Рида-Соломона

 

Значения t

1

 

2

4

8

Значения Eb/N0

6,15

 

5,65

5,35

5,9

147

5. СВЕРТОЧНЫЕ КОДЫ

Блочные коды являются одним из двух видов кодов с коррекцией ошибок, широко используемых при беспроводной передаче. Второй вид – это сверточные коды. Блочный код (п, k) обрабатывает данные блоками по k бит, генерируя на выходе блок из п бит (п > k) для каждого k -битовго блока на входе. Если прием и передача данных происходят относительно непрерывным потоком то блочный код (в частности, с большим значением п) может быть не так удобен как код, который генерирует избыточные биты непрерывно. В последнем случае обнаружение и исправление ошибок выполняется непрерывно, и именно в этом состоит преимущество сверточных кодов[8, 17, 18, 21].

Сверточный код задается тремя параметрами: п, k и К. Код (п, k, К) обрабатывает входящие данные порциями по k бит и генерирует выходную последовательность, состоящую из п бит для каждых k бит входа. До этого момента принципы работы сверточных и блочных кодов не отличаются. Для сверточных кодов п и k, как правило, являются очень малыми числами. Разница между двумя типами кодов состоит в том, что сверточные коды используют память, которая характеризуется длиной кодового ограничения К. По сути, текущая п – битовая входная последовательность кода (п, k, К) зависит не только от значений текущего входного блока, состоящего из k бит, но также и от предыдущих (К -1) k - битовых блоков. Следовательно, текущая выходная п -битовая последовательность является функцией последних (K k) входных битов.

Свѐрточный код создаѐтся прохождением передаваемой информационной последовательности через линейный сдвиговый регистр с конечным числом состояний. В общем, регистр сдвига состоит из К (k -битовых) ячеек и линейного преобразователя, состоящего из п функциональных генераторов и выполняющего алгебраические функции как показано на рисунке. 5.1.

Входные данные к кодеру, которые считаются двоичными, продвигаются вдоль регистра сдвига по k бит за раз. Число выходных битов для каждой k - битовой входной последовательности равно п. Следовательно, кодовая скорость, определѐнная как Rc = k/n, согласуется с определением скорости блочного кода. Параметр К называется длиной кодового ограничения (или кодовым ограничением) свѐрточного кода и указывает число разрядов в регистре сдвига.

5.1 Представление сверточного кодера

Чтобы иметь возможность описывать сверточный код, необходимо определить кодирующую функцию G(m) так, чтобы по данной входной последовательности m можно было быстро вычислить выходную последовательность U. Для реализации сверточного кодирования используется несколько методов; наиболее распространенными из них являются графическая

148

связь, векторы, полиномы связи, диаграмма состояния, древовидная и решетчатая диаграммы. Все они рассматриваются ниже.

Kk ячеек

1 2

k

1 2

k

1 2

k

k

 

 

 

 

 

информа

 

 

 

 

 

ционных

 

 

 

 

 

бит

 

 

 

 

 

1

2

3

n

Кодированная последовательность

Рис. 5.1 Сверточный кодер

Представление связи

При обсуждении сверточных кодеров в качестве модели будем использовать сверточный кодер, показанный на рисунке 5.2, а. На этом рисунке изображен сверточный кодер (2, 1, 3) с длиной кодового ограничения К = 3. В нем имеется п =2 сумматора по модулю 2; следовательно, скорость кодирования кода k/n равна 1/2. При каждом поступлении входной бит помещается в крайний левый разряд, а биты регистра смещаются на одну позицию вправо. Затем коммутатор на выходе дискретизирует выходы всех сумматоров по модулю 2 (т.е. сначала верхний сумматор, затем нижний), в результате чего формируются пары кодовых символов, образующих кодовое слово, связанное с только что поступившим битом. Это выполняется для каждого входного бита. На рисунке 5.2, б представлена схема сверточного кодера с параметрами (3, 2, 2).

Выбор связи между сумматорами и разрядами регистра влияет на характеристики кода. Всякое изменение в выборе связей приводит в результате к различным кодам. Связь, конечно же, выбирается и изменяется не произвольным образом. Задача выбора связей, дающая оптимальные дистанционные свойства, сложна и в общем случае не решается; однако для всех значений длины кодового ограничения, меньших 20, с помощью компьютеров были найдены хорошие коды [18].

В отличие от блочных кодов, имеющих фиксированную длину слова п, в сверточных кодах нет определенного размера блока.

149

Вход

 

 

Выход

Вход

 

 

 

 

1

Выход

 

 

 

 

 

2

 

1

2

3

 

1

2

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

а)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

б)

 

 

 

 

Рис. 5.2 Сверточный кодер (2, 1, 3) а) и (3, 2, 2) б)

Один из способов реализации кодера заключается в определении п векторов связи, по одному на каждый из п сумматоров по модулю 2. Каждый вектор имеет размерность К и описывает связь регистра сдвига кодера с соответствующим сумматором по модулю 2. Единица на i-й позиции вектора указывает на то, что соответствующий разряд в регистре сдвига связан с сумматором по модулю 2, а нуль в данной позиции указывает, что связи между разрядом регистра и сумматором по модулю 2 не существует Для кодера на рисунке 5.2,а можно записать вектор связи (генераторный полином) g1 для верхних связей, a g2 – для нижних

g1

111,

g2

101

 

в

восьмеричной

форме

(5.1)

g1

7,

g2 5

 

 

Аналогичным образом можно записать генераторные полиномы для кодера на рис. 5.2, б, учитывая, что в этом кодере каждый раз два бита поступают на вход регистров сдвига, а на выходе генерируется три бита

g1

1011,

g2

1101,

 

g3 1010,

в

восьмеричной форме

 

g1

13,

g2

15,

g3

12

 

 

 

150

 

 

Источник: https://studfile.net/preview/16709054/