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

Область техники
Настоящее изобретение относится к системе связи, в которой используются коды контроля четности с низкой плотностью (LDPC). В частности, настоящее изобретение относится к способу и устройству канального кодирования/декодирования для генерации LDPC-кодов с разными длинами кодового слова и разными скоростями кодирования из LDPC-кода, заданного в модуляции высшего порядка.
Уровень техники
В системах беспроводной связи производительность линии значительно деградирует из-за различных шумов в каналах, замирания и межсимвольных помех (ISI). Следовательно, чтобы реализовать высокоскоростные системы цифровой связи, которые требуют большой пропускной способности и высокой надежности, например для систем мобильной связи следующего поколения, систем цифрового вещания и портативного Интернета, важно разработать технологию для преодоления канальных шумов, замирания и ISI. В последнее время проводятся обширные исследования в области кодов с коррекцией ошибок, которые рассматриваются как способ для повышения надежности связи путем эффективного восстановления искаженной информации.
LDPC-код, впервые представленный Галагером в 1960-х, со временем потерял свою привлекательность из-за сложности реализации, связанной с уровнем технологии на то время. Тем не менее, поскольку турбокод, который был открыт в 1993 г. Берроу, Главью и Титимашимой, обеспечивает уровни производительности примерно на уровне предела канала Шеннона, были проведены исследования итеративного декодирования и кодирования канала на основе графа с анализом производительности и характеристик турбокода. Это стало толчком для повторного исследования LDPC-кода в конце 1990-х. Эти исследования показали, что LDPC-код обеспечивает производительность примерно на уровне предела канала Шеннона, если LDPC-код подвергается декодированию путем применения итеративного декодирования на основании алгоритма сумма-произведение относительно графа Таннера (особого вида двудольного графа), соответствующего LDPC-коду.
LDPC-код, как правило, представляется в виде графа, и многие характеристики могут быть проанализированы с помощью способов, основанных на теории графов, алгебре и теории вероятностей. Обычно модель канальных кодов в виде графа полезна для описания кодов, и путем сопоставления информации по кодированным битам к вершинам в графе и сопоставления отношений между битами к ребрам графа можно представить сеть связи, в которой вершины обмениваются предопределенными сообщениями через ребра. Таким образом, обеспечивается возможность выведения естественного алгоритма декодирования. Например, алгоритм декодирования, выведенный из решетки, которую можно рассматривать как некоторый тип графа, может включать в себя известный алгоритм Витерби, а также алгоритм Bahl-Cocke-Jelinek-Raviv (BCJR).
LDPC-код обычно определяется матрицей контроля четности, и он может быть выражен как двудольный граф, который называют графом Таннера. Термин "двудольный граф" обозначает граф, вершины которого разделены на два разных типа, и LDPC-код представляется как двудольный граф, включающий в себя вершины, некоторые из которых называются переменными узлами, а другие называются контрольными узлами. Переменные узлы взаимно-однозначно сопоставляются кодированным битам.
Способ представления в виде графа для LDPC-кода описан ниже, со ссылкой на фиг.1 и 2.
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
1
Ссылаясь на фиг.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)
В Уравнении (1) по мере увеличения N плотность элементов "1" в матрице контроля четности уменьшается. В целом для LDPC-кода, поскольку длина N кодового слова обратно пропорциональна плотности ненулевых элементов, LDPC-код с большим значением N имеет очень низкую плотность ненулевых элементов. Термин "низкая плотность" в названии LDPC-кода связан с этим аспектом.
nd
Ниже, со ссылкой на фиг.3, описаны характеристики матрицы контроля четности структурированного LDPC-кода согласно настоящему изобретению. Фиг.3 представляет собой иллюстрацию LDPC-кода, применяемого в стандарте 2-го Поколения Спутниковой Передачи - Цифрового ВидеоВещания (Digital Video Broadcasting-Satellite Transmission 2 Generation, DVB-S2), который является одним из Европейских стандартов цифрового вещания.
N
K
(N
-K
)
q
q=(N
-K
)/M
.
K
/M
1
1
1
1
1
1
1
1
1
1
1
На фиг.3  и обозначают длину кодового слова и длину информации (или длину информационного слова) LDPC-кода, соответственно, а определяет длину контроля по четности. Кроме того, целые Mи определяются так, чтобы удовлетворялось равенство  Предпочтительно, величина также является целой. В настоящем документе матрица контроля четности с фиг.3 для удобства обозначается как первая матрица H контроля четности.
K-
N
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
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup></mrow>
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup></mrow>
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><msub><mi>D</mi><mi>i</mi></msub><mo stretchy="false">)</mo></mrow></msubsup></mrow>
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup></mrow>
Правило 2: Сначала определяются позиции элементов "1" в каждом 0-м столбце в -й группе столбцов (где Степень 0-го столбца в каждой -й группе столбцов обозначается как . Если позициями столбцов с 1 являются
,
, ...,
, то позиции
(=1, 2, ..., ) строк с 1 определяются согласно Уравнению (2) в -м столбце (где j=1, 2, ..., -1) в -й группе столбцов.
...(2)
i
D
i
Из вышеизложенных правил следует, что степени всех столбцов из -й группы столбцов равны . Для лучшего понимания структуры DVB-S2 LDPC-кода, который хранит информацию о матрице контроля четности согласно вышеупомянутым правилам, ниже приведено подробное описание одного примера.
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
, ..., i
(N
-K
)
(p
, p
, ..., p
1
1
1
i
0
1
N1-K1-1
1
1
0
1
N1-K1-1
В следующем описании DVB-S2 LDPC-код с =16200,  =10800, =360 и q=15, подвергается процессу кодирования. Для удобства информационные биты с длиной представлены как ), а биты четности с длиной представлены как ).
Этап 1: LDPC-код инициализирует биты четности следующим образом:
p
=p
= =p
0
1
N1-K1-1
=0
Этап 2: LDPC-кодер считывает информацию по строке, где элемент "1" расположен в группе столбцов из 0-й последовательности позиций с весовым коэффициентом 1 среди сохраненных последовательностей, указывающих матрицу контроля четности.
0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622
p
i
.
x
k
x
0
<mrow><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
LDPC-кодер обновляет конкретные биты четности согласно Уравнению (3), используя считанную информацию и первый информационный бит Здесь представляет собой величину
для =1, 2, ..., 13.
...(3)
p
=p
⊕i
p
⊕i
,
⊕
x
x
0
x
0
В Уравнении (3) также может быть выражено как ←где представляет бинарное суммирование.
m
0
m=1, 2, ..., 359
i
.
Этап 3: LDPC-кодер сначала находит величину по Уравнению (4) для следующих 359 информационных битов i (где ) после
{x+(mmodM
)×q}mod(N
-K
), M
m=
1
1
1
1
=360, 1, 2, ..., 359 (4)
x
k=
<mrow><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
В Уравнении (4) представляет собой величину
для 1, 2, ..., 13. Следует отметить, что Уравнение (4) следует той же концепции, что и Уравнение (2).
<mrow><msub><mi>p</mi><mrow><mo>{</mo><mi>x</mi><mo>+</mo><mo stretchy="false">(</mo><mi>m</mi><mi>mod</mi><msub><mi>M</mi><mn>1</mn></msub><mo stretchy="false">)</mo><mo>×</mo><mi>q</mi><mo>}</mo><mi>mod</mi><mo stretchy="false">(</mo><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mrow></msub></mrow>
<mrow><msub><mi>p</mi><mrow><mo stretchy="false">(</mo><mi>x</mi><mo>+</mo><mi>q</mi><mo stretchy="false">)</mo><mi>mod</mi><mo stretchy="false">(</mo><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mrow></msub></mrow>
i
m
i
m
1
Далее, LDPC-кодер выполняет операцию, похожую на Уравнение (3), используя величину, полученную в Уравнении (4). То есть LDPC-кодер обновляет
для . Например, для =1, то есть для  LDPC-кодер обновляет биты четности
согласно Уравнению (5).
...(5)
q
m
Следует отметить, что в Уравнении (5) =15. LDPC-кодер аналогичным образом выполняет вышеописанный процесс для =1, 2, ..., 359.
<mrow><msubsup><mi>R</mi><mrow><mn>2,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
<mrow><msubsup><mi>R</mi><mrow><mn>2,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
<mrow><msub><mi>p</mi><mrow><mo>{</mo><mi>x</mi><mo>+</mo><mo stretchy="false">(</mo><mi>m</mi><mi>mod</mi><msub><mi>M</mi><mn>1</mn></msub><msub><mrow /><mrow /></msub><mo stretchy="false">)</mo><mo>×</mo><mi>q</mi><mo>}</mo><mi>mod</mi><mo stretchy="false">(</mo><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mn>1</mn></msub><msub><mrow /><mrow /></msub><mo stretchy="false">)</mo></mrow></msub></mrow>
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).
...(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). Это устройство включает в себя демодулятор, предназначенный для демодуляции сигнала, переданного из передатчика; блок оценки шаблона выкалывания, предназначенный для определения того, присутствуют ли какие-либо выколотые биты четности в демодулированном сигнале, и для определения позиций выколотых битов четности путем оценки информации о шаблоне выкалывания, когда присутствуют выколотые биты четности; и декодер, предназначенный для декодирования данных, используя упомянутые позиции выколотых битов четности. Информация о шаблоне выкалывания включает в себя шаблон выкалывания, полученный с учетом схемы модуляции, определенной передатчиком.
Другие аспекты, преимущества и отличительные признаки настоящего изобретения будут очевидны специалистам в данной области техники при изучении следующего подробного описания в сочетании с прилагаемыми чертежами.
Полезные эффекты
Варианты осуществления настоящего изобретения могут генерировать отдельный LDPC-код с разной длиной кодового слова путем оптимизации производительности кодирования/декодирования, используя информацию о заданной матрице контроля четности, в системе связи, в которой используются модуляция высшего порядка и LDPC-коды.
Краткое описание чертежей
Вышеупомянутые и другие аспекты, отличительные признаки и преимущества определенных примеров осуществления настоящего изобретения будут очевидны из следующего подробного описания с сопутствующими чертежами, на которых:
фиг.1 - иллюстрация примера матрицы контроля четности LDPC-кода длиной 8;
фиг.2 - иллюстрация графа Таннера для матрицы контроля четности LDPC-кода длиной 8;
фиг.3 - иллюстрация DVB-S2 LDPC-кода;
фиг.4 - иллюстрация примера матрицы контроля четности DVB-S2 LDPC-кода;
фиг.5(a) - иллюстрация созвездия сигнала для QPSK-модуляции, используемой в цифровой системе связи;
фиг.5(b) - иллюстрация созвездия сигнала для 16-QAM-модуляции, используемой в цифровой системе связи;
фиг.5(c) - иллюстрация созвездия сигнала для 64-QAM-модуляции, используемой в цифровой системе связи;
фиг.6 - иллюстрация структурной схемы приемопередатчика в системе связи, в которой используется LDPC-код;
фиг.7 - схема, иллюстрирующая пример, где к LDPC-коду с фиг.4 применяется случайное выкалывание;
фиг.8 - схема, иллюстрирующая еще один пример, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание;
фиг.9 - схема, иллюстрирующая еще один пример, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание;
фиг.10 - иллюстрация еще одного примера матрицы контроля четности DVB-S2 LDPC-кода;
фиг.11 - иллюстрация примера шаблона выкалывания, определяемого с учетом BPSK или QPSK-передачи в LDPC-коде с фиг.10;
фиг.12 - иллюстрация примера шаблона выкалывания, определяемого с учетом 16-QAM-передачи в LDPC-коде с фиг.10;
фиг.13 - иллюстрация примера шаблона выкалывания, определяемого с учетом 64-QAM-передачи в LDPC-коде с фиг.10;
фиг.14 - схема последовательности операций, иллюстрирующая способ генерации LDPC-кода с разной длиной кодового слова из матрицы контроля четности сохраненного LDPC-кода согласно одному варианту осуществления настоящего изобретения;
фиг.15 - схема последовательности операций, иллюстрирующая способ декодирования LDPC в приемном устройстве согласно одному варианту осуществления настоящего изобретения;
фиг.16 - структурная схема передающего устройства, в котором применяется выколотый/сокращенный LDPC-код, согласно одному варианту осуществления настоящего изобретения; и
фиг.17 - структурная схема приемного устройства, в котором применяется выколотый/сокращенный LDPC-код, согласно одному варианту осуществления настоящего изобретения.
Во всех чертежах одинаковые ссылочные номера обозначают одинаковые элементы, отличительные признаки и структуры.
Вариант осуществления
Нижеприведенное описание в сочетании с прилагаемыми чертежами предназначено для разъяснения вариантов осуществления настоящего изобретения, как определено формулой изобретения и ее эквивалентами. Оно включает в себя различные конкретные детали, которые помогают понять изобретение. Однако эти конкретные детали не должны рассматриваться только как иллюстративные. Соответственно, специалистам в данной области техники будет очевидно, что в рамках объема и сущности настоящего изобретения могут быть выполнены различные изменения и модификации описанных вариантов осуществления. В добавление, описание известных функций и конструкций опущено для краткости и ясности.
Термины и слова, использованные в следующем описании и формуле изобретения, не ограничиваются библиографическими значениями, и они использовались настоящим изобретателем, чтобы обеспечить ясное и последовательное понимание настоящего изобретения. Соответственно, специалистам в данной области техники будет очевидно, что следующее описание вариантов осуществления настоящего изобретения предоставлено только в целях иллюстрации, а не в целях ограничения изобретения, как определено прилагаемой формулой изобретения и ее эквивалентами.
Следует понимать, что термины в единственном числе включают в себя множественное число, если из контекста явно не следует иное. Так, например, ссылка на "поверхность компонента" включает в себя ссылку на одну или более таких поверхностей.
Сначала описана разность в надежности модуляции высшего порядка. В отличие от систем связи, в которых используется только Двоичная Фазовая Манипуляция (Binary Phase Shift Keying, BPSK) или Квадратурная Фазовая Манипуляция (Quadrature Phase Shift Keying, QPSK), когда в системе связи, для которой требуются LDPC-Коды с разными длинами кодового слова, используется модуляция высшего порядка, надежности битов, составляющих символы модуляции высшего порядка, имеют разные значения.
Для разъяснения разности надежности в модуляции высшего порядка предоставлено описание созвездий сигнала для Квадратурной Амплитудной Модуляции (Quadrature Amplitude Modulation, QAM), которая представляет собой модуляцию высшего порядка. QAM-модулированный символ состоит из действительной части и мнимой части, и разные символы модуляции могут быть сгенерированы путем дифференциации величины и знаков их действительных и мнимых частей. QAM описана вместе с QPSK-модуляцией, чтобы выделить детали характеристик QAM.
Фиг.5(a) представляет собой иллюстрацию созвездия сигнала для обычной QPSK-модуляции.
0
1
0
0
1
1
0
1
0
1
0,q
1,q
Ссылаясь на фиг.5(a), y определяет знак действительной части, тогда как y определяет знак мнимой части. То есть знак действительной части будет плюсом (+) для y=0 и минусом (-) для y=1. Кроме того, знак мнимой части будет плюсом (+) для y=0 и минусом (-) для y=1. Поскольку y и y равны в терминах вероятности возникновения ошибки, поскольку они представляют собой биты индикации знака, которые указывают соответствующие знаки действительной части и мнимой части, при QPSK-модуляции надежности битов (y, y), соответствующих одному сигналу модуляции, важны в равной степени. Для y и y второй нижний индекс q указывает q-й вывод битов, образующих сигнал модуляции.
Фиг.5(b) представляет собой иллюстрацию созвездия сигнала для обычной 16-QAM-модуляции.
0
1
2
3
0
2
1
3
0
1
2
3
2
3
0
1
0
1
2
3.
0
1
2
3
Ссылаясь на фиг.5(b), значение (y, y, y, y), соответствующее битам одного сигнала модуляции, описано ниже. Биты y и y определяют знак и величину действительной части соответственно, тогда как биты y и y определяют знак и величину мнимой части соответственно. Иначе говоря, y и y определяют знаки действительной части и мнимой части сигнала модуляции, а y и y определяют величины действительной части и мнимой части сигнала модуляции. Поскольку различить знак модулированного сигнала проще, чем различить величину модулированного сигнала, y и y выше, чем y и y в терминах вероятности возникновения ошибки. Следовательно, в терминах вероятности отсутствия ошибок (то есть надежностей) битов имеет место следующее отношение - y=y>y=yТо есть биты (y, y, y, y), образующие сигнал QAM-модуляции, в отличие от сигнала QPSK-модуляции имеют разные надежности.
0
1
2
3
При 16-QAM-модуляции среди 4 битов, образующих сигнал, 2 бита определяют знаки действительной части и мнимой части сигнала, а остальные биты требуются только для определения величины действительной части и мнимой части сигнала. Таким образом, порядки (y, y, y, y) и роль каждого бита подвержены изменению.
Фиг.5(c) представляет собой иллюстрацию созвездия сигналов для обычной 64-QAM-модуляции.
0
1
2
3
4
5
0
2
4
1
3
5
0
1
2
4
3
5
0
1
2
3
4
5
2
3
4
5
2
3
4
5
2
3
4
5
0
1
2
3
4
5
Среди (y, y, y, y, y, y), соответствующих битам одного сигнала модуляции, биты y, yи y определяют величину и знак действительной части, а биты y, y и y определяют величину и знак мнимой части. Так, y и y определяют знаки действительной части и мнимой части соответственно, а комбинация yиyи комбинация y и y определяют величину действительной части и мнимой части соответственно. Поскольку различить знаки модулированного сигнала легче, чем различить величины модулированного сигнала, надежности y и y выше, чем надежности y, y, y и y. Биты y и y определяются в зависимости от того, больше или меньше величина модулированного символа, чем 4, а биты y и yопределяются согласно тому, ближе ли величина модулированного символа к значению 4 или значению 0, где значение 2 располагается между ними, или к значению 4 или значению 8, где значение 6 располагается между ними. Таким образом, диапазон, в котором величина определяется посредством y и y, составляет 4, тогда как диапазон для y и y составляет 2. В результате y и y выше по надежности, чем yи y. В заключение, в терминах вероятности отсутствия ошибок (то есть надежности) битов имеет место следующее отношение - y=y>y=y>y=y.
0
1
2
3
4
5
При 64-QAM-модуляции среди 6 битов, образующих сигнал, 2 бита определяют знаки действительной части и мнимой части сигнала, а остальные 4 бита требуются только для определения величины действительной части и мнимой части сигнала. Таким образом, порядки (y, y, y, y, y, y) и роль каждого бита подвержены изменению. Кроме того, в созвездии сигнала при 256-QAM или выше роли и надежности битов, образующих сигнал модуляции, отличаются, как описано выше. Подробное описание этого случая опущено.
Следовательно, варианты осуществления настоящего изобретения предоставляют способ и устройство для поддержки LDPC-кодов с разными длинами кодового слова, подходящими для модуляции высшего порядка, используя матрицу контроля четности структурированного LDPC-кода определенного типа. В добавление, настоящее изобретение предоставляет устройство для поддержки разных длин кодового слова согласно модуляции высшего порядка в системе связи, в которой используется LDPC-код определенного типа, и способ для управления таким устройством. В частности, настоящее изобретение предоставляет способ для генерации LDPC-кода, используя матрицу контроля четности заданного LDPC-кода, где сгенерированный LDPC-код короче по длине, чем заданный LDPC-код, а также соответствующее устройство.
Фиг.6 представляет собой структурную схему приемопередатчика в системе связи, в которой используется LDPC-код.
u
u
c
c
s
r
x
Ссылаясь на фиг.6, сообщение вводится в LDPC-кодер 611 в передатчике 610 до выполнения его передачи в приемник 630. LDPC-кодер 611 кодирует введенное сообщение  и выводит кодированный сигнал в модулятор 613. Модулятор 613 модулирует кодированный сигнал  и передает модулированный сигнал в приемник 630 через беспроводной канал 620. Демодулятор 631 в приемнике 630 демодулирует принятый сигнал  и выводит демодулированный сигнал  в LDPC-декодер 633. LDPC декодер 633 находит оценку
u
x
сообщения на основании данных, принятых через беспроводной канал 620 путем декодирования демодулированного сигнала .
Используя предопределенную схему, LDPC-кодер 611 генерирует матрицу контроля четности согласно длине кодового слова, необходимой для системы связи. В частности, согласно одному варианту осуществления настоящего изобретения LDPC-кодер 611 может поддерживать разные длины кодового слова, используя упомянутый LDPC-код без необходимости дополнительной сохраненной информации.
Согласно одному варианту осуществления настоящего изобретения в способе получения разных длин кодового слова из заданного LDPC-кода используется метод сокращения и/или метод выкалывания. Термин "выкалывание" обозначает способ, согласно которому специфицированная часть кодового слова LDPC не передается после генерации кодового слова LDPC из заданной конкретной матрицы контроля четности путем выполнения LDPC-кодирования. Соответственно, приемник определяет, что непереданные биты были удалены.
Для разъяснения метода выкалывания ниже, со ссылкой на фиг.3, подробно описана матрица контроля четности DVB-S2 LDPC-кода.
N
i
i
i
K
p
p
p
N
K
1
0
1
K1-1
1
0
1
K1-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
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" в -й группе столбцов.
Фиг.7 представляет собой иллюстрацию примера, где к LDPC-коду с фиг.4 применяется случайное выкалывание. Поскольку биты четности, выкалываемые на фиг.7, подвергаются процессу удаления в декодере, выколотые биты четности по сравнению с другими неудаленными битами не обеспечивают больший эффект повышения производительности в процессе LDPC-декодирования, что приводит к снижению их надежности. Следовательно, другие биты, напрямую соединенные с выколотыми битами четности, имеющими низкую надежность, также подвергаются сокращению эффекта повышения производительности в процессе декодирования. Чем больше количество ребер, соединенных с битами, которые выкалываются на графе Таннера, тем сильнее выражается сокращение эффекта повышения производительности.
Например, на фиг.7 0-й информационный бит, соответствующий 0-му столбцу, напрямую соединен с выколотым битом четности дважды, 3-й информационный бит, соответствующий 3-му столбцу, напрямую соединен с выколотым битом четности один раз, а 8-й информационный бит, соответствующий 8-му столбцу, напрямую соединен с выколотым битом четности трижды. В данном случае 3-ий, 0-й и 8-й информационные биты имеют превосходство в эффекте повышения производительности в процессе декодирования. Иначе говоря, когда степени переменных узлов равны друг другу, эффект повышения производительности уменьшается по мере увеличения количества соединенных выколотых битов.
Из фиг.7 следует, что количества выколотых битов четности, которые напрямую соединены с соответствующими информационными битами, являются случайной величиной в силу случайной природы шаблона выкалывания. Следовательно, существует высокая вероятность того, что надежности соответствующих информационных битов также будут случайными величинами. Иначе говоря, наряду с тем, что некоторые информационные биты могут получить более высокую, чем это в действительности необходимо, производительность декодирования, другие информационные биты могут подвергнуться значительной деградации производительности. Этот шаблон случайного выкалывания может привести к существенной нерегулярности надежностей информационных битов в процессе декодирования.
Фиг.8 представляет собой иллюстрацию второго примера, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание. Более конкретно, в примере с фиг.8 применяется относительно неслучайный шаблон выкалывания определенной формы.
Ссылаясь на фиг.8, хотя применяется относительно неслучайный шаблон выкалывания, соединения с информационными битами могут быть в значительной степени нерегулярными согласно соответствующему шаблону выкалывания. Неслучайный шаблон выкалывания с фиг.8 может быть более нерегулярным по сравнению со случайным шаблоном выкалывания с фиг.7.
В случае LDPC-кода с матрицей контроля четности с конкретной структурой, такого как DVB-S2 LDPC-код, соединения между информационными битами и битами четности, выколотыми согласно шаблону выкалывания, могут существенно измениться.
Варианты осуществления настоящего изобретения предлагают шаблон выкалывания, который обеспечивает стабильную производительность декодирования путем максимального подавления нерегулярности в надежностях информационных битов в процессе декодирования, используя структурные характеристики DVB-S2 LDPC-кода.
Фиг.9 представляет собой иллюстрацию третьего примера, где к LDPC-коду с фиг.4 применяется неслучайное выкалывание. В примере с фиг.9 к матрице контроля четности с фиг.4 применяется шаблон выкалывания, который обеспечивает постоянный интервал в 3 элемента между выкалываемыми битами четности, поскольку величина q, которая является одной из составных переменных, равна 3. Как показано на фиг.9, каждый информационный бит равномерно дважды соединен с выколотыми битами.
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
С учетом структурных характеристик DVB-S2 LDPC-кода, предполагая, что выкалываются конкретные биты четности, если выкалывание части контроля четности повторяется точно через интервалы , количество ребер информационных битов, соединенных с битами четности, выколотыми в конкретной группе столбцов, имеет максимальную регулярность. Например, предполагая, что -й бит четности выкалывается для и -й бит четности многократно выкалывается для , информационный бит, соединенный с -м битом четности, указывает, что элемент "1" существует в -й строке для столбца, соответствующего соответствующему информационному биту. Следовательно, элемент "1" существует в -й строке в столбце, соответствующем информационному биту, который отделен от вышерасположенного информационного бита на элементов среди столбцов в группе столбцов согласно Правилу 1 и Правилу 2. Соответственно, информационный бит соединен с выколотым -ым битом.
Для DVB-S2 LDPC-кода, поскольку степени переменных узлов, соответствующих целому информационному слову, равны друг другу в одной группе столбцов, и при применении шаблона выкалывания с периодичностью q в одной строке информационные биты, соответствующие одной группе столбцов, соединены с одинаковым количеством выколотых битов. Следовательно, соединения между выколотыми битами и информационными битами становятся регулярными, и в процессе декодирования можно ожидать стабильности.
q
Как описано выше, для DVB-S2 LDPC-кода способ выкалывания с периодом может иметь полезный эффект для повышения производительности путем использования структурных характеристик DVB-S2 LDPC-кода. Тем не менее, относительно оптимизированного шаблона выкалывания, полученного с учетом выкалывания с периодом q, на сегодняшний день известны только результаты, полученные путем установки BPSK или QPSK.
В добавление к способу выкалывания с периодом q существуют способы, которые могут оптимизировать производительность согласно скорости кодирования или длине кодового слова, когда к общему LDPC-коду применяется сокращение или выкалывание. Тем не менее, поскольку известные способы поиска шаблона сокращения/выкалывания выполняют процесс оптимизации только с учетом BPSK или QPSK, для заданного LDPC-кода может существовать только один оптимизированный шаблон сокращения/выкалывания.
Тем не менее, оптимизированный шаблон выкалывания/сокращения, полученный при использовании модуляции высшего порядка и определении схемы сопоставления созвездия сигнала/битов (сопоставления битов на созвездии сигналов), может отличаться от соответствующего шаблона для BPSK или QPSK-модуляции.
При BPSK или QPSK-модуляции, поскольку надежности битов, составляющих символ, равны, надежности битов кодового слова также будут равны в кодовом слове LDPC после того, как оно подвергается сокращению или выкалыванию, так что нет необходимости в рассмотрении схемы модуляции в процессе поиска шаблона сокращения/выкалывания. Тем не менее, как описано выше, при модуляции высшего порядка, такой как 16-QAM, 64-QAM или 256-QAM, поскольку надежности битов, образующих символ, отличаются, когда определяются схема модуляции высшего порядка и схема сопоставления созвездия сигнала/битов, надежности битов кодового слова в кодовом слове LDPC после применения сокращения или выкалывания могут отличаться от надежностей до применения выкалывания или сокращения.
Фиг.10 представляет собой иллюстрацию еще одного примера матрицы контроля четности DVB-S2 LDPC-кода.
N
=40, K
M
q=6
1
1
1
На фиг.10 =10, =5 и и последовательности позиций с весовым коэффициентом 1 для 0-х столбцов в двух группах столбцов информационного слова выражаются следующим образом:
0 5 10 20 25
7 15 26
i
i
i
-я последовательность позиций с весовым коэффициентом 1 в -м столбце последовательно представляет информацию о позициях строк с элементом "1" в -й группе столбцов.
Ссылаясь на фиг.10, степень каждого столбца, соответствующего первой группе столбцов, равна 5, а степень каждого столбца, соответствующего второй группе столбцов, равна 3. Обычно для LDPC-кода эффект повышения производительности в процессе декодирования имеет наивысшее значение при увеличении степеней. Соответственно, ожидается, что производительность после декодирования битов, соответствующих первой группе столбцов, будет выше по сравнению со второй группой столбцов.
0
1
0
1
Ниже, со ссылкой на фиг.11, приведено краткое описание шаблона выкалывания, который подходит, когда BPSK или QPSK-модуляция применяется к LDPC-коду с матрицей контроля четности с фиг.10. На фиг.11 y и y указывают каждый BPSK-символ или указывают два бита, образующие один QPSK-символ. Следовательно, y и y имеют равную надежность в созвездии сигнала.
q.
Ссылаясь на фиг.11, после выкалывания бита четности, соответствующего 5-му столбцу в подматрице, соответствующей случайному биту четности, один бит четности выкалывается четыре раза с периодом Так, информационные биты, соответствующие столбцам степени 5, соединены с выколотыми битами четности через 2 ребра, и информационные биты, соответствующие столбцам степени 3, не соединены с выколотыми битами четности на графе Таннера.
Обычно биты, соединенные с множеством выколотых битов, являются показателем низкого эффекта повышения производительности в процессе декодирования. Тем не менее, на фиг.11 столбцы степени 5 имеют 3 ребра, которые не соединены с выколотыми битами, так что производительность может существенно не сокращаться в процессе декодирования. В добавление, поскольку информационные биты в столбцах степени 3 напрямую не соединены с выколотыми битами четности, в процессе декодирования может не происходить значительная деградация производительности.
Здесь предполагается, что столбцы степени 5 больше, чем столбцы степени 3 в терминах эффекта повышения производительности в процессе декодирования. Тем не менее, это предположение справедливо только для BPSK или QPSK, и оно неприменимо для модуляции высшего порядка во всех случаях.
0
1
0
1
2
3
Например, как показано на фиг.12, модуляция 16-QAM может быть применена к LDPC-коду с матрицей контроля четности с фиг.10. Ссылаясь на фиг.12, y и y указывают биты с высокой надежностью, которые определяют знаки действительной части и мнимой части в символе 16-QAM соответственно. То есть отношение надежностей для этих битов определяется как y=y>y=y.
3
1
Ссылаясь на фиг.12, столбцы степени 5 сопоставляются с y, а столбцы степени 3 сопоставляются с y. Иначе говоря, столбцы степени 5 сопоставляются с битом с меньшей надежностью, а столбцы степени 3 сопоставляются с битом с более высокой надежностью в созвездии сигнала.
В этом случае нельзя сказать, что столбцы степени 5 имеют больший эффект повышения производительности в процессе декодирования. Это обусловлено следующим. Принимая во внимание характеристики 16-QAM-модуляции, поскольку столбцы степени 5 сопоставляются информации с меньшей надежностью в сигнале, принятом из канала, повышение их надежности осуществляется очень медленно в процессе декодирования. С другой стороны, столбцы степени 3, хотя они имеют меньшую степень, сопоставляются информации с меньшей надежностью, так что эффект повышения надежности происходит очень быстро.
Как описано выше, невозможно гарантировать, что биты, соответствующие столбцам высшей степени, всегда будут иметь лучшую производительность в LDPC-коде, к которому применяется модуляция высшего порядка.
q.
Ссылаясь на фиг.12, в одной реализации после выкалывания бита четности, соответствующего 4-му столбцу в подматрице, соответствующей случайному биту четности, один бит четности выкалывается четыре раза с периодом Так, информационные биты в столбцах степени 5 и столбцах степени 3 соединяются с выколотыми битами через одно ребро в графе Таннера.
В шаблоне выкалывания, применяемом на фиг.11, выколотые биты соединены только со столбцами степени 5, поскольку эффект повышения производительности столбцов степени 5 имеет высокий уровень при BPSK или QPSK-модуляции. Тем не менее, в шаблоне выкалывания, проиллюстрированном на фиг.12, выколотые биты равномерно распределены с учетом разности между надежностями, соответствующими каждой группе столбцов в схеме модуляции. Анализ данного случая показывает, что поскольку столбцы степени 5 соединены только с одним выколотым битом, существует высокая вероятность того, что существенной деградации производительности больше не будет. Кроме того, хотя столбцы степени 3 соединены с одним выколотым битом, они соответствуют информации с высокой надежностью из принятого сигнала, так что существует высокая вероятность того, что существенной деградации производительности не будет.
0
1
0
1
2
3
4
5
Аналогично, даже когда 64-QAM-модуляция применяется к LDPC-коду с матрицей контроля четности с фиг.10, как показано на фиг.14, характеристики могут отличаться от характеристик для BPSK, QPSK и 16-QAM. Ссылаясь на фиг.13, y и y указывают биты с высокой надежностью, которые определяют знаки действительной части и мнимой части в символе 64-QAM соответственно. То есть отношение надежностей между этими битами определяется как y=y>y=y>y=y.
2
3
4
5
y
Фиг.13 представляет собой иллюстрацию одного примера шаблона выкалывания, полученного с учетом битов четности, соответствующих столбцам степени 2. На фиг.12A для 16-QAM, хотя из выколотых битов четности всего 3 бита соединены с битами y и y с наименьшей надежностью, поскольку информационные биты, соответствующие столбцам степени 5 или степени 3, имеют хорошую производительность, деградация производительности не может иметь место. Тем не менее, на фиг.13, где применяется 64-QAM, когда с и yсоединено слишком много битов четности, имеющих очень низкие надежности, может иметь место деградация производительности. Следовательно, надежности, соответствующие битам четности, также следует учитывать.
3
1
0
2
1
3
2
0
5
1
3
4
0
2
3
5
1
2
4
0
Ссылаясь на фиг.12 и 13, следует отметить, что когда длина кодового слова LDPC-кода уменьшается из-за сокращения или выкалывания, порядки битов, соответствующих созвездию сигнала, равны, но биты уменьшаются с предопределенным коэффициентом. Например, на фиг.12 и 13 для LDPC-кода порядки (y, y, y, y, y, y, y, y) и (y, y, y, y, y, y, y, y, y, y, y, y) битов, соответствующих созвездиям сигнала, сохраняются, однако отношение битов, соответствующих каждому созвездию сигнала, уменьшается пропорционально длине кодового слова LDPC.
Как показано на фиг.10, 11, 12 и 13, можно ожидать, что один и тот же шаблон выкалывания может измениться согласно схеме модуляции. То есть когда для заданного LDPC-кода определены схема модуляции высшего порядка и схема сопоставления созвездия сигнала/бита, оптимальный шаблон выкалывания подвергается изменению согласно соединениям между выколотыми битами и невыколотыми битами. Таким образом, к схемам модуляции должны применяться разные шаблоны выкалывания, чтобы минимизировать деградацию производительности, вызываемую выкалыванием.
N
M
1
1
p
Общий процесс для применения вышеописанной схемы выкалывания можно свести к следующим 5 этапам. Для удобства в следующем разделе описания предполагается, что обозначает длину кодового слова LDPC, каждая группа столбцов содержит  столбцов и выкалыванию подвергаются N битов четности. Следующий процесс выкалывания проиллюстрирован на фиг.14.
Этап 1 Выкалывания
Передающее устройство генерирует существующее сокращенное/несокращенное кодовое слово DVB-S2 LDPC на этапе 1301.
Этап 2 Выкалывания
N
p
Передающее устройство определяет количество битов четности для выкалывания на этапе 1303 и определяет
<mrow><mi>A</mi><mo>=</mo><mrow><mo>⌊</mo><mrow><mfrac><mrow><msub><mi>N</mi><mi>p</mi></msub></mrow><mrow><msub><mi>M</mi><mn>1</mn></msub></mrow></mfrac></mrow><mo>⌋</mo></mrow></mrow>
на этапе 1305, где
x
x
представляет собой максимальное целое, которое меньше или равно .
Этап 3 Выкалывания
p
, p
, ..., p
0≤x<A
0≤i
<q
0≤x<q
i
A≤q
i0
i1
iA-1
x
x
На этапе 1307 передающее устройство определяет биты четности, которые должны быть подвергнуты выкалыванию для и . Предполагается, что для  величины были ранее определены с учетом производительности (здесь задано отношение ).
Этап 4 Выкалывания
<mrow><msub><mi>ρ</mi><mrow><msub><mi>i</mi><mi>k</mi></msub><mo>+</mo><mi>k</mi><mi>q</mi><mi>B</mi></mrow></msub></mrow>
0≤x<A
0≤k<M
B
1
На этапе 1307 передающее устройство применяет выкалывание ко всем битам четности
для и . Здесь постоянная представляет собой предустановленную ненулевую целую.
Этап 5 Выкалывания
<mrow><msub><mi>ρ</mi><mrow><msub><mi>i</mi><mi>λ</mi></msub><mo>+</mo><mi>k</mi><mi>q</mi><mi>B</mi></mrow></msub></mrow>
0≤k<N
-AM
p
1
На этапе 1307 передающее устройство дополнительно выкалывает биты четности
для . Далее, на этапе 1309 передающее устройство передает все биты, за исключением выколотых битов.
N
i
q
p
x
Очевидно, что шаблон выкалывания может быть точно определен, когда известно количество битов, которое требуется выколоть, величины , определяющие информацию последовательности, и величина .
N
K
M
q
1
1
1
Для описания подробных примеров, в которых вышеупомянутые этапы выкалывания выполняются согласно схемам модуляции, в Таблице 1A и 1B показаны менее чем оптимальные (то есть субоптимальные) шаблоны выкалывания для DVB-S2 LDPC-кода, где =16200, =7200, =360 И =25. Ниже подробно описан процесс выбора субоптимальных шаблонов выкалывания.
(p
, p
, p
, ..., p
)
0
1
2
8999
В Таблице 1A и Таблице 1B указываны все биты четности DVB-S2 LDPC-кода, которые пронумерованы в одной строке.
Таблица 1A
Основные переменные 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>i</sub>, удовлетворяющий следующим характеристикам для 0≤j<q=25:
<i>Pj</i>=<i>{p</i><sub>k</sub><i></i>| <i>t≡j </i>mod 25, <i>0</i>≤<i>k<900</i>0}.Набор <i>Pj</i> содержит 360 битов четности в качестве элементов.
Диапазон <i>N</i><sub>p</sub>
Способ выкалывания
<i>0</i>≤<i>N</i><sub>p</sub><i><</i>9000
Для целой величины <maths num="15"><math display="block"><mrow><mi>m</mi><mo>=</mo><mrow><mo>⌊</mo><mrow><mfrac><mrow><mi>N</mi><mi>p</mi></mrow><mrow><mn>360</mn></mrow></mfrac></mrow><mo>⌋</mo></mrow></mrow></math><img file="00000022.tif" he="11" wi="19" img-content="undefined" img-format="tif" /></maths>
выколоть все биты четности, соответствующие <i>m </i>наборам битов четности <i>P</i><sub>π(0)</sub>, <i>P</i><sub>π(1)</sub>, ..., <i>P</i><sub>π(m-1)</sub><i></i>и дополнительно выколоть <i>(N</i><sub>p</sub><i>-360m) </i>битов четности среди битов четности, соответствующих <i>P</i><sub>π(m). </sub>Здесь π<i></i>обозначает функцию перестановки, которая представляет собой шаблон выкалывания, и биты четности, соответствующие наборам битов четности, показаны в нижней части таблицы.
Таблица 1B
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
π(20)
π(21)
π(22)
π(23)
π(24)
-
-
Отношение между функциями перестановки, субоптимизированными для BPSK/QPSK
6
4
18
9
13
8
15
20
5
17
2
24
10
22
12
3
16
23
1
14
0
21
19
7
11
-
-
Отношение между функциями перестановки, субоптимизированными для 16QAM
6
4
13
9
18
8
15
20
5
17
2
24
22
14
23
3
19
10
1
12
0
16
21
7
11
-
-
Отношение между функциями перестановки, субоптимизированными для 64QAM
15
3
23
6
13
18
1
9
17
8
5
20
16
22
4
24
14
2
21
12
7
10
19
11
0
-
-
Ссылаясь на Таблицу 1A и Таблицу 1B, можно заметить, что когда определяется длина битов четности, которые должны быть выколоты, процесс выкалывания, основанный на субоптимальных шаблонах выкалывания, выполняется путем предопределенного процесса независимо от схемы модуляции, но отношения между функциями перестановок, указывающими оптимизированные шаблоны выкалывания, отличаются согласно схемам модуляции. То есть когда способ выкалывания применяется без учета схемы модуляции, в зависимости от схем модуляции может иметь место существенная деградация производительности.
AM
(N
-AM
)
N
1
p
1
p
Очевидно, что в процессе выкалывания битов четности выкалываются на Этапе 3 Выкалывания и Этапе 4 Выкалывания, и  битов четности выкалываются на Этапе 5 Выкалывания, в результате выкалывается всего битов четности.
Субоптимальные шаблоны выкалывания, показанные в Таблице 1A и Таблице 1B, могут не быть уникальными согласно условиям поиска шаблонов выкалывания. Поскольку в процессе выбора шаблонов выкалывания возможны разные выборы, что будет описано ниже, может быть доступно множество шаблонов выкалывания, которые обеспечивают хорошую производительность. В действительности шаблоны выкалывания, показанные в Таблице 2A и Таблице 2B, также могут обеспечить очень хорошую производительность, схожую с той, которую обеспечивают шаблоны выкалывания с Таблицы 1A и Таблицы 1B.
Таблица 2A
Основные переменные 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>i</sub>, удовлетворяющий следующим характеристикам для 0≤j<q=25:
<i>Pj</i>=<i>{p</i><sub>k</sub><i></i>| <i>t≡j </i>mod 25, <i>0</i>≤<i>k<900</i>0}.Набор <i>Pj</i> содержит 360 битов четности в качестве элементов.
Диапазон <i>N</i><sub>p</sub>
Способ выкалывания
<i>0</i>≤<i>N</i><sub>p</sub><i><</i>9000
Для целой величины <maths num="16"><math display="block"><mrow><mi>m</mi><mo>=</mo><mrow><mo>⌊</mo><mrow><mfrac><mrow><mi>N</mi><mi>p</mi></mrow><mrow><mn>360</mn></mrow></mfrac></mrow><mo>⌋</mo></mrow></mrow></math><img file="00000022.tif" he="11" wi="19" img-content="undefined" img-format="tif" /></maths>
выколоть все биты четности, соответствующие <i>m </i>наборам битов четности <i>P</i><sub>π(0)</sub>, <i>P</i><sub>π(1)</sub>, ..., <i>P</i><sub>π(m-1)</sub><i></i>и дополнительно выколоть <i>(N</i><sub>p</sub><i>-360m) </i>битов четности среди битов четности, соответствующих <i>P</i><sub>π(m). </sub>Здесь π<i></i>обозначает функцию перестановки, которая представляет собой шаблон выкалывания, и биты четности, соответствующие наборам битов четности, показаны в нижней части таблицы.
Таблица 2B
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
π(20)
π(21)
π(22)
π(23)
π(24)
-
-
Отношение между функциями перестановки, субоптимизированными для BPSK/QPSK
6
4
18
9
13
8
15
20
5
17
2
24
10
22
12
3
16
23
1
14
0
21
19
7
11
-
-
Отношение между функциями перестановки, субоптимизированными для 16QAM
6
4
13
9
18
8
15
20
5
17
2
24
22
17
12
1
16
23
14
0
21
10
19
11
3
-
-
Отношение между функциями перестановки, субоптимизированными для 64QAM
6
15
13
10
3
17
21
8
5
19
2
23
16
24
7
18
1
12
20
0
4
14
9
11
22
-
-
Способ сопоставления битов, соответствующих созвездиям сигнала, используемым при 16-QAM и 64-QAM-модуляциях из Таблицы 2A и Таблицы 2B, обеспечивает результаты, которые получаются путем применения таких же схем сопоставления битов, которые были проиллюстрированы на фиг.12 и 13.
Кодовое слово DVB-S2 LDPC, переданное после выкалывания, восстанавливается в исходную форму из принятого сигнала в приемном устройстве, где осуществляется процесс декодирования согласно фиг.15.
Фиг.15 представляет собой схему последовательности операций, иллюстрирующую способ приема в приемном устройстве согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на фиг.15, на этапе 1401 приемное устройство определяет или оценивает шаблон выкалывания/сокращения из принятого сигнала. Далее, на этапе 1403 приемное устройство определяет, присутствуют ли какие-либо выколотые или сокращенные биты. Если выколотые или сокращенные биты отсутствуют, то приемное устройство выполняет декодирование на этапе 1409. Тем не менее, когда присутствуют выколотые или сокращенные биты, на этапе 1405 приемное устройство предоставляет шаблон выкалывания/сокращения в LDPC-кодер 1560, который описан ниже со ссылкой на фиг.16.
На этапе 1407 LDPC-кодер 1560 определяет, что выколотые биты представляют собой удаленные биты, и определяет, что вероятность того, что величины сокращенных битов будут нулевыми (0), равна 1. После этого на этапе 1409 LDPC-кодер 1560 выполняет декодирование.
В процессе выкалывания применяется выкалывание с периодом q, чтобы стабилизировать производительность DVB-S2 LDPC-кода, используя структурные характеристики DVB-S2 LDPC-кода.
Основное отличие между настоящим изобретением и существующим уровнем техники заключается в том, что здесь учитывается надежность схемы модуляции передачи, когда определяются биты четности, которые должны быть выколоты на Этапе 3 Выкалывания. Ниже приведен пример процедуры выбора последовательности для определения битов, которые должны быть выколоты в DVB-S2 LDPC-коде на Этапе 3 Выкалывания 3. Нижеизложенная процедура выбора может меняться, когда она применяется к другим LDPC-кодам.
Процесс 1 Выбора
Сначала определяются биты, которые соединены с меньшим количеством информационных битов, если это возможно.
Процесс 2 Выбора
Из битов четности, определенных в Процессе 1 Выбора, определяются биты четности, которые выражают наиболее асимптотическую производительность, что осуществляется посредством способа анализа эволюции плотности, в котором учитывается как схема модуляции, так и распределение степени.
Процесс 3 Выбора
На основании битов четности, которые подлежат выкалыванию и которые были определены в Процессе 2 Выбора, Процесс 1 Выбора и Процесс 2 Выбора применяются ко всем битам, которые должны быть выколоты, за исключением уже выбранных битов.
N
N
N
N
p
p
p
p
Обычно когда количество битов, которые должны быть выколоты, сильно варьирует, шаблоны выкалывания, оптимизированные на основании величины , могут не иметь какой-либо корреляции относительно друг друга. Иначе говоря, в системе, где величина  сильно варьирует, для оптимальной производительности все шаблоны выкалывания, оптимизированные на основании величины , должны храниться отдельно.
N
p
Тем не менее, хотя шаблоны выкалывания, полученные путем применениям вышеописанной процедуры выбора, не гарантируют оптимальной производительности во всех случаях, они обеспечат относительно стабильную производительность одного шаблона выкалывания с регулярным правилом, независимо от величины , в результате чего обеспечивается относительно стабильная производительность и простота хранения шаблонов выкалывания.
P
, P
,
P
,
N
1
2
q
p
Например, если порядки выкалываемых битов установлены как  ..., может быть сохранена только одна последовательность, указывающая порядки битов четности, чтобы обеспечить эффективное выкалывание для случайной величины посредством Этапов Выкалывания с 1 по 5.
Способ выкалывания может обеспечить повышение скорости кодирования, поскольку он может менять длину кодового слова LDPC и сокращать длину кодового слова без изменения длины информации. Предпочтительно, выкалывание и сокращение могут быть применены совместно, чтобы обеспечить кодовую скорость и длину кодового слова, которые требуются в системе.
N
K
N
K
N
-N
=N
N
1
1
2
2
1
2
1
2
2
2
p
Предполагая, что длина кодового слова и длина информации LDPC-кода, которые должны быть получены из заданного LDPC-кода с длиной кодового слова и длиной информации путем сокращения и выкалывания, равны и соответственно, если задано определение и K-K=K, то LDPC-код с длиной кодового слова и длиной K информации может быть сгенерирован путем сокращения K битов и выкалывания N (=N-K) битов из матрицы контроля четности заданного LDPC-кода. В случае сгенерированного LDPC-кода для N>0 или K>0, поскольку кодовая скорость равна
<mrow><mstyle scriptlevel="+1"><mfrac><mrow><msub><mi>K</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mi>Δ</mi></msub></mrow><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>N</mi><mi>Δ</mi></msub></mrow></mfrac></mstyle></mrow>
2
<mrow><mstyle scriptlevel="+1"><mfrac><mrow><msub><mi>K</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mi>Δ</mi></msub></mrow><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>N</mi><mi>Δ</mi></msub></mrow></mfrac></mstyle></mrow>
длина выкалывания и длина сокращения могут быть выражены как N и
.
Фиг.16 представляет собой структурную схему передающего устройства, в котором применяется выколотый/сокращенный LDPC-код, согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на фиг.16, передающее устройство включает в себя контроллер 1510, блок 1520 применения шаблона сокращения, блок 1540 извлечения матрицы контроля четности для LDPC-кода, LDPC-кодер 1560 и блок 1580 применения шаблона выкалывания.
Блок 1540 извлечения матрицы контроля четности для LDPC-кода извлекает матрицу контроля четности LDPC-кода, которая была подвергнута сокращению. Матрица контроля четности LDPC-кода может быть извлечена из памяти, может быть задана в передающем устройстве или может быть сгенерирована передающим устройством.
Контроллер 1510 управляет блоком 1520 применения шаблона сокращения, чтобы определить шаблон сокращения согласно длине информации. Блок 1520 применения шаблона сокращения вставляет биты с величиной 0 в позиции, соответствующие сокращенным битам, или удаляет столбцы, соответствующие сокращенным битам из матрицы контроля четности заданного LDPC-кода. Упомянутый шаблон сокращения может быть определен путем извлечения шаблона сокращения из памяти путем генерации шаблона сокращения посредством генератора последовательности (не показан) или путем получения шаблона сокращения посредством алгоритма анализа эволюции плотности для матрицы контроля четности и заданной длины информации.
Блок 1520 применения шаблона сокращения является опциональным блоком, когда сокращения не требуется для заданного кода. Кроме того, контроллер 1510 управляет блоком 1580 применения шаблона выкалывания, чтобы определить и применить шаблон выкалывания согласно схеме модуляции и длине выкалываемых битов.
Блок 1580 применения шаблона выкалывания определяет количество битов четности для выкалывания, разделяет биты четности на предопределенные интервалы, определяет количество выкалываемых битов, которые подвергаются выкалыванию в предопределенных интервалах, определяет схему модуляции, определяет позиции выкалываемых битов четности, соответствующих упомянутому определенному количеству выкалываемых битов, в упомянутых предопределенных интервалах, и многократно применяет выкалывание к упомянутым выкалываемым битам четности, соответствующим упомянутым определенным позициям в упомянутых предопределенных интервалах. Упомянутые предопределенные интервалы определяются путем разделения длины битов четности на длину одной группы столбцов в матрице контроля четности.
Остальные биты, за исключением выколотых битов, передаются в приемник согласно схеме модуляции через блок передачи (не показан).
LDPC-кодер 1560 выполняет кодирование на основе LDPC-кода, который был подвергнут сокращению посредством контроллера 1510 и блока 1520 применения шаблона сокращения.
Фиг.17 представляет собой структурную схему приемного устройства согласно одному варианту осуществления настоящего изобретения, в котором принимается сигнал, передаваемый из системы связи с использованием выколотого/сокращенного DVB-S2 LDPC-кода, и пользовательские данные восстанавливаются.
Ссылаясь на фиг.17, приемное устройство включает в себя контроллер 1610, блок 1620 определения/оценки шаблона сокращения/выкалывания, демодулятор 1630 и LDPC-декодер 1640.
Демодулятор 1630 принимает и демодулирует сокращенный/выколотый LDPC-код, и предоставляет демодулированный сигнал в блок 1620 определения/оценки шаблона сокращения/выкалывания и LDPC-декодер 1640.
Под управлением контроллера 1610 блок 1620 определения/оценки шаблона сокращения/выкалывания определяет или оценивает информацию о шаблоне выкалывания/сокращения LDPC-кода из демодулированного сигнала и доставляет информацию позиции выколотых/сокращенных битов в LDPC-декодер 1640. Блок 1620 определения/оценки шаблона сокращения/выкалывания может определить или оценить шаблон выкалывания/сокращения путем извлечения шаблона выкалывания/сокращения из памяти, путем генерации шаблона выкалывания/сокращения, используя ранее реализованный способ генерации, или путем получения шаблона выкалывания/сокращения, используя алгоритм анализа эволюции плотности для матрицы контроля четности и заданную длину информации. LDPC-декодер 1640 выполняет обработку удаления выколотых битов и выполняет их декодирование.
Когда передающее устройство применяет как сокращение, так и выкалывание, блок 1620 определения/оценки шаблона сокращения/выкалывания в приемном устройстве может сначала выполнить определение/оценку шаблона сокращения, может сначала выполнить определение/оценку шаблона выкалывания или может сразу выполнить определение/оценку и шаблона сокращения, и шаблона выкалывания. Блок 1620 определения/оценки шаблона сокращения/выкалывания определяет присутствие/отсутствие выколотых битов в демодулированном сигнале. Когда присутствуют выколотые биты, блок 1620 определения/оценки шаблона сокращения/выкалывания определяет позиции выколотых битов четности путем оценки информации о шаблоне выкалывания.
LDPC-декодер 1640 декодирует данные, используя определенные позиции выколотых битов четности, с предположением, что вероятность того, что выколотые биты будут равны (0), и вероятность того, что выколотые биты будут равны 1, равна 1/2. Поскольку вероятность того, что величины сокращенных битов будут нулевыми, равна 1 (то есть 100%), LDPC-декодер 1640 определяет, разрешит ли он участвовать сокращенным битам в операции декодирования, в зависимости от величины 1 вероятности того, что сокращенные биты будут нулевыми. Когда LDPC-декодер 1640 получает информацию о длине DVB-S2 LDPC-кода, сокращенного посредством блока 1620 определения/оценки шаблона сокращения/выкалывания, он восстанавливает пользовательские данные из принятых сигналов.
Как описано выше со ссылкой на фиг.16, сокращение выполняется на входной ступени LDPC-кодера 1560, а выкалывание выполняется на выходной ступени LDPC-кодера 1560. Тем не менее, в приемном устройстве, проиллюстрированном на фиг.17, чтобы реализовать декодирование, LDPC-декодер 1640 должен принять как информацию о выкалывании, так и информацию о сокращении.
Несмотря на то, что настоящее изобретение было проиллюстрировано и описано со ссылкой на конкретные варианты осуществления, специалистам в данной области техники будет очевидно, что могут быть выполнены различные изменения в форме и деталях в рамках объема и сущности настоящего изобретения, как определено прилагаемой формулой изобретения и ее эквивалентами.