Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
787
Добавлен:
15.03.2016
Размер:
2 Мб
Скачать
☆

4.3.6. Основные принципы турбокодирования

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

Турбокод образуется при параллельном каскадировании двух или более систематических кодов. Обычно используются два или три первичных (компонентных) кода, а соответствующие им турбокоды называются двумерными или трехмерными. Следует иметь в виду, что у кодеров систематических кодов один из выходов повторяет входную последовательность данных, а на другом формируется последовательность проверочных символов [38].

О

Рис. 4.9. Структурная схема турбокодера

бобщенная структурная схема турбокодера показана на рис. 4.9. Блок данных u длиной k бит поступает сначала на вход пакетного формирователя, где к нему добавляется хвостовик из (n – k) бит. Сформированная последовательность бит x0 (пакет длиной n бит) поступает на систематический выход турбокодера и параллельно – на M ветвей, состоящих из последовательно включенных перемежителя и компонентного кодера. В данной схеме передаваемая информация совместно используется во всех компонентных кодерах. Каждый перемежитель преобразует структуру последовательности бит x0 по псевдослучайному закону и выдает пакет на вход соответствующего кодера.

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

На выходах компонентных кодеров каждой из M ветвей образуются последовательности проверочных символов x1 … хM. Поскольку информационные последовательности (систематическая часть) на выходах кодеров всех ветвей идентичны с точностью до линейной операции перемежения, в канал передается только одна из них, что существенно повышает скорость передачи и эффективность систем кодирования. Данная информационная комбинация x0 мультиплексируется с проверочными последовательностями x1 … хM, образуя кодовое слово, которое подлежит передаче по каналу.

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

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

Р

Рис. 4.10. Структурная схема турбодекодера

ассмотрим процесс декодирования для случая, когда кодирование осуществляется двухкомпонентным турбокодером. При этом в результате демультиплексирования на входе декодера имеется информационная y0 и две кодированные проверочные последовательности y1 и y2. После декодирования информационной и первой проверочной последовательностей получается начальная оценка информационной последовательности, которая может использоваться как априорная информация при декодировании второй проверочной последовательности во втором компонентном декодере. Такой подход требует, чтобы компонентный декодер мог использовать мягкое решение для входных данных («мягкий» вход) и выдавать данные в непрерывном диапазоне амплитуд или по крайней мере, без грубого квантования («мягкий» выход). В соответствии с этим алгоритмом схема декодера для первого шага декодирования имеет структуру, показанную на рис. 4.10.

Однако, для вероятностей ошибок ниже 10–7, что требуется для цифрового телевизионного вещания, турбокодирование в классическом виде неприменимо. На практике используют сочетание последовательного каскадного и турбокодирования. В такой комбинированной схеме в качестве внутреннего используется турбокод, а в качестве внешнего – блоковый, например, БЧХ или Рида-Соломона.

К группе турбокодов следует отнести код с малой плотностью проверки на четность (LDPC – Low Density Parity Check code), являющийся частным случаем блокового линейного кода с проверкой четности. Особенность кода LDPC заключается в малой плотности значимых элементов проверочной матрицы, содержащей в основном нули и относительно малое количество единиц, за счет чего достигается относительная простота реализации средств кодирования. В настоящее время используются два принципа построения проверочной матрицы кода. Первый основан на генерации начальной проверочной матрицы с помощью псевдослучайного генератора (random-like codes). Второй принцип заключается в применении специальных методов, основанных, например, на группах и конечных полях. Коды, полученные этими способами, называют структурированными. Лучшие результаты по исправлению ошибок показывают именно случайные коды, однако структурированные коды позволяют использовать методы оптимизации процедур хранения, кодирования и декодирования, а также получать коды с более предсказуемыми характеристиками.

Иногда код LDPC называют кодом Р. Галлагера по имени автора первой научной работы на тему LDPC-кодов.

Соседние файлы в папке 399_Mamchev-Cifrovoe_televizionnoe_veschanie_2012