Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Витерби.doc
Скачиваний:
1
Добавлен:
19.08.2019
Размер:
508.93 Кб
Скачать

2.2 Алгоритм сверточного декодирования Витерби в метрике Хэмминга

Для того чтобы процесс декодирования СК по алгоритму Витерби был лучше понятен, следует начать с ознакомления со структурной схемой декодера Витерби, которая приведена на рис. 2.4.

Преимущество изучаемого алгоритма декодирования для двоичного сверточного кода скорости R = 1/2 по сравнению с другими заключается в том, что программная или микросхемная реализация декодера Витерби является весьма несложной.

Как видно из рис. 2.4 декодирование НСК начинается с вычисления меры схожести принятых кодовых слов (v1 v2)i со всеми возможными кодовыми двухбитовыми словами кодера (z1 z2)i , т. е. 00, 10, 01 и 11. Такая процедура называется вычислением метрик ветвей (МВ), что соответствует весам по Хеммингу ветвей РД декодера. Здесь следует напомнить, что v1 = z1 (1 или 0) и v2 = z2 (1 или 0),где формирование 1 зависит от вероятности ошибки в двоичном симметричном канале (ДСК) (см. рис. 2.8).

Для примера положим, что в некоторый момент времени принято кодовое слово (v1 v2)i = 01, тогда метрики ветвей будут иметь следующие значения

(01 00) = 01 МВ00 = 0 + 1 = 1,

(01 10) = 11 МВ10 = 1 + 1 = 2,

(01 01) = 00 МВ01 = 0 + 0 = 0,

(01 11) = 10 МВ11 = 1 + 0 = 1.

Рисунок 2.4 – Структурная схема декодера Витерби для кода (7, 5):

ДМ – демультиплексор, формирующий с учетом внутренних синхронизирующих импульсов кодовые слова (v1 v2); МВ00, МВ01, МВ10 и МВ11 – блоки вычисления метрик ветвей по принятым кодовым словам (v1 v2); УВМС – устройство вычисления МС решетчатой диаграммы декодера и формирования двоичных управляющих сигналов Q00, Q10, Q01, Q11 для определения выжившего пути; ДЗУ – декодирующее запоминающее устройство с 2 = 4 последовательными регистрами сдвига; УТС – устройство тактовой синхронизации демультиплексора и всех блоков декодера; ВУ – выходное устройство декодера, регистрирующее значения декодированных битов.

По сути, МВ00, МВ10, МВ01, МВ11 соответствуют коэффициентам меры схожести между принятым кодовым словом (v1 v2)i и каждым из возможных кандидатов переданных кодовых слов (z1 z2)i. При этом наибольшая схожесть соответствует наименьшему значению расстояния по Хэммингу.

Важной особенностью РД декодера по сравнению с РД кодера является то, что в ней ветви (ребра) решетки отображают расстояния по Хэммингу между принятыми кодовыми словами (v1 v2)i и соответствующими возможными кодовыми словами кодера (z1 z2)i, т. е. являются МВ принятых из канала кодовых слов.

На рис. 2.5 а) приведен фрагмент решетки кодера кода (7, 5) на интервале 0 с указанными кодовыми словами ветвей на выходе кодера (z1 z2), на рис. 2.5 б) показан фрагмент решетчатой диаграммы декодера Витерби со значениями метрик ветвей при (v1 v2)i = 01, а на рис. 2.5 в) приведен фрагмент обратной “реверсной” РД ДЗУ.

Арифметическая сумма метрик предыдущих состояний w00(i – 1),

w10(i – 1), w01(i – 1), w11(i – 1) и метрик ветвей МВ00, МВ10, МВ01, МВ11, приходящих в данный момент в каждый узел решетки с учетом выбора минимального значения из двух ветвей, дает значение метрик состояний (МС) узлов решетки декодера. Процесс определения значений МС осуществляется процессором декодера, то есть УВМС.

Рисунок 2.5 – Фрагменты решетчатых диаграмм кодера, декодера и

структуры декодирующего запоминающего

устройства кода (7, 5)

Ниже, по результатам компьютерного моделирования РД декодера, на рис. 2.6 приведены вычисленные значения МС для случая, когда информационная последовательность представляет собой чередующиеся единицы и нули “точки” и в канале под действием помех образовались однократная ошибка при i = 6 и двукратная при i = 12.

Сумма МВ и значений предыдущих МС узлов решетки, проходящих по различным направлениям РД декодера, образует метрику пути (МП). В результате декодирования, когда просматриваются возможные переходы по РД на интервале времени N0, в ней может быть образовано 2( + N) путей, имеющих на каждом шаге различные состояния узлов решетки. Среди этого множества путей существует один путь, который называется выжившим. Характерной чертой выжившего пути являются минимальные значения МС, что соответствует минимуму расстояния по Хэммингу кодовых слов по переходам РД декодера (x1 x2)i в сравнении с принятыми кодовыми словами (v1 v2)i

N

Σ { (x1 x2)i (v1 v2 )i } = min d(XN, VN) .

i = 0

В качестве примера на рис. 2.7 показан выбор по РД декодера наилучшего пути на интервале 100 из двух возможных путей X(1) и X(2) в сравнении с принятой последовательностью кодовых слов (v1 v2 )i.

Первый путь X(1) по РД проходит по узлам решетки с состояниями

w00 w10w11 w11w01w00w10 w01 w00w00 w10.

Второй альтернативный путь X(2), образовавшийся в результате однократной ошибки на четвертом такте, который после разветвления и до слияния на тактах 4 и 7, проходит по узлам решетки декодера с состояниями

w00 w10w11w11w01 w10w11 w01 w00w00 w10.

ai 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

z1z2 00 00 11 10 00 10 00 10 00 10 00 10 00 10 00 10 00 10 00 10

wo 00 00 00 00 00 00 10 00 00 00 00 00 11 00 00 00 00 00 00 00

v1v2 00 00 11 10 00 10 10 00 00 10 00 10 11 01 00 10 00 10 00 10

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Рисунок 2.6 – Пример РД с вычисленными программным способом

значений МС узлов решетки

Здесь: ai – информационная последовательность; z1 z2 – кодовые слова на выходе кодера; wo – векторы ошибок; v1 v2 – декодируемая последовательность кодовых слов на выходе демодулятора; i – отсчеты дискретных моментов времени; w00 , w10 , w01 , w11 – метрики состояний кодовой решетки декодера Витерби.

Суммарная по Хеммингу метрика пути X(1), как сумма метрик ветвей равна 6, а метрика пути X(2) равна 7. Последовательность X(1) имеет меньший вес и поэтому может быть декодирована верно. И действительно, сравнивая пути по РД декодера X(1) и X(2) с канальными символами на входе декодера (v1 v2 )i, которые приведены на рис.2.7, получаем

d [X(1), (v1 v2 )i] = 1 и d [X(2), (v1 v2 )i] = 3 .

Таким образом, согласно меры расстояния по Хэммингу или меры правдоподобия, следует отдать предпочтение пути X(1), как наиболее вероятному отображению переданных кодером кодовых слов (z1 z2)i. При этом, считывая кодовые слова по каждому переходу РД декодера, однократная ошибка на пятом такте исправляется декодером Витерби, т.к. выживший переход из состояния w01 в w00 согласно РД соответствует кодовому слову 11.

(z1, z2)i  11 01 10 01 11 11 10 11 00 11

(v1, v2)i  11 01 10 01 10 11 10 11 00 11

i  0 1 2 3 4 5 6 7 8 9 10

w00  1

0 1 1 1

w10

1 1

w01  0 1 1

w11  0 2

0

X(1)  11 01 10 01 11 11 10 11 00 11

X(2)  11 01 10 01 10 01 01 11 00 11

Рисунок 2.7 – Выбор оптимального пути по РД декодера

После того, как процессор с учетом минимальных значений МС определяет путь по РД декодера с возможными разветвлениями при появлении ошибок, декодирующее запоминающее устройство (ДЗУ) формирует по мере корректирующей способности кода df не разветвляющуюся канальную последовательность (x1 x2)i. Это достигается благодаря тому, что электронная решетчатая диаграмма ДЗУ представляет собой зеркальное отображение РД декодера, что показано на рис. 2.5 в).

ai 0 0 1 0 1 0 0 1 1 1 1 0 1 0 0 0 1 1 1 0 0 1 0 0

z1 z2 11 00 11 10 00 10 11 11 01 10 10 01 00 10 11 00 11 01 10 01 11 11 10 11

wo 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00

v1 v2 11 00 11 10 00 10 11 11 01 10 10 01 00 10 11 00 10 01 10 01 11 11 10 11

i 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

w00 0 0 2 3 2 3 0 2 3 3 3 3 2 3 0 0 1 2 3 3 1 3 4 1

w10 2 2 0 3 0 3 2 0 3 3 3 3 0 3 2 2 1 2 3 3 3 1 4 3

w01 3 3 3 0 3 0 3 3 2 2 2 0 3 0 3 3 2 3 2 1 4 4 1 4

w11 3 3 3 2 3 2 3 3 0 0 0 2 3 2 3 3 3 1 1 3 4 4 3 4

a)

j 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10

---------------------------- ДЗУ ------------------------------------­- выход RS триггера

D0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0

D1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 1

D2 0 1 0 0 0 0 0 1 0 1 0 0 0 0 0 1 0

D3 0 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 1

-^--------------------------------------------------------------------------^-

б)

Сигнал от датчика ПСП-63: 0010100111101000111001001 выходные биты

Сигнал на выходе декодера Витерби: 0010100111101000111001001 декодера

Рисунок 2.8 – Иллюстрация процесса декодирования

по максимуму правдоподобия

а) траектория выжившего пути в РД декодера; б) траектория по электрической “гальванической”цепи декодирования в обратной РД ДЗУ

Для облегчения понимания процесса декодирования по алгоритму Витерби на рис. 2.8 а) показано программно вычисленное распределение значений МС узлов решетки декодера, где предполагаемый выживший путь показан стрелками.

На рис. 2.8 б) приведена распечатка двоичных сигналов на выходах логических элементов D00, D10, D01 и D11 ДЗУ с учетом действия управляющих сигналов процессора Q00, Q10, Q01, Q11. Здесь единичные состояния отображают электрическую цепь выжившего пути при кратности ошибки q ≤ 0,5(df -1) в реверсном направлении j (24, 23, 22, .. , 12,11, 10). На этом рисунке траектория выжившего пути по РД ДЗУ так же показана стрелками. На такте i = 20 в результате действия помехи происходит разветвление выжившего пути с нулевыми значениями МС в прямом направлении, однако, в реверсном направлении, невзирая на это продолжение выжившего пути идет по верному направлению.

Для общего представления, на рис. 2.п приведена траектория пути по РД декодера кода (35, 23).

Алгоритм Витерби применительно к сверточным кодам в своей основе является весьма простым. Сверточные коды прочно вошли в технику помехоустойчивого кодирования в системах передачи данных, в системах космической связи и цифровом телевидении.