ГОСТ Р 70184—2022
Таблица Е.1 — Параметр q для различных скоростей кодирования
nldpc ~ 32
488
nldpc ~
18200
Скорость кода
Я
1/5* 72
11/45* 68
1/3*60
Скорость кода
Я
1/4 36
11/45* 34
4/15* 31
1/3 30
2/5 27
3/5 18
3/4 12
4/5 10
5/68
8/95
nldpc =
64 800
Скорость кода
Я
2/9* 140
1/4 135
1/3 120
2/5 108
1/2 90
3/5 72
2/3 60
3/4 45
4/5 36
5/6 30
8/9 20
9/1018
* Применяется только в режиме СНОСШ.
Е.2 Алгоритм кодирования Б
1
Входное информационное слово обрабатывается вблоках по z бит, представленных в виде векторов-столбцов,
число которых составляет kb = kldpc/z: и0, и ......икь--\- Параметр z определяется согласно приложению Г. Выходное
проверочное слово также представляется в виде mb= (.njdpc- кjdpc)lz векторов по z битов: vQ, vv ..., vmb_r
Втаблицах Г.11—Г.13 записаны тройки чисел (i,j, s), ставящие в соответствие парам координат (/,/) циркулян
тов значения сдвигов s(i,j). При отсутствии в таблице пары координат (/,/) принимается s(i,j) = -1.
Обработка данных LDPC-кодером выполняется в два этапа. На первом этапе происходит расчет первого
вектора проверочной части v0, определяемого формулой
j
о = XX
Ps(ij)uj’
=о /=0
где Рк при к>0 является циркулянтной матрицей размера zz, строка с номером С(С€ {0
.....
z - 1}) которой полу
чается с помощью циклического сдвига на £ позиций вправо строки с единственным ненулевым элементом в по
зиции к, а при к = -1 является нулевой матрицей размера z z.
Расчет на первом этапе производится с помощью ть сдвиговых регистров длины z. На шагеj (/е {0, ..., кь- 1})
в каждый из регистров загружается блок ир после чего в каждом регистре производятся сдвиги: в регистре с номером
/ циклический сдвиг влево составляет s(i,j), если s{i,j) >0; при s(i,j) =-1 регистр обнуляется.
Значение каждого регистра аккумулируется в промежуточном буфере а,-(/ = 0,..., ть- 1) длины z, инициали
зируемом нулевым значением перед обработкой нового информационного слова /. После выполнения кь операций
«сдвиг-суммирование» происходит формирование векторов промежуточного результата
с0,
cv
...,
cmb_^: вектор
с(-
содержит сумму буферов с номерами от /до ть - 1:
2 р-
1
ичем для подсчета используется следующая формула:
Вектор v0получается циклическим сдвигом на 1 позицию вправо вектора
с0.
На втором этапе выполняется вычисление векторов проверочных битов v0, vьVmb-
1
>определяемых вы-
ражением
кь
-1
ть
-1
ть-1
У=0 /=/
s (i,jfi+
i=l
1
s(i,kb)v 0’
I = 1,...,mh—1,
ть-1
v/ = c/+
X р5(/,/сь)^о. / = 1.....т ь-1-
/=/
На каждом шаге / (/
е
{0
......
ть - 1}) выполняется вычисление вектора проверочных битов v, сложением
вектора с, и частичной суммы циклических сдвигов вектора v0 согласно значениям столбца 0 с номерами от /’до
ть- 1 матрицы Нь2, определенной в приложении Г.
55