коммуникация. LDPCDecoder

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

Описание

Объект LDPCDecoder декодирует бинарный имеющий малую плотность код с проверкой четности.

Этот объект выполняет декодирование LDPC, на мягком решении вывод (логарифмическое отношение правдоподобия полученных битов) от демодуляции, с помощью алгоритма передающей веру или передачи сообщений, реализованного как доменный журналом алгоритм продукта суммы. Для получения дополнительной информации см. Алгоритмы. Декодировать бинарный имеющий малую плотность код с проверкой четности:

  1. Задайте и настройте свой бинарный имеющий малую плотность объект декодера проверки четности. Смотрите Конструкцию.

  2. Вызовите step, чтобы декодировать бинарный имеющий малую плотность код с проверкой четности согласно свойствам comm.LDPCDecoder. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Конструкция

h = comm.LDPCDecoder создает бинарный Системный объект декодера имеющей малую плотность проверки четности (LDPC), h. Этот объект выполняет LDPC, декодирующий на основе заданной матрицы проверки четности, где объект не принимает шаблонов в матрице проверки четности.

h = comm.LDPCDecoder('PropertyName','ValueName') создает объект энкодера LDPC, h, с каждым заданным набором свойств к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как ('PropertyName1', 'PropertyValue1'..., 'PropertyNameN', 'PropertyValueN').

h = comm.LDPCDecoder(P) создает объект декодера LDPC, h, где вход P задает матрицу проверки четности.

Свойства

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

Задайте матрицу проверки четности, когда двоичный файл оценил разреженную матрицу P с размерностью (NK)-by-N, где N> K> 0. Последние столбцы N−K в матрице проверки четности должны быть обратимой матрицей в GF (2). Также можно задать 2D столбец, неразреженная целочисленная индексная матрица I, которая задает индексы строки и столбца 1 с в матрице проверки четности, такой что P = sparse(I(:,1), I(:,2), 1).

Это свойство принимает типы числовых данных. Когда вы устанавливаете это свойство на разреженную матрицу, оно также принимает логический тип данных. Верхняя граница для значения N 231-1.

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

Чтобы сгенерировать код, установите это свойство на неразреженную индексную матрицу. Например, можно получить индексную матрицу для стандарта DVB-S.2 от dvbs2ldpc(R,'indices') со вторым входным параметром, явным образом заданным к indices, где R представляет уровень кода.

Задайте формат выходного значения как 'Information part' или 'Whole codeword'. Когда вы устанавливаете это свойство на 'Information part', вывод содержит только биты сообщения и является вектор-столбцом элемента K, принимая (NK)-by-K матрица проверки четности. Когда вы устанавливаете это свойство на 'Whole codeword', вывод содержит биты кодовой комбинации и является вектор-столбцом элемента N.

Задайте метод решения, используемый для декодирования или в качестве 'Hard decision' или в качестве 'Soft decision'. Когда вы устанавливаете это свойство на 'Hard decision', вывод является декодируемыми битами типа данных double или logical. Когда вы устанавливаете это свойство на 'Soft decision', вывод является логарифмическими отношениями правдоподобия типа данных double.

Задайте максимальное количество итераций объектное использование в качестве положительного целого числа.

Задайте условие остановить итерации декодирования или как 'Maximum iteration count' или как 'Parity check satisfied'. Когда вы установите это свойство на 'Maximum iteration count', объект выполнит итерации для количества итераций, которые вы задаете в свойстве MaximumIterationCount. Когда вы установите это свойство на 'Parity check satisfied', объект определит, удовлетворены ли проверки четности после каждой итерации и остановок, если все проверки четности удовлетворены.

Чтобы вывести количество выполняемых итераций, установите это свойство на true.

Выводить финал вычислило проверки четности, установите это свойство на true.

Методы

шагДекодируйте вход с помощью LDPC декодирование схемы
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

Передайте LDPC-закодированный, модулируемый QPSK поток битов через канал AWGN, затем демодулируйте, декодируйте, и ошибки количества.

    hEnc = comm.LDPCEncoder;
    hMod = comm.PSKModulator(4, 'BitInput',true);
    hChan = comm.AWGNChannel(...
            'NoiseMethod','Signal to noise ratio (SNR)','SNR',1);
    hDemod = comm.PSKDemodulator(4, 'BitOutput',true,...
            'DecisionMethod','Approximate log-likelihood ratio', ...
            'Variance', 1/10^(hChan.SNR/10));
    hDec = comm.LDPCDecoder;
    hError = comm.ErrorRate;
    for counter = 1:10
      data           = logical(randi([0 1], 32400, 1));
      encodedData    = step(hEnc, data);
      modSignal      = step(hMod, encodedData);
      receivedSignal = step(hChan, modSignal);
      demodSignal    = step(hDemod, receivedSignal);
      receivedBits   = step(hDec, demodSignal);
      errorStats     = step(hError, data, receivedBits);
    end
    fprintf('Error rate       = %1.2f\nNumber of errors = %d\n', ...
      errorStats(1), errorStats(2))

Алгоритмы

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

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

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

Представленный в R2012a