СПОСОБ И УСТРОЙСТВО ДЛЯ КАНАЛЬНОГО КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ В СИСТЕМЕ СВЯЗИ, ИСПОЛЬЗУЮЩЕЙ КОДЫ КОНТРОЛЯ ЧЕТНОСТИ С НИЗКОЙ ПЛОТНОСТЬЮ
METHOD AND APPARATUS FOR CHANNEL ENCODING AND DECODING IN COMMUNICATION SYSTEM USING LOW-DENSITY PARITY CHECK CODES

УРОВЕНЬ ТЕХНИКИ ИЗОБРЕТЕНИЯ
1. Область техники, к которой относится изобретение
Настоящее изобретение относится к системе связи, в которой используются коды Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC), и, в частности, к способу канального кодирования/декодирования и устройству для генерации LDPC-кодов определенного типа.
2. Описание предшествующего уровня техники
В системах беспроводной связи производительность линии значительно деградирует из-за различных шумов в каналах, замирания и Межсимвольных Помех (Inter-Symbol Interference, ISI). Следовательно, чтобы реализовать высокоскоростные системы цифровой связи, которые требуют большой пропускной способности и высокой надежности, например, для систем мобильной связи следующего поколения, систем цифрового вещания и портативного Интернета, важно разработать технологию для преодоления канальных шумов, замирания и ISI. В последнее время проводятся обширные исследования в области кодов с коррекцией ошибок, которые рассматриваются как способ для повышения надежности связи путем эффективного восстановления искаженной информации.
LDPC-код, как правило, представляется в виде графа, и многие характеристики могут быть проанализированы с помощью способов, основанных на теории графов, алгебре и теории вероятностей. Обычно модель канальных кодов в виде графа полезна для описания кодов, и путем сопоставления информации по кодированным битам к вершинам в графе и сопоставления отношений между битами к ребрам графа можно представить сеть связи, в которой вершины обмениваются предопределенными сообщениями через ребра. Таким образом, обеспечивается возможность выведения естественного алгоритма декодирования. Например, алгоритм декодирования, выведенный из решетки, которую можно рассматривать как некоторый тип графа, может включать в себя известный алгоритм Витерби, а также алгоритм Bahl-Cocke-Jelinek-Raviv (BCJR).
LDPC-код обычно определяется матрицей контроля четности, и он может быть выражен как двудольный граф, который называют графом Таннера. Термин "двудольный граф" обозначает граф, вершины которого разделены на два разных типа, и LDPC-код представляется как двудольный граф, включающий в себя вершины, некоторые из которых называются переменными узлами, а другие называются контрольными узлами. Переменные узлы взаимно-однозначно сопоставляются кодированным битам.
1
1
Фиг.1 представляет собой иллюстрацию примера матрицы H контроля четности LDPC-кода, содержащей 4 строки и 8 столбцов. Ссылаясь на фиг.1, поскольку количество столбцов составляет 8, матрица H контроля четности указывает, что LDPC-код генерирует кодовое слово длиной 8 и столбцы сопоставляются 8 кодированным битам.
1
Фиг.2 представляет собой схему, иллюстрирующую граф Таннера, соответствующий матрице H с фиг.1.
1
2
3
4
5
6
7
8
1
i
1
i
Ссылаясь на фиг.2, граф Таннера для LDPC-кода включает в себя 8 переменных узлов x (202), x (204), x (206), x (208), x (210), x (212), x (214) и x (216), а также 4 контрольных узла 218, 220, 222 и 224. i-ый столбец и j-ая строка матрицы H контроля четности LDPC-кода сопоставляются переменному узлу x и j-му контрольному узлу соответственно. Кроме того, величина 1, то есть ненулевая величина в точке, где пересекаются i-ый столбец и j-ая строка в матрице H контроля четности LDPC-кода, указывает, что существует ребро между переменным узлом x и j-ым контрольным узлом в графе Таннера с фиг.2.
1
2
3
4
5
6
7
8
1
1
В графе Таннера для LDPC-кода степень переменного узла и контрольного узла указывает количество ребер, присоединенных к каждому соответствующему узлу, и эта степень равна количеству ненулевых элементов в столбце или строке, соответствующей заданному узлу в матрице контроля четности LDPC-кода. Например, ссылаясь на фиг.2, степени переменных узлов x (202), x (204), x (206), x (208), x (210), x (212), x (214) и x (216) равны 4, 3, 3, 3, 2, 2, 2 и 2 соответственно, а степени контрольных узлов 218, 220, 222 и 224 равны 6, 5, 5 и 5 соответственно. Кроме того, номера ненулевых элементов в столбцах матрицы H контроля четности с фиг.1, которые соответствуют переменным узлам с фиг.2, совпадают с их степенями 4, 3, 3, 3, 2, 2, 2 и 2, а номера ненулевых элементов в строках матрицы H контроля четности с фиг.1, которые соответствуют контрольным узлам с фиг.2, совпадают с их степенями 6, 5, 5 и 5.
i
j
2
3
4
i
5
6
j
Чтобы выразить распределение степени для узлов LDPC-кода, отношение переменных узлов со степенью i к общему количеству переменных узлов определяется как f, а отношение количества контрольных узлов со степенью j к общему количеству контрольных узлов определяется как g. Например, для LDPC-кода, соответствующего фиг.1 и 2, f=4/8, f=3/8, f=1/8 и f=0 для i≠2, 3, 4, и g=3/4, g=1/4 и g=0 для j≠5, 6. Когда длина LDPC-кода определена как N, то есть количество столбцов равно N, и когда количество строк определено как N/2, плотность ненулевых элементов во всей матрице контроля четности с вышеупомянутым распределением степени вычисляется согласно уравнению (1).
В уравнении (1) по мере увеличения N плотность элементов "1" в матрице контроля четности увеличивается. В целом для LDPC-кода, поскольку длина N кода обратно пропорциональна плотности ненулевых элементов, LDPC-код с большим значением N имеет очень низкую плотность ненулевых элементов. Термин "низкая плотность" в названии LDPC-кода связан с этим аспектом.
nd
Фиг.3 представляет собой схематическую иллюстрацию LDPC-кода, применяемого в стандарте 2-го Поколения Спутниковой Передачи - Цифрового Видеовещания (Digital Video Broadcasting-Satellite Transmission 2 Generation, DVB-S2), который является одним из Европейских стандартов цифрового вещания.
N
K
(N
-K
)
M
q
q=(N
-K
)/M
.
K
/M
1
1
1
1
1
1
1
1
1
1
1
Ссылаясь на фиг.3,  обозначает длину кодового слова,  представляет длину информационного слова, а представляет длину контроля по четности. Кроме того, целые  и определяются так, чтобы удовлетворялось равенство Предпочтительно величина  также является целой. Для удобства матрица контроля четности с фиг.3 называется первой матрицей H контроля четности.
K
-
N
1
1
Ссылаясь на фиг.3, структура части контроля четности, то есть фрагмента с го столба по (-1)-ый столбец в матрице контроля четности имеет двойную диагональную форму. Следовательно, что касается распределения степени по столбцам, соответствующим части контроля четности, то все столбцы имеют степень "2", за исключением последнего столбца, который имеет степень "1".
K
1
В матрице контроля четности структура информационной части, то есть фрагмента с 0-го столбца по (-1)-ый столбец, формируется с применением следующих правил.
K
/M
K
M
1
1
1
1
Правило 1: Генерируется всего  групп столбцов путем группирования  столбцов, соответствующих информационного слову в матрице контроля четности, во множество групп, каждая из которых включает в себя  столбцов. Способ для формирования столбцов в каждой группе определяется нижеизложенным правилом 2.
i
i=1,..., K
/M
).
i
D
k
D
j
M
i
1
1
i
i
1
Правило 2: Сначала определяются позиции элементов "1" в каждом 0-ом столбце в -ой группе столбцов (где Степень 0-го столбца в каждой -ой группе столбцов обозначается как . Если позициями столбцов с 1 являются ,,..., , то позиции (=1, 2,..., ) строк с 1 определяются согласно уравнению (2) в -ом столбце (где j=1, 2,..., -1) в -ой группе столбцов.
i
D
i
Из вышеизложенных правил следует, что степени всех столбцов из -ой группы столбцов равны .
N
K
M
q
1
1
1
Например, для =30, =15,=5 и =3 три последовательности для информации о позициях строк с элементами "1" для 0-ых столбцов в 3 группах столбцов могут быть выражены следующим образом. Так, эти последовательности называются "последовательностями позиций с весовым коэффициентом 1".
Что касается последовательности позиций с весовым коэффициентом 1 для 0-ых столбцов в каждой группе столбцов, то для каждой группы столбцов только соответствующие последовательности позиций могут быть выражены следующим образом. Например:
0 1 2
0 11 13
0 10 14.
i
i
i
Иначе говоря, -ая последовательность позиций с весовым коэффициентом 1 в -ой линии последовательно представляет информацию о позициях строк с элементом "1" для -ой группы столбцов.
Можно сгенерировать LDPC-код с концепцией, соответствующей DVB-S2 LDPC-коду с фиг.4, путем формирования матрицы контроля четности посредством информации, соответствующей упомянутому детальному примеру и правилам 1 и 2.
Известно, что DVB-S2 LDPC-код согласно правилу 1 и правилу 2 может быть эффективно закодирован посредством структурной формы. Ниже в качестве примера описаны последовательные этапы процесса LDPC-кодирования посредством матрицы контроля четности на основе DVB-S2.
N
K
M
K
(i
, i
,...,
(N
-K
)
(p
, p
,...,
1
1
1
1
0
1
1
1
0
1
В следующем описании DVB-S2 LDPC-код с =16200, =10800, =360 и q=15 подвергается процессу кодирования. Для удобства информационные биты с длиной  представлены как ), а биты четности с длиной представлены как ).
Этап 1: LDPC-код инициализирует биты четности следующим образом:
p
=p
=...=
=0.
0
1
Этап 2: LDPC-кодер считывает информацию по строке, где элемент "1" расположен в группе столбцов из 0-ой последовательности позиций с весовым коэффициентом 1 среди сохраненных последовательностей, указывающих матрицу контроля четности.
0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622
p
i
.
x
k
x
0
LDPC-кодер обновляет конкретные биты  четности согласно уравнению (3), используя считанную информацию и первый информационный бит Здесь, представляет собой величину  для  = 1, 2,..., 13.
p
p
i
p
p
i
,
x
x
0
x
x
0
В уравнении (3) =⊕ также может быть выражено как ←⊕где ⊕ представляет бинарное суммирование.
m
0
m=1, 2,..., 359
i
.
Этап 3: LDPC-кодер сначала находит величину по уравнению (4) для следующих 359 информационных битов i (где ) после
x
k=
В уравнении (4) представляет собой величину  для 1, 2,..., 13. Следует отметить, что уравнение (4) следует той же концепции, что и уравнение (2).
i
m
i
m
1
Далее LDPC-кодер выполняет операцию, похожую на уравнение (3), используя величину, полученную в уравнении (4). То есть, LDPC-кодер обновляет  для . Например, для =1, то есть для  LDPC-кодер обновляет биты четности  согласно уравнению (5).
q
m
Следует отметить, что в уравнении (5) =15. LDPC-кодер аналогичным образом выполняет вышеописанный процесс для =1, 2,..., 359.
k
i
p
x
.
m
i
i
i
i
360
x
361
362
719
360
Этап 4: Как и на этапе 2, LDPC-кодер считывает информацию 1-ой последовательности (=1, 2,..., 13) позиций с весовым коэффициентом 1 для 361-го информационного бита  и обновляет конкретный , где величина равна LDPC-кодер обновляет , =361, 362,..., 719 путем применения уравнения (4) к следующим 359 информационным битам , ,...,  после .
Этап 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-коды.
u
u
c
c
s
r
x
u
Ссылаясь на фиг.5, сообщение вводится в LDPC-кодер 511 в передатчике 510 до выполнения его передачи в приемник 530. LDPC-кодер 511 кодирует введенное сообщение  и выводит кодированный сигнал в модулятор 513. Модулятор 513 модулирует кодированный сигнал  и передает модулированный сигнал в приемник 530 через беспроводной канал 520. Демодулятор 531 в приемнике 530 демодулирует принятый сигнал  и выводит демодулированный сигнал  в LDPC-декодер 533. LDPC-декодер 533 оценивает оценочную величину  вышеупомянутого сообщения на основании данных, принятых через беспроводной канал 520.
Используя предопределенную схему, LDPC-кодер 511 генерирует матрицу контроля четности согласно длине кодового слова, необходимой для системы связи. В частности, согласно одному варианту осуществления настоящего изобретения LDPC-кодер 511 может поддерживать разные длины кодового слова, используя упомянутый LDPC-код без необходимости дополнительной информации хранения.
Согласно одному варианту осуществления настоящего изобретения способ поддержки разных длин кодового слова использует метод сокращения и/или метод выкалывания. Термин "метод выкалывания" обозначает способ, согласно которому, по существу, специфицированная часть кодового слова LDPC не передается после генерации кодового слова LDPC из заданной конкретной матрицы контроля четности путем выполнения LDPC-кодирования. Соответственно, приемник определяет, что непереданная часть была удалена.
Для разъяснения метода выкалывания ниже со ссылкой на фиг.3 и 4 подробно описана матрица контроля четности DVB-S2 LDPC-кода.
N
i
i
K
p
p
N
K
1
0
1
1
0
1
1
1
Общая длина матрицы контроля четности для DVB-S2 LDPC-кода, проиллюстрированной на фиг.3, равна , начальная часть соответствует информационным битам (, ,..., ) и имеет длину , а задняя часть соответствует битам (, ,..., ) четности и имеет длину (-).
N
N
N
-N
p
1
1
p
Обычно метод выкалывания может быть применен как к информационным битам, так и к битам четности. Хотя метод выкалывания и метод сокращения обычно сокращают длины кодового слова, метод выкалывания в отличие от метода сокращения не ограничивает величины конкретных битов. Согласно методу выкалывания конкретные информационные биты или конкретная часть сгенерированных битов четности просто не передается, так что приемник может удалить соответствующие биты. Иначе говоря, путем невыполнения передачи битов в  предопределенных позициях в сгенерированном кодовом слове LDPC длиной  метод выкалывания может обеспечить такой же эффект, что и при передаче кодового слова LDPC длиной (). Поскольку все столбцы, соответствующие битам, выколотым в матрице контроля четности, используются в исходном виде в процессе декодирования, метод выкалывания явно отличается от метода сокращения.
Сверх того, согласно настоящему изобретению, поскольку информация позиции для выколотых битов может быть распространена или совместно оценена передатчиком и приемником при настройке системы, приемник может просто удалить соответствующие выколотые биты до выполнения декодирования.
N
-N
K
K
/(N
-N
)
K
/N
1
p
1
1
1
p
1
1
Согласно методу выкалывания, поскольку длина кодового слова, которое передатчик фактически передает, равна и длина информационного слова постоянно равна , кодовая скорость становится равной , что всегда больше, чем первая заданная кодовая скорость .
Ниже приведено описание метода сокращения и метода выкалывания, которые подходят для DVB-S2 LDPC-кода. DVB-S2 LDPC-код, как описано выше, представляет собой LDPC-код с конкретной структурой. Соответственно, по сравнению с обычным LDPC-кодом DVB-S2 LDPC-код может подвергаться более эффективному сокращению и выкалыванию.
N
K
N
-N
=N
K
-K
=K
N
K
K
N
N
-K
)
N
>0
K
>0
N
=K
2
2
1
2
Δ
1
2
Δ
2
2
Δ
p
Δ
Δ
Δ
Δ
Δ
Δ
Для удобства в настоящем примере предполагается, что длина кодового слова и длина информации LDPC-кода равны  и  соответственно. Если задается определение  и , то можно генерировать LDPC-код, для которого длина кодового слова и длина информации равны  и  соответственно, путем сокращения  битов и выкалывания =(битов из матрицы контроля четности DVB-S2 LDPC-кода. Поскольку кодовая скорость  обычно отличается от кодовой скорости DVB-S2 LDPC-кода, для сгенерированного LDPC-кода с или  алгебраическая характеристика меняется. Для LDPC-код генерируется путем невыполнения сокращения и выкалывания или путем выполнения только сокращения.
N
K
M
q
1
1
1
Ниже со ссылкой на фиг.4 приведено детальное описание характеристик DVB-S2 LDPC-кода, к которому применяется выкалывание. Следует отметить, что для DVB-S2 LDPC-кода с фиг.4 =30,=15, =5 и =3, и последовательность позиций с весовым коэффициентом 1 для 0-ых столбцов в трех группах столбцов выражается следующим образом:
0 1 2
0 11 13
0 10 14.
i
i
i
-ая последовательность позиций с весовым коэффициентом 1 в -ом столбце последовательно представляет информацию о позициях строк с элементом "1" в -ой группе столбцов.
Фиг.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.
q
(N
-K
)
N
K
q
(N
-K
)
1
1
1
1
1
1
Ссылаясь на правило 1 и правило 2, а также на фиг.3 позиции элементов "1" в первом столбце в соответствующей группе столбцов определяют позиции элементов "1" в остальных столбцах. Индексы строк, где элемент "1" расположен в остальных столбцах, отличаются от индекса строки, где элемент "1" расположен в первой строке, ровно на множитель относительно модуля , где  обозначает длину кодового слова LDPC, а  обозначает длину информационного слова. Более конкретно, индексы строк, где элемент "1" расположен в двух следующих друг за другом столбцах в конкретной группе столбцов, отличаются друг от друга ровно на величину  для модуля .
i
i
Еще одна характеристика DVB-S2 LDPC-кода связана с подматрицей, соответствующей части контроля четности в матрице контроля четности. Ссылаясь на фиг.3, часть контроля четности имеет структуру треугольной матрицы, в которой элемент "1" присутствует во всех диагональных частях, и в этой структуре -ый бит четности соответствует элементу "1", расположенному в -ой строке.
q
i
0≤i<q
(i+kq)
0≤k<M
i
i
(i+kq)
k
(i+kq)
1
Предполагая, что выкалываются конкретные биты четности, если выкалывание части контроля четности повторяется точно через интервалы , количество ребер информационных битов, соединенных с битами четности, выколотыми в конкретной группе столбцов, имеет максимальную регулярность. Например, предполагая, что -ый бит четности выкалывается для и -ый бит четности многократно выкалывается для , информационный бит, соединенный с -ым битом четности, указывает, что элемент "1" существует в -ой строке для столбца, соответствующего соответствующему информационному биту. Следовательно, элемент "1" существует в -ой строке в столбце, соответствующем информационному биту, который отделен от вышерасположенного информационного бита на элементов среди столбцов в группе столбцов согласно правилу 1 и правилу 2. Соответственно, информационный бит соединен с выколотым -ым битом.
Для DVB-S2 LDPC-кода, поскольку степени переменных узлов, соответствующих всем информационным словам, равны друг другу в одной группе столбцов, и при применении шаблона выкалывания в одной строке распределяется один и менее элементов "1", информационные биты, соответствующие одной группе столбцов, соединены с одинаковым количеством выколотых битов. Следовательно, соединения между выколотыми битами и информационными битами становятся регулярными, и в процессе декодирования можно ожидать стабильности.
N
M
1
1
p
Общий процесс для применения вышеописанной схемы выкалывания можно резюмировать следующим образом. В следующем разделе описания предполагается, что  обозначает длину кодового слова LDPC, каждая группа столбцов содержит  столбцов, и выкалыванию подвергаются N битов четности. Следующий процесс выкалывания проиллюстрирован на фиг.9.
Так, фиг.9 представляет собой схему последовательности операций, иллюстрирующую способ генерации LDPC-кода с разной длиной кодового слова из матрицы контроля четности сохраненного LDPC-кода согласно одному варианту осуществления настоящего изобретения.
Этап 1 Выкалывания: Передающее устройство на этапе 901 генерирует существующее кодовое слово DVB-S2 LDPC, которое было или не было подвергнуто сокращению.
p
x
x
Этап 2 Выкалывания: На этапе 903 передающее устройство определяет длину N, по которой оно будет выполнять выкалывание, а на этапе 905 оно вычисляет величину , где  обозначает максимальное целое, которое меньше или равно .
0≤x<A
0≤i
<q
0≤x<q
i
A≤q
x
x
Этап 3 Выкалывания: На этапе 907 передающее устройство определяет биты  четности, которые должны быть подвергнуты выкалыванию для и . Предполагается, что для  величины  были ранее определены с учетом производительности (здесь задано отношение ).
0≤x<A
0≤k<M
B
1
Этап 4 Выкалывания: На этапе 907 передающее устройство применяет выкалывание ко всем битам четности  для и . Здесь постоянная представляет собой предустановленную ненулевую целую.
0≤k<N
-AM
p
1
Этап 5 Выкалывания: На этапе 907 передающее устройство дополнительно выкалывает биты четности  для . Далее на этапе 909 передающее устройство передает биты, за исключением выколотых битов.
AM
(N
-AM
)
N
1
p
1
p
Очевидно, что в процессе выкалывания  битов четности выкалываются на Этапе 3 Выкалывания и Этапе 4 Выкалывания, и  битов четности выкалываются на Этапе 5 Выкалывания, в результате выкалывается всего  битов четности. Что касается кодового слова DVB-S2 LDPC, передаваемого после процесса выкалывания, приемное устройство восстанавливает принятый сигнал в исходный сигнал путем процесса декодирования, который более подробно описан ниже со ссылкой на фиг.10.
N
K
M
q
1
1
1
Нижеследующий подробный пример приведен для более понятного разъяснения процесса выкалывания на Этапах 3-5 Выкалывания. Используемый здесь DVB-S2 LDPC-код представляет собой код, для которого =16200, =3240, =360 И =36.
Пример Этапа 1 Выкалывания: Передающее устройство генерирует существующее кодовое слово DVB-S2 LDPC, которое было или не было подвергнуто сокращению.
N
x
x
p
Пример Этапа 2 Выкалывания: Передающее устройство определяет длину , по которой оно будет выполнять выкалывание, и вычисляет величину , где  обозначает максимальное целое, которое меньше или равно .
0≤x<A
0≤i
<
≤
i
x
x
Пример Этапа 3 Выкалывания: Передающее устройство определяет биты  четности, которые должны быть подвергнуты выкалыванию для и 36. Для 0x<36 величины  выбираются следующим образом, используя соединения между выколотыми битами четности и битами четности, а также способ анализа эволюции плотности для случая, когда имеет место превосходная асимптотическая производительность.
27, 13, 29, 32, 5, 0, 11, 21, 33, 20, 25, 28, 18, 35, 8, 3, 9, 31, 22, 24, 7, 14, 17, 4, 2, 26, 16, 34, 19, 10, 12, 23, 1, 6, 30, 15
i
≤
x
В вышеприведенной последовательности x-ая последовательность позиций с весовым коэффициентом 1 соответствует величине  для 0x<36.
p
0≤x<A
≤
ix+36k
Пример Этапа 4 Выкалывания: Передающее устройство применяет выкалывание ко всем битам четности  для и 0k<360. Здесь величина B устанавливается равной 1.
p
0≤k<N
-
A
iA+36k
p
Пример Этапа 5 Выкалывания: Передающее устройство дополнительно выкалывает биты четности для 360·.
N
i
q
p
x
Очевидно, что шаблон выкалывания может быть точно определен, когда известно количество  битов, которые требуется выколоть, величины , определяющие информацию последовательности, и величина .
(p
, p
, p
,..., p
)
0
1
2
12959
Когда все биты четности DVB-S2 LDPC-кода, применяемые к примерам Этапов 1-5 Выкалывания, представляются как , примеры этапов выкалывания могут быть сведены в нижеприведенную таблицу 1.
<b>Таблица 1</b>
Основные переменные DVB-S2 LDPC-кода
<i>N</i><sub>1</sub>=16200, <i>K</i><sub>1</sub>=3240, <i>M</i><sub>1</sub>=360, <i>q=36</i>
Группирование битов четности
Определить набор <i>P</i><sub>i</sub>, удовлетворяющий следующим характеристикам для 0≤j<q=36:
<i>P</i><sub>j</sub>={<i>p</i><sub>k</sub>|<i>k≡j </i>mod 36, <i>0</i>≤<i>k<</i>12960}.Набор <i>P</i><sub>j</sub> содержит 360 битов четности в качестве элементов.
Диапазон <i>N</i><sub>p</sub>
Способ выкалывания
<i>0</i>≤<i>N</i><sub>p</sub><i><</i>12960
Для целой величины <img file="00000030.tif" he="11" wi="19" img-content="undefined" img-format="tif" /> выколоть все биты четности, соответствующие <i>m </i>наборам битов четности <i>P</i><sub>π(0)</sub>, <i>P</i><sub>π(1)</sub>,..., <i>P</i><sub>π(m-1)</sub>, и дополнительно выколоть <i>(N</i><sub>p</sub><i>-360m) </i>битов четности среди битов четности, соответствующих <i>P</i><sub>π(m). </sub>Здесь π обозначает функцию перестановки, которая представляет собой шаблон выкалывания, и биты четности, соответствующие наборам битов четности, показаны в нижней части таблицы.
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
27
13
29
32
5
0
11
21
33
π(9)
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
20
25
28
18
35
8
3
9
31
π(18)
π(19)
π(20)
π(21)
π(22)
π(23)
π(24)
π(25)
π(26)
22
24
7
14
17
4
2
26
16
π(27)
π(28)
π(29)
π(30)
π(31)
π(32)
π(33)
π(34)
π(35)
34
19
10
12
23
1
6
30
15
1
1
1
q=25
В качестве еще одного варианта осуществления этапов выкалывания в таблице 2 приведена сводка этапов выкалывания для DVB-S2 LDPC-кода с N=16200, K=7200, M=360 и .
Таблица 2
Основные переменные DVB-S2 LDPC-кода
<i>N</i><sub>1</sub>=16200, <i>K</i><sub>1</sub>=7200, <i>M</i><sub>1</sub>=360, <i>q=25</i>
Группирование битов четности
Определить набор <i>P</i><sub>j</sub>, удовлетворяющий следующим характеристикам для 0≤j<q=25:
<i>P</i><sub>j</sub>={<i>p</i><sub>k</sub>|<i>k≡j </i>mod 25, <i>0</i>≤<i>k<</i>9000}.Набор <i>P</i><sub>j</sub> содержит 360 битов четности в качестве элементов.
Диапазон <i>N</i><sub>p</sub>
Способ выкалывания
0≤<i>N</i><sub>p</sub><i><9000</i>
Для целой величины <img file="00000030.tif" he="11" wi="19" img-content="undefined" img-format="tif" /> выколоть все биты четности, соответствующие <i>m </i>наборам битов четности <i>P</i><sub>π(0)</sub>, <i>P</i><sub>π(1)</sub>,..., <i>P</i><sub>π(m-1)</sub>, и дополнительно выколоть <i>(N</i><sub>p</sub><i>-360m) </i>битов четности среди битов четности, соответствующих <i>P</i><sub>π(m). </sub>Здесь π обозначает функцию перестановки, которая представляет собой шаблон выкалывания, и биты четности, соответствующие наборам битов четности, показаны в нижней части таблицы.
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
6
4
18
9
13
8
15
20
5
π(9)
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
17
2
24
10
22
12
3
16
23
π(18)
π(19)
π(20)
π(21)
π(22)
π(23)
π(24)
-
-
1
14
0
21
19
7
11
-
-
Как описано выше, варианты осуществления настоящего изобретения предоставляют эффективный способ выкалывания, способный стабилизировать производительность DVB-S2 LDPC-кода, используя структурные характеристики DVB-S2 LDPC-кода.
Возвращаясь к способу определения порядка битов, выкалываемых на Этапе 3 Выкалывания для DVB-S2 LDPC-кода, данный способ определяет порядок выкалываемых битов путем использования способа анализа эволюции плотности и способа анализа цикла графа Таннера.
Способ выкалывания способствует повышению кодовой скорости, поскольку он меняет длину кодового слова LDPC и сокращает длину кодового слова без изменения длины информационного слова. Следовательно, способ выкалывания и способ сокращения могут быть применены совместно, чтобы обеспечить кодовую скорость и длину кодового слова, которые требуются в системе.
N
K
N
K
N
-N
=N
K
-K
=K
N
K
K
N
N
-K
N
N
>0
K
>0
1
1
2
2
1
2
Δ
1
2
Δ
2
2
Δ
p
Δ
Δ
2
Δ
Δ
Как описано выше, когда длина кодового слова и длина информации LDPC-кода, которые требуется получить из заданного LDPC-кода с длиной  кодового слова и длиной  информации, используя способ сокращения и способ выкалывания, обозначаются как  и  соответственно, если задано обозначение  и , то LDPC-код с длиной  кодового слова и длиной  информации может быть сгенерирован путем сокращения  битов и выкалывания =() битов из матрицы контроля четности LDPC-кода. Для сгенерированного LDPC-кода длина выкалывания и длина сокращения могут быть установлены равными  и  соответственно, поскольку его кодовая длина равна  для или .
Фиг.10 представляет собой схему последовательности операций, иллюстрирующую способ приема в приемном устройстве согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на фиг.10, на этапе 1001 приемное устройство определяет (или оценивает) из принятых сигналов шаблоны выкалывания/сокращения. Далее на этапе 1003 приемное устройство определяет, присутствуют ли какие-либо выколотые или сокращенные биты.
Если выколотые или сокращенные биты отсутствуют, то приемное устройство выполняет декодирование на этапе 1009. Тем не менее, если присутствуют сокращенные или выколотые биты, то на этапе 1005 приемное устройство доставляет шаблоны выкалывания/сокращения в LDPC-кодер 1160.
На этапе 1007 LDPC-кодер 1160 определяет, что выколотые биты представляют собой удаленные биты, и определяет, что вероятность того, что величины сокращенных битов будут нулевыми (0), равна 1. После этого LDPC-кодер 1160 выполняет декодирование.
Подробный пример передающего устройства для реализации процесса выкалывания DVB-S2 LDPC-кода проиллюстрирован на фиг.11. Так, фиг.11 представляет собой структурную схему передающего устройства, которое использует выколотые/сокращенные LDPC-коды согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на фиг.11, передающее устройство включает в себя контроллер 1110, блок 1120 применения шаблона сокращения, блок 1140 извлечения матрицы контроля четности для LDPC-кода, LDPC-кодер 1160 и блок 1180 применения шаблона выкалывания.
Блок 1140 извлечения матрицы контроля четности для LDPC-кода извлекает матрицу контроля четности LDPC-кода, которая была подвергнута сокращению. Матрица контроля четности LDPC-кода может быть извлечена из памяти, может быть задана в передающем устройстве или может быть сгенерирована в передающем устройстве.
Контроллер 1110 управляет блоком 1120 применения шаблона сокращения, чтобы определить шаблон сокращения согласно длине информации, и блок 1120 применения шаблона сокращения вставляет биты со значением 0 в позиции, соответствующие сокращенным битам, или удаляет столбцы, соответствующие сокращенным битам, из матрицы контроля четности заданного LDPC-кода. Упомянутый шаблон сокращения может представлять собой шаблон сокращения, который хранится в памяти, который генерируется посредством генератора последовательности (не показан), или который получается посредством алгоритма анализа эволюции плотности для матрицы контроля четности и заданной длины информации.
LDPC-кодер 1160 выполняет кодирование на основе LDPC-кода, который был подвергнут сокращению посредством контроллера 1110 и блока 1120 применения шаблона сокращения.
Контроллер 1110 управляет блоком 1180 применения шаблона выкалывания. Блок 1180 применения шаблона выкалывания определяет количество битов четности, которые должны быть подвергнуты выкалыванию, разделяет биты четности на предопределенные интервалы, чтобы определить количество выкалываемых битов, которые подвергаются выкалыванию в предопределенном интервале, определяет позиции выкалываемых битов четности, соответствующих упомянутому определенному количеству выкалываемых битов, в упомянутом предопределенном интервале и многократно применяет выкалывание к упомянутым выкалываемым битам четности, соответствующим упомянутым определенным позициям в упомянутых предопределенных интервалах.
Фиг.12 представляет собой структурную схему, иллюстрирующую структуру приемного устройства согласно одному варианту осуществления настоящего изобретения. Более конкретно, приемное устройство, проиллюстрированное на фиг.12, принимает сигналы, передаваемые из системы связи, которая использует DVB-S2 LDPC-коды, которые были подвергнуты выкалыванию или сокращению, и восстанавливает данные из принятых сигналов.
Ссылаясь на фиг.12, приемное устройство включает в себя контроллер 1210, блок 1220 определения/оценки шаблона сокращения/выкалывания, демодулятор 1230 и LDPC-декодер 1240.
Демодулятор 1230 принимает и демодулирует LDPC-код, который был подвергнут сокращению, и доставляет демодулированный сигнал в блок 1220 определения/оценки шаблона сокращения/выкалывания и LDPC-декодер 1240.
Под управлением контроллера 1210 блок 1220 определения/оценки шаблона сокращения/выкалывания определяет (или оценивает) информацию о шаблоне выкалывания или сокращения LDPC-кода из демодулированного сигнала и доставляет информацию позиции выколотых и сокращенных битов в LDPC-декодер 1240. Блок 1220 определения/оценки шаблона сокращения/выкалывания может использовать шаблоны выкалывания/сокращения, хранимые в памяти, может генерировать шаблоны выкалывания/сокращения, используя ранее реализованный способ генерации, или может получать шаблоны выкалывания/сокращения, используя алгоритм анализа эволюции плотности для матрицы контроля четности и заданную длину информации. LDPC-декодер 1240 выполняет обработку удаления выколотых битов и выполняет их декодирование.
Сверх того, когда передающее устройство применяет как сокращение, так и выкалывание, блок 1220 определения/оценки шаблона сокращения/выкалывания в приемном устройстве может сначала выполнить определение или оценку шаблона сокращения, может сначала выполнить определение или оценку шаблона выкалывания, или может сразу выполнить определение или оценку и шаблона сокращения, и шаблона выкалывания.
LDPC-декодер 1240 выполняет декодирование на основе предположения о том, что и вероятность, что выколотые биты будут нулевыми (0), и вероятность, что выколотые биты будут равны 1, равны 1/2. Поскольку вероятность, что величины сокращенных битов будут равны нулю, равна 1 (то есть 100%), LDPC-декодер 1240 определяет, разрешит ли он участвовать сокращенным битам в операции декодирования, в зависимости от величины 1 вероятности того, что сокращенные биты будут нулевыми.
Когда LDPC-декодер 1240 получает информацию о длине DVB-S2 LDPC-кода, сокращенного посредством блока 1220 определения/оценки шаблона сокращения/выкалывания, он восстанавливает данные из принятых сигналов.
Из фиг.11 следует, что сокращение выполняется на входной ступени LDPC-кодера 1160, а выкалывание выполняется на выходной ступени LDPC-кодера 1160. Тем не менее, в приемном устройстве, проиллюстрированном на фиг.12, чтобы реализовать декодирование, LDPC-декодер 1240 должен принять как информацию о выкалывании, так и информацию о сокращении.
Из вышеизложенного описания следует, что варианты осуществления настоящего изобретения могут генерировать отдельный LDPC-код с разной длиной кодового слова, используя информацию о матрице контроля четности, заданной в системе связи, которая использует LDPC-код.
В добавление, варианты осуществления настоящего изобретения могут оптимизировать производительность DVB-S2 LDPC-кода путем применения выкалывания.
Несмотря на то что настоящее изобретение было проиллюстрировано и описано со ссылкой на конкретные варианты осуществления, специалистам в данной области техники будет очевидно, что в рамках объема и сущности настоящего изобретения могут быть выполнены различные изменения в форме и деталях, как определено прилагаемой формулой изобретения.