Блок выполняет декодирование LDPC кода в соответствии с одним из алгоритмов: MSA, MSA A-Min, Bit-Flip, LLR BP, APP.
Доступен автоматический подбор проверочной матрицы LDPC кода по размеру кадра и скорости
кодирования. Также доступно ручное задание матрицы LDPC кода в виде файла. Для представления
LDPC матрицы в виде текстового файла используется формат AList [1]. Файлы матриц LDPC кода находятся в
директории установки программы …\SimInTech\bin\DataBase\digcomm.
Подробное описание алгоритмов декодирования приведено в [2].
Входные порты
- dcsn – кодовое слово LDPC.
Выходные порты
- iter num – число выполненных итераций декодирования для
текущего кодового слова (опционально добавляется при помощи свойства «Вывод
расширенной статистики по итерациям»);
- bits – декодированное информационное сообщение в виде двоичного
вектора длинной kldpc.
- iter bits – декодированное информационное сообщение после
каждой итерации декодирования в виде вектора размером (MaxIterNumber + 1) x
nldpc, где каждые [i x nldpc, i x nldpc +
nldpc - 1] элементов соответств уют кодовому слову после i-й
итерации декодирования. Порт опционально добавляется при помощи свойства
«Вывод расширенной статистики по итерациям»;
- synd – синдром декодирования, указывающий на успешность
декодирования текущего кодового слова (опционально добавляется при помощи свойства
«Выводить синдром декодирования»);
Свойства
- Методы декодирования
- Алгоритм – алгоритм декодирования;
- Коэффициент аттенюации – коэффициент аттенюации
передаваемых сообщений между узлами для алгоритма MSA (свойство
доступно, если выбран алгоритм «MSA»);
- Весовой коэффициент – весовой коэффициент для алгоритма
Bit-Flip
(свойство доступно, если выбран алгоритм «GDBF»);
- Half-Sum – флаг включения модификации Half-Sum (свойство
доступно, если выбран один из алгоритмов «LLR Jac BP»,
«MSA», «MSA A-Min»);
- Self-Correction – флаг включения модификации
Self-Correction (свойство доступно, если выбран один из алгоритмов
«UMP-APP», «LLR Jac BP»,
«MSA», «MSA A-Min»);
- MA-Min – флаг включения модифицированного режима работы для
алгоритма MSA
A-Min (свойство доступно, если выбран алгоритм «MSA
A-Min»);
- MaxIterNumber – максимальное число итераций декодирования,
по достижении которого алгоритм будет остановлен вне зависимости от результата
декодирования.
- Свойства декодера
- Задать матрицу LDPC кода вручную – указывает необходимость задания
проверочной матрицы LDPC кода вручную в виде файла в формате AList;
- Тип кадра – размер кадра для автоматического подбора проверочной матрицы
(свойство доступно только при отключенном пункте «Задать матрицу LDPC
кода вручную»);
- Скорость кодирования – скорость кодирования для автоматического подбора
проверочной матрицы (свойство доступно только при отключенном пункте
«Задать матрицу LDPC кода вручную»);
- Файл с проверочной матрицей LDPC кода – путь к файлу с
проверочной матрицей, записанной в формате AList (свойство доступно только при
активированном пункте «Задать матрицу LDPC кода
вручную»);
- Матрица с линейно-зависимыми строками – флаг включения
работы декодера с матрицами, имеющими линейно-независимые строки (свойство доступно
только при активированном пункте «Задать матрицу LDPC кода
вручную»);
- Размер кодового слова – размер принимаемого кодового слова
в битах (свойство доступно только при активированном пункте «Задать
матрицу LDPC кода вручную»);
- Размер проверочной части кодового слова – размер
проверочной части принимаемого кодового слова в битах (свойство доступно только при
активированном пунтке «Задать матрицу LDPC кода
вручную»);
- Размер информационной части кодового слова – размер
информационной части принимаемого кодового слова в битах (свойство доступно только
при активированных пунктах «Задать матрицу LDPC кода вручную»
и «Матрица с линейно-зависимыми строками»).
- Информационная чать кодового слова в конце – флаг вывода
информационной части в конце кодового слова;
- Выводить синдром декодирования – флаг включения вывода синдрома
декодирования;
- Вывод расширенной статистики по итерациям – флаг включения
вывода дополнительной статистики декодирования по итерациям.
Примеры
Примеры использования блока: