Jump to content

Турбокод

В информации теории турбокоды (первоначально французские Turbocodes ) представляют собой класс высокопроизводительных кодов с прямым исправлением ошибок (FEC), разработанных примерно в 1990–91 годах, но впервые опубликованных в 1993 году. Они были первыми практическими кодами, которые вплотную приблизились к максимальному каналу. пропускная способность или предел Шеннона — теоретический максимум скорости кода , при котором надежная связь все еще возможна при определенном уровне шума. Турбокоды используются в мобильной связи 3G / 4G (например, в UMTS и LTE ) и в ( дальний космос ) спутниковой связи , а также в других приложениях, где разработчики стремятся добиться надежной передачи информации по каналам связи с ограниченной полосой пропускания или задержкой в наличие шума, искажающего данные. Турбокоды конкурируют с кодами проверки четности низкой плотности (LDPC), которые обеспечивают аналогичную производительность (но не имеют патентов). [1]

Название «турбокод» возникло из-за контура обратной связи, используемого во время обычного декодирования турбокода, который был аналогичен обратной связи по выхлопным газам, используемой для турбонаддува двигателя . Хагенауэр утверждает, что термин «турбокод» является неправильным, поскольку в процессе кодирования нет обратной связи. [2]

Основная заявка на патент на турбокоды была подана 23 апреля 1991 года. В патентной заявке Клод Берру указан как единственный изобретатель турбокодов. В результате подачи заявки на патент было получено несколько патентов, включая патент США № 5 446 747 , срок действия которого истек 29 августа 2013 года.

Первой публичной статьей о турбокодах была « Кодирование и декодирование с коррекцией ошибок, близких к пределу Шеннона: турбокоды ». [3] Эта статья была опубликована в 1993 году в Трудах Международной конференции по связи IEEE. Статья 1993 года была составлена ​​из трех отдельных материалов, которые были объединены из-за нехватки места. В результате слияния в газете были указаны три автора: Берру, Главье и Титимайшима (из Télécom Bretagne, бывшего ENST Bretagne , Франция). Однако из оригинальной патентной заявки ясно, что Берру является единственным изобретателем турбокодов и что другие авторы статьи предоставили материал, отличный от основных концепций. [ неправильный синтез ]

Турбокоды были настолько революционными на момент их появления, что многие эксперты в области кодирования не поверили сообщаемым результатам. Когда производительность была подтверждена, в мире кодирования произошла небольшая революция, которая привела к исследованию многих других типов итеративной обработки сигналов. [4]

Первым классом турбокода был параллельный каскадный сверточный код (PCCC). С момента появления оригинальных параллельных турбокодов в 1993 году было обнаружено множество других классов турбокодов, включая последовательные каскадные сверточные коды и коды с повторением-накоплением . Итеративные методы турбодекодирования также применялись к более традиционным системам FEC, включая сверточные коды с коррекцией Рида-Соломона, хотя эти системы слишком сложны для практической реализации итеративных декодеров. Турбо-эквализация также вытекает из концепции турбокодирования.

В дополнение к турбокодам Берру также изобрел рекурсивные систематические сверточные (RSC) коды, которые используются в примере реализации турбокодов, описанном в патенте. Турбокоды, использующие коды RSC, по-видимому, работают лучше, чем турбокоды, которые не используют коды RSC.

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

В более поздней статье Берру отдал должное интуиции «Г. Баттейла, Дж. Хагенауэра и П. Хёхера, которые в конце 80-х годов подчеркнули интерес к вероятностной обработке». Он добавляет: « Р. Галлагер и М. Таннер уже придумали методы кодирования и декодирования, общие принципы которых тесно связаны», хотя необходимые расчеты в то время были непрактичны. [5]

Пример кодировщика

[ редактировать ]

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

Эта реализация кодера отправляет три подблока битов. Первый подблок представляет собой m -битовый блок полезных данных. Второй подблок представляет собой n/2 бита четности для данных полезной нагрузки, вычисляемых с использованием рекурсивного систематического сверточного кода (код RSC). Третий подблок представляет собой n/2 бита четности для известной перестановки данных полезной нагрузки, снова вычисляемой с использованием кода RSC. Таким образом, вместе с полезной нагрузкой отправляются два избыточных, но разных подблока битов четности. Полный блок имеет m + n бит данных со скоростью кода m /( m + n ) . Перестановка называемым полезных данных осуществляется устройством, перемежителем .

Аппаратно этот кодер турбокода состоит из двух идентичных кодеров RSC, и : C2 , конкатенацией как изображено на рисунке, которые соединены друг с другом с помощью схемы конкатенации, называемой параллельной C1

На рисунке M — регистр памяти. Линия задержки и перемежитель заставляют входные биты d k появляться в разных последовательностях.При первой итерации входная последовательность d k появляется на обоих выходах кодера x k и y 1k или y 2k из-за систематического характера кодера. Если энкодеры C 1 и C 2 используются в n 1 и n 2 итерациях, их скорости соответственно равны

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

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

Рассмотрим канал AWGN без памяти и предположим, что на k -й итерации декодер получает пару случайных величин:

где и являются независимыми компонентами шума, имеющими одинаковую дисперсию . это k -й бит от выход энкодера.

Избыточная информация демультиплексируется и отправляется через DI в (когда ) и (когда ).

дает мягкое решение; то есть:

и доставляет его . называется логарифмом отношения правдоподобия (LLR). - апостериорная вероятность (APP) бит данных, который показывает вероятность интерпретации полученного немного как . Принимая во внимание LLR , дает трудное решение; то есть декодированный бит.

Известно, что алгоритм Витерби не способен вычислить АРР, поэтому его нельзя использовать в . Вместо этого модифицированный алгоритм BCJR используется . Для , алгоритм Витерби является подходящим.

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

Мягкий подход к принятию решений

[ редактировать ]

Внешний интерфейс декодера выдает целое число для каждого бита в потоке данных. Это целое число является мерой вероятности того, что бит будет равен 0 или 1, и его также называют мягким битом . Целое число может быть взято из диапазона [-127, 127], где:

  • −127 означает «конечно 0»
  • −100 означает «весьма вероятно 0»
  • 0 означает «это может быть либо 0, либо 1»
  • 100 означает «весьма вероятно 1».
  • 127 означает «конечно 1».

Это привносит вероятностный аспект в поток данных из внешнего интерфейса, но передает больше информации о каждом бите, чем просто 0 или 1.

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

Чтобы декодировать m + n -битный блок данных, внешний интерфейс декодера создает блок мер правдоподобия с одной мерой правдоподобия для каждого бита в потоке данных. Имеется два параллельных декодера, по одному на каждый из n 2- битных подблоков четности. Оба декодера используют подблок из m вероятностей для полезных данных. Декодер, работающий со вторым субблоком четности, знает перестановку, которую кодер использовал для этого субблока.

Решение гипотез для поиска битов

[ редактировать ]

Ключевое нововведение турбокодов заключается в том, как они используют данные о правдоподобии для согласования различий между двумя декодерами. Каждый из двух сверточных декодеров генерирует гипотезу (с полученными вероятностями) для шаблона из m битов в подблоке полезной нагрузки. Битовые комбинации гипотез сравниваются, и если они различаются, декодеры обмениваются полученными вероятностями, которые они имеют для каждого бита в гипотезах. Каждый декодер включает полученные оценки правдоподобия из другого декодера для генерации новой гипотезы для битов в полезной нагрузке. Затем они сравнивают эти новые гипотезы. Этот итерационный процесс продолжается до тех пор, пока два декодера не придут к одной и той же гипотезе для m -битного шаблона полезной нагрузки, обычно за 15–18 циклов.

Можно провести аналогию между этим процессом и решением головоломок с перекрестными ссылками, таких как кроссворд или судоку . Рассмотрим частично заполненный, возможно, искаженный кроссворд. Два решателя головоломок (декодеры) пытаются решить ее: один обладает только подсказками «вниз» (биты четности), а другой обладает только подсказками «поперек». Для начала оба решателя угадывают ответы (гипотезы) на свои собственные подсказки, отмечая, насколько они уверены в каждой букве (бите полезной нагрузки). Затем они сравнивают записи, обмениваясь друг с другом ответами и оценками уверенности, отмечая, где и как они различаются. Основываясь на этих новых знаниях, они оба получают обновленные ответы и рейтинги достоверности, повторяя весь процесс, пока не придут к одному и тому же решению.

Производительность

[ редактировать ]

Турбокоды работают хорошо благодаря привлекательному сочетанию случайного появления кода в канале и физически реализуемой структуры декодирования. На турбокоды влияет уровень ошибок .

Практическое применение с использованием турбокодов

[ редактировать ]

Телекоммуникации:

Байесовская формулировка

[ редактировать ]

С точки зрения искусственного интеллекта турбокоды можно рассматривать как пример циклического распространения убеждений в байесовских сетях . [7]

См. также

[ редактировать ]
  1. ^ Эрико Гиззо (1 марта 2004 г.). «ВЫБОР ИДЕАЛЬНОГО КОДА» . IEEE-спектр . «Еще одно преимущество, возможно, самое большое, заключается в том, что срок действия патентов LDPC истек, поэтому компании могут использовать их, не платя за права интеллектуальной собственности».
  2. ^ Хагенауэр, Иоахим; Предложение, Эльке; Папке, Луис (март 1996 г.). «Итеративное декодирование двоичных блоков и сверточных кодов» (PDF) . Транзакции IEEE по теории информации . 42 (2): 429–445. дои : 10.1109/18.485714 . Архивировано из оригинала (PDF) 11 июня 2013 года . Проверено 20 марта 2014 г.
  3. ^ Берру, Клод ; Главье, Ален ; Титимаджшима, Пунья (1993), «Ошибка, близкая к пределу Шеннона – исправление» , Труды Международной конференции по связи IEEE , том. 2, стр. 1064–70, doi : 10.1109/ICC.1993.397441 , S2CID   17770377 , получено 11 февраля 2010 г.
  4. ^ Эрико Гиззо (1 марта 2004 г.). «ВЫБОР ИДЕАЛЬНОГО КОДА» . IEEE-спектр .
  5. ^ Берру, Клод, Турбокоды десятилетней давности вступают в эксплуатацию , Бретань, Франция , получено 11 февраля 2010 г.
  6. ^ Цифровое видеовещание (DVB); Канал взаимодействия для спутниковых систем распределения , ETSI EN 301 790, V1.5.1, май 2009 г.
  7. ^ МакЭлис, Роберт Дж .; Маккей, Дэвид Дж. К .; Ченг, Юнг-Фу (1998), «Турбо-декодирование как пример алгоритма Перла «распространения убеждений» (PDF) , Журнал IEEE по выбранным областям коммуникаций , 16 (2): 140–152, doi : 10.1109/49.661103 , ISSN   0733-8716 .

Дальнейшее чтение

[ редактировать ]

Публикации

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b6f23ed7194573469bef79877a93c7e3__1720882680
URL1:https://arc.ask3.ru/arc/aa/b6/e3/b6f23ed7194573469bef79877a93c7e3.html
Заголовок, (Title) документа по адресу, URL1:
Turbo code - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)