Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Цифровые системы связи и передачи данных

..pdf
Скачиваний:
99
Добавлен:
05.02.2023
Размер:
16.16 Mб
Скачать

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

Кодовая скорость — отношение длины кодового блока на входе к длине преобразованного кодового блока на выходе кодера.

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

Для увеличения кодовой скорости применяется выкалывание (перфорация) определенных проверочных битов выходной последовательности. Таким образом, кодовая скорость возрастает.

Если учесть, что турбокоды оперируют с блоками большой длиныc k > 10 000, то k n.

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

Алгоритм декодирования по максимуму апостериорной вероятности

Алгоритм Бала дает «мягкую» оценку достоверности декодированного бита. То есть предъявляет на выходе степень доверия результату декодирования. В противоположность «жесткой» структуре, при которой на выходе декодера формируется лишь наиболее вероятное значение декодированного бита («0» или «1»), при вынесении «мягкого» решения используется более подробная дискретизация выходного сигнала, характеризующая вероятность корректного приема бита. Благодаря использованию «мягких» решений в турбодекодерах оказывается эффективным использование нескольких итераций декодирования. Апостериорная информация, полученная о кодовом слове на выходе первой итерации декодирования, поступает на вход блока следующей итерации и является для него уже априорной вероятностью. Такой подход позволяет

183

улучшать качество декодирования от итерации к итерации. Таким образом, изменяя число итераций декодирования, можно адаптировать декодер к текущему состоянию канала передачи и достичь требуемой вероятности ошибки на бит.

На рис. 3.85 представлена структурная схема одной итерации турбодекодера при двухкаскадном кодировании.

Рис. 3.85. Структурная схема одной итерации турбодекодера при двухкаскадном кодировании

На рис. 3.85 для простоты понимания представлен вариант схемы одной итерации турбодекодирования при двухкаскадном кодировании. Эта схема несложно обобщается на случай произвольного количества каскадов кодирования.

Декодер для одной итерации содержит каскадное соединение двух элементарных декодеров, каждый из которых, основываясь на критерии максимума апостериорной вероятности, выносит «мягкое» решение о переданном символе. На первый декодер первой итерации с выхода демодулятора поступают «мягкие» решения символов последовательностей X0 и X1. Таким образом, на выходе первого декодера появляется оценка информационного символа, которая после последующего перемежения попадает на вход второго декодера и является для него априорной информацией. Используя «мягкое» решение о последовательности X2, второй декодер формирует свою оценку.

На рис. 3.86 представлена структурная схема трех итераций турбодекодера при двухкаскадном кодировании:

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

184

После декодирования из полученного «мягкого» решения производится окончательное «жесткое».

Рис. 3.86. Структурная схема трех итераций турбодекодера при двухкаскадном кодировании

Преимущества и недостатки турбокодов

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

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

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

185

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

Применение турбокодов

Компании France Telecom и Telediffusion de France запатентовали широ-

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

Турбокоды активно применяются в системах спутниковой и мобильной связи, беспроводного широкополосного доступа и цифрового телевидения. Турбокоды утверждены в стандарте спутниковой связи DVB-RCS. Турбокоды также нашли широкое применение в мобильных системах связи третьего поколения (стандарты CDMA2000 и UMTS).

Моделирование каскадных кодов в MATLAB Simulink

Виртуальная модель передачи данных с исправлением ошибок при помощи каскадного кода была реализована в среде Simulink Matlab. Модель демонстрирует работу кодера Рида —- Соломона (внешний код) и кодера Турбокодов (внутренний код), позволяет исследовать исправляющую способность кодовдля разных видов модуляции и сравнить ее характеристики с работой указанных выше кодеров в отдельности.

На рис. 3.87 приведена разработанная модель. В ее основу положены следующие элементы, встроенные в библиотеку Simulink:

Bernoulli Binary Generator;

Binary Input RS Encoder;

Turbo Encoder;

Rectangular QAM Modulator Baseband;

AWGN Channel;

Rectangular QAM Demodulator Baseband;

Unipolar to Bipolar Converter;

Turbo Decoder;

Binary Output RS Decoder;

Error Rate Calculation;

Discrete Time Scatter Plot Scope;

Gain;

Display (Дисплей, отражающий ошибки).

186

Рис. 3.87. Разработанная модель исследования каскадных кодов

187

Далее представлено описание основных блоков.

Bernoulli Binary Generator (генератор псевдослучайной последовательности) — генерирует случайную бинарную последовательность (рис. 3.88).

«Probability of a zero» — вероятность появления нуля; «Initial seed» — начальное значение для генерации; «Sample time» — длительность сэмпла;

«Samples per frame» — размер фрейма.

Рис. 3.88. Параметры блока «Bernoulli Binary Generator»

Binary Input RS Encoder — кодер Рида — Соломона (рис. 3.89).

«Codeword length N» — общее количество бит; «Message length K» — количество информационных бит.

Рис. 3.89. Параметры блока «Binary Input RS Encoder»

188

Данный блок имеет следующую структуру внутри (рис. 3.90).

Рис. 3.90. Состав блока «Binary Input RS Encoder»

Таким образом, информационные биты, поступающие со входа генератора, преобразуются в тип «Integer», кодируются и преобразуются обратно, затем полученные биты конвертируются в тот тип данных, который изначально был на входе кодера.

Turbo Encoder — Турбокодер (рис. 3.91).

«Trellis structure» — структура треллис-модуляции.

Рис. 3.91. Параметры блока «Turbo Encoder»

Треллис-модуляция (ТСМ — Trellis Coded Modulation) представляет со-

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

189

Для кодирования использован один из наиболее часто употребляемых сверточных кодов — код (171,133,7), который кодирует последовательность со скоростью 1/2.

«Interleaver indices» — входные параметры перемежителя. Схема турбокодера имеет следующую структуру (рис. 3.92).

Рис. 3.92. Структура блока «Turbo Encoder»

Поток бит распараллеливается на два. В первом случае биты поступают на сверточный кодер (133, 171), а во втором потоке биты сначала проходят перемежитель, затем поступают на аналогичный сверточный кодер. Блок «Bit Reordering» выстраивает биты в последовательный поток.

Rectangular QAM Modulator Baseband — модулятор QAM-M (рис. 3.93).

Рис. 3.93. Параметры блока «Turbo Encoder»

190

«M-ary number» — количество позиций в QAM-M; «Input type» — тип входных данных;

«Constellation ordering» — порядок построения созвездия (рис. 3.94).

Остальные параметры по умолчанию.

Рис. 3.94. Диаграмма построения созвездий

AWGN Channel (Канал связи) — добавляет «белый» гауссовский шум в канале (рис. 3.95).

«Variance» — считывает параметр Eb/N0 из блока Model Parameters.

Рис. 3.95. Параметры блока «AWGN»

191

Discrete Time Scatter Plot Scope — блок для отражения диаграммы созвездий.

Rectangular QAM Demodulator Baseband — демодулятор QAM-M, об-

ладает теми же параметрами, что и модулятор.

Unipolar to Bipolar Converter — преобразователь сигнала из однополярного в биполярный.

На вход турбодекодера необходимо подавать биполярный сигнал. Turbo Decoder — Турбодекодер (рис. 3.96).

Рис. 3.96. Параметры блока «Turbo decoder»

Первые два параметра задаются аналогично параметрам кодера.

«Number of decoding iterations» — количество итераций декодирования. Декодирование в турбодекодере происходит в несколько итераций. Чем больше итераций, тем точнее декодирование. Однако большое количество не дает результата, а лишь увеличивает длительность вычислений и может даже ухудшить помехоустойчивость.

Схема блока имеет следующую структуру (рис. 3.97).

Рис. 3.97. Структура блока «Turbo-decoder»

«Bit Ordering» — выстраивание потока бит в параллельный поток.

192