Стандарт AList

Матрица в формате Alist строится следующим образом:

Рассмотрим пример. Перед нами представлена следующая матрица размером M x N, где M – число строк, N – число столбцов. В данном случае N = 16, а M = 12, что указано в первой строке:

1 16 12
2 3 4
3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
4 4 4 4 4 4 4 4 4 4 4 4 4
5 6 9 12
6 3 8 11
7 1 5 10
8 2 4 7
9 3 10 12
10 4 6 8
11 2 3 9
12 1 7 12
13 2 5 6
14 1 3 6
15 4 11 12
16 7 8 10
17 1 2 11
18 4 9 10
19 5 7 11
20 5 8 9
21 3 8 10 13
22 4 7 9 13
23 2 5 7 10
24 4 6 11 14
25 3 9 15 16
26 1 6 9 10
27 4 8 12 15
28 2 6 12 16
29 1 7 14 16
30 3 5 12 14
31 2 11 13 15
32 1 5 8 11

Во второй строке описаны максимальные веса информационных и проверочных узлов - 3 и 4 соответственно.

В третьей строке указаны значения весов по кодовым битам - 16 весов. В четвертой строке указаны значения весов для проверочных бит - 12 весов.

Пятая строка говорит о том, что для первого кодового бита (1-го столбца в матрице) единицы расположены в 6, 9 и 12 строках. Количество весов в строке равно максимальному весу информационных узлов, а именно трём. С пятой по 20 строку описываются веса каждого столбца в количестве 16.

С 21 строки указываются те же самые индексы единиц, только для транспонированной матрицы, когда строки становятся столбцами, а столбцы строками. Количество весов в строке равно максимальному весу проверочных узлов (4). С 21 по 32 строку описываются веса каждой строки в количестве 16.

Имя проверочной матрицы LDPC в формате Alist содержит ключевое слово Code, наименование стандарта (dvb), длину всего кодового слова N (64800, 32400, 16200) и кодовую скорость в скобках (например, (2_3)). Типовое имя такой матрицы выглядит следующим образом: Code_dvb_64800(9_10).alist.