Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
Часть II. СВЕРТОЧНОЕ КОДИРОВАНИЕ И ЦИФРОВАЯ СВЯЗЬГлава 4. СВЕРТОЧНЫЕ КОДЫ4.1. Введение. Структура кодовДве предыдущие главы были посвящены передаче цифровой информации по различным каналам без памяти и оценке улучшения характеристик систем связи при использовании блочного кодирования. Начав с изучения самых общих блочных кодов, в дальнейшем мы ограничились рассмотрением линейных блочных кодов, обладающих дополнительными свойствами, упрощающими процедуры кодирования и декодирования, а также анализом их характеристик для многих интересных каналов. Примечателен следующий факт: наилучший линейный код с заданными длиной блока и скоростью передачи так же хорош, как и наилучший произвольный блочный код той же длины и с той же скоростью передачи. Это было проиллюстрировано на примере некоторых конкретных кодов и каналов в гл. 2, а также, в более общем случае, доказано с помощью ансамбля кодов в гл. 3. Сверточные коды можно считать частным случаем блочных линейных кодов, однако, изучая их глубже, увидим, что введение сверточной структуры наделяет линейный код рядом дополнительных превосходных свойств, которые облегчают его декодирование и улучшают характеристики. Вначале будем рассматривать сверточные коды лишь как подкласс линейных кодов, главным образом для того, чтобы установить связь с предыдущим материалом, но постепенно перейдем на более общие позиции. Вводимая в этой и следующей главах дополнительная сверточная структура будет использована для построения декодера максимального правдоподобия с пониженной сложностью и улучшенными характеристиками — вначале для ряда конкретных кодов и каналов, а затем, в более общей ситуации, для ансамбля кодов; при этом, по существу, используется подход, развитый в гл. 2 и 3 для блочных кодов. Наконец, в гл. 6 будут рассмотрены алгоритмы последовательного декодирования, которые позволяют уменьшить сложность декодера за счет увеличения объема памяти и повышения требований к скорости вычислений. Рассмотрим вначале блочный линейный код с двоичной порождающей матрицей
где
Рис. 4.1 Меняющийся во времени сверточный кодер скорость передачи Заметим также, что при реализации кодера как с помощью регистра сдвига, так и с помощью линии задержки за поледние Таким образом, оказывается, что сложность кодера не зависит от длины блока Название «сверточные» рассматриваемые коды получили по той причине, что выходная последовательность символов
где В то время как по соображениям теоретического характера в следующей главе понадобится ансамбль меняющихся во времени сверточных кодов, описанных выше, в действительности все сверточные коды, представляющие интерес для практики, являются постоянными во времени кодами. У таких кодов коэффициенты
Скорость передачи класса сверточных кодов, введенных описанным выше образом, равна
Рис. 4.2. Примеры структур постоянных сверточных кодеров: Наиболее просто описать сверточные коды с указанными скоростями можно, допустив, во-первых, что векторы 2 приведены на рис. 4.26 и в соответственно. Обобщение на случай меняющихся во времени сверточных кодов с любыми скоростями вида Постоянный во времени сверточный кодер можно рассматривать как постоянный во времени конечный автомат, структура которого может быть описана с помощью различных диаграмм. Применение и сущность таких диаграмм продемонстрируем на простом примере кодера, изображенного на рис. 4.2а. Стало уже традицией (и в то же время полезно) начинать рассмотрение с древовидной диаграммы, приведенной на рис. 4.3. На этой диаграмме
Рис. 4.3. Представление кодера, изображенного на рис. 4.2а, с помощью кодового дерева можно отобразить как входные, так и выходные последовательности кодера. Входные отображаются с помощью пути на диаграмме, а выходные — с помощью символов вдоль ребер дерева. Нулевому символу на входе соответствует верхнее ребро при ветвлении дерева, а единичному символу — нижнее. Таким образом, для кодера, изображенного на рис. 4.2, входной последовательности 0110 соответствует путь на дереве, идущий вверх на первом уровне ветвления, вниз — на втором и третьем уровнях и снова вверх на четвертом. При этом кодер порождает на выходе символы, указанные на горизонтальных ребрах пути: 00, 11, 01, 01. Таким образом, на диаграмме, приведенной на рис. 4.3, можно отобразите все выходные последовательности, соответствующие 32 всевозможным последовательностям из пяти входных двоичных символов. Из диаграммы становится ясно, что после лервйх трех ребер ее структура повторяется. Действительно, как легко видеть, за третьим ребром кодовые символы на ребрах, исходящих из двух узлов, помеченных буквой а, совпадают. То же происходит и с любой другой парой узлов, помеченных одинаковыми буквами. Причину этого легко установить, обратившись к структуре кодера. Когда третий входной символ вводится в кодер, первый входной символ покидает самый правый элемент задержки и поэтому в дальнейшем уже не может оказывать никакого влияния на выходные символы кодера. Следовательно, информационным последовательностям Это приводит к тому, что дерево переходит в диаграмму, изображенную на рис. 4.4. Новая диаграмма называется решетчатой
Рис. 4.4. Представление кодера, изображенного на рис. 4.2а, с помощью решетки диаграммой (решетка — это древовидная структура со сливающимися узлами). Условимся изображать здесь кодовые ребра, соответствующие входному символу 0, сплошными линиями, а кодовые ребра, соответствующие входному символу 1, пунктирными линиями. Заметим также, что решетчатая диаграмма сверточного кода всегда сходится в узел а, поскольку после Строго однородная структура решетчатой диаграммы наводит на мысль о дальнейшем упрощении представления кода и использовании диаграммы состояний, изображенной на рис. 4.5. Состояния на последней обозначаются точно так же, как и соответствующие узлы решетчатой диаграммы. Учитывая, что состояние кодера точности совпадает с последними двумя входными двоичными символами, введенными в кодер, эти двоичные символы можно использовать для обозначения узлов (состояний) диаграммы. Ниже всюду будем следовать этому правилу — обозначать состояния кодера сверточного кода со скоростью Заметим в заключение, что диаграмма состояний может быть выведена непосредственно из свойств кодера как конечного автомата, в частности из
Рис. 4.5. Диаграмма состояний кодера, изображенного на рис. 4.2а
Рис. 4.6. Диаграмма состояний кодера, изображенного на рис. 4.2б состояний текущий входной символ представляется ребром, указывающим на переход автомата из одного узла в другой, в то время как два предыдущих входных символа определяют узел, в котором автомат находится. Например, если кодер содержит последовательность Обобщить вышеизложенное на случай сверточных кодов со скоростью До настоящего момента при рассмотрении неблочных кодов ограничивались лишь классом линейных кодов. Аналогично тому, как линейные блочные коды являются подклассом блочных кодов, сверточные коды представляют собой подкласс более широкого класса так называемых решетчатых кодов. Кодер решетчатого кода со скоростью Таким образом, описание сверточных и решетчатых кодов с помощью дерева, решетки и диаграммы состояний совершенно отличается от принятого нами ранее описания блочных кодов. Как же в этом случае сравнивать блочные коды со сверточными? Возвращаясь к обсуждению вопроса о задании сверточных кодов, можно заметить, что параметры Мы начали обсуждение сверточных кодов в этом параграфе, рассматривая их как частный случай блочных кодов. Если положить
|
1 |
Оглавление
|