comm.gpu. LDPCDecoder

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

Описание

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

Примечание

Чтобы использовать этот объект, необходимо установить лицензию Parallel Computing Toolbox™ и иметь доступ к соответствующему графическому процессору. Для больше о графических процессорах, смотрите, что графический процессор Вычисляет (Parallel Computing Toolbox).

Основанная на графическом процессоре Система object™ принимает типичные массивы MATLAB® или возражает, что вы создаете использование gpuArray класса как вход. Основанные на графическом процессоре Системные объекты поддерживают входные сигналы с двойным - или типы данных с одинарной точностью. Выходной сигнал наследовал свой тип данных от входного сигнала.

  • Если входной сигнал является массивом MATLAB, то выходной сигнал является также массивом MATLAB. В этом случае Системный объект обрабатывает передачу данных между центральным процессором и графическим процессором.

  • Если входной сигнал является gpuArray, то выходной сигнал является также gpuArray. В этом случае данные остаются на графическом процессоре. Поэтому, когда объекту дают gpuArray, вычисления происходят полностью на графическом процессоре, и никакая передача данных не происходит. Передача gpuArray аргументы обеспечивает увеличенную производительность путем сокращения времени симуляции. Для получения дополнительной информации смотрите, Устанавливают Массивы на графическом процессоре (Parallel Computing Toolbox).

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

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

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

Примечание

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

Конструкция

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

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

h = comm.gpu.LDPCDecoder(PARITY) создает основанный на графическом процессоре объект декодера LDPC, h, с набором свойств ParityCheckMatrix к PARITY.

Свойства

ParityCheckMatrix

Матрица проверки четности

Задайте матрицу проверки четности, когда двоичный файл оценил разреженную матрицу с размерностью (N-by-K) N, где N> K> 0. Последние столбцы N−K в матрице проверки четности должны быть обратимой матрицей в GF (2). Это свойство принимает типы числовых данных или логические типы данных. Верхняя граница для значения N (231)-1. Значением по умолчанию является матрица проверки четности полууровня код LDPC из стандарта DVB-S.2, который является результатом dvbs2ldpc (1/2).

OutputValue

Выберите формат выходного значения

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

DecisionMethod

Метод решения

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

MaximumIterationCount

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

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

IterationTerminationCondition

Условие для завершения итерации

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

NumIterationsOutputPort

Выведите количество выполняемых итераций

Установите это свойство на истину выводить фактическое количество итераций выполняемый объект. Значение по умолчанию является ложным.

FinalParityChecksOutputPort

Выведите итоговые проверки четности

Установите это свойство на истину выводить итоговые проверки четности вычисленный объект. Значение по умолчанию является ложным.

Методы

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

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

Алгоритм

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

Примеры

Передайте 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.gpu.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))

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

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

|

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