Главная > Помехоустойчивое кодирование > Кодирование с исправлением ошибок в системах цифровой связи
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

6.6. Соображения о реализации

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

Структурная блок-схема общего декодера Витерби показана на рис. 6.20. На вход декодера поступает последовательность -разрядных двоичных чисел, представляющих последовательные значения на выходе демодулятора с квантованием на уровней; декодер выдает декодированную последовательность информационных символов. Декодер содержит:

1) синхронизатор, который поставляет информацию о синхронизации ребер и при необходимости определяет также правильную полярность бита;

2) устройство для вычисления метрики, соответствующей каждому принятому кодовому ребру;

Рис. 6.20. Структурная схема декодера максимального правдоподобия

3) устройство для обновления, сравнения и хранения метрик путей, в котором происходит сложение метрик ребер с хранящимися метриками путей, проделываются необходимые сравнения и запоминаются новые метрики путей;

4) устройство для обновления и хранения гипотетических информационных последовательностей;

5) выходное решающее устройство, определяющее выходную последовательность декодера, а также поставляющее информацию синхронизатору.

Вообще говоря, каждое устройство этого декодера может быть реализовано с помощью параллельных или последовательных логических элементов, в зависимости от требуемой операционной скорости и используемой серии логических элементов. Для полностью параллельных элементов типа ТТЛ (транзисторно-транзисторная логика), которая была доступна в 1979—1980 гг., практически достижимый верхний предел для скорости поступления информации составляет примерно Существенного увеличения скорости информации можно достичь, используя логические элементы с эмиттерными связями (ЭСЛ); однако число требуемых интегральных микросхем при этом существенно больше, чем при использовании схем типа ТТЛ, поскольку число различных схем средней степени интеграции в настоящее время существенно меньше. С появлением новых серий логических элементов ситуация быстро меняется, так что наибольшая практически достижимая скорость поступления информации, несомненно, будет расти.

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

6.6.1. Синхронизатор

Синхронизатор является устройством, определяющим начала ребер в принимаемой последовательности символов [т. е. отличающей от на рис. 6.1], а при необходимости — и

полярность принятого символа. Общие сверточные коды обладают тем свойством, что для осуществления синхронизации не нужно добавлять информацию к переданной последовательности символов, поскольку при отсутствии правильной синхронизации принятые данные представляются имеющими дополнительные ошибки. Работа синхронизатора требует лишь указания на то, что входная последовательность содержит существенно большее число ошибок, чем обычно. Для этого можно использовать различные методы, и почти каждый из методов обнаружения ошибок пригоден для этой цели. Один из методов, имеющий несколько разновидностей, состоит в том, чтобы следить за скоростью роста метрик путей. Второй метод основан на использовании свойств решетки. Точнее, в случае, когда декодер рассинхронизирован, выжившие пути в декодере сливаются существенно медленнее, чем при синхронизированном декодере. Это условие легко проверяется.

При использовании ФМ имеется опасность спутать полярность принятых символов канала. Эту опасность можно преодолеть одним из двух способов. Прежде всего, можно использовать так называемый прозрачный код. Если все порождающие многочлены кода имеют нечетный вес, то говорят, что код является прозрачным по отношению к инверсии фазы. Это означает, что последовательность на входе кодера, состоящая сплошь из символов 1, порождает последовательность на выходе кодера, также целиком состоящую из символов 1 (после первых ребер). В этом случае обращение полярности всех символов на входе декодера приводит лишь к обращению полярности символов на выходе декодера (после начального просмотра первых ребер).

При использовании кодов такого типа сверточную систему кодирования-декодирования следует дополнить разностным (относительным) кодированием-декодированием, как показано на рис. 6.21. Это приводит к правильной полярности декодированных данных. Разностный кодер отображает последовательность данных в последовательность в которой полярность символа, соответствующего символу 1 в меняется по сравнению с предыдущим, а полярность символа, соответствующего символу 1 в остается неизменной. Если в канале не меняется полярность

Рис. 6.21. Прозрачный сверточный код при разностном кодировании и декодировании

передаваемой последовательности, то восстановленная последовательность совпадает с исключением ошибок декодирования) и совпадает, конечно, с Если в канале меняется полярность передаваемых данных, то при использовании прозрачного кода гарантируется, что последовательность дополнительна к Однако ввиду разностного кодирования исходных данных последовательность будет совпадать с Таким образом, при использовании прозрачного кода синхронизатор не определяет полярность символов: это делается автоматически в разностном декодере. Заметим, что такой декодер вызывает распространение ошибок (одна ошибка декодирования приводит к двум ошибкам на выходе разностного декодера.) Соответствующее ухудшение составляет

При использовании непрозрачных кодов входная последовательность, состоящая целиком из единиц, уже не приводит к аналогичной выходной последовательности. Поскольку слово, состоящее из единиц, не является кодовым, то изменение полярности всех символов на входе декодера приводит к слову, не являющемуся кодовым. В результате в принятых данных возникают дополнительные ошибки. Эта ситуация вновь может быть легко обнаружена. В типичных случаях (при применение такой схемы не влечет ухудшения характеристик, свойственного разностному кодированию.

<< Предыдущий параграф Следующий параграф >>
Оглавление