LDPC Decoder

Декодируйте бинарный код имеющей малую плотность проверки четности (LDPC)

  • Библиотека:
  • Communications Toolbox / Выявление ошибок и Коррекция / Блок

  • LDPC Decoder block

Описание

Блок LDPC Decoder использует алгоритм распространения веры, чтобы декодировать бинарный код LDPC, который вводится с блоком как мягкое решение выход (отношение логарифмической правдоподобности полученных битов) от демодуляции. Блок декодирует типовые бинарные коды LDPC, где никакие шаблоны в матрице проверки четности не приняты. Для получения дополнительной информации смотрите, что Распространение Веры Декодирует.

Ввод и вывод является сигналами дискретного времени. Отношение выходного шага расчета к входному шагу расчета:

  • N/K, когда только информационная часть кодовой комбинации декодируется

  • 1, когда целая кодовая комбинация декодируется

N является длиной полученного сигнала и должен быть в области значений (0, 231). K является длиной незакодированного сообщения и должен быть меньше N.

Этот значок показывает все порты, включая дополнительные порты, для блока LDPC Decoder.

Порты

Входной параметр

развернуть все

Отношения логарифмической правдоподобности в виде N-by-1 вектор-столбец, содержащий мягкое решение, выводятся от демодуляции. N является количеством битов в кодовой комбинации LDPC перед модуляцией. Каждым элементом является отношение логарифмической правдоподобности для полученного бита, и значением, более вероятно, будет 0 если отношение логарифмической правдоподобности положительно. Первые элементы K соответствуют информационной части входного сигнала.

Типы данных: double

Вывод

развернуть все

Декодируемые данные, возвращенные как вектор-столбец. Параметр Decision type задает ли блок выходные трудные решения или мягкие решения (отношения логарифмической правдоподобности).

  • Если параметр Output format устанавливается на Information part, выход включает только информационную часть полученной кодовой комбинации.

  • Если параметр Output format устанавливается на Whole codeword, выход включает целый вектор отношения логарифмической правдоподобности.

Типы данных: double | Boolean

Количество выполняемых итераций декодирования, возвращенных как положительное целое число.

Зависимости

Чтобы включить этот порт, выберите параметр Output number of iterations executed.

Типы данных: double

Итоговые проверки четности после декодирования кода входа LDPC, возвращенного как (N-K)-by-1 вектор-столбец. N является количеством битов в кодовой комбинации LDPC перед модуляцией. K является длиной незакодированного сообщения.

Зависимости

Чтобы включить этот порт, выберите параметр Output final parity checks.

Параметры

развернуть все

Матрица проверки четности в виде разреженного (NK)-by-N матрица с бинарным знаком. N является длиной полученного сигнала и должен быть в области значений (0, 231). K является длиной незакодированного сообщения и должен быть меньше N. Последней (NK) столбцы в матрице проверки четности должна быть обратимая матрица в Поле Галуа порядка 2, gf(2).

Можно также задать матрицу проверки четности как 2D столбец неразреженная матрица индекса, I, это задает индексы строки и столбца 1s в проверке четности матрицируют таким образом что sparse(I(:,1),I(:,2),1).

Этот параметр принимает типы числовых данных. Когда вы устанавливаете этот параметр на разреженную бинарную матрицу, этот параметр также принимает Boolean тип данных.

Значение по умолчанию использует dvbs2ldpc функция, чтобы сконфигурировать разреженную матрицу проверки четности для полууровня кодирование LDPC, как задано в стандарте DVB-S.2.

Пример: dvbs2ldpc(R,'indices') конфигурирует матрицу индекса для стандарта DVB-S.2, где R скорость кода и 'indices' задает выходной формат dvbs2ldpc как 2D столбец матрица с двойной точностью, которая задает индексы строки и столбца 1s в матрице проверки четности.

Типы данных: double | Boolean

Формат выходного значения в виде одного из этих значений:

  • Information part — Блок выводит K-by-1 вектор-столбец, содержащий только информационную часть полученного вектора отношения логарифмической правдоподобности. K является длиной незакодированного сообщения.

  • Whole codeword — Блок выводит N-by-1 вектор-столбец, содержащий целый вектор отношения логарифмической правдоподобности. N является длиной полученного сигнала.

    N и K должны выровняться с размерностью (NK)-by-K матрица проверки четности.

Метод решения использовал для декодирования в виде одного из этих значений:

  • Hard decision — Блок выходные параметры декодировал данные типа данных double или boolean. Задайте этот тип данных с помощью параметра Output data type.

  • Soft decision — Блок выходные отношения логарифмической правдоподобности типа данных double.

Тип данных выходного значения в виде double или boolean.

Зависимости

Чтобы включить этот параметр, установите параметр Decision type на Hard decision.

Максимальное количество декодирования итераций в виде положительного целого числа.

Выберите этот параметр, чтобы отключить декодирование после того, как всем проверкам четности удовлетворят. Если не всем проверкам четности удовлетворяют, декодирование завершает работу после количества итераций, заданных параметром Number of iterations.

Выберите этот параметр, чтобы включить выходной порт Iter.

Выберите этот параметр, чтобы включить выходной порт ParChk.

Примеры модели

Характеристики блока

Типы данных

Boolean | double

Многомерные сигналы

no

Сигналы переменного размера

no

Алгоритмы

развернуть все

Этот блок выполняет LDPC, декодирующий использование алгоритма распространения веры, также известного как алгоритм передачи сообщений.

Ссылки

[1] Gallager, Роберт Г. Имеющие малую плотность коды с проверкой четности. Кембридж, MA: нажатие MIT, 1963.

Расширенные возможности

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

Смотрите также

Блоки

Объекты

Функции