ГОСТ Р 58912-2020. Национальный стандарт Российской Федерации. Телевидение вещательное цифровое. Система эфирного наземного цифрового телевизионного вещания второго поколения DVB-T2. Общие технические требования
7.2 Требования к помехоустойчивому кодированию
7.2.1 Общие требования
7.2.1.1 В подсистеме кодозащиты со структурой прямого исправления ошибок FEC следует применять внешнее кодирование кодом БЧХ, внутреннее кодирование кодом LDPC и перемежение по битам. Входной поток подсистемы кодозащиты должен состоять из потоковых кадров BBFRAME, а выходной поток - из кадров кодозащиты FECFRAME.
7.2.1.2 Каждый кадр BBFRAME (битовая длина Kbch) должен обрабатываться подсистемой кодозащиты FEC для генерации кодированного кадра FECFRAME (битовая длина Nldpc). Проверочные биты BCHFEC систематического внешнего кода БЧХ должны добавляться после кадра BBFRAME, а проверочные биты кода LDPCFEC внутреннего кода LDPC должны добавляться после поля BCHFEC, как показано на рисунке 7.
Рисунок 7 - Формат данных перед перемежением по битам
7.2.1.3 В таблице 4 приведены параметры кодирования FEC для обычного FECFRAME (Nldpc = 64 800 бит), а в таблице 5 - для короткого FECFRAME (Nldpc = 16 200 бит).
Таблица 4
Параметры кодирования для обычного FECFRAME
(Nldpc = 64 800 бит)
Кодовая скорость кода LDPC | Некодированный блок кода БЧХ Kbch | Кодированный блок кода БЧХ Nbch; некодированный блок кода LDPC Kldpc | Число ошибок t, корректируемых кодом БЧХ | Nbch - Kbch | Кодированный блок кода LDPC Nldpc |
1/2 | 32 208 | 32 400 | 12 | 192 | 64 800 |
3/5 | 38 688 | 38 880 | 12 | 192 | 64 800 |
2/3 | 43 040 | 43 200 | 12 | 192 | 64 800 |
3/4 | 48 408 | 48 600 | 12 | 192 | 64 800 |
4/5 | 51 648 | 51 840 | 12 | 192 | 64 800 |
5/6 | 53 840 | 54 000 | 10 | 192 | 64 800 |
Таблица 5
Параметры кодирования для короткого FECFRAME
(Nldpc = 16 200 бит)
Идентификатор кодовой скорости кода LDPC | Некодированный блок кода БЧХ Kbch | Кодированный блок кода БЧХ Nbch; некодированный блок кода LDPC Kldpc | Число ошибок t, корректируемых кодом БЧХ | Nbch - Kbch | Эффективная кодовая скорость кода LDPC Kldpc/16 200 | Кодированный блок кода LDPC Nldpc |
1/4 <*> | 3072 | 3240 | 12 | 168 | 1/5 | 16 200 |
1/2 | 7032 | 7200 | 12 | 168 | 4/9 | 16 200 |
3/5 | 9552 | 9720 | 12 | 168 | 3/5 | 16 200 |
2/3 | 10 632 | 10 800 | 12 | 168 | 2/3 | 16 200 |
3/4 | 11 712 | 11 880 | 12 | 168 | 11/15 | 16 200 |
4/5 | 12 432 | 12 600 | 12 | 168 | 7/9 | 16 200 |
5/6 | 13 152 | 13 320 | 12 | 168 | 37/45 | 16 200 |
<*> Данная кодовая скорость используется только для защиты группы битов предварительной L1-сигнализации, но не для полезных данных. |
Для Nldpc = 64 800, а также для Nldpc = 16 200 кодовая скорость кода LDPC задается как Kldpc/Nldpc. В таблице 4 для Nldpc = 64 800 кодовые скорости кода LDPC указаны их значениями в столбце "Кодовая скорость кода LDPC". В таблице 5 для Nldpc = 16 200 кодовые скорости кода LDPC указаны их значениями в столбце "Эффективная кодовая скорость кода LDPC". Таким образом, для Nldpc = 16 200 значения идентификатора кодовой скорости кода LDPC не эквивалентны значениям кодовой скорости кода LDPC.
7.2.2 Внешнее кодирование (БЧХ)
7.2.2.1 Код БЧХ, исправляющий t ошибок (длины блоков Nbch, Kbch), должен применяться для кодирования каждого потокового кадра BBFRAME с целью получения защищенного от ошибок пакета. Параметры кода БЧХ при внутреннем кодировании кодом LDPC с обычной длиной блока Nldpc = 64 800 приведены в таблице 4, а для короткой длины блока Nldpc = 16 200 - в таблице 5.
7.2.2.2 Порождающие многочлены gi(x) кодера БЧХ, корректирующего t ошибок, приведены в таблице 6 для Nldpc = 64 800 и в таблице 7 для Nldpc = 16 200.
Таблица 6
Порождающие многочлены кода БЧХ для обычного FECFRAME
(Nldpc = 64 800 бит)
Обозначение многочлена | Степени многочлена |
g1(x) | 1 + x2 + x3 + x5 + x16 |
g2(x) | 1 + x + x4 + x5 + x6 + x8 + x16 |
g3(x) | 1 + x2 + x3 + x4 + x5 + x7 + x8 + x9 + x10 + x11 + x16 |
g4(x) | 1 + x2 + x4 + x6 + x9 + x11 + x12 + x14 + x16 |
g5(x) | 1 + x + x2 + x3+ x5 + x8 + x9 + x10 + x11 + x12 + x16 |
g6(x) | 1 + x2 + x4 + x5 + x7 + x8 + x9 + x10 + x12 + x13 + x14 + x15 + x16 |
g7(x) | 1 + x2 + x5 + x6 + x8 + x9 + x10 + x11 + x13 + x15 + x16 |
g8(x) | 1 + x + x2 + x5 + x6 + x8 + x9 + x12 + x13 + x14 + x16 |
g9(x) | 1 + x5 + x7 + x9 + x10 + x11 + x16 |
g10(x) | 1 + x + x2 + x5 + x7 + x8 + x10 + x12 + x13 + x14 + x16 |
g11(x) | 1 + x2 + x3 + x5 + x9 + x11 + x12 + x13 + x16 |
g12(x) | 1 + x + x5 + x6 + x7 + x9 + x11 + x12 + x16 |
Таблица 7
Порождающие многочлены кода БЧХ для короткого FECFRAME
(Nldpc = 16 200 бит)
Обозначение многочлена | Степени многочлена |
g1(x) | 1 + x + x3 + x5 + x14 |
g2(x) | 1 + x6 + x8 + x11 + x14 |
g3(x) | 1 + x + x2 + x6 + x9 + x10 + x14 |
g4(x) | 1 + x4 + x7 + x8 + x10 + x12 + x14 |
g5(x) | 1 + x2 + x4 + x6 + x8 + x9 + x11 + x13 + x14 |
g6(x) | 1 + x3 + x7 + x8 + x9 + x13 + x14 |
g7(x) | 1 + x2 + x5 + x6 + x7 + x10 + x11 + x13 + x14 |
g8(x) | 1 + x5 + x8 + x9 + x10 + x11 + x14 |
g9(x) | 1 + x + x2 + x3 + x9 + x10 + x14 |
g10(x) | 1 + x3 + x6 + x9 + x11 + x12 + x14 |
g11(x) | 1 + x4 + x11 + x12 + x14 |
g12(x) | 1 + x + x2 + x3 + x5 + x6 + x7 + x8 + x10 + x13 + x14 |
7.2.3 Внутреннее кодирование (LDPC)
7.2.3.1 Кодер LDPC должен обрабатывать данные , поступающие с выхода внешнего кодера БЧХ, как информационный блок размером Kldpc = Nbch и систематически кодировать его в кодовое слово
размера Nldpc, где:
. (1)
7.2.3.2 Параметры кода LDPC (Nldpc, Kldpc) приведены в таблицах 4 и 5.
Задача кодера LDPC состоит в определении проверочных битов для каждого блока информационных битов
согласно алгоритму кодирования, приведенному в стандарте на систему DVB-T2 (см. [1]).
7.2.4 Перемежитель по битам для модуляции 16-QAM, 64-QAM и 256-QAM
7.2.4.1 Выходной сигнал кодера LDPC (кодовое слово ) должен быть подвергнут перемежению по битам, которое состоит из перемежения блока проверочных битов с последующим блоковым перемежением с модификацией столбцов.
Выходной сигнал перемежителя проверочных битов обозначают буквой U, а выходной сигнал перемежителя с модификацией столбцов - буквой V. Перемежение проверочных битов должно происходить согласно формулам:
для 0 <= i < Kldpc
(информационные биты не перемежаются), (2)
для 0 <= s < 360, 0 <= t < Qldpc, (3)
где Qldpc - константа кода LDPC, значения которой приведены в таблице 8 для Nldpc = 64 800 и в таблице 9 для Nldpc = 16 200.
Таблица 8
Значения Qldpc для обычного FECFRAME (Nldpc = 64 800 бит)
Кодовая скорость | Qldpc |
1/2 | 90 |
3/5 | 72 |
2/3 | 60 |
3/4 | 45 |
4/5 | 36 |
5/6 | 30 |
Таблица 9
Значения Qldpc для короткого FECFRAME (Nldpc = 16 200 бит)
Кодовая скорость | Qldpc |
1/4 | 36 |
1/3 | 30 |
2/5 | 27 |
1/2 | 25 |
3/5 | 18 |
2/3 | 15 |
3/4 | 12 |
4/5 | 10 |
5/6 | 8 |
7.2.4.2 Конфигурация перемежителя с модификацией столбцов для каждого формата модуляции должна соответствовать параметрам, указанным в таблице 10.
Таблица 10
Структура перемежителя по битам
Модуляция | Ряды Nr | Столбцы Nc | |
Nldpc = 64 800 бит | Nldpc = 16 200 бит | ||
16-QAM | 8100 | 2025 | 8 |
64-QAM | 5400 | 1350 | 12 |
256-QAM | 4050 | - | 16 |
- | 2025 | 8 |
Биты данных ui, поступающие с выхода перемежителя проверочных битов, последовательно по столбцам записываются в перемежитель с модификацией столбцов и последовательно по рядам считываются на выход (сначала считывается наибольший значащий бит потокового заголовка BBHEADER), как показано на рисунке 8, где начальная позиция записи в каждый столбец сдвинута на величину tc бит согласно таблице 11 (см. также [1]).
Рисунок 8 - Схема перемежителя по битам
для обычного FECFRAME и модуляции 16-QAM
Таблица 11
Параметр модификации столбца tc
Модуляция | Число столбцов Nc | Nldpc | Параметр сдвига tc для столбца с номером ci | |||||||||||||||
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16-QAM | 8 | 64 800 | 0 | 0 | 2 | 4 | 4 | 5 | 7 | 7 | - | - | - | - | - | - | - | - |
16 200 | 0 | 0 | 0 | 1 | 7 | 20 | 20 | 21 | - | - | - | - | - | - | - | - | ||
64-QAM | 12 | 64 800 | 0 | 0 | 2 | 2 | 3 | 4 | 4 | 5 | 5 | 7 | 8 | 9 | - | - | - | - |
16 200 | 0 | 0 | 0 | 2 | 2 | 2 | 3 | 3 | 3 | 6 | 7 | 7 | - | - | - | - | ||
256-QAM | 16 | 64 800 | 0 | 2 | 2 | 2 | 2 | 3 | 7 | 15 | 16 | 20 | 22 | 22 | 27 | 27 | 28 | 32 |
8 | 16 200 | 0 | 0 | 0 | 1 | 7 | 20 | 20 | 21 | - | - | - | - | - | - | - | - |
7.2.4.3 Перемежитель с модификацией столбцов должен работать следующим образом:
Входной бит ui с индексом i при 0 <= i < Nldpc записывается в столбец ci, ряд ri перемежителя, где:
ci = i div Nr, (4)
, (5)
где div - оператор целочисленного деления, вычисляемый по формуле
.
Выходной бит vj с индексом j при 0 <= j < Nldpc считывается из ряда rj, столбца cj, где:
rj = j div Nc, (6)
cj = j mod Nc. (7)
Для модуляции 64-QAM и Nldpc = 64 800 на выходе перемежителя с модификацией столбцов будет следующий порядок битов:
(v0, v1, v2, ..., v64 799) =
= (u0, u5400, u16 198, ..., u53 992, u59 231, u64 790). (8)
