Алгоритмы работы блоков помехоустойчивого кодирования / Вспомогательные операции |
Матрица в формате 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.