Способ и устройство для канального кодирования и декодирования в системе связи, использующей коды контроля четности с низкой плотностью
Иллюстрации
Показать всеИзобретение относится к средствам кодирования и декодирования с контролем на четность. Техническим результатом является оптимизация производительности систем связи, использующих коды контроля четности с низкой плотностью (Low-Density Parity-Check, LDPC). В способе определяют количество битов четности, которые должны быть подвергнуты выкалыванию, разделяют биты четности на предопределенные интервалы и определяют количество выкалываемых битов, которые подвергаются выкалыванию в этих предопределенных интервалах, определяют позиции выкалываемых битов четности, соответствующих определенному количеству выкалываемых битов, многократно применяют выкалывание к упомянутым выкалываемым битам четности, соответствующим упомянутым определенным позициям в упомянутых предопределенных интервалах. Упомянутые предопределенные интервалы определяются путем разделения длины битов четности на длину одной группы столбцов в матрице контроля четности. 8 н. и 9 з.п. ф-лы, 12 ил., 2 табл.
Реферат
УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
1. Область техники, к которой относится изобретение
Настоящее изобретение относится к системе связи, в которой используются коды Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC), и, в частности, к способу канального кодирования/декодирования и устройству для генерации LDPC-кодов определенного типа.
2. Описание предшествующего уровня техники
В системах беспроводной связи производительность линии значительно деградирует из-за различных шумов в каналах, замирания и Межсимвольных Помех (Inter-Symbol Interference, ISI). Следовательно, чтобы реализовать высокоскоростные системы цифровой связи, которые требуют большой пропускной способности и высокой надежности, например, для систем мобильной связи следующего поколения, систем цифрового вещания и портативного Интернета, важно разработать технологию для преодоления канальных шумов, замирания и ISI. В последнее время проводятся обширные исследования в области кодов с коррекцией ошибок, которые рассматриваются как способ для повышения надежности связи путем эффективного восстановления искаженной информации.
LDPC-код, как правило, представляется в виде графа, и многие характеристики могут быть проанализированы с помощью способов, основанных на теории графов, алгебре и теории вероятностей. Обычно модель канальных кодов в виде графа полезна для описания кодов, и путем сопоставления информации по кодированным битам к вершинам в графе и сопоставления отношений между битами к ребрам графа можно представить сеть связи, в которой вершины обмениваются предопределенными сообщениями через ребра. Таким образом, обеспечивается возможность выведения естественного алгоритма декодирования. Например, алгоритм декодирования, выведенный из решетки, которую можно рассматривать как некоторый тип графа, может включать в себя известный алгоритм Витерби, а также алгоритм Bahl-Cocke-Jelinek-Raviv (BCJR).
LDPC-код обычно определяется матрицей контроля четности, и он может быть выражен как двудольный граф, который называют графом Таннера. Термин "двудольный граф" обозначает граф, вершины которого разделены на два разных типа, и LDPC-код представляется как двудольный граф, включающий в себя вершины, некоторые из которых называются переменными узлами, а другие называются контрольными узлами. Переменные узлы взаимно-однозначно сопоставляются кодированным битам.
Фиг.1 представляет собой иллюстрацию примера матрицы H1 контроля четности LDPC-кода, содержащей 4 строки и 8 столбцов. Ссылаясь на фиг.1, поскольку количество столбцов составляет 8, матрица H1 контроля четности указывает, что LDPC-код генерирует кодовое слово длиной 8 и столбцы сопоставляются 8 кодированным битам.
Фиг.2 представляет собой схему, иллюстрирующую граф Таннера, соответствующий матрице H1 с фиг.1.
Ссылаясь на фиг.2, граф Таннера для LDPC-кода включает в себя 8 переменных узлов x1 (202), x2 (204), x3 (206), x4 (208), x5 (210), x6 (212), x7 (214) и x8 (216), а также 4 контрольных узла 218, 220, 222 и 224. i-ый столбец и j-ая строка матрицы H1 контроля четности LDPC-кода сопоставляются переменному узлу xi и j-му контрольному узлу соответственно. Кроме того, величина 1, то есть ненулевая величина в точке, где пересекаются i-ый столбец и j-ая строка в матрице H1 контроля четности LDPC-кода, указывает, что существует ребро между переменным узлом xi и j-ым контрольным узлом в графе Таннера с фиг.2.
В графе Таннера для LDPC-кода степень переменного узла и контрольного узла указывает количество ребер, присоединенных к каждому соответствующему узлу, и эта степень равна количеству ненулевых элементов в столбце или строке, соответствующей заданному узлу в матрице контроля четности LDPC-кода. Например, ссылаясь на фиг.2, степени переменных узлов x1 (202), x2 (204), x3 (206), x4 (208), x5 (210), x6 (212), x7 (214) и x8 (216) равны 4, 3, 3, 3, 2, 2, 2 и 2 соответственно, а степени контрольных узлов 218, 220, 222 и 224 равны 6, 5, 5 и 5 соответственно. Кроме того, номера ненулевых элементов в столбцах матрицы H1 контроля четности с фиг.1, которые соответствуют переменным узлам с фиг.2, совпадают с их степенями 4, 3, 3, 3, 2, 2, 2 и 2, а номера ненулевых элементов в строках матрицы H1 контроля четности с фиг.1, которые соответствуют контрольным узлам с фиг.2, совпадают с их степенями 6, 5, 5 и 5.
Чтобы выразить распределение степени для узлов LDPC-кода, отношение переменных узлов со степенью i к общему количеству переменных узлов определяется как fi, а отношение количества контрольных узлов со степенью j к общему количеству контрольных узлов определяется как gj. Например, для LDPC-кода, соответствующего фиг.1 и 2, f2=4/8, f3=3/8, f4=1/8 и fi=0 для i≠2, 3, 4, и g5=3/4, g6=1/4 и gj=0 для j≠5, 6. Когда длина LDPC-кода определена как N, то есть количество столбцов равно N, и когда количество строк определено как N/2, плотность ненулевых элементов во всей матрице контроля четности с вышеупомянутым распределением степени вычисляется согласно уравнению (1).
В уравнении (1) по мере увеличения N плотность элементов "1" в матрице контроля четности увеличивается. В целом для LDPC-кода, поскольку длина N кода обратно пропорциональна плотности ненулевых элементов, LDPC-код с большим значением N имеет очень низкую плотность ненулевых элементов. Термин "низкая плотность" в названии LDPC-кода связан с этим аспектом.
Фиг.3 представляет собой схематическую иллюстрацию LDPC-кода, применяемого в стандарте 2-го Поколения Спутниковой Передачи - Цифрового Видеовещания (Digital Video Broadcasting-Satellite Transmission 2nd Generation, DVB-S2), который является одним из Европейских стандартов цифрового вещания.
Ссылаясь на фиг.3, N 1 обозначает длину кодового слова, K 1 представляет длину информационного слова, а (N 1 -K 1 ) представляет длину контроля по четности. Кроме того, целые M 1 и q определяются так, чтобы удовлетворялось равенство q=(N 1 -K 1 )/M 1 . Предпочтительно величина K 1 /M 1 также является целой. Для удобства матрица контроля четности с фиг.3 называется первой матрицей H1 контроля четности.
Ссылаясь на фиг.3, структура части контроля четности, то есть фрагмента с K 1 -го столба по (N 1-1)-ый столбец в матрице контроля четности имеет двойную диагональную форму. Следовательно, что касается распределения степени по столбцам, соответствующим части контроля четности, то все столбцы имеют степень "2", за исключением последнего столбца, который имеет степень "1".
В матрице контроля четности структура информационной части, то есть фрагмента с 0-го столбца по (K 1-1)-ый столбец, формируется с применением следующих правил.
Правило 1: Генерируется всего K 1 /M 1 групп столбцов путем группирования K 1 столбцов, соответствующих информационного слову в матрице контроля четности, во множество групп, каждая из которых включает в себя M 1 столбцов. Способ для формирования столбцов в каждой группе определяется нижеизложенным правилом 2.
Правило 2: Сначала определяются позиции элементов "1" в каждом 0-ом столбце в i-ой группе столбцов (где i=1,..., K 1 /M 1 ). Степень 0-го столбца в каждой i-ой группе столбцов обозначается как D i. Если позициями столбцов с 1 являются ,,..., , то позиции (k=1, 2,..., D i) строк с 1 определяются согласно уравнению (2) в j-ом столбце (где j=1, 2,..., M 1-1) в i-ой группе столбцов.
Из вышеизложенных правил следует, что степени всех столбцов из i-ой группы столбцов равны D i.
Например, для N 1=30, K 1=15, M 1=5 и q=3 три последовательности для информации о позициях строк с элементами "1" для 0-ых столбцов в 3 группах столбцов могут быть выражены следующим образом. Так, эти последовательности называются "последовательностями позиций с весовым коэффициентом 1".
Что касается последовательности позиций с весовым коэффициентом 1 для 0-ых столбцов в каждой группе столбцов, то для каждой группы столбцов только соответствующие последовательности позиций могут быть выражены следующим образом. Например:
0 1 2
0 11 13
0 10 14.
Иначе говоря, i-ая последовательность позиций с весовым коэффициентом 1 в i-ой линии последовательно представляет информацию о позициях строк с элементом "1" для i-ой группы столбцов.
Можно сгенерировать LDPC-код с концепцией, соответствующей DVB-S2 LDPC-коду с фиг.4, путем формирования матрицы контроля четности посредством информации, соответствующей упомянутому детальному примеру и правилам 1 и 2.
Известно, что DVB-S2 LDPC-код согласно правилу 1 и правилу 2 может быть эффективно закодирован посредством структурной формы. Ниже в качестве примера описаны последовательные этапы процесса LDPC-кодирования посредством матрицы контроля четности на основе DVB-S2.
В следующем описании DVB-S2 LDPC-код с N 1=16200, K 1=10800, M 1=360 и q=15 подвергается процессу кодирования. Для удобства информационные биты с длиной K 1 представлены как (i 0 , i 1 ,..., ), а биты четности с длиной (N 1 -K 1 ) представлены как (p 0 , p 1 ,..., ).
Этап 1: LDPC-код инициализирует биты четности следующим образом:
p 0 =p 1 =...= =0.
Этап 2: LDPC-кодер считывает информацию по строке, где элемент "1" расположен в группе столбцов из 0-ой последовательности позиций с весовым коэффициентом 1 среди сохраненных последовательностей, указывающих матрицу контроля четности.
0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622
LDPC-кодер обновляет конкретные биты p x четности согласно уравнению (3), используя считанную информацию и первый информационный бит i 0 . Здесь, x представляет собой величину для k = 1, 2,..., 13.
В уравнении (3) p x=p x⊕i 0 также может быть выражено как p x←p x⊕i 0 , где ⊕ представляет бинарное суммирование.
Этап 3: LDPC-кодер сначала находит величину по уравнению (4) для следующих 359 информационных битов im (где m=1, 2,..., 359) после i 0 .
В уравнении (4) x представляет собой величину для k=1, 2,..., 13. Следует отметить, что уравнение (4) следует той же концепции, что и уравнение (2).
Далее LDPC-кодер выполняет операцию, похожую на уравнение (3), используя величину, полученную в уравнении (4). То есть, LDPC-кодер обновляет для i m. Например, для m=1, то есть для i 1 LDPC-кодер обновляет биты четности согласно уравнению (5).
Следует отметить, что в уравнении (5) q=15. LDPC-кодер аналогичным образом выполняет вышеописанный процесс для m=1, 2,..., 359.
Этап 4: Как и на этапе 2, LDPC-кодер считывает информацию 1-ой последовательности (k=1, 2,..., 13) позиций с весовым коэффициентом 1 для 361-го информационного бита i 360 и обновляет конкретный p x, где величина x равна . LDPC-кодер обновляет , m=361, 362,..., 719 путем применения уравнения (4) к следующим 359 информационным битам i 361, i 362,..., i 719 после i 360.
Этап 5: LDPC-кодер повторяет этапы 2, 3 и 4 для всех групп, каждая из которых имеет 360 информационных битов.
Этап 6: LDPC-кодер определяет биты четности, используя уравнение (6).
Биты p i четности в уравнении (6) представляют собой биты четности, которые были подвергнуты LDPC-кодированию.
Как описано выше, DVB-S2 выполняет кодирование путем выполнения этапов 1-6.
Для применения LDPC-кода к действительной системе связи этот LDPC-код должен быть устроен так, чтобы обеспечивать скорость передачи данных, требуемую в заданной системе связи. В частности, не только в адаптивных системах связи, где применяется Гибридный Автоматический Запрос Повторной Передачи (Hybrid Automatic Retransmission Request, HARQ) и Адаптивная Модуляция и Кодирование (Adaptive Modulation and Coding, AMC), но и других системах связи, поддерживающих разные службы вещания, для поддержки разных скоростей передачи данных согласно системным требованиям необходимы LDPC-коды с разными длинами кодовых слов.
Тем не менее, как описано выше, LDPC-код, используемый в системе DVB-S2, имеет только два типа длины кодового слова из-за ограниченного применения, и каждый тип LDPC-кода требует независимой матрицы контроля четности. Соответственно, существует необходимость в способе поддержки разных длин кодового слова, чтобы повысить расширяемость и гибкость системы. Так, в системе DVB-S2 для передачи информации сигнализации требуется передача данных объемом от сотен до тысяч битов. Тем не менее, поскольку для длины DVB-S2 LDPC-кода доступно только два варианта - 16200 и 64800, все же есть необходимость в поддержке разных длин кодовых слов.
В добавление, поскольку отдельное сохранение независимой матрицы контроля четности для каждой длины кодового слова LDPC-кода сокращает общую эффективность памяти, существует необходимость в схеме, обеспечивающей эффективную поддержку длин кодового слова из заданной существующей матрицы контроля четности, без необходимости новой матрицы контроля четности.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Соответственно, настоящее изобретение было сделано с целью решения, по меньшей мере, упомянутых проблем и/или недостатков и обеспечения, по меньшей мере, нижеописанных преимуществ. Одной целью настоящего изобретения является предоставление способа и устройства канального кодирования/декодирования для генерации из заданного LDPC-кода LDPC-кодов с разными длинами кодового слова, используя сокращения или выкалывание в системе связи, где применяются LDPC-коды.
Еще одной целью настоящего изобретения является предоставление способа и устройства канального кодирования/декодирования для гарантирования оптимальной производительности относительно архитектуры DVB-S2 в системе связи, где применяются LDPC-коды.
Согласно одному аспекту настоящего изобретения предоставлен способ для кодирования канала в системе связи, в которой применяется код Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC). Этот способ включает в себя этапы, на которых определяют количество битов четности, которые должны быть подвергнуты выкалыванию; разделяют биты четности на предопределенные интервалы и определяют количество выкалываемых битов, которые подвергаются выкалыванию в предопределенном интервале; определяют позиции выкалываемых битов четности, соответствующих предопределенному количеству выкалываемых битов, в упомянутом предопределенном интервале; и многократно применяют выкалывание к упомянутым выкалываемым битам четности, соответствующим упомянутым определенным позициям в упомянутых предопределенных интервалах. Упомянутый предопределенный интервал определяют путем разделения длины битов четности на длину одной группы столбцов в матрице контроля четности.
Согласно еще одному аспекту настоящего изобретения предоставлено устройство для кодирования канала в системе связи, в которой применяется код Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC). Это устройство включает в себя блок применения шаблона выкалывания для определения количества битов четности, которые должны быть подвергнуты выкалыванию, для разделения битов четности на предопределенные интервалы, чтобы определить количество выкалываемых битов, которые подвергаются выкалыванию в предопределенном интервале, для определения позиций выкалываемых битов четности, соответствующих упомянутому определенному количеству выкалываемых битов, в упомянутом предопределенном интервале и для многократного применения выкалывания к упомянутым выкалываемым битам четности, соответствующим упомянутым определенным позициям в упомянутых предопределенных интервалах. Упомянутый предопределенный интервал определяют путем разделения длины битов четности на длину одной группы столбцов в матрице контроля четности.
Согласно еще одному аспекту настоящего изобретения предоставлен способ для декодирования канала в системе связи, в которой применяется код Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC). Этот способ включает в себя этапы, на которых демодулируют сигнал, переданный из передатчика; определяют, присутствуют ли какие-либо выколотые биты в демодулированном сигнале; определяют позиции выколотых битов четности путем оценки информации о шаблоне выкалывания, когда присутствуют выколотые биты; и декодируют данные, используя определенные позиции выколотых битов четности.
Согласно еще одному аспекту настоящего изобретения предоставлено устройство для декодирования канала в системе связи, в которой применяется код Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC). Это устройство включает в себя демодулятор для демодуляции сигнала, переданного из передатчика; блок определения шаблона выкалывания для определения позиций выколотых битов четности путем оценки информации о шаблоне выкалывания из демодулированного сигнала; и декодер для декодирования данных, используя упомянутые определенные позиции выколотых битов четности.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Вышеупомянутые и другие аспекты, отличительные признаки и преимущества настоящего изобретения будут очевидны из следующего подробного описания с сопутствующими чертежами, на которых:
фиг.1 представляет собой иллюстрацию примера матрицы контроля четности LDPC-кода длиной 8;
фиг.2 представляет собой иллюстрацию графа Таннера для матрицы контроля четности LDPC-кода длиной 8;
фиг.3 - схематическая иллюстрация структуры DVB-S2 LDPC-кода;
фиг.4 представляет собой иллюстрацию примера матрицы контроля четности DVB-S2 LDPC-кода;
фиг.5 - схема, иллюстрирующая структуру приемопередатчика в системе связи, в которой используются LDPC-коды;
фиг.6 - схема, иллюстрирующая первый пример, где к LDPC-коду с фиг.4 применяется случайное выкалывание;
фиг.7 - схема, иллюстрирующая второй пример, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание;
фиг.8 - схема, иллюстрирующая третий пример, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание;
фиг.9 - схема последовательности операций, иллюстрирующая способ генерации LDPC-кода с разной длиной кодового слова из матрицы контроля четности сохраненного LDPC-кода согласно одному варианту осуществления настоящего изобретения;
фиг.10 - схема последовательности операций способа LDPC-декодирования в приемном устройстве, когда применяется шаблон выкалывания согласно одному варианту осуществления настоящего изобретения;
фиг.11 - схема, иллюстрирующая структуру передающего устройства, использующего LDPC-коды, к которым применяется выкалывание и сокращение, предлагаемое настоящим изобретением; и
фиг.12 - схема, иллюстрирующая структуру приемного устройства, использующего LDPC-коды, к которым применяется выкалывание и сокращение, предлагаемое настоящим изобретением.
Во всех чертежах одинаковые ссылочные номера обозначают одинаковые элементы, отличительные признаки и структуры.
ПОДРОБНОЕ ОПИСАНИЕ ПРЕДПОЧТИТЕЛЬНЫХ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ
Ниже со ссылкой на прилагаемые чертежи подробно описаны варианты осуществления настоящего изобретения. В следующем описании может быть опущено подробное описание известных функций и конфигураций, чтобы обеспечить ясность и краткость.
Варианты осуществления настоящего изобретения предоставляют способ и устройство для поддержки LDPC-кодов с различными длинами кодового слова, используя матрицу контроля четности структурированного LDPC-кода определенного типа. В добавление, варианты осуществления настоящего изобретения предоставляют устройство для поддержки разных длин кодового слова в системе связи, в которой используются LDPC-коды определенного типа, и способ для управления таким устройством. В частности, варианты осуществления настоящего изобретения предоставляют способ и устройство для генерации LDPC-кода, используя матрицу контроля четности заданного LDPC-кода, где сгенерированный LDPC-код короче по длине, чем заданный LDPC-код.
Фиг.5 представляет собой схему, иллюстрирующую структуру приемопередатчика в системе связи, в которой используются LDPC-коды.
Ссылаясь на фиг.5, сообщение u вводится в LDPC-кодер 511 в передатчике 510 до выполнения его передачи в приемник 530. LDPC-кодер 511 кодирует введенное сообщение u и выводит кодированный сигнал c в модулятор 513. Модулятор 513 модулирует кодированный сигнал c и передает модулированный сигнал s в приемник 530 через беспроводной канал 520. Демодулятор 531 в приемнике 530 демодулирует принятый сигнал r и выводит демодулированный сигнал x в LDPC-декодер 533. LDPC-декодер 533 оценивает оценочную величину u вышеупомянутого сообщения на основании данных, принятых через беспроводной канал 520.
Используя предопределенную схему, LDPC-кодер 511 генерирует матрицу контроля четности согласно длине кодового слова, необходимой для системы связи. В частности, согласно одному варианту осуществления настоящего изобретения LDPC-кодер 511 может поддерживать разные длины кодового слова, используя упомянутый LDPC-код без необходимости дополнительной информации хранения.
Согласно одному варианту осуществления настоящего изобретения способ поддержки разных длин кодового слова использует метод сокращения и/или метод выкалывания. Термин "метод выкалывания" обозначает способ, согласно которому, по существу, специфицированная часть кодового слова LDPC не передается после генерации кодового слова LDPC из заданной конкретной матрицы контроля четности путем выполнения LDPC-кодирования. Соответственно, приемник определяет, что непереданная часть была удалена.
Для разъяснения метода выкалывания ниже со ссылкой на фиг.3 и 4 подробно описана матрица контроля четности DVB-S2 LDPC-кода.
Общая длина матрицы контроля четности для DVB-S2 LDPC-кода, проиллюстрированной на фиг.3, равна N 1, начальная часть соответствует информационным битам (i 0, i 1,..., ) и имеет длину K 1, а задняя часть соответствует битам (p 0, p 1,..., ) четности и имеет длину (N 1-K 1).
Обычно метод выкалывания может быть применен как к информационным битам, так и к битам четности. Хотя метод выкалывания и метод сокращения обычно сокращают длины кодового слова, метод выкалывания в отличие от метода сокращения не ограничивает величины конкретных битов. Согласно методу выкалывания конкретные информационные биты или конкретная часть сгенерированных битов четности просто не передается, так что приемник может удалить соответствующие биты. Иначе говоря, путем невыполнения передачи битов в N p предопределенных позициях в сгенерированном кодовом слове LDPC длиной N 1 метод выкалывания может обеспечить такой же эффект, что и при передаче кодового слова LDPC длиной (N 1 -N p). Поскольку все столбцы, соответствующие битам, выколотым в матрице контроля четности, используются в исходном виде в процессе декодирования, метод выкалывания явно отличается от метода сокращения.
Сверх того, согласно настоящему изобретению, поскольку информация позиции для выколотых битов может быть распространена или совместно оценена передатчиком и приемником при настройке системы, приемник может просто удалить соответствующие выколотые биты до выполнения декодирования.
Согласно методу выкалывания, поскольку длина кодового слова, которое передатчик фактически передает, равна N 1 -N p и длина информационного слова постоянно равна K 1, кодовая скорость становится равной K 1 /(N 1 -N p ), что всегда больше, чем первая заданная кодовая скорость K 1 /N 1.
Ниже приведено описание метода сокращения и метода выкалывания, которые подходят для DVB-S2 LDPC-кода. DVB-S2 LDPC-код, как описано выше, представляет собой LDPC-код с конкретной структурой. Соответственно, по сравнению с обычным LDPC-кодом DVB-S2 LDPC-код может подвергаться более эффективному сокращению и выкалыванию.
Для удобства в настоящем примере предполагается, что длина кодового слова и длина информации LDPC-кода равны N 2 и K 2 соответственно. Если задается определение N 1 -N 2 =N Δ и K 1 -K 2 =K Δ, то можно генерировать LDPC-код, для которого длина кодового слова и длина информации равны N 2 и K 2 соответственно, путем сокращения K Δ битов и выкалывания N p=(N Δ -K Δ ) битов из матрицы контроля четности DVB-S2 LDPC-кода. Поскольку кодовая скорость обычно отличается от кодовой скорости DVB-S2 LDPC-кода, для сгенерированного LDPC-кода с N Δ >0 или K Δ >0 алгебраическая характеристика меняется. Для N Δ =K Δ LDPC-код генерируется путем невыполнения сокращения и выкалывания или путем выполнения только сокращения.
Ниже со ссылкой на фиг.4 приведено детальное описание характеристик DVB-S2 LDPC-кода, к которому применяется выкалывание. Следует отметить, что для DVB-S2 LDPC-кода с фиг.4 N 1=30, K 1=15, M 1=5 и q=3, и последовательность позиций с весовым коэффициентом 1 для 0-ых столбцов в трех группах столбцов выражается следующим образом:
0 1 2
0 11 13
0 10 14.
i-ая последовательность позиций с весовым коэффициентом 1 в i-ом столбце последовательно представляет информацию о позициях строк с элементом "1" в i-ой группе столбцов.
Фиг.6 представляет собой схему, иллюстрирующую первый пример, где к LDPC-коду с фиг.4 применяется случайное выкалывание. Поскольку биты четности, выкалываемые на фиг.6, подвергаются процессу удаления в декодере, выколотые биты четности по сравнению с другими неудаленными битами не обеспечивают больший эффект повышения производительности в процессе LDPC-декодирования, что приводит к снижению надежности. Следовательно, другие биты, напрямую соединенные с выколотыми битами четности, имеющими низкую надежность, также подвергаются сокращению эффекта повышения производительности в процессе декодирования. Чем больше количество ребер, соединенных с битами, которые выкалываются на графе Таннера, тем сильнее выражается сокращение эффекта повышения производительности.
Например, на фиг.6 0-ой информационный бит, соответствующий 0-му столбцу, напрямую соединен с выколотым битом четности дважды, 3-ий информационный бит, соответствующий 3-му столбцу, напрямую соединен с выколотым битом четности один раз, а 8-ой информационный бит, соответствующий 8-му столбцу, напрямую соединен с выколотым битом четности трижды. В данном случае 3-ий, 0-ой и 8-ой информационные биты имеют превосходство в эффекте повышения производительности в процессе декодирования. Иначе говоря, когда степени переменных узлов равны друг другу, эффект повышения производительности уменьшается по мере увеличения количества соединенных выколотых битов.
Из фиг.6 следует, что количество выколотых битов четности, которые напрямую соединены с каждым информационным словом посредством случайного шаблона выкалывания, является случайной величиной. Следовательно, существует высокая вероятность того, что надежность каждого информационного бита также будет случайной величиной. Иначе говоря, наряду с тем, что некоторые информационные биты могут получить более высокую, чем это в действительности необходимо, производительность декодирования, другие информационные биты могут подвергнуться значительной деградации производительности. Этот случайный шаблон выкалывания может привести к существенной нерегулярности надежности информационных битов в процессе декодирования.
Фиг.7 представляет собой схему, иллюстрирующую второй пример, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание. Более конкретно, в примере с фиг.7 применяется относительно неслучайный шаблон выкалывания определенного типа.
Ссылаясь на фиг.7, хотя применяется относительно неслучайный шаблон выкалывания, соединения с информационными битами могут быть нерегулярными согласно соответствующему шаблону выкалывания. Неслучайный шаблон выкалывания с фиг.7 может быть более нерегулярным по сравнению со случайным шаблоном выкалывания с фиг.6.
В случае LDPC-кода с матрицей контроля четности с конкретной структурой, такого как DVB-S2 LDPC-код, соединения между информационными битами и битами четности, выколотыми согласно шаблону выкалывания, могут существенно измениться.
Варианты осуществления настоящего изобретения предлагают шаблон выкалывания, который обеспечивает стабильную производительность декодирования путем максимального подавления нерегулярности в надежности информационных битов в процессе декодирования, используя структурные характеристики DVB-S2 LDPC-кода.
Фиг.8 представляет собой схему, иллюстрирующую третий пример, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание. В примере с фиг.8 к матрице контроля четности с фиг.4 применяется шаблон выкалывания, который обеспечивает постоянный интервал в 3 элемента между выкалываемыми битами четности, поскольку величина q, которая является одной из составных переменных, равна 3. Как показано на фиг.8, каждый информационный бит равномерно соединен с 2 выколотыми битами.
Нерегулярность между выколотыми битами и информационными битами заметно сокращается, когда интервал между выколотыми битами четности устанавливается согласно величине q, что обусловлено структурой DVB-S2 LDPC-кода. Это детально описано со ссылкой на фиг.3.
Ссылаясь на правило 1 и правило 2, а также на фиг.3 позиции элементов "1" в первом столбце в соответствующей группе столбцов определяют позиции элементов "1" в остальных столбцах. Индексы строк, где элемент "1" расположен в остальных столбцах, отличаются от индекса строки, где элемент "1" расположен в первой строке, ровно на множитель q относительно модуля (N 1 -K 1 ), где N 1 обозначает длину кодового слова LDPC, а K 1 обозначает длину информационного слова. Более конкретно, индексы строк, где элемент "1" расположен в двух следующих друг за другом столбцах в конкретной группе столбцов, отличаются друг от друга ровно на величину q для модуля (N 1 -K 1 ).
Еще одна характеристика DVB-S2 LDPC-кода связана с подматрицей, соответствующей части контроля четности в матрице контроля четности. Ссылаясь на фиг.3, часть контроля четности имеет структуру треугольной матрицы, в которой элемент "1" присутствует во всех диагональных частях, и в этой структуре i-ый бит четности соответствует элементу "1", расположенному в i-ой строке.
Предполагая, что выкалываются конкретные биты четности, если выкалывание части контроля четности повторяется точно через интервалы q, количество ребер информационных битов, соединенных с битами четности, выколотыми в конкретной группе столбцов, имеет максимальную регулярность. Например, предполагая, что i-ый бит четности выкалывается для 0≤i<q и (i+kq)-ый бит четности многократно выкалывается для 0≤k<M 1, информационный бит, соединенный с i-ым битом четности, указывает, что элемент "1" существует в i-ой строке для столбца, соответствующего соответствующему информационному биту. Следовательно, элемент "1" существует в (i+kq)-ой строке в столбце, соответствующем информационному биту, который отделен от вышерасположенного информационного бита на k элементов среди столбцов в группе столбцов согласно правилу 1 и правилу 2. Соответственно, информационный бит соединен с выколотым (i+kq)-ым битом.
Для DVB-S2 LDPC-кода, поскольку степени переменных узлов, соответствующих всем информационным словам, равны друг другу в одной группе столбцов, и при применении шаблона выкалывания в одной строке распределяется один и менее элементов "1", информационные биты, соответствующие одной группе столбцов, соединены с одинаковым количеством выколотых битов. Следовательно, соединения между выколотыми битами и информационными битами становятся регулярными, и в процессе декодирования можно ожидать стабильности.
Общий процесс для применения вышеописанной схемы выкалывания можно резюмировать следующим образом. В следующем разделе описания предполагается, что N 1 обозначает длину кодового слова LDPC, каждая группа столбцов содержит M 1 столбцов, и выкалыванию подвергаются Np битов четности. Следующий процесс выкалывания проиллюстрирован на фиг.9.
Так, фиг.9 представляет собой схему последовательности операций, иллюстрирующую способ генерации LDPC-кода с разной длиной кодового слова из матрицы контроля четности сохраненного LDPC-кода согласно одному варианту осуществления настоящего изобретения.
Этап 1 Выкалывания: Передающее устройство на этапе 901 генерирует существующее кодовое слово DVB-S2 LDPC, которое было или не было подвергнуто сокращению.
Этап 2 Выкалывания: На этапе 903 передающее устройство определяет длину Np, по которой оно будет выполнять выкалывание, а на этапе 905 оно вычисляет величину , где x обозначает максимальное целое, которое меньше или равно x.
Этап 3 Выкалывания: На этапе 907 передающее устройство определяет биты четности, которые должны быть подвергнуты выкалыванию для 0≤x<A и 0≤i x <q. Предполагается, что для 0≤x<q величины i x были ранее определены с учетом производительности (здесь задано отношение A≤q).
Этап 4 Выкалывания: На этапе 907 передающее устройство применяет выкалывание ко всем битам четности для 0≤x<A и 0≤k<M 1. Здесь постоянная B представляет собой предустановленную ненулевую целую.
Этап 5 Выкалывания: На этапе 907 передающее устройство дополнительно выкалывает биты четности для 0≤k<N p -AM 1. Далее на этапе 909 передающее устройство передает биты, за исключением выколотых битов.
Очевидно, что в процессе выкалывания AM 1 битов четности выкалываются на Этапе 3 Выкалывания и Этапе 4 Выкалывания, и (N p -AM 1 ) битов четности выкалываются на Этапе 5 Выкалывания, в результате выкалывается всего N p битов четности. Что касается кодового слова DVB-S2 LDPC, передаваемого после процесса выкалывания, приемное устройство восстанавливает принятый сигнал в исходный сигнал путем процесса декодирования, который более подробно описан ниже со ссылкой на фиг.10.
Нижеследующий подробный пример приведен для более понятного разъяснения процесса выкалывания на Этапах 3-5 Выкалывания. Используемый здесь DVB-S2 LDPC-код представляет собой код, для которого N 1=16200, K 1=3240, M 1=360 И q=36.
Пример Этапа 1 Выкалывания: Передающее устройство генерирует существующее кодовое слово DVB-S2 LDPC, которое было или не было подвергну