СПОСОБ И УСТРОЙСТВО ДЛЯ ДЕКОДИРОВАНИЯ КОДА С ГЕНЕРАТОРНОЙ МАТРИЦЕЙ НИЗКОЙ ПЛОТНОСТИ

1. Способ декодирования кодов с генераторной матрицей низкой плотности (LDGC), который используется для декодирования принятой битовой информационной последовательности, переданной после кодирования кодом LDGC, включающий:
e
ldgct
e
S1: добавление L-K известных битов заполнения в принятую последовательность R кодовых слов, удаление из R стертых в канале символов кодовых слов, чтобы получить R; и удаление строк, соответствующих стертым в канале символам кодовых слов, из матрицы G, полученной транспонированием генераторной матрицы LDGC, чтобы получить матрицу G;
e
e
a
S2: выполнение перестановки столбцов матрицы G, чтобы сформировать матрицу , где А - нижняя треугольная квадратная матрица порядка М, и запись информации о перестановке столбцов, соответствующей соотношению между G и G;
a
b
e
e
'
S3: выполнение гауссова исключения на матрице G, чтобы сформировать матрицу G, в которой первые L строк образуют единичную матрицу; и одновременно выполнение операций перестановки и суммирования на соответствующих элементах R в соответствии с операциями перестановки строк и суммирования строк в гауссовом исключении, чтобы сформировать R ;
t
S4: получение  согласно соотношению  и выполнение обратной перестановки на матрице  в соответствии с соответствующим соотношением перестановки столбцов, чтобы получить I; и
t
ldgct
t
t
t
S5: получение s согласно соотношению G(0:L-1, 0:L-1)×I=s и удаление L-K известных битов заполнения из s, чтобы получить К битов информационной последовательности;
ldgct
где G является матрицей из N+L-К строк и L столбцов.
L
L
2. Способ по п.1, где M=L-X, a X является числом стертых в канале битов в первых L символах кодовых слов последовательности R.
L
L
3. Способ по п.2, в котором, полагая, что Xset является набором индексов стертых символов кодовых слов в первых L символах кодовых слов последовательности R с упомянутыми d известными битами заполнения, а число индексов набора является упомянутым X,
e
L
e
L
a
на шаге S2 столбцы в указанной матрице G, индексы которых принадлежат Xset, перемещают в наиболее правую сторону G, и последовательными столбцами, индексы которых не принадлежат Xset, заполняют освобожденные позиции соответствующих столбцов, чтобы получить упомянутую матрицу G.
a
4. Способ по п.2, в котором на шаге S3 выполнение гауссова исключения на матрице G включает следующие подшаги:
a
M
T
L
S31: выполнение гауссова исключения на А и D в матрице G, чтобы преобразовать А в единичную матрицу E порядка М и одновременно преобразовать D в матрицу, все элементы которой являются нулями, имеющую (N-К-(X-X)) строк и М столбцов, то есть
;
-1
-1
a
S32: выполнение гауссова исключения на B-DAC в G', чтобы сделать единичной матрицей квадратную матрицу, соответствующую первым L-M строкам, и выполнение исключения, чтобы сделать АС матрицей, все элементы которой являются нулями, имеющей М строк и L-M столбцов, то есть
.
5. Способ по п.4, в котором,
на шаге S31 применяют следующий способ определения, является ли элемент Н[x,y] в строке x и столбце y в А и D ненулевым элементом или нет, и гауссово исключение выполняют на А и D в соответствии с позициями ненулевых элементов:
ldgct
S311: позиции строки и столбца x' и y' указанного элемента Н[x,y] в G получают в соответствии с набором Xset индексов удаленных символов кодовых слов в последовательности R, которая заполнена d известными битами;
S312: если , то Н[x,y] является нулевым элементом, и эта последовательность операций заканчивается, а иначе выполняют следующий шаг;
z
z
S313: если ix=mod(iy+offset,z), то H[x,y] является ненулевым элементом, а иначе Н[x,y] является нулевым элементом;
max
где z является коэффициентом расширения, z является максимальным коэффициентом расширения;
z
z
x=floor(x'/z), y=floor(y'/z);
z
z
ix=mod(x',z), iy=mod(y',z); и
.
6. Устройство для декодирования кодов с генераторной матрицей низкой плотности (LDGC), которое используется для декодирования принятой битовой информационной последовательности, переданной после кодирования кодом LDGC, и включает: блок заполнения и обработки стирания, блок перестановки столбцов, блок гауссова исключения и блок генератора информационной последовательности, при этом
e
ldgct
e
блок заполнения и обработки стирания используется для добавления d известных битов заполнения в принятую последовательность R кодовых слов и удаления стертых каналом символов кодовых слов для формирования и вывода R; а также для удаления строк, соответствующих стертым каналом символам кодовых слов, из матрицы G, полученной транспонированием генераторной матрицы LDGC, для формирования и вывода матрицы G;
e
a
e
a
блок перестановки столбцов используется для выполнения перестановки столбцов в матрице G, выведенной из блока заполнения и  обработки стирания, с получением , и для вывода матрицы G, где А - нижняя треугольная матрица порядка М, а также для вывода информации о перестановке столбцов, соответствующей информации о соотношении G и G;
a
b
e
e
'
блок гауссова исключения используется для выполнения гауссова исключения на матрице G, выведенной из блока перестановки столбцов, для формирования и вывода матрицы C, первые L строк которой образуют единичную матрицу; и одновременно для выполнения операций перестановки и суммирования на соответствующих элементах R, выводимой из блока заполнения и обработки стирания, в соответствии с операциями перестановки строк и суммирования строк в процессе гауссова исключения, для формирования и вывода R ;
t
t
ldgct
t
t
t
блок генератора информационной последовательности используется для формирования , в соответствии с выражением ; для выполнения обратной перестановки в  для формирования I в соответствии с соответствующим соотношением перестановки столбцов, выведенным из блока перестановки столбцов; для формирования s в соответствии с выражением G(0:L-1, 0:L-1)×I=s, и для вывода К битов информационной последовательности после удаления d известных битов из s;
ldgct
где G является матрицей из N+L-К строк и L столбцов.
7. Устройство по п.6, в котором
L
L
указанная матрица А, сформированная перестановкой столбцов, выполняемой указанным блоком перестановки столбцов, является треугольной квадратной матрицей порядка М, где M=L-X, a X является числом стертых в канале битов в первых L символах кодовых слов последовательности R.
8. Устройство по п.7, в котором,
L
L
полагая, что Xset является набором индексов стертых символов кодовых слов в первых L символах кодовых слов последовательности R, включающей d упомянутых известных битов заполнения, а число индексов набора является упомянутым X,
e
L
e
L
a
указанный блок перестановки столбцов перемещает в матрице G столбцы, индексы которых принадлежат Xset, в наиболее правую сторону G, и по очереди заполняет последовательными столбцами, индексы которых не принадлежат Xset, освобожденные позиции соответствующих столбцов, чтобы получить упомянутую матрицу G.
9. Устройство по п.7, в котором
указанный блок гауссова исключения использует следующие подшаги, чтобы выполнить гауссово исключение:
a
M
T
L
S31: выполнение гауссова исключения на А и D в матрице G, чтобы преобразовать А в единичную матрицу E порядка М, и одновременно преобразовать D в матрицу, все элементы которой являются нулями, имеющую (N-К-(X-X) строк и М столбцов, то есть
;
1
1
a
S32: выполнение гауссова исключения на B-DA-C в G', чтобы сделать единичной матрицей первые L-M строк, и выполнение исключения, чтобы сделать А-С матрицей, все элементы которой являются нулями, имеющей М строк и L-M столбцов, то есть
10. Устройство по п.9, в котором
упомянутый блок гауссова исключения использует следующий способ определения, является ли элемент Н[x,y] в строке x и столбце y в А и D ненулевым элементом или нет, и выполняет гауссово исключение на А и D в соответствии с позициями ненулевых элементов:
ldgct
S311: позиции строки и столбца x' и y' указанного элемента Н[x,y] в G получают в соответствии с набором Xset индексов удаленных символов кодовых слов в последовательности R с d известными битами заполнения;
S312: если , то Н[x,y] является нулевым элементом, и эта последовательность операций заканчивается, а иначе выполняется следующий шаг;
z
z
S313: если ix=mod(iy+offset,z), то H[x,y] является ненулевым элементом, а иначе Н[x,y] является нулевым элементом;
max
где z является коэффициентом расширения, z является максимальным коэффициентом расширения;
z
z
x=floor(x'/z), y=floor(y'/z);
z
z
ix=mod(x',z), iy=mod(y',z); и
.