Циклические коды. Представление двоичного кода в виде полинома - Стандарты

Лекция



Это продолжение увлекательной статьи про коды ldpc.

...

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

Процесс кодирования блокового кода состоит в разбиении информационной последовательности на сообщения длины k и отображении этих сообщений в кодовых словах. C = C0, C1…Cn-1. Длина слова определяется как С = UG.

Информационные биты размещаются всегда в начале каждого слова. (Xn-1, Xn-2, Xn-3 последние n-k Xn=r=1, Xn-k-2, Xn-k-3 будут проверочными).

Проверочный многочлен - H(x) = (xn+1)/g(x).

Обнаружение ошибок декодирования блочных кодов широко представлено в [1, 3-6]. Двоичные коды Хемминга 2m-1; 2m-m-1 могут быть построены на основе корней а примитивного элемента поля GF(2m ). α2m-2, α2m-3...α.

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

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

Широкое распространение на практике получил класс линейных кодов, которые называются циклическими. Данное название происходит от основного свойства этих кодов:

если некоторая кодовая комбинация принадлежит циклическому коду, то комбинация полученная циклической перестановкой исходной комбинации (циклическим сдвигом), также принадлежит данному коду.

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

Синдромом ошибки в этих кодах является наличие остатка от деления принятой кодовой комбинации на производящий полином.

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

Представление кодовой комбинации в виде многочлена.

Описание циклических кодов и их построение удобно проводить с помощью многочленов (или полиномов).

В теории циклических кодов кодовые комбинации обычно представляются в виде полинома. Так, n-элементную кодовую комбинацию можно описать полиномом (n-1) степени, в виде

Стандарты помехоустойчивого кодирования.

где Стандарты помехоустойчивого кодирования={0,1}, причемСтандарты помехоустойчивого кодирования= 0 соответствуют нулевым элементам комбинации, аСтандарты помехоустойчивого кодирования= 1 - ненулевым.

Запишем полиномы для конкретных 4-элементных комбинаций

Стандарты помехоустойчивого кодирования

Стандарты помехоустойчивого кодирования

Структурная схема кодера циклического кода (9,5)

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

Стандарты помехоустойчивого кодирования

Рассмотрим работу этой схемы

1. На первом этапе К1– замкнут К2 – разомкнут. Идет одновременное заполнение регистров задержки и сдвига информ. элементами (старший вперед!) и через 4 такта старший разряд в ячейке №4

2. Во время пятого такта К2 – замыкается а К1 – размыкается с этого момента в ФПГ формируется остаток. Одновременно из РЗ на выход выталкивается задержание информационные разряды.

За 5 тактов (с 5 по 9 включительно) в линию уйдут все 5-информационных элемента. К этому времени в ФПГ сформируется остаток

3. К2 – размыкается, К1 – замыкается и в след за информационными в линию уйдут элементы проверочной группы.

4. Одновременно идет заполнение регистров новой комбинацией.

Второй вариант построения кодера ЦК.

Рассмотренный выше кодер очень наглядно отражает процесс деления двоичных чисел. Однако можно построить кодер содержащий меньшее число элементов т.е. более экономичный.

Устройство деления на производящий полином Стандарты помехоустойчивого кодированияможно реализовать в следующем виде:

Стандарты помехоустойчивого кодирования

За пять тактов в ячейках будет сформирован такой же остаток от деления, что и в рассмотренном выше Формирователе проверочной группы. (ФПГ).

За эти же 5 тактов информационные разряды, выданные сразу на модулятор.

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

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

Окончательно структурная схема экономичного кодера выглядит так.

Стандарты помехоустойчивого кодирования

- На первом такте Кл.1 и Кл.3 замкнуты, информационные элементы проходят на выход кодера и одновременно формируются проверочные элементы.

- После того, как в линию уйдет пятый информационный элемент, в устройстве деления сформируются проверочные;

- на шестом такте ключи 1 и 3 размыкаются (разрываются обратная связь), а ключ 2 замыкается и в линию уходят проверочные разряды.

Ячейки при этом заполняются нулями и схема возвращается в исходное состояние.

Алгоритм определении я ошибки в цикличном коде

Пусть имеем n-элементные комбинации (n = k + r) тогда:

1. Получаем остаток от деления Е(х) соответствующего ошибке в старшем разряде [1000000000], на образующей поленом Pr(x)

2. Делим полученный полином Н(х) на Pr(x) и получаем текущий остаток R(x).

3. Сравниваем R0(x) и R(x).

- Если они равны, то ошибка произошла в старшем разряде.

- Если "нет", то увеличиваем степень принятого полинома на Х и снова проводим деления

в) Опять сравниваем полученный остаток с R0(x)

- Если они равны, то ошибки во втором разряде.

- Если нет, то умножаем Н(х)х2 и повторяем эти операции до тех пор, пока R(X) не будет равен R0(x).

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

Например: Стандарты помехоустойчивого кодированиято номер ошибочного разряда 3+1=4

Сверточные коды Схема сверточного кодера

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

Сверточный кодер — это устройство, принимающее на каждом такте работы в общем случае k входных информационных символов, и выдающее на выход каждого такта n выходных символов. Число называют относительной скоростью кода. k — число информационных символов, n — число передаваемых в канал связи символов за один такт поступления на кодер информационного символа. Выходные символы рассматриваемого такта зависят от m информационных символов, поступающих на этом и предыдущих тактах, то есть выходные символы сверточного кода однозначно определяются его входными символами и состоянием, которое зависит от m — k предыдущих информационных символов. Основными элементами сверточного кода являются: регистр сдвига, сумматор по модулю 2, коммутатор.

Регистр сдвига (англ. Shift register) — это динамическое запоминающее устройство, хранящее двоичные символы 0 и 1. Память кода определяет число триггерных ячеек m в регистре сдвига. Когда на вход регистра сдвига поступает новый информационный символ, то символ, хранящийся в крайнем правом разряде, выводится из регистра и сбрасывается. Остальные символы перемещаются на один разряд вправо и, таким образом, освобождается крайний левый разряд куда будет поступать новый информационный символ.

Сумматор по модулю 2 осуществляет сложение поступающих на него символов 1 и 0. Правило сложения по модулю 2 таково: сумма двоичных символов равна 0, если число единиц среди поступающих на входы символов четно, и равно 1, если это число нечетно.

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

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

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

Схема сверточного кодера (K = 7); скорость кодирования равна 1/2.

Стандарты помехоустойчивого кодирования

Типы декодера сверточного кода.

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

Опишем работу алгоритма Витерби во время приема из канала i-й n0-символьной группы последовательности Y . К данному моменту рассматриваемые пути могут проходить через 2k-1 узлов (состояний) решетчатой диаграммы (здесь К— конструктивная длина кода), и для каждого из них вычислено расстояние от принятой последовательности (данное расстояние далее будем называть метрикой). На i-м шаге необходимо:

1. Вычислить расстояние Хэмминга между принятой n0-символьной группой и всевозможными ветвями решетчатой диаграммы. Поскольку из каждого из 2K-1 узлов выходит по две ветви, то необходимо вычислить 2K таких расстояний.

2. Расстояния Хэмминга для каждой из ветвей добавляются к метрикам путей, из которых они выходят. В результате получаются 2K возможных путей, ведущих в 2K-1 состояний.

3.Для каждого из 2K-1 состояний сравниваются метрики двух входящих в него путей и путь с меньшей метрикой, т.е. находящийся на меньшем расстоянии от входной последовательности, становится выжившим. Путь с большей метрикой отбрасывается и не участвует в дальнейших вычислениях.

4. Запомнить все 2K-1 выживших путей вместе с их метриками и перейти к выполнению (i+1)го шага.

Последовательные алгоритмы декодирования

Другим методом декодирования сверточных кодов является алгоритм последовательного декодирования.

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

Пороговый декодер

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

Стандарты помехоустойчивого кодирования

Стандарты помехоустойчивого кодирования

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

Многопороговых декодер

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

Стандарты помехоустойчивого кодирования

Последовательные каскадные коды

Важным этапом в развитии теории кодирования является появление каскадных кодов [24], в основе построения которых лежит идея совместного использования нескольких составляющих кодов. Данный подход позволил существенно повысить эффективность применения кодирования по сравнению с базовыми некаскадными методами.

Пример использования каскадного кода, состоящего из двух составляющих кодов, показан на рис. 4.1. Здесь данные источника сначала кодируются внешним (n1, k1) кодом. В качестве внешнего кода часто используются недвоичные коды, например, коды Рида-Соломона. Затем закодированные символы внешнего кода кодируются кодером внутреннего (n2, k2) кода. Общая длина кодового слова каскадного кода оказывается равной N=n1n2 двоичных символов, причем K=k1k2 из них являются информационными. Следовательно, кодовая скорость полученного каскадного кода оказывается равной

Стандарты помехоустойчивого кодирования

где r1, r2 кодовые скорости составляющих кодеров.

Также отметим, что минимальное расстояние сформированного каскадного кода будет равно D=d1d2, где d1 и d2 — минимальные расстояния составляющих кодов.

Стандарты помехоустойчивого кодирования

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

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

Параллельные каскадные коды

ту́рбо-код — параллельный каскадный блоковый систематический код, способный исправлять ошибки, возникающие при передаче цифровой информации по каналу связи с шумами. Синонимом турбо-кода является известный в теории кодирования термин — каскадный код.

Турбо-код состоит из каскада параллельно соединенных систематических кодов. Эти составляющие называются компонентными кодами. В качестве компонентных кодов могут использоваться сверточные коды, коды Хемминга, Рида — Соломона, Боуза — Чоудхури — Хоквингема и другие. В зависимости от выбора компонентного кода турбо-коды делятся на сверточные турбо-коды и блоковые коды-произведения.

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

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

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

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

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

Применение турбо-кодов. Компании France Telecom и Telediffusion de France запатентовали широкий класс турбо-кодов, что ограничивает возможность их свободного применения и, в то же время, стимулирует развитие новых методов кодирования таких, как, например, LDPC.

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

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

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

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

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

Система дискретной связи с адаптивной модуляцией и кодированием

Детектирование амплитудно-модулированных сигналов

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

Детектируемое напряжение описывается уравнением:

Стандарты помехоустойчивого кодированияСтандарты помехоустойчивого кодирования

Рассмотрим качественно явление, происходящее при де­тектировании. Предположим, что нелинейный элемент обла­дает вольтамперной характеристикой:

Стандарты помехоустойчивого кодирования

При воздействии на детектор амплитудно-модулированного напряжения в его выходной цепи протекает ток в виде высокочастотных импульсов с огибающей модулированного ко­лебания (рис. 3.17).

Стандарты помехоустойчивого кодирования

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

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

Стандарты помехоустойчивого кодирования

При выполнении условия (3.61) детектор безынерционен по отношению к модулирующему напряжению и поэтому на­зывается безынерционным. При нарушении неравенства RС << ТΩ детектор становится инерционным, в результате мо­дулирующий сигнал воспроизводится в искаженном виде. Обычно условие безынерционности детектора предполагает­ся выполненным.

Для детектирования импульсных радиосигналов приме­няются схемы обычных амплитудных детекторов, которые от­личаются параметрами элементов.Стандарты помехоустойчивого кодирования

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

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

Коды BCH

Описание работы этого кода мы возьмем из [12], это соответствует созданию кодексов для вышеупомянутых стандартов [9-11].

Коды BCH в отличие от других блочных кодов задаются через корни порождающего полинома g(x) степени n-k.

Циклический код BCH длины n над полем GF(q) называется кодом BCH c конструктивным расстоянием 5, если для некоторого целого числа b 0, его порождающий многочлен равен:

Стандарты помехоустойчивого кодирования

то есть GF(g)-полином над полем такой, что элементы αb, αb+1, αb+2, αb, являются его корнями. Следовательно, корнями будут все сопряженные с αb+δ-2, по степени 2 элементы поля.

Коды ВСН, длина которых составляет порядка нескольких сотен бит, превосходят своим качеством все другие блочные коды с той же длиной блока и степенью кодирования. G (х) = НОК{}, то есть GF(g)-ncwniHOM над полем такой, что элементы являются его корнями. Следовательно, корнями будут все сопряженные с α по степени 2 элементы поля.

Циклический код ВСН строится на основе расширенного поля GF(2m). Корни его α, α2, где α - примитивный элемент поля GF(2m) обладает минимальном расстоянием dmin, не меньшим S+1. Следовательно, код ВСН является циклическим кодом и его порождающий полином имеет 2t последовательных корней для элементов полей.

Описание построения кодовых слов в кодах ВСН и LDPC дано в [1, 7, 8, 12].

В проекте DVB-T2 основываются на полях Галуа GF(216) - длинная последовательность; короткая - GF(214). Последовательность кода ВСН входит в код LDPC, который обеспечивает многоуровневую звездную диаграмму на выходе. Каждый полном циклического корректирующего кода может быть представлен в виде полиномов с меньшими степенями:

F(x) = (x-β1)(x-β2)...(x-βk), где β являются корнями полинома F(x).

Порождающий полином g(x) можно представить в виде корней β.

Многочлен минимальной степени m(β) = 0 называется неприводимым.

Если многочлен с f(b) = 0 делится на m(β), то он будет минимальным многочленом.

Многочлен Х2m-1+1 имеет своими корнями все 2m-1 ненулевых элементов GF(2m).

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

Известны примитивные и непримитивные коды BCH. К непримитивным относятся коды Рида - Соломона.

Примитивные коды BCH.исправляют t ошибок n = gm - 1 над полем Галуа GF(g).

В непримитивном коде BCH элемент α заменяется на β поля GF(gm) и длина блока составит -β над полем Галуа GF(g).

Для любых целых положительных чисел m t0≤n/2 существует код BCH длиной n = 2m - 1, исправляющий все комбинации из t0, содержащие не более mt0 проверочных символов.

В коде BCH ошибки определяются номерами позиции. На основании его определяют синдром ошибок [6-8, 12]. Таким образом, порождающий многочлен двоичного кода имеет вид

Стандарты помехоустойчивого кодирования

а длина кода n равна:

Стандарты помехоустойчивого кодирования

Конструктивное кодовое расстояние равно 2td+1.

Нижняя граница BCH будет d2l+1, если многочлен п(ч) имеет последова-тельныt корни: αb, αb+1... αb+2.

Декодирование ВСН-кодов

Декодирование BCH-кодов осуществляется в приемники его декодерами.

Сигнал с помехой в эфире поступает на приемник: r(x) = v(x) +e(x) или r(x) = cx(x)g(x)+ S(x), где S(x) - синдром ошибки.

Существует в настоящее время ряд алгоритмов декодирования циклических кодов.

Общим для всех блочных является то, что схема составляется из двух ветвей (каналов).

В главной ветви находится сам декодер - n-разрядный регистр. Во второй (сигнальный канал L1) - находятся определители синдромов ошибок и блок их исправления.

Выходы обоих каналов идут на схему сложения по модулю 2. Результирующий поток подлежит дальнейшей обработке. Схема декодера приведена на рис. 7 .

Стандарты помехоустойчивого кодирования

Главным принципом при декодировании BCH в стандарте DVB-T2 является использование элементов позиций кодового слова в порядке коэффициентов ассоциированного многочлена.

Номер декодирования внутри FECFRAME определяется как:

Стандарты помехоустойчивого кодирования

где Nidpc – номер кода LDPC

Emat – номер I матрицы битов четно-сти.

C0de – скорость кода (бит/с).

FcikP – частота декодера блока.

Pdec – номер внутри декодера (в Q = 360).

αdtc – эффективный фактор декодера.

Позиции ошибок [6-8, 12] могут быть найдены из решения системы уравнений в поле GF(2m), эти уравнения можно получить, введя многочлен ошибок e(x) и учитывая нули кода для b≤j≤b+2tg - 1.

Синдромы определены как значения принятого полинома r(x) в нулях кода.

Они вычисляются путем деления полученного многочлена на g(x).

Синдромы определяют как значения принятого полинома r(x) в нулях кода:

Стандарты помехоустойчивого кодирования

Многочлен локатора ошибок:

Стандарты помехоустойчивого кодирования

Архитектура BCH кодов представлена на рис. 6, 7.

Стандарты помехоустойчивого кодирования

Многочлен локатора ошибок

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

Известен ряд методов решений этого уравнения [2, 12].

Архитектура BCH-кодов представлена на рис. 6.

Коды LDPC

Коды LDPC - это коды с низкой плотностью проверок на четность [3, 6-8, 12] с размерами M и N, где N - число битов, M - число проверок в кодовом слове. Код LDPC - это код, проверочная матрица N которого размерности MxN, содержит dc M единиц в каждом столбце и d

Временной демодулятор interleaving в сигнал L1.

  • Демодуляция L1-pre в BPSK.
  • Демодуляция L1-post.
  • Демодуляция FEC, прокалывание большей части коротких символов.

Информационные коды Kbh, образующие внешнее кодовое слово (M = mkdch-1, mkdc-2, …m1, mo), переходят в кодер LDPC FEC – (Nipc – Kidpc), внутреннего слова LDPC I = (i0, i1,…iNbhc-1) = (mKdch-1, mKdch-2…m1, m0, dNdch=Kdch-1, dNdch= Kdch-2,…d1, d0) - эквивалент кодовому слову полинома C(x) = XNbch-Kbch m(x)+d(x).

Внутренний кодер FEC FRAMA образует разницу четности битов:

Стандарты помехоустойчивого кодирования

для каждого блока информационных битов. Принято, что P0 = P1 =…PNidpc-Kidpc = 0.

Аккумуляция первого информационного бита с таким же номером бита четности должна в сумме по модулю 2 дать 0. Это означает, что ошибки нет.

Внешние биты, подключенные к нулевым вместе с битами четности, образуют биты I [13]. Способ построения матрицы H заключается в делении слов на группы по Q = 360 бит. Номера четных бит прокалываются и не передаются дальше.

Номер ошибочно переданного бита определяется на основе ряда вычислений.

1. Определение группы четности.

Стандарты помехоустойчивого кодирования

где 0≤Ngr≤Nidpc-Kidps.

2. Nпрок четных битов определяется как Pπ0, Рππ1 где π - задержка, определяемая скоростью кода.

Здесь πр - постоянный оператор про-калывателя для скорости кода внешнего модулятора.

3. Определение битов четности для группы прокола Pπ = N-360xNp.

Нулевые биты (Kbch - Ksig) удаляются без передачи. Разрешающее слово информационного бита следует за 168 BCH и (Nidpc-Kpun), битами четности LDPC

Есть и другие алгоритмы нахождения и

продолжение следует...

Продолжение:


Часть 1 Стандарты помехоустойчивого кодирования
Часть 2 Циклические коды. Представление двоичного кода в виде полинома - Стандарты
Часть 3 Литература - Стандарты помехоустойчивого кодирования

создано: 2020-10-17
обновлено: 2026-03-10
488



Помог ли вам этот ответ?
Нажмите оценку и напишите коротко почему. Так мы сможем сделать следующие ответы точнее и полезнее.
Насколько вы довольны ответом?
Ваш отзыв напрямую влияет на качество следующих подсказок и ответов.


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выполнения задания
  • Возможно применение функции гаранта на сделку
  • Приоритетная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можете продать (как исполнитель) или купить (как заказчик) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно применение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии

Оставить комментарий

Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Лекции и учебник по "Теория информации и кодирования"

Термины: Теория информации и кодирования