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

Область техники
Настоящее изобретение относится в общем к системе связи, использующей коды Контроля Четности с Низкой Плотностью (Low-Density Parity-Check, LDPC), в частности к устройству и способу канального кодирования/декодирования для генерации LDPC-кодов с разными длинами кодового слова и разными скоростями кодирования из LDPC-кода, заданного в модуляции высшего порядка.
Уровень техники
В системах беспроводной связи производительность линии значительно ухудшается из-за различных шумов в каналах, явления замирания и Межсимвольных Помех (Inter-Symbol Interference, ISI). Следовательно, чтобы предоставить высокоскоростные системы цифровой связи, которые требуют большой пропускной способности и высокой надежности, например, для систем мобильной связи следующего поколения, систем цифрового вещания и портативного Интернета, важно разработать технологии для преодоления канальных шумов, замирания и ISI. В последнее время проводятся обширные исследования в области кодов с коррекцией ошибок, которые рассматриваются как способ для повышения надежности связи посредством эффективного восстановления искаженной информации.
LDPC-код, который представляет собой некоторый вид кода с коррекцией ошибок, обычно определяется матрицей контроля четности, и он может быть выражен, используя двудольный граф, который называют графом Таннера. Термин "двудольный граф" обозначает граф, у которого вершины, составляющие граф, разделены на два разных типа, и LDPC-код представляется как двудольный граф, состоящий из вершин, некоторые из которых называются переменными узлами, а другие называются контрольными узлами. Переменные узлы взаимно-однозначно сопоставляются кодированным битам.
1
Фиг.1 представляет собой иллюстрацию примера матрицы H контроля четности LDPC-кода, содержащей 4 строки и 8 столбцов.
1
Ссылаясь на Фиг.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).
<mrow><mfrac><mrow><mn>2</mn><msub><mi>f</mi><mn>2</mn></msub><mi>N</mi><mo>+</mo><mn>3</mn><msub><mi>f</mi><mn>3</mn></msub><mi>N</mi><mo>+</mo><mn>4</mn><msub><mi>f</mi><mn>4</mn></msub><mi>N</mi></mrow><mrow><mi>N</mi><mo>⋅</mo><mi>N</mi><mo>/</mo><mn>2</mn></mrow></mfrac><mo>=</mo><mfrac><mrow><mn>5,25</mn></mrow><mi>N</mi></mfrac></mrow>
. (1)
В Уравнении (1), по мере увеличения N, плотность элементов "1" в матрице контроля четности уменьшается. В целом для LDPC-кода, поскольку длина N кодового слова обратно пропорциональна плотности ненулевых элементов, LDPC-код с большим значением N имеет очень низкую плотность ненулевых элементов. Термин "низкая плотность" в названии LDPC-кода берет начало из вышеупомянутой связи.
nd
Фиг.3 представляет собой схематическую иллюстрацию LDPC-кода, применяемого в качестве стандартного способа во 2-м Поколении Спутниковой Передачи - Цифрового Видео Вещания (Digital Video Broadcasting-Satellite Transmission 2 Generation, DVB-S2), который является одним из Европейских стандартов цифрового вещания.
1
1
1
1
1
1
На Фиг.3, N и K обозначают длину кодового слова и длину информации (или длину информационного слова) LDPC-кода, соответственно, а (N-K) предоставляет длину контроля по четности. Кроме того, целые M и q удовлетворяют равенству q=(N1-K1)/M1. Предпочтительно, величина K1/M1 является целой. Ссылаясь на Фиг.3, структура части контроля четности, то есть, с K-го столба по (N-1)-ый столбец в матрице контроля четности имеет двойную диагональную форму. Следовательно, что касается распределения степени по столбцам, соответствующим части контроля четности, то все столбцы имеют степень "2", за исключением последнего столба, который имеет степень "1".
1
В матрице контроля четности, структура информационной части, то есть с 0-го столбца по (K-1)-ый столбец, формируется с применением следующих правил.
1
1
1
1
Правило 1: Генерируется всего K/M групп столбцов посредством группирования K столбцов, соответствующих информационному слову в матрице контроля четности, во множество групп, каждая из которых включает в себя M столбцов. Способ для формирования столбцов в каждой группе определяется нижеизложенным Правилом 2.
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><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
Правило 2: Сначала определяются позиции элементов "1" в каждом 0-ом столбце в i-ой группе столбцов (где i=1,..., K/M). Степень 0-го столбца в каждой i-ой группе столбцов обозначается как D, если позициями столбцов с 1 являются
,
,...,
, то позиции
(k=1, 2,..., D) строк с 1 определяются согласно Уравнению (2) в j-ом столбце (где j=1, 2,..., M-1) в i-ой группе столбцов.
<mtable columnalign="left"><mtr><mtd><msubsup><mi>R</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><msubsup><mi>R</mi><mrow><mi>i</mi><mo>,</mo><mo stretchy="false">(</mo><mi>j</mi><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup><mo>+</mo><mi>q</mi><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><mo>,</mo></mtd></mtr><mtr><mtd><mi>k</mi><mo>=</mo><mn>1,2,...,</mn><msub><mi>D</mi><mrow><mi>i</mi><mo>,</mo><mtext> </mtext></mrow></msub><mtext> </mtext><mi>i</mi><mo>=</mo><mn>1,...,</mn><mi>K</mi><mmultiscripts><mo>/</mo><mprescripts /><mn>1</mn><none /></mmultiscripts><msub><mi>M</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><mi>j</mi><mo>=</mo><mn>1,...,</mn><msub><mi>M</mi><mn>1</mn></msub><mo>−</mo><mn>1</mn></mtd></mtr></mtable>
(2)
i
Из вышеизложенных правил следует, что степени всех столбцов из i-ой группы столбцов равны D. Для лучшего понимания структуры DVB-S2 LDPC-кода, который хранит информацию о матрице контроля четности согласно вышеупомянутым правилам, ниже приведено подробное описание одного примера.
1
1
1
Для подробного примера для N=30, K=15, M=5 и q=3, три последовательности для информации о позициях строк с элементами "1" для 0-ых столбцов в 3 группах столбцов могут быть выражены следующим образом. Так, эти последовательности называются "последовательностями позиций с весовым коэффициентом 1".
<mtable columnalign="left"><mtr><mtd><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>0,</mn><mtext> </mtext><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>1,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>2,</mn></mtd></mtr><mtr><mtd><msubsup><mi>R</mi><mrow><mn>2,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>0,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>2,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>11,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>2,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>13,</mn></mtd></mtr><mtr><mtd><msubsup><mi>R</mi><mrow><mn>3,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>0,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>3,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>10,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>3,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>14.</mn></mtd></mtr></mtable>
(3)
Что касается последовательности позиций с весовым коэффициентом 1 для 0-ых столбцов в каждой группе столбцов, то для каждой группы столбцов только соответствующие последовательности позиций могут быть выражены следующим образом. Например:
0 1 2
0 11 13
0 10 14.
Иначе говоря, i-ая последовательность позиций с весовым коэффициентом 1 в i-ой линии последовательно представляет информацию о позициях строк с элементом "1" для i-ой группы столбцов.
Можно сгенерировать LDPC-код с концепцией, соответствующей DVB-S2 LDPC-коду иллюстрированному Фиг.4, посредством формирования матрицы контроля четности посредством информации, соответствующей упомянутому подробному примеру и Правилам 1 и 2.
Известно, что DVB-S2 LDPC-код, созданный согласно Правилу 1 и Правилу 2, может быть эффективно закодирован посредством структурной формы. Ниже в качестве примера описаны последовательные этапы процесса выполнения LDPC-кодирования, используя матрицу контроля четности на основе DVB-S2.
1
1
1
i
1
1
<mrow><mo stretchy="false">(</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><msub><mi>i</mi><mn>1</mn></msub><mn>,...,</mn><msub><mi>i</mi><mrow><msub><mi>K</mi><mn>1</mn></msub><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo></mrow>
<mrow><msub><mi>p</mi><mn>0</mn></msub><mo>,</mo><msub><mi>p</mi><mn>1</mn></msub><mn>,...,</mn><msub><mi>p</mi><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mn>1</mn></msub><mo>−</mo><mn>1</mn></mrow></msub><mo stretchy="false">)</mo></mrow>
В следующем описании DVB-S2 LDPC-код с N=16200, K =10800, M=360 и q=15 подвергается процессу кодирования. Для удобства информационные биты с длиной K представлены как
, а биты четности с длиной (N-K) представлены как
.
Этап 1: LDPC-код инициализирует биты четности следующим образом:
<mrow><msubsup><mi>p</mi><mn>0</mn><mrow /></msubsup><mo>=</mo><msub><mi>p</mi><mn>1</mn></msub><mo>=</mo><mn>...</mn><mo>=</mo><msub><mi>p</mi><mrow><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mn>1</mn></msub><mo>−</mo><mn>1</mn></mrow></msub><mo>=</mo><mn>0</mn></mrow>
Этап 2: LDPC-кодер считывает информацию по строке, где элемент "1" расположен в группе столбцов из 0-ой последовательности позиций с весовым коэффициентом 1 среди сохраненных последовательностей, указывающих матрицу контроля четности.
0 2084 1613 1548 1286 1460 3196 4297 2481 3369 3451 4620 2622
<mtable columnalign="left"><mtr><mtd><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>1</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>0,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>2</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>2048,</mn><mtext> </mtext><mi>R</mi><mmultiscripts><mo>=</mo><mprescripts /><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>3</mn><mo stretchy="false">)</mo></mrow></mmultiscripts><mn>1613,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>1548,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>5</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>1286,</mn></mtd></mtr><mtr><mtd><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>6</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>1460,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>7</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>3196,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>4297,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>9</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>2481,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>10</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>3369,</mn></mtd></mtr><mtr><mtd><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>11</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>3451,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>12</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>4620,</mn><mtext> </mtext><msubsup><mi>R</mi><mrow><mn>1,0</mn></mrow><mrow><mo stretchy="false">(</mo><mn>13</mn><mo stretchy="false">)</mo></mrow></msubsup><mo>=</mo><mn>2622.</mn></mtd></mtr></mtable>
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-кодер обновляет конкретные биты p четности согласно Уравнению (3), используя считанную информацию и первый информационный бит i. Здесь, x представляет собой величину
для k = 1,2,...,13.
<mtable columnalign="left"><mtr><mtd><msub><mi>p</mi><mn>0</mn></msub><mo>=</mo><msub><mi>p</mi><mn>0</mn></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>2084</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>2064</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>1613</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1613</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>1548</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1548</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>1286</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1286</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>1460</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1460</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>3196</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>3196</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>4297</mn></mrow></msub><mo>=</mo><mi>p</mi><mmultiscripts><mo>⊕</mo><mprescripts /><mrow><mn>4297</mn></mrow><none /></mmultiscripts><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>2481</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>2481</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>3369</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>3369</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>3451</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>3451</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>4620</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>4620</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>2622</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>2622</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>0</mn></msub></mtd></mtr></mtable>
(3)
x
x
0
x
0
В Уравнении (3), p = p⊕i также может быть выражено как p ←⊕i, где ⊕ представляет бинарное суммирование.
m
0
Этап 3: LDPC-кодер определяет значение по Уравнению (4) для следующих 359 информационных битов i (где m=1, 2,..., 359) после i.
<mrow><mrow><mo>{</mo><mrow><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></mrow><mo>}</mo></mrow><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><mo>,</mo><mtext> </mtext><msub><mi>M</mi><mn>1</mn></msub><mo>=</mo><mn>360,</mn><mtext> </mtext><mi>m</mi><mo>=</mo><mn>1,2,...,359</mn><mtext> </mtext><mo stretchy="false">(</mo><mn>4</mn><mo stretchy="false">)</mo></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>
В Уравнении (4), x представляет собой величину
для (k = 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>
m
1
Далее, LDPC-кодер выполняет операцию, похожую на Уравнение (3), используя величину, полученную в Уравнении (4). То есть LDPC-кодер обновляет биты четности
для i. Например, для m=1, то есть для i LDPC-кодер обновляет биты четности
как задано в Уравнении (5).
<mtable columnalign="left"><mtr><mtd><msub><mi>p</mi><mrow><mn>15</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>15</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>2099</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>2099</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>1628</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1628</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>1563</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1563</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>1301</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1301</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>1475</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>1475</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>3211</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>3211</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>4312</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>4312</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>2496</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>2496</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><mi>p</mi><mmultiscripts><mo>=</mo><mprescripts /><mrow><mn>3384</mn></mrow><none /></mmultiscripts><msub><mi>p</mi><mrow><mn>3384</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>3466</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>3466</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><msub><mi>p</mi><mrow><mn>4635</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>4635</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub><mo>,</mo></mtd></mtr><mtr><mtd><msub><mi>p</mi><mrow><mn>2637</mn></mrow></msub><mo>=</mo><msub><mi>p</mi><mrow><mn>2637</mn></mrow></msub><mo>⊕</mo><msub><mi>i</mi><mn>1</mn></msub></mtd></mtr></mtable>
(5)
В Уравнении (5) q=15. LDPC-кодер аналогичным образом выполняет вышеописанный процесс для m=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><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>
360
x
361
362
719
360
Этап 4: Как и на Этапе 2, LDPC-кодер считывает информацию 1-ой последовательности
(k=1, 2,..., 13) позиций с весовым коэффициентом 1 для 361-го информационного бита i, и обновляет конкретный p, где величина x равна
. LDPC-кодер обновляет
, m=361, 362,..., 719 посредством аналогичного применения Уравнения (4) к следующим 359 информационным битам i, i,..., i после i.
Этап 5: LDPC-кодер повторяет Этапы 2, 3 и 4 для всех групп, каждая из которых имеет 360 информационных битов.
Этап 6: LDPC-кодер определяет биты четности, используя Уравнение (6).
<mrow><msub><mi>p</mi><mi>i</mi></msub><mo>=</mo><msub><mi>p</mi><mi>i</mi></msub><mo>⊕</mo><msub><mi>p</mi><mrow><mi>i</mi><mo>−</mo><mn>1</mn></mrow></msub><mo>,</mo><mtext> </mtext><mi>i</mi><mo>=</mo><mn>1,2,...,</mn><msub><mi>N</mi><mn>1</mn></msub><mo>−</mo><msub><mi>K</mi><mn>1</mn></msub><mo>−</mo><mn>1</mn></mrow>
(6)
i
Биты p четности в Уравнении (6) были подвергнуты LDPC-кодированию.
Как описано выше, DVB-S2 выполняет кодирование как описано на Этапах 1-6.
Раскрытие изобретения
Техническая проблема
Для применения LDPC-кода к действительной системе связи, этот LDPC-код должен быть разработан так, чтобы подходить под запрошенную скорость передачи данных в системе связи. В частности, LDPC-коды с разными длинами кодовых слов необходимы для поддержки разных скоростей передачи данных согласно системным требованиям в адаптивных системах связи применяющих Гибридный Автоматический Запрос Повторной Передачи (Hybrid Automatic Retransmission Request, HARQ) и Адаптивную Модуляцию и Кодирование (Adaptive Modulation and Coding, AMC), а также и в других системах связи, поддерживающих разные службы вещания.
Тем не менее, как описано выше, LDPC-код, используемый в системе DVB-S2, имеет только два типа длины кодового слова из-за ограниченного применения, и каждый тип LDPC-кода использует независимую матрицу контроля четности. Соответственно, в области техники существует давно ощущаемая необходимость в способе поддержки разных длин кодового слова, чтобы повысить расширяемость и гибкость системы. Так, в системе DVB-S2 для передачи информации сигнализации требуется передача данных объемом от сотен до тысяч битов. Тем не менее, поскольку для длины DVB-S2 LDPC-кода доступно только два варианта - 16200 и 64800, все же есть необходимость в поддержке разных длин кодовых слов. Тем не менее, поскольку хранение независимых матриц контроля четности для каждой длины кодового слова LDPC-кода может сократить общую эффективность памяти, также существует необходимость в схеме, обеспечивающей эффективную поддержку разных длин кодового слова из заданной существующей матрицы контроля четности, без необходимости в новой матрице контроля четности.
Отмечено, что надежности битов, включенных в символы модуляции высшего порядка различаются, когда в системе связи, требующей LDPC-коды с разными длинами кодового слова, используется модуляция высшего порядка, в отличие от случаев, когда модуляция высшего порядка применяется в системе связи, в которой используется только Двоичная Фазовая Манипуляция (Binary Phase Shift Keying, BPSK) или Квадратурная Фазовая Манипуляция (Quadrature Phase Shift Keying, QPSK).
Для демонстрации различия надежности в модуляции высшего порядка ниже предоставлено описание сигнальных совокупностей для Квадратурной Амплитудной Модуляции (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 равны в терминах вероятности возникновения ошибки, поскольку они представляют собой биты индикации знака, которые указывают соответствующие знаки действительной части и мнимой части, надежности битов (y, y), соответствующих одному сигналу модуляции, равны при QPSK-модуляции. Для 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 бита определяют знаки действительной части и мнимой части сигнала, а остальные 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
Среди (y, y, y, y, y, y), которые соответствуют битам одного сигнала модуляции, биты y, yи y определяют амплитуду и знак действительной части, а биты y, y и y определяют амплитуду и знак мнимой части. Так, y и y определяют знаки действительной части и мнимой части, соответственно, а комбинация yи y и комбинация y и y определяют амплитуду действительной части и мнимой части, соответственно. Как описано выше, поскольку различить знаки модулированного сигнала легче, чем различить амплитуды модулированного сигнала, надежности y и y выше, чем надежности y, y, y и y.
2
3
4
5
2
3
4
5
2
3
4
5
0
1
2
3
4
5.
Биты 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 или выше роли и надежности битов, образующих сигнал модуляции, отличаются, как описано выше. Соответственно, подробное описание этого случая опущено.
Резюмируя, можно отметить, что при BPSK или QPSK-модуляции, нет необходимости рассматривать схему модуляции, когда определяются шаблоны сокращения или прокалывания, поскольку надежности битов, включенных в символ, равны, то также равны надежности битов кодового слова LDPC, которое было подвергнуто сокращению или прокалыванию. Тем не менее, при модуляции высшего порядка, такой как 16-QAM, 64-QAM и 256-QAM, поскольку роли и надежности битов, включенных в символ, отличаются, когда определяется схема модуляции и схема сопоставления сигнальной совокупности/бита (сопоставления бита по сигнальной совокупности), надежности каждого бита в кодовом слове LDPC, после того как оно подвергается сокращению или прокалыванию, может отличаться от надежности кодового слова LDPC до того как оно было подвергнуто сокращению или прокалыванию.
Следовательно, существует необходимость в устройстве и способе для генерации LDPC-кода с использованием сокращения или прокалывания с учетом модуляции высшего порядка.
Техническое решение
Соответственно, настоящее изобретение было сделано с целью решения, по меньшей мере, упомянутых проблем и/или недостатков и обеспечения, по меньшей мере, нижеописанных преимуществ. Соответственно, одной целью настоящего изобретения является предоставление способа и устройства канального кодирования/декодирования для генерации из заданного LDPC-кода нового LDPC-кода с другой длиной кодового слова посредством применения сокращения или прокалывания, которое определяется с учетом модуляции высшего уровня в системе связи, и для кодирования информационного слова, чтобы сгенерировать кодовое слово для передачи через канал с использованием сгенерированного LDPC-кода и для декодирования упомянутого кодового слова в системе связи.
Еще одной целью настоящего изобретения является предоставление способа и устройства канального кодирования/декодирования для обеспечения оптимальной производительности относительно структуры DVB-S2 в системе связи, где применяются LDPC-коды.
Согласно одному аспекту настоящего изобретения предоставлен способ для разделения информационных битов на множество групп битов; определения числа информационных битов, которые должны быть сокращены; определения числа групп битов, которые должны быть сокращены на основе определенного числа информационных битов, которые должны быть сокращены; сокращения информационных битов в определенном числе групп битов согласно предварительно определенному порядку; и LDPC-кодирования сокращенных информационных битов.
Согласно еще одному аспекту варианта осуществления настоящего изобретения устройство включает в себя блок извлечения матрицы контроля четности для разделения информационных битов на множество групп битов, определения числа информационных битов, которые должны быть сокращены, определения числа групп битов, которые должны быть сокращены на основе определенного числа информационных битов, которые должны быть сокращены, и сокращения информационных битов в определенном числе групп битов согласно предварительно определенному порядку; и LDPC-кодер для выполнения 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(a) - иллюстрация примера сопоставления сигнальной совокупности/бита при 16-QAM-модуляции;
Фиг.7(b) - иллюстрация примера сопоставления сигнальной совокупности/бита, которое было модифицировано посредством сокращения при 16-QAM-модуляции;
Фиг.8(a) - иллюстрация примера сопоставления сигнальной совокупности/бита при 64-QAM-модуляции;
Фиг.8(b) - иллюстрация примера сопоставления сигнальной совокупности/бита, которое было модифицировано посредством сокращения при 64-QAM-модуляции;
Фиг.9 - иллюстрация процедуры для генерации LDPC-кода с разной длиной кодового слова из матрицы контроля четности сохраненного LDPC-кода согласно одному варианту осуществления настоящего изобретения;
Фиг.10 - иллюстрация структурной схемы передающего устройства, в котором применяется предлагаемый сокращенный LDPC-код, согласно одному варианту осуществления настоящего изобретения;
Фиг.11 - иллюстрация структурной схемы передающего устройства, в котором применяется предлагаемый сокращенный/проколотый LDPC-код, согласно одному варианту осуществления настоящего изобретения;
Фиг.12 - иллюстрация структурной схемы приемного устройства, в котором используется LDPC-код, к которому применяется предлагаемое сокращение, согласно одному варианту осуществления настоящего изобретения;
Фиг.13 - иллюстрация структурной схемы приемного устройства, в котором используется LDPC-код, к которому применяется предлагаемое сокращение и прокалывание, согласно одному варианту осуществления настоящего изобретения; и
Фиг.14 - иллюстрация схемы последовательности операций, иллюстрирующей процесс приема в приемном устройстве согласно одному варианту осуществления настоящего изобретения.
Во всех чертежах одинаковые позиционные обозначения относятся к одинаковым элементам, признакам и структурам.
Вариант осуществления
Нижеприведенное описание в сочетании с прилагаемыми чертежами предназначено для помощи в полном понимании вариантов осуществления настоящего изобретения, как определено формулой изобретения и ее эквивалентами. Оно включает в себя различные конкретные детали, которые помогают понять изобретение, однако эти конкретные детали не должны рассматриваться как ограничения. Соответственно, специалистам в данной области техники будет очевидно, что в рамках объема и сущности настоящего изобретения могут быть выполнены различные изменения и модификации описанных вариантов осуществления. К тому же описание известных функций и конструкций опущено для краткости и ясности.
Сверх того, термины и слова, использованные в следующем описании и формуле изобретения, не ограничиваются библиографическими значениями, и они использовались настоящим изобретателем, чтобы обеспечить ясное и последовательное понимание настоящего изобретения. Соответственно, специалистам в данной области техники будет очевидно, что следующее описание вариантов осуществления настоящего изобретения предоставлено только в целях иллюстрации, а не в целях ограничения изобретения, как определено прилагаемой формулой изобретения и ее эквивалентами.
Следующее описание вариантов осуществления настоящего изобретения предоставляет способ для поддержки LDPC-кодов с разными длинами кодового слова, подходящими для модуляции высшего порядка, используя матрицу контроля четности структурированного LDPC-кода определенного типа. В добавление, описание вариантов осуществления настоящего изобретения предоставляет устройство для поддержки разных длин кодового слова согласно модуляции высшего порядка в системе связи, в которой используется LDPC-код определенного типа, и способ для управления таким устройством. В частности, описание вариантов осуществления настоящего изобретения предоставляет способ для генерации LDPC-кода, используя матрицу контроля четности заданного LDPC-кода, где сгенерированный LDPC-код меньше, чем заданный LDPC-код, а также соответствующее устройство.
Фиг.6 представляет собой структурную схему приемопередатчика в системе связи, в которой используется LDPC-код.
u
Ссылаясь на Фиг.6, сообщение u вводится в LDPC-кодер 611 в передатчике 610 до выполнения его передачи в приемник 630. LDPC-кодер 611 кодирует введенное сообщение u и выводит кодированный сигнал c в модулятор 613. Модулятор 613 модулирует кодированный сигнал c и передает модулированный сигнал s в приемник 630 через беспроводной канал 620. Демодулятор 631 в приемнике 630 демодулирует принятый сигнал r и выводит демодулированный сигнал x в LDPC-декодер 633. LDPC-декодер 633 декодирует демодулированный сигнал x, в результате чего получается оценка  сообщения, основанного на данных, которые были приняты через беспроводной канал 620.
Используя предопределенную схему, LDPC-кодер 611 генерирует матрицу контроля четности согласно длине кодового слова, необходимой для системы связи. В частности, согласно одному варианту осуществления настоящего изобретения LDPC-кодер 611 будет поддерживать разные длины кодового слова, используя LDPC-код без отдельной необходимости дополнительной сохраненной информации.
Согласно одному варианту осуществления настоящего изобретения в способе получения разных длин кодового слова из заданного LDPC-кода используется способ сокращения и/или способ прокалывания. В настоящее время известны способы, которые оптимизируют производительность посредством применения сокращения или прокалывания к LDPC-коду согласно кодовой скорости и длине кодового слова. Тем не менее, в большинстве случаев, поскольку известный способ определения шаблонов сокращения и прокалывания выполняется процесс оптимизации с учетом только Двоичной Фазовой Манипуляции (Binary Phase Shift Keying, BPSK) или Квадратурной Фазовой Манипуляции (Quadrature Phase Shift Keying, QPSK), для заданного LDPC-кода может существовать только один оптимизированный шаблон сокращения и/или прокалывания.
Тем не менее, шаблоны прокалывания и сокращения, оптимизированные для схемы сопоставления сигнальной совокупности/бита, определенной в модуляции высшего порядка, могут отличаться от таковых для BPSK или QPSK-модуляции.
При BPSK или QPSK-модуляции, поскольку надежности битов, включенных в символ, равны, надежности битов кодового слова LDPC, после того как оно подвергается сокращению или прокалыванию, также равны. Следовательно, нет необходимости учитывать схему модуляции при определении шаблонов сокращения и прокалывания. Тем не менее, как описано выше, при модуляции высшего порядка, такой как 16-QAM, 64-QAM и 256-QAM, поскольку надежности битов, включенных в символ, отличаются, когда определена схема модуляции и схема сопоставления сигнальной совокупности/бита, надежности каждого бита в кодовом слове LDPC, после того как оно подвергается сокращению или прокалыванию, могут отличаться от надежности кодового слова LDPC до того, как оно было подвергнуто сокращению или прокалыванию.
Фиг.7(a), 7(b), 8(a) и 8(b) иллюстрируют примеры сопоставления битов, где биты сопоставляются символу согласно степеням переменных узлов в кодовом слове LDPC для 16-QAM и 64-QAM, соответственно. В частности, Фиг.7(a) иллюстрирует пример сопоставления сигнальной совокупности/бита при 16-QAM-модуляции, а Фиг.7(b) иллюстрирует пример сопоставления сигнальной совокупности/бита, которое было модифицировано посредством сокращения при 16-QAM-модуляции. Для удобства, кодовое слово LDPC разделено на 8-битные или 12-битные блоки.
0
1
0
1
2
3
1
3
Ссылаясь на Фиг.7(a), y и y указывают биты с высокой надежностью, которые определяют знаки действительной части и мнимой части в символе 16-QAM, соответственно. То есть отношение надежности между этими битами выражается как y=y >y=y. На Фиг.7(a), поскольку y и yсопоставляются части кодового слова LDPC, которая соответствует переменным узлам наивысшей степени, 1/2 переменных узлов наивысшей степени сопоставляются части с высокой надежностью, а другая 1/2 сопоставляются части с низкой надежностью.
3
1
Предполагая, что половина переменных узлов наивысшей степени была подвергнута сокращению, как проиллюстрировано на Фиг.7(b), когда биты символа, соответствующие несокращенным переменным узлам наивысшей степени рассматриваются в сокращенном кодовом слове LDPC, 7/8 переменных узлов наивысшей степени сопоставляется y, а 1/8 сопоставляется y. То есть битовое отношение сильно отличается до и после сокращения.
Аналогично, Фиг.8(a) иллюстрирует пример сопоставления сигнальной совокупности/бита при 64-QAM-модуляции, а Фиг.8(b) иллюстрирует пример сопоставления сигнальной совокупности/бита, которое было модифицировано посредством сокращения при 64-QAM-модуляции.
0
1
2
3
4
5
5
5
На Фиг.8(a), отношение надежности между битами, включенными в символ, выражается как y=y > y=y> y=y. В этом случае, 1/3 переменных узлов с наивысшей степенью в кодовом слове LDPC сопоставляются биту y с наименьшей надежностью. Тем не менее, когда 2/3 переменных узлов наивысшей степени подвергаются сокращению, как проиллюстрировано на Фиг.8(b), 5/6 остальных несокращенных переменных узлов наивысшей степени сопоставляются биту yс наименьшей надежностью, так что битовое отношение отличается до и после сокращения.
Когда, как описано здесь, для заданного LDPC-кода фиксируются схема модуляции высшего порядка и схема сопоставления сигнальной совокупности/бита, шаблон сокращения или прокалывания, используемый в BPSK или QPSK-модуляции, может быть непригоден, поскольку отношение бита кодового слова LDPC, сопоставляемого каждому биту символа модуляции, сильно отличается согласно способу сокращения.
Известно, что в случае LDPC-кода, распределение степени матрицы контроля четности оптимизированного LDPC-кода очень отличается согласно схеме модуляции. То есть распределение степени LDPC-кода, оптимизированного для BPSK или QPSK-модуляции и распределение степени LDPC-кодов, оптимизированных для 16-QAM, 64-QAM и 256-QAM, отличаются друг от друга.
По схожим причинам, очевидно, что когда предполагается, что задан LDPC-код с одним распределением степени, оптимизированный шаблон сокращения или прокалывания отличается согласно схеме модуляции высшего порядка. Соответственно, шаблон сокращения должен быть определен с учетом целевой схемы модуляции, чтобы найти оптимизированный шаблон сокращения или прокалывания для LDPC-кода.
Описание сокращения приведено ниже, до описания способа определения шаблона сокращения или прокалывания с учетом схемы модуляции. Термин "сокращение" обозначает способ, согласно которому, по существу не передается специфицированная часть кодового слова LDPC после генерации кодового слова LDPC из заданной конкретной матрицы контроля четности посредством выполнения LDPC-кодирования. Для лучшего понимания сокращения, ниже, со ссылкой на Фиг.3, подробно описана матрица контроля четности DVB-S2 LDPC-кода.
1
0
1
K1-1
1
0
1
K1-1
1
1
s
0
Ns-1
Для матрицы контроля четности DVB-S2 LDPC-кода проиллюстрированной на Фиг.3 общая длина равна N, начальная часть матрицы контроля четности соответствует информационным битам (i, i,..., i) и имеет длину K, а задняя часть соответствует битам (p, p,..., p) четности и имеет длину (N-K). Обычно, информационные биты могут иметь произвольное значение 0 или 1, и способ сокращения ограничивает значения информационных битов в определенной части, которая подвергается сокращению. Например, сокращение N информационных битов с i по i обычно означает, что
0
1
Ns-1
s
0
Ns-1
S
i=i=i=0. То есть посредством ограничения значений для N информационных битов с i по i величиной "0", способ сокращения может обеспечить, по существу, такой же эффект, как при неиспользовании N начальных столбцов в матрице контроля четности DVB-S2 LDPC-кода, проиллюстрированной на Фиг.3. Термин "сокращение" происходит от вышеописанной операции ограничения. Следовательно, применение сокращения также означает, что значения сокращенных информационных битов рассматриваются как равные 0.
Что касается способа сокращения, когда система настраивается, передатчик и приемник могут совместно использовать или сгенерировать одинаковую информацию позиции для сокращенных информационных битов. Следовательно, хотя передатчик не передал сокращенные биты, приемник может выполнить декодирование, поскольку ему уже известно, что информационные биты в позициях, соответствующих сокращенным битам, имеют значение 0.
1
s
1
1
1
s
1
s
1
1
В способе сокращения, поскольку длина кодового слова, которое передатчик фактически передает, равна N-Nи длина информационного слова равна K-N, кодовая скорость становится равной K-N/(N-N), что всегда меньше, чем первая заданная кодовая скорость K/N.
Обычно, способ прокалывания может быть применен как к информационным битам, так и к битам четности. Хотя способ прокалывания и способ сокращения обычно сокращают длины кодового слова, способ прокалывания в отличие от способа сокращения не ограничивает величины конкретных битов.
p
1
1
p
В частности, способ прокалывания является просто способом, в котором конкретные информационные биты или конкретная часть сгенерированных битов четности просто не передается, так что приемник может стереть соответствующие биты. Иначе говоря, посредством невыполнения передачи битов в Nпредопределенных позициях в сгенерированном кодовом слове LDPC длиной N, прокалывание может обеспечить такой же эффект, что и при передаче кодового слова LDPC длиной (N-N). Поскольку все столбцы, соответствующие битам, проколотым в матрице контроля четности, остаются нетронутыми в процессе декодирования, способ прокалывания отличается от способа сокращения.
Сверх того, согласно одному варианту осуществления настоящего изобретения, поскольку информация позиции для проколотых битов может быть распространена или совместно оценена передатчиком и приемником при настройке системы, приемник может просто стереть соответствующие проколотые биты до выполнения декодирования.
1
p
1
1
1
p
1
1
Согласно способу прокалывания, поскольку длина кодового слова, которое передатчик фактически передает, равна N-Nи длина информационного слова постоянно равна K, кодовая скорость становится равной K/(N-N), что всегда больше, чем первая заданная кодовая скорость K/N.
Ниже приведено описание способа сокращения и способа прокалывания, которые подходят для DVB-S2 LDPC-кода. DVB-S2 LDPC-код, как описано выше, представляет собой LDPC-код с конкретной структурой. Соответственно, по сравнению с обычным LDPC-кодом, DVB-S2 LDPC-код может подвергаться более эффективному сокращению и прокалыванию.
1
1
2
2
Для удобства этого примера предполагается, что DVB-S2 LDPC-код имеет длину кодового слова и длину информации, которые равны N и K, соответственно, а длина кодового слова и длина информации LDPC-кода, которые желательно получить в итоге из этого DVB-S2 LDPC-кода, используя способ сокращения и способ прокалывания, составляют N и K, соответственно.
1
2
1
2
2
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-N=N и K-K=K, то можно генерировать LDPC-код, для которого длина кодового слова и длина информации равны N и K, соответственно, посредством сокращения K битов и прокалывания (N-K) битов из матрицы контроля четности DVB-S2 LDPC-кода. Для сгенерированного LDPC-кода при N>0 или K>0, поскольку его кодовая скорость
1
1
∆
∆
обычно отличается от кодовой скорости K/N DVB-S2 LDPC-кода, его алгебраическая характеристика изменяется. Для N=KLDPC-код генерируется посредством невыполнения сокращения и прокалывания или посредством выполнения только сокращения. Тем не менее, касательно DVB-S2 LDPC-кода как описано в Правилах 1 и 2, поскольку одно значение
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>k</mi><mo>=</mo><mn>1,2,...,</mn><msub><mi>D</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><mi>i</mi><mo>=</mo><mn>1,...,</mn><msub><mi>K</mi><mn>1</mn></msub><mo>/</mo><msub><mi>M</mi><mn>1</mn></msub><mo>,</mo><mtext> </mtext><mi>j</mi><mo>=</mo><mn>0,...,</mn><msub><mi>M</mi><mn>1</mn></msub><mo>−</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
1
1
1
1
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mo>,</mo><mi>j</mi></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
соответствует M столбцам, каждая из K/N групп столбцов имеет структурную форму. Следовательно, DVB-S2 LDPC-код равен LDPC-коду, который не использует M столбцов, если он не использует одно значение
. Следующий процесс сокращения, который описан со ссылкой на Фиг.9, предлагается с учетом подобных характеристик.
Фиг.9 представляет собой иллюстрацию процедуры для генерации LDPC-кода с разной длиной кодового слова из матрицы контроля четности сохраненного LDPC-кода согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг.9, на этапе 901 LDPC-кодер определяет схему модуляции передачи для символа, и считывает информацию группы столбцов DVB-S2 LDPC-кода, который должен быть подвергнут сокращению, на этапе 903. То есть LDPC-кодер считывает сохраненную информацию матрицы контроля четности. Далее, на этапе 905 LDPC-кодер определяет длину N2 кодового слова и длину K2 информации на основании информации группы столбцов DVB-S2 LDPC-кода. Далее, LDPC-кодер выполняет процесс сокращения согласно этапам 907-913, на которых LDPC-кодер выполняет сокращение в соответствие с требуемой длиной информации LDPC-кода, на основании считанной информации сохраненной матрицы контроля четности.
Этап 1 Сокращения: LDPC-кодер определяет
<mrow><mi>A</mi><mo>=</mo><mrow><mo>⌊</mo><mrow><mfrac><mrow><msub><mi>K</mi><mn>2</mn></msub></mrow><mrow><msub><mi>M</mi><mn>1</mn></msub></mrow></mfrac></mrow><mo>⌋</mo></mrow></mrow>
на этапе 907, где
x
представляет собой максимальное целое, которое меньше или равно x.
Этап 2 Сокращения: LDPC-кодер выбирает последовательность для (A+1) групп столбцов из
<mrow><msubsup><mi>R</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>i</mi><mn>,...,</mn><msub><mi>K</mi><mn>1</mn></msub><mo>/</mo><msub><mi>M</mi><mn>1</mn></msub><mo stretchy="false">)</mo></mrow>
групп столбцов на этапе 909. Выбранная последовательность определяется как
<mrow><msubsup><mi>S</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup><mo stretchy="false">(</mo><mi>i</mi><mo>=</mo><mn>1,...,</mn><mi>A</mi><mo>+</mo><mn>1</mn><mo stretchy="false">)</mo></mrow>
LDPC-кодер полагает, что для остающихся
<mrow><msub><mi>K</mi><mn>1</mn></msub><mo>/</mo><msub><mi>M</mi><mn>1</mn></msub><mo>−</mo><mi>A</mi><mo>−</mo><mn>1</mn></mrow>
групп столбцов нет последовательностей, за исключением частичной последовательности
<mrow><msubsup><mi>S</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><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><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
Этап 3 Сокращения: LDPC-кодер определяет позиции групп столбцов, соответствующие информационному слову DVB-S2 LDPC-кода, из последовательности
<mrow><msubsup><mi>S</mi><mrow><mi>i</mi><mn>,0</mn></mrow><mrow><mo stretchy="false">(</mo><mi>k</mi><mo stretchy="false">)</mo></mrow></msubsup></mrow>
1
2
(A+1) групп столбцов, выбранных на Этапе 2 Сокращения, и на этапе 911 генерируется сокращенный DVB-S2 LDPC-код. Следует отметить, что сокращенный LDPC-код имеет длину (A+1)M, которая всегда больше или равна K.
1
2
Этап 4 Сокращения: На этапе 913 LDPC-кодер дополнительно сокращает (A+1)M-K столбцов из сокращенного LDPC-кода, сгенерированного на Этапе 3 Сокращения.
На Этапе 4 Сокращения дополнительное сокращение реализуется легче, если процесс последовательно выполняется с задней или передней группы столбцов, посредством чего достигается дополнительное сокращение.
Как описано выше, один вариант осуществления настоящего изобретения применяет эффективный способ сокращения, который не использует информацию о группах столбцов DVB-S2 LDPC-кода в зависимости от структурных особенностей DVB-S2 LDPC-кода, в отличие от обычного способа побитного сокращения, который обычно используется для сокращения DVB-S2 LDPC-кода.
Критерий выбора последовательности для групп столбцов может быть подытожен как указано на Этапе 2 в процессе сокращения DVB-S2 LDPC-кода.
2
2
2
2
1
1
Критерий 1: LDPC-кодер выбирает последовательность шаблона сокращения для заданных групп столбцов таким образом, что оптимальное распределение степени, достижимое с учетом схемы модуляции, заданной для нормального LDPC-кода с длиной N кодового слова и длиной K информации, получается максимально похожим на распределение степени сокращенного LDPC-кода с длиной N кодового слова и длиной K информации, которое получается посредством выполнения сокращения DVB-S2 LDPC-кода с длиной N кодового слова и длиной Kинформации.
Критерий 2: LDPC-кодер выбирает последовательность шаблона сокращения для заданной группы столбцов, чтобы предоставить код, имеющий хорошую циклическую характеристику на графе Таннера среди сокращенных кодов, выбранных по Критерию 1. Согласно одному варианту осуществления настоящего изобретения, касательно критерию для циклической характеристики, LDPC-кодер выбирает последовательность, где цикл минимальной длины в графе Таннера на сколько возможно большой, и количество циклов минимальной длины на сколько возможно мало.
Оптимальное распределение степени LDPC-кода, в котором рассматривается схема модуляции, может быть найдена по Критерию 1 с использованием способа анализа эволюции плотности, различные реализации которого известны в технике. Тем не менее, поскольку процесс определения распределения степени с использованием способа анализа эволюции плотности не является существенным с точки зрения настоящего изобретения, его детальное описание в настоящем документе не предоставлено.
Если количество всех возможных последовательностей (шаблонов сокращения) для групп столбцов не велико, LDPC-кодер может выбрать последовательность (шаблон сокращения) для группы столбцов, имеющей наилучшую производительность посредством выполнения полного поиска по всем последовательностям независимо от Критериев 1 и 2. Тем не менее, критерии выбора для групп столбцов, применяемые на Этапе 2 Сокращения для DVB-S2 LDPC-кода, обеспечивают возможность эффективно выбирать (шаблон сокращения) посредством выбора LDPC-кода, удовлетворяющего обоим условиям, когда количество всех возможных последовательностей (шаблона сокращения) для группы столбцов слишком большое.
2
2
2
2
2
2
2
2
Критерий 1 и Критерий 2 применяются, когда N и K являются фиксированными величинами. Тем не менее, если величины N и K согласно требованиям системы варьируют, то шаблон сокращения, оптимизированный согласно величине K, может не иметь какой-либо корреляции. То есть, когда величины N и K, необходимые в системе, варьируют, все шаблоны сокращения, оптимизированные согласно величине K, должны храниться отдельно для оптимальной производительности.
2
2
Следовательно, для эффективной работы системы могут быть найдены субоптимальные шаблоны сокращения, когда величины N и K, необходимые в системе, варьируют.
Поиск субоптимальной последовательности шаблона сокращения
Предполагая, что выбор группы столбцов необходим для сокращения, поскольку количество выбираемых групп столбцов равно одному, можно выбрать группу столбцов с наилучшей производительностью. Когда для сокращения необходим выбор двух групп столбцов, вместе с уже выбранной одной группой столбцов из остальных групп столбцов выбирается еще одна группа столбцов, демонстрирующая наилучшую производительность. Аналогично, когда для сокращения необходим выбор i групп столбцов, из остальных групп столбцов выбирается одна группа столбцов, имеющая наилучшую производительность, вместе с (i-1) группами столбцов, которые были выбраны на предыдущем этапе для сокращения.
2
Хотя вышеописанный способ не может гарантировать оптимального выбора для всех случаев, он обеспечивает относительно стабильную производительность шаблона сокращения с одним регулярным правилом, независимо от изменения величины K. Следовательно, вышеописанный способ имеет преимущества, заключающиеся в относительно стабильной производительности и простоте хранения шаблонов сокращения.
1
2
3
x
2
DVB-S2 LDPC-код, содержащий всего G групп столбцов, соответствующих информационным битам, описан ниже в качестве примера. Предполагая, что порядки групп столбцов, которые подвергаются сокращению согласно способу определения шаблонов сокращения, устанавливаются как B, B, B,..., B, когда сохраняется только последовательность, означающая порядки групп столбцов, возможно реализовать эффективное сокращение для случайного значения K посредством Этапов Сокращения с 1 по 4.
1
1
Чтобы проиллюстрировать пример разницы между шаблонами сокращения, найденными согласно соответствующим схемам модуляции с использованием вышеописанных способов, в Таблице 1A и Таблице 1B приведены способы сокращения и шаблоны сокращения, субоптимизированные для BPSK/QPSK, 16-QAM и 64-QAM относительно DVB-S2 LDPC-кода с длиной N=16200 кодового слова и длиной K=7200.
Таблица 1A
Основные переменные DVB-S2 LDPC-кода
N<sub>1</sub>=16200, K<sub>1</sub>=7200, M<sub>1</sub>=360, q=25
Диапазон K<sub>2</sub>
Способ сокращения
1)528≤K<sub>2</sub><7200
Для целой величины <maths num="33"><math display="block"><mrow><mi>m</mi><mo>=</mo><mrow><mo>⌊</mo><mrow><mfrac><mrow><mn>7200</mn><mo>−</mo><mi>K</mi><mn>2</mn></mrow><mrow><mn>360</mn></mrow></mfrac></mrow><mo>⌋</mo></mrow></mrow></math><img file="00000033.tif" he="11" wi="30" img-content="undefined" img-format="tif" /></maths>
, сократить все m групп столбцов, соответствующих π(0)-ой, π(1)-ой,..., π(m-1)-ой строкам, и дополнительно сократить 7200-K<sub>2</sub>-360m информационных битов из группы столбцов, соответствующей π(m)-ой строке. Здесь π обозначает функцию перестановки, которая указывает шаблон сокращения, и отношения показаны в нижней части таблицы.Тем не менее, когда сокращается часть группы столбцов, соответствующей π(18)=19-ой строке, столбцы в позициях, соответствующих 168 битам четности Bose-Chaudhuri-Hocquenghem (BCH), не подвергаются сокращению.
2)168≤K<sub>2</sub><528
Сократить все группы столбцов, соответствующие π(0)-ой, π(1)-ой,..., π(17)-ой строке, и сократить все столбцы за исключением столбцов в позициях, соответствующих 168 битам четности BCH из группы столбцов, соответствующей π(18)=19-ой строке.Кроме того, дополнительно сократить 528-K<sub>2</sub> информационных битов из группы столбцов, соответствующей π(19)=0-ой строке.
Таблица 1B
Отношение между функциями перестановки, субоптимизированными для BPSK/QPSK
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
18
17
16
15
14
13
12
11
4
10
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
9
8
3
2
7
6
5
1
19
0
Отношение между функциями перестановки, субоптимизированными для 16QAM
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
18
17
16
15
14
13
12
11
4
10
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
3
9
2
8
7
6
1
5
19
0
Отношение между функциями перестановки, субоптимизированными для 64QAM
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
4
3
18
17
2
16
15
14
13
12
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
11
10
9
1
8
7
6
5
19
0
Ссылаясь на Таблицу 1A и Таблицу 1B, можно заметить, что когда определяется длина информационных битов, которые должны быть сокращены, способ сокращения реализуется посредством предопределенного процесса независимо от схемы модуляции, но отношения между функциями перестановок, указывающими оптимизированные шаблоны сокращения, отличаются согласно схемам модуляции. То есть, когда способ сокращения применяется без учета схемы модуляции, в зависимости от схем модуляции может иметь место существенная деградация производительности.
Субоптимизированные шаблоны сокращения из Таблицы 1B, найденные для способа сокращения из Таблицы 1A, могут не быть уникальными согласно условиям для обнаружения шаблонов сокращения. Например, может существовать несколько групп столбцов, которые демонстрируют схожую производительность в процессе, описанном выше, то есть, в разделе Поиск субоптимальной последовательности шаблона сокращения. В этом случае, поскольку выбор следующих групп столбцов может отличаться согласно выбору групп столбцов, субоптимизированные шаблоны сокращения могут не быть уникальными согласно разности производительности процесса сокращения. В действительности, шаблоны сокращения из Таблицы 1C также обеспечивают превосходную производительность, схожую с производительностью способа сокращения из Таблицы 1A.
Таблица 1C
Отношение между функциями перестановки, субоптимизированными для BPSK/QPSK(2)
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
18
17
16
15
14
13
12
11
4
10
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
9
8
3
2
7
6
5
1
19
0
Отношение между функциями перестановки, субоптимизированными для 16QAM(2)
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
18
17
16
15
14
13
12
11
4
10
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
9
8
7
3
2
1
6
5
19
0
Отношение между функциями перестановки, субоптимизированными для 64QAM(2)
π(0)
π(1)
π(2)
π(3)
π(4)
π(5)
π(6)
π(7)
π(8)
π(9)
18
17
16
4
15
14
13
12
3
11
π(10)
π(11)
π(12)
π(13)
π(14)
π(15)
π(16)
π(17)
π(18)
π(19)
10
9
2
8
7
1
6
5
19
0
Способы сопоставления битов, соответствующие сигнальным совокупностям, которые используются в 16-QAM-модуляции и 64-QAM-модуляции из Таблицы 1C, представляют собой результаты, которые получаются посредством применения таких же способов сопоставления битов, какие проиллюстрированы на Фиг.7(a), 7(b), 8(a) и 8(b).
Ссылаясь на Фиг.9, после этапа 913, когда необходимо прокалывание, LDPC-кодер применяет прокалывание в процессе LDPC-кодирования на этапе 915. Ниже описан способ прокалывания.
2
2
1
1
1
2
1
2
2
2
1
1
1
1
Предполагая, что длина кодового слова и длина информации LDPC-кода равны Nи K, соответственно, что в итоге желательно получить из DVB-S2 LDPC-кода, длина кодового слова и длина информации которого равны Nи K, соответственно, используя способ сокращения и способ прокалывания, и что задано определение N-N=N и K-K=K, то возможно сгенерировать LDPC-код с длиной N кодового слова и длиной K информации посредством сокращения K битов и прокалывания (N-K) битов из матрицы контроля четности DVB-S2 LDPC-кода. Для удобства, когда предполагается, что способ прокалывания применяется только к части контроля четности, существует один возможный способ для прокалывания 1 бита из части контроля четности на каждые (N-K)/(N-K) битов, поскольку длина четности составляет N-K. Тем не менее, также доступны другие способы прокалывания.
Фиг.10 представляет собой иллюстрацию структурной схемы передающего устройства, в котором применяется сокращенный LDPC-код, согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг.10, передающее устройство включает в себя контроллер 1010, блок 1020 применения шаблона сокращения, блок 1040 извлечения матрицы контроля четности для LDPC-кода и LDPC-кодер 1060. Блок 1040 извлечения матрицы контроля четности для LDPC-кода извлекает матрицу контроля четности LDPC-кода, которая была подвергнута сокращению. Матрица контроля четности LDPC-кода может быть извлечена из памяти, может быть задана в передающем устройстве или может быть сгенерирована в передающем устройстве. В добавление, блок 1040 извлечения матрицы контроля четности LDPC-кода определяет схему модуляции передачи для символа передачи, группирует столбцы, соответствующие информационному слову в матрице контроля четности LDPC-кода, в множество групп столбцов, и упорядочивает эти группы столбцов.
Блок 1020 применения шаблона сокращения определяет диапазон информационного слова, который желательно получить посредством сокращения, и на основании этого диапазона информационного слова выполняет сокращение группы столбцов за группой столбцов в порядке согласно шаблону сокращения, определенному с учетом определенной схемы модуляции.
Контроллер 1010 управляет блоком 1020 применения шаблона сокращения, чтобы определить шаблон сокращения согласно схеме модуляции передачи и длине информации, и блок 1020 применения шаблона сокращения вставляет биты со значением 0 в позиции, соответствующие сокращенным битам, или удаляет столбцы, соответствующие сокращенным битам из матрицы контроля четности заданного LDPC-кода. Шаблон сокращения может представлять собой шаблон сокращения, который хранится в памяти, который генерируется генератором последовательности (не показан), или который получается используя алгоритм анализа эволюции плотности для матрицы контроля четности и заданной длины информации.
LDPC-кодер 1060 выполняет кодирование на основе LDPC-кода, который был подвергнут сокращению контроллером 1010 и блоком 1020 применения шаблона сокращения.
Фиг.11 представляет собой иллюстрацию структурной схемы передающего устройства для DVB-S2 LDPC-кода, где используется как сокращение, так и прокалывание. В частности, в сравнении с передающим устройством с Фиг.10, передающее устройство с Фиг.11 также включает в себя блок 1180 применения шаблона прокалывания.
Ссылаясь на Фиг.11, сокращение выполняется на входной ступени LDPC-кодера 1060, а прокалывание выполняется на выходной ступени LDPC-кодера 1060. Блок 1180 применения шаблона прокалывания применяет прокалывание к выводу LDPC-кодера 1060. Способ применения прокалывания описан выше, со ссылкой на этап 915 с Фиг.9.
Фиг.12 представляет собой иллюстрацию структурной схемы приемного устройства, в котором используется LDPC-код, к которому применяется сокращение, согласно одному варианту осуществления настоящего изобретения. В частности, Фиг.12 иллюстрирует пример приемного устройства, которое принимает сигнал, переданный из системы связи, в которой используется сокращенный DVB-S2 LDPC-код, и восстанавливает пользовательские данные из принятого сигнала, когда оно детектирует схему модуляции передачи и длину сокращенного DVB-S2 LDPC-кода из принятого сигнала.
Ссылаясь на Фиг.12, приемное устройство включает в себя контроллер 1210, блок 1220 определения/оценки шаблона сокращения, демодулятор 1230 и LDPC-декодер 1240. Демодулятор 1230 принимает и демодулирует сокращенное кодовое слово LDPC, и предоставляет демодулированный сигнал в блок 1220 определения/оценки шаблона сокращения и LDPC-декодер 1240. Под управлением контроллера 1210 блок 1220 определения/оценки шаблона сокращения определяет или оценивает информацию о шаблоне сокращения LDPC-кода из демодулированного сигнала, и предоставляет информацию позиции сокращенных битов в LDPC-декодер 1240. Блок 1220 определения/оценки шаблона сокращения может использовать шаблоны сокращения, хранимые в памяти, может генерировать шаблоны сокращения, используя ранее реализованный способ генерации, или может получать шаблоны сокращения, используя алгоритм анализа эволюции плотности для матрицы контроля четности и заданную длину информации.
Контроллер 1210 управляет блоком 1220 определения/оценки шаблона сокращения, чтобы доставить сокращенный шаблон в LDPC-декодер 1240 в зависимости от схемы модуляции и длины информации. Поскольку вероятность, что величины сокращенных битов будут равны нулю, равна 1 (то есть 100%), LDPC-декодер 1240 определяет, разрешит ли он участвовать сокращенным битам в операции декодирования, в зависимости от величины 1 вероятности того, что сокращенные биты будут нулевыми.
Когда LDPC-декодер 1240 получает информацию о длине DVB-S2 LDPC-кода, сокращенного посредством блока 1220 определения/оценки шаблона сокращения, он восстанавливает данные из принятых сигналов.
Фиг.13 представляет собой иллюстрацию структурной схемы приемного устройства, в котором используется LDPC-код, к которому применяется сокращение и прокалывание, согласно одному варианту осуществления настоящего изобретения. В частности, приемное устройство проиллюстрированное на Фиг.13 включает в себя блок 1320 определения оценки шаблона сокращения/прокалывания, который заменяет блок 1220 определения/оценки шаблона сокращения в приемном устройстве, проиллюстрированном на Фиг.12.
Ссылаясь на Фиг.13, когда в передающем устройстве применяется как сокращение, так и прокалывание, блок 1320 определения/оценки шаблона сокращения/прокалывания в приемном устройстве может сначала выполнить определение или оценку сокращения, может сначала выполнить определение или оценку прокалывания, или может сразу выполнить определение или оценку и сокращения, и прокалывания.
Чтобы выполнять декодирование, LDPC-декодер 1240 должен иметь информацию как о сокращении, так и о прокалывании.
Фиг.14 представляет собой схему последовательности операций, иллюстрирующую процесс приема в приемном устройстве согласно одному варианту осуществления настоящего изобретения.
Ссылаясь на Фиг.14, на этапе 1401 демодулятор 1230 принимает и демодулирует сокращенное кодовое слово LDPC. На этапе 1403, блок 1220 определения/оценки шаблона сокращения определяет или оценивает шаблоны сокращения/прокалывания из демодулированного сигнала.
На этапе 1405 блок 1220 определения/оценки шаблона сокращения определяет, присутствуют ли какие-либо сокращенные или проколотые биты. Если проколотые или сокращенные биты отсутствуют, то LDPC-декодер 1240 выполняет декодирование на этапе 1411. Тем не менее, если присутствуют сокращенные или проколотые биты, блок 1220 определения/оценки шаблона сокращения доставляет информацию позиции сокращенных/проколотых битов в LDPC-декодер 1240 на этапе 1407.
На этапе 1409, на основании информации позиции сокращенных/проколотых битов LDPC-декодер 1240 определяет, что вероятность того, что значения сокращенных битов будут нулевыми, равна 1, и определяет, что проколотые биты являются стертыми битами. После этого, на этапе 1411 LDPC-кодер 1240 выполняет декодирование.
Несмотря на то, что настоящее изобретение было проиллюстрировано и описано со ссылкой на определенные варианты осуществления, специалистам в данной области техники будет очевидно, без выхода из объема и сущности настоящего изобретения могут быть выполнены различные изменения в форме и деталях, как определено прилагаемой формулой изобретения.