stringtranslate.com

Код исправления ошибок

В вычислительной технике , телекоммуникациях , теории информации и теории кодирования прямая коррекция ошибок ( FEC ) или канальное кодирование [1] [2] [3] — это метод, используемый для контроля ошибок при передаче данных по ненадежным или зашумленным каналам связи .

Основная идея заключается в том, что отправитель кодирует сообщение избыточным способом , чаще всего с помощью кода исправления ошибок или кода исправления ошибок ( ECC ). [4] [5] Избыточность позволяет получателю не только обнаруживать ошибки , которые могут возникнуть в любом месте сообщения, но часто исправлять ограниченное количество ошибок. Поэтому обратный канал для запроса повторной передачи может не потребоваться. Цена — фиксированная, более высокая пропускная способность прямого канала.

Американский математик Ричард Хэмминг был пионером в этой области в 1940-х годах и изобрел первый код исправления ошибок в 1950 году: код Хэмминга (7,4) . [5]

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

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

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

Максимальная доля ошибок или пропущенных битов, которые можно исправить, определяется конструкцией ECC, поэтому для разных условий подходят разные коды прямого исправления ошибок. В общем, более сильный код вызывает большую избыточность, которую необходимо передавать с использованием доступной полосы пропускания, что снижает эффективную скорость передачи данных и одновременно улучшает полученное эффективное соотношение сигнал/шум . Теорема Клода Шеннона о кодировании канала с шумом может использоваться для расчета максимально достижимой полосы пропускания связи при заданной максимально приемлемой вероятности ошибки. Это устанавливает границы теоретической максимальной скорости передачи информации для канала с некоторым заданным базовым уровнем шума. Однако доказательство не является конструктивным и, следовательно, не дает понимания того, как создать код достижения пропускной способности. После многих лет исследований некоторые передовые системы FEC, такие как полярный код [3], очень близко подошли к теоретическому максимуму, определяемому пропускной способностью канала Шеннона в рамках гипотезы о кадре бесконечной длины.

Метод

ECC достигается путем добавления избыточности к передаваемой информации с использованием алгоритма. Избыточный бит может быть сложной функцией многих исходных информационных битов. Исходная информация может появиться или не появиться в закодированном выводе буквально; Коды, включающие неизмененные входные данные в выходные, являются систематическими , а те, которые этого не делают, — несистематическими .

Упрощенный пример ECC — передача каждого бита данных 3 раза, что известно как код повторения (3,1) . Через канал с шумом приемник может увидеть 8 версий выходного сигнала, см. таблицу ниже.

Это позволяет исправить ошибку в любом из трех образцов путем «голосования большинства» или «демократического голосования». Корректирующая способность этого ECC:

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

Усреднение шума для уменьшения ошибок

Можно сказать, что ECC работает путем «усреднения шума»; поскольку каждый бит данных влияет на множество передаваемых символов, искажение некоторых символов шумом обычно позволяет извлечь исходные пользовательские данные из других, неповрежденных полученных символов, которые также зависят от тех же пользовательских данных.

Большинство телекоммуникационных систем используют фиксированный канальный код, предназначенный для того, чтобы выдерживать ожидаемую частоту ошибок по битам в наихудшем случае , а затем вообще перестают работать, если частота ошибок по битам становится еще хуже. Однако некоторые системы адаптируются к данным условиям ошибок канала: некоторые экземпляры гибридного автоматического запроса повторения используют фиксированный метод ECC, пока ECC может обрабатывать частоту ошибок, а затем переключаются на ARQ , когда частота ошибок становится слишком высокой; адаптивная модуляция и кодирование использует различные скорости ECC, добавляя больше битов исправления ошибок на пакет, когда в канале более высокая частота ошибок, или удаляя их, когда они не нужны.

Типы

Блочный код (в частности, код Хэмминга ), в котором избыточные биты добавляются в виде блока в конец исходного сообщения.
Сверточный код с непрерывным кодом , в котором избыточные биты непрерывно добавляются в структуру кодового слова.

Двумя основными категориями кодов ECC являются блочные коды и сверточные коды .

Существует много типов блочных кодов; Кодирование Рида-Соломона примечательно тем, что оно широко используется в компакт-дисках , DVD-дисках и жестких дисках . Другие примеры классических блочных кодов включают коды Голея , BCH , многомерной четности и коды Хэмминга .

Hamming ECC обычно используется для исправления ошибок флэш-памяти NAND . [6] Это обеспечивает коррекцию однобитовых ошибок и обнаружение 2-битных ошибок. Коды Хэмминга подходят только для более надежных одноуровневых ячеек (SLC) NAND. Более плотная многоуровневая ячейка (MLC) NAND может использовать многобитовую корректирующую ECC, например BCH или Рида-Соломона. [7] [8] NOR Flash обычно не использует коррекцию ошибок. [7]

Классические блочные коды обычно декодируются с использованием алгоритмов жесткого решения [9] , что означает, что для каждого входного и выходного сигнала принимается жесткое решение, соответствует ли он единице или нулевому биту. Напротив, сверточные коды обычно декодируются с использованием алгоритмов мягкого решения , таких как алгоритмы Витерби, MAP или BCJR , которые обрабатывают (дискретизированные) аналоговые сигналы и обеспечивают гораздо более высокую производительность исправления ошибок, чем декодирование с жестким решением.

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

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

Большинство кодов прямого исправления ошибок исправляют только перевороты битов, но не вставку или удаление битов. В этом случае расстояние Хэмминга является подходящим способом измерения частоты ошибок по битам . Несколько кодов прямого исправления ошибок предназначены для исправления вставки и удаления битов, например коды маркеров и коды водяных знаков. Расстояние Левенштейна является более подходящим способом измерения частоты ошибок по битам при использовании таких кодов. [10]

Скорость кода и компромисс между надежностью и скоростью передачи данных

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

Избыточные биты, защищающие информацию, должны передаваться с использованием тех же ресурсов связи, которые они пытаются защитить. Это приводит к фундаментальному компромиссу между надежностью и скоростью передачи данных. [11] С одной стороны, сильный код (с низкой скоростью кодирования) может вызвать значительное увеличение SNR приемника (отношение сигнал/шум), уменьшая частоту ошибок по битам за счет снижения эффективной скорости передачи данных. . С другой стороны, отсутствие использования ECC (т. е. кодовой скорости, равной 1) использует весь канал для целей передачи информации за счет того, что биты остаются без какой-либо дополнительной защиты.

Интересен следующий вопрос: насколько эффективным с точки зрения передачи информации может быть ECC, имеющий пренебрежимо малую частоту ошибок декодирования? На этот вопрос ответил Клод Шеннон с помощью своей второй теоремы, которая гласит, что пропускная способность канала — это максимальная скорость передачи данных, достижимая любым ECC, частота ошибок которого стремится к нулю: [12] Его доказательство основано на гауссовском случайном кодировании, которое не подходит для реальные приложения. Верхняя граница, полученная в работе Шеннона, вдохновила на долгий путь разработки ECC, который может приблизиться к предельной границе производительности. Различные коды сегодня могут достигать почти предела Шеннона. Однако реализация ECC для достижения пропускной способности обычно чрезвычайно сложна.

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

Объединенные коды ECC для повышения производительности.

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

Сцепленные коды стали стандартной практикой в ​​спутниковой связи и связи в дальнем космосе с тех пор, как «Вояджер-2» впервые применил эту технику во время встречи с Ураном в 1986 году . Аппарат Галилео использовал итеративные каскадные коды, чтобы компенсировать очень высокую частоту ошибок, вызванную неисправной антенной.

Проверка четности низкой плотности (LDPC)

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

Коды LDPC были впервые представлены Робертом Г. Галлагером в его докторской диссертации в 1960 году, но из-за вычислительных усилий по реализации кодера и декодера, а также введения кодов Рида-Соломона их в основном игнорировали до 1990-х годов.

Коды LDPC в настоящее время используются во многих последних стандартах высокоскоростной связи, таких как DVB-S2 (цифровое видеовещание – спутник – второе поколение), WiMAX ( стандарт IEEE 802.16e для микроволновой связи), высокоскоростная беспроводная локальная сеть ( IEEE 802.11n). ), [14] 10GBase-T Ethernet (802.3an) и G.hn/G.9960 (стандарт ITU-T для организации сетей по линиям электропередачи, телефонным линиям и коаксиальному кабелю). Другие коды LDPC стандартизированы для стандартов беспроводной связи в рамках 3GPP MBMS (см. исходные коды ).

Турбо коды

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

Одним из первых коммерческих применений турбокодирования была технология цифровой сотовой связи CDMA2000 1x (TIA IS-2000), разработанная Qualcomm и продаваемая Verizon Wireless , Sprint и другими операторами связи. Он также используется для развития CDMA2000 1x специально для доступа в Интернет, 1xEV-DO (TIA IS-856). Как и 1x, EV-DO был разработан Qualcomm и продается Verizon Wireless , Sprint и другими операторами связи (маркетинговое название 1xEV-DO от Verizon — Broadband Access , маркетинговые названия 1xEV-DO для потребителей и бизнеса — Power Vision и Mobile) . Широкополосный доступ соответственно).

Локальное декодирование и тестирование кодов

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

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

Не все коды тестирования осуществляют локальное декодирование и тестирование кодов.

Не все локально декодируемые коды (LDC) являются локально тестируемыми кодами (LTC) [15] , ни локально корректируемые коды (LCC), [16] LCC с q-запросами ограничены экспоненциально [17] [18] , в то время как LDC могут иметь субэкспоненциальную длину. [19] [20]

Чередование

Краткая иллюстрация идеи чередования

Чередование часто используется в цифровых системах связи и хранения для повышения производительности кодов прямого исправления ошибок. Многие каналы связи не лишены памяти: ошибки обычно возникают пакетами , а не независимо. Если количество ошибок в кодовом слове превышает возможности кода исправления ошибок, ему не удастся восстановить исходное кодовое слово. Чередование решает эту проблему, перетасовывая исходные символы по нескольким кодовым словам, тем самым создавая более равномерное распределение ошибок. [21] Поэтому чередование широко используется для исправления пакетов ошибок .

Анализ современных итерированных кодов, таких как турбокоды и коды LDPC , обычно предполагает независимое распределение ошибок. [22] Поэтому системы, использующие коды LDPC, обычно используют дополнительное перемежение символов внутри кодового слова. [23]

Для турбокодов перемежитель является неотъемлемым компонентом, и его правильная конструкция имеет решающее значение для хорошей производительности. [21] [24] Алгоритм итеративного декодирования работает лучше всего, когда в графе факторов , представляющем декодер, нет коротких циклов ; перемежитель выбран таким образом, чтобы избежать коротких циклов.

Конструкции перемежителя включают в себя:

В системах связи с множеством несущих перемежение по несущим может использоваться для обеспечения частотного разнесения , например, для уменьшения частотно-избирательного замирания или узкополосных помех. [28]

Пример

Передача без чередования :

Сообщение без ошибок: aaaabbbbbccccdddddeeeeffffggggПередача с пакетной ошибкой: aaaabbbbbccc____deeeeffffgggg

Здесь каждая группа одной и той же буквы представляет собой 4-битное однобитовое кодовое слово, исправляющее ошибки. Кодовое слово cccc изменяется на один бит и может быть исправлено, но кодовое слово dddd изменяется на три бита, поэтому либо оно вообще не может быть декодировано, либо оно может быть декодировано неправильно .

С чередованием :

Безошибочные кодовые слова: aaaabbbbbccccdddddeeeeffffgggg.Чередование: abcdefgabcdefgabcdefgabcdefgПередача с пакетной ошибкой: abcdefgabcd____bcdefgabcdefgПолученные кодовые слова после обратного перемежения: aa_abbbbccccdddde_eef_ffg_gg

В каждом из кодовых слов «аааа», «ееее», «фффф» и «гггг» изменяется только один бит, поэтому однобитный код исправления ошибок все правильно декодирует.

Передача без чередования :

Исходное переданное предложение: ThisIsAnExampleOfInterleaving.Получено предложение с пакетной ошибкой: ThisIs______pleOfInterleaving.

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

С чередованием :

Переданное предложение: ThisIsAnExampleOfInterleaving...Безошибочная передача: TIEpfeaghsxlIrv.iAaenli.snmOten.Получено предложение с пакетной ошибкой: TIEpfe______Irv.iAaenli.snmOten.Получено предложение после деинтерливинга: T_isI_AnE_amp_eOfInterle_vin_...

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

Недостатки чередования

Использование методов перемежения увеличивает общую задержку. Это связано с тем, что перед декодированием пакетов должен быть получен весь чередующийся блок. [29] Также перемежители скрывают структуру ошибок; без перемежителя более совершенные алгоритмы декодирования могут воспользоваться структурой ошибок и добиться более надежной связи, чем более простой декодер в сочетании с перемежителем . Пример такого алгоритма основан на структурах нейронной сети [30] .

Программное обеспечение для кодов, исправляющих ошибки

Моделирование поведения кодов исправления ошибок (ECC) в программном обеспечении является обычной практикой проектирования, проверки и улучшения ECC. Грядущий стандарт беспроводной связи 5G открывает новый спектр приложений для программных ECC: сети облачного радиодоступа (C-RAN) в контексте программно-определяемой радиосвязи (SDR) . Идея состоит в том, чтобы напрямую использовать программные ECC в коммуникациях. Например, в 5G программное обеспечение ECC может быть расположено в облаке, а антенны подключены к этим вычислительным ресурсам: таким образом повышается гибкость сети связи и, в конечном итоге, повышается энергоэффективность системы.

В этом контексте существует различное доступное программное обеспечение с открытым исходным кодом, перечисленное ниже (не исчерпывающее).

Список кодов, исправляющих ошибки

Смотрите также

Рекомендации

  1. ^ Чарльз Ван; Дин Склар; Дайана Джонсон (зима 2001–2002 гг.). «Кодирование с прямым исправлением ошибок». Перекрестная ссылка . Аэрокосмическая корпорация. 3 (1). Архивировано из оригинала 14 марта 2012 года . Проверено 5 марта 2006 г.
  2. ^ Чарльз Ван; Дин Склар; Дайана Джонсон (зима 2001–2002 гг.). «Кодирование с прямым исправлением ошибок». Перекрестная ссылка . Аэрокосмическая корпорация. 3 (1). Архивировано из оригинала 14 марта 2012 года . Проверено 5 марта 2006 г. Как работают коды прямого исправления ошибок]
  3. ^ Аб Маундер, Роберт (2016). «Обзор канального кодирования».
  4. ^ Гловер, Нил; Дадли, Трент (1990). Практическое проектирование коррекции ошибок для инженеров (редакция 1.1, 2-е изд.). Колорадо, США: Cirrus Logic . ISBN 0-927239-00-0.
  5. ^ аб Хэмминг, Ричард Уэсли (апрель 1950 г.). «Коды обнаружения и исправления ошибок». Технический журнал Bell System . США: AT&T . 29 (2): 147–160. doi :10.1002/j.1538-7305.1950.tb00463.x. S2CID  61141773.
  6. ^ «Коды Хэмминга для устройств флэш-памяти NAND». Архивировано 21 августа 2016 года на Wayback Machine . EE Times-Азия. Судя по всему, на основе «Технической ноты Micron TN-29-08: Коды Хэмминга для устройств флэш-памяти NAND». 2005. Оба говорят: «Алгоритм Хэмминга — это общепринятый метод обнаружения и исправления ошибок во многих приложениях на основе флэш-памяти SLC NAND».
  7. ^ ab «Какие типы ECC следует использовать во флэш-памяти?» (Примечание по применению) . Расширение. 2011. И алгоритм Рида-Соломона, и алгоритм BCH являются распространенными вариантами ECC для флэш-памяти MLC NAND. ... Блочные коды на основе Хэмминга являются наиболее часто используемыми ECC для SLC.... и Рид-Соломон, и BCH способны обрабатывать множественные ошибки и широко используются во флэш-памяти MLC.
  8. ^ Джим Кук (август 2007 г.). «Неудобная правда о флэш-памяти NAND» (PDF) . п. 28. Для SLC достаточно кода с порогом коррекции 1. требуется t=4... для MLC.
  9. ^ Балди, М.; Кьяралуче, Ф. (2008). «Простая схема декодирования кодов BCH и RS с распространением доверия в мультимедийных передачах». Международный журнал цифрового мультимедийного вещания . 2008 : 1–12. дои : 10.1155/2008/957846 .
  10. ^ Шах, Гаурав; Молина, Андрес; Блейз, Мэтт (2006). «Клавиатуры и скрытые каналы». УСЕНИКС . Проверено 20 декабря 2018 г.
  11. ^ Це, Дэвид; Вишванат, Прамод (2005), Основы беспроводной связи , издательство Кембриджского университета , Великобритания
  12. ^ Шеннон, CE (1948). «Математическая теория связи» (PDF) . Технический журнал Bell System . 27 (3–4): 379–423 и 623–656. doi :10.1002/j.1538-7305.1948.tb01338.x. hdl : 11858/00-001M-0000-002C-4314-2 .
  13. ^ Росас, Ф.; Бранте, Г.; Соуза, РД; Оберли, К. (2014). «Оптимизация скорости кодирования для достижения энергоэффективной беспроводной связи». Материалы конференции IEEE по беспроводной связи и сетям (WCNC) . стр. 775–780. дои : 10.1109/WCNC.2014.6952166. ISBN 978-1-4799-3083-8.
  14. ^ Стандарт IEEE, раздел 20.3.11.6 «802.11n-2009». Архивировано 3 февраля 2013 г. в Wayback Machine , IEEE, 29 октября 2009 г., по состоянию на 21 марта 2011 г.
  15. ^ Кауфман, Тали ; Видерман, Майкл. «Локально проверяемые и локально декодируемые коды».
  16. Брубейкер, Бен (9 января 2024 г.). «Магическая» схема исправления ошибок оказалась по своей сути неэффективной». Журнал Кванта . Проверено 9 января 2024 г.
  17. ^ Котари, Правеш К.; Манохар, Питер (2023). «Экспоненциальная нижняя граница для линейных локально корректируемых кодов с тремя запросами». arXiv : 2311.00558 [cs.CC].
  18. ^ Керенидис, Иорданис; де Вольф, Рональд (9 июня 2003 г.). «Экспоненциальная нижняя граница для локально декодируемых кодов с двумя запросами с помощью квантового аргумента». Материалы тридцать пятого ежегодного симпозиума ACM по теории вычислений . АКМ. стр. 106–115. arXiv : Quant-ph/0208062 . дои : 10.1145/780542.780560. ISBN 978-1-58113-674-6. S2CID  10585919.
  19. ^ Еханин, Сергей (февраль 2008 г.). «На пути к 3-запросным локально декодируемым кодам субэкспоненциальной длины». Журнал АКМ . 55 (1): 1–16. дои : 10.1145/1326554.1326555. ISSN  0004-5411. S2CID  14617710.
  20. Ефременко, Клим (31 мая 2009 г.). «3-запросные локально декодируемые коды субэкспоненциальной длины». Материалы сорок первого ежегодного симпозиума ACM по теории вычислений . АКМ. стр. 39–44. дои : 10.1145/1536414.1536422. ISBN 978-1-60558-506-2. S2CID  263865692. {{cite book}}: |journal=игнорируется ( помощь )
  21. ^ аб Вучетич, Б.; Юань, Дж. (2000). Турбокоды: принципы и применение . Спрингер Верлаг . ISBN 978-0-7923-7868-6.
  22. ^ Луби, Майкл ; Митценмахер, М.; Шокроллахи, А.; Спилман, Д.; Стеманн, В. (1997). «Практические коды, устойчивые к потерям». Учеб. 29-й ежегодный симпозиум Ассоциации вычислительной техники (ACM) по теории вычислений .
  23. ^ «Цифровое видеовещание (DVB); Структура кадра второго поколения, системы кодирования каналов и модуляции для радиовещания, интерактивных услуг, сбора новостей и других приложений спутникового широкополосного доступа (DVB-S2)» . Ан 302 307 . ETSI (В1.2.1). Апрель 2009 года.
  24. ^ Эндрюс, Канзас; Дивсалар, Д.; Долинар, С.; Хэмкинс, Дж.; Джонс, ЧР; Поллара, Ф. (ноябрь 2007 г.). «Разработка кодов Turbo и LDPC для приложений дальнего космоса». Труды IEEE . 95 (11): 2142–2156. doi :10.1109/JPROC.2007.905132. S2CID  9289140.
  25. ^ Долинар, С.; Дивсалар, Д. (15 августа 1995 г.). «Весовые распределения для турбокодов, использующих случайные и неслучайные перестановки». Отчет о ходе работы ТДА . 122 : 42–122. Бибкод : 1995TDAPR.122...56D. CiteSeerX 10.1.1.105.6640 . 
  26. ^ Такешита, Оскар (2006). «Перемежители полиномов перестановок: алгебро-геометрическая перспектива». Транзакции IEEE по теории информации . 53 (6): 2116–2132. arXiv : cs/0601048 . Бибкод : 2006cs........1048T. дои : 10.1109/TIT.2007.896870. S2CID  660.
  27. ^ 3GPP TS 36.212, версия 8.8.0, стр. 14
  28. ^ «Цифровое видеовещание (DVB); Структура кадра, кодирование каналов и модуляция для системы цифрового наземного телевизионного вещания второго поколения (DVB-T2)» . En 302 755 . ETSI (В1.1.1). Сентябрь 2009 года.
  29. ^ Techie (3 июня 2010 г.). «Объяснение чередования». Технический блог W3 . Проверено 3 июня 2010 г.
  30. ^ Красстанов, Стефан; Цзян, Лян (8 сентября 2017 г.). «Вероятностный декодер глубоких нейронных сетей для кодов стабилизатора». Научные отчеты . 7 (1): 11003. arXiv : 1705.09334 . Бибкод : 2017NatSR...711003K. дои : 10.1038/s41598-017-11266-1 . ПМК 5591216 . ПМИД  28887480. 
  31. ^ Нордстрем, AW; Робинсон, Дж. П. (1967), «Оптимальный нелинейный код», Information and Control , 11 (5–6): 613–616, doi : 10.1016/S0019-9958(67)90835-2.
  32. ^ Перри, Джонатан; Балакришнан, Хари; Шах, Деваврат (2011). «Безоценочные спинальные коды». Материалы 10-го семинара ACM по актуальным темам в сетях . стр. 1–6. дои : 10.1145/2070562.2070568. hdl : 1721.1/79676 . ISBN 9781450310598.

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

Внешние ссылки