ldpcEncode

Закодируйте бинарный код LDPC

Описание

пример

y = ldpcEncode(informationbits,encodercfg) кодирует входной сигнал, informationbits, с помощью матрицы LDPC, заданной объектом настройки энкодера LDPC, encodercfg. Кодовая комбинация выхода LPDC содержит информационные биты, сопровождаемые битами проверки четности. Коды LDPC являются кодами системы управления линейной погрешности с разреженными матрицами проверки четности и длинами длинного блока, которые могут достигнуть эффективности около предела Шеннона.

y = ldpcEncode(informationbits,encodercfg,OutputFormat=fmt) задает выходной формат кодовой комбинации.

Примеры

свернуть все

Инициализируйте параметры для прототипной матрицы и размера блока, чтобы сконфигурировать уровень 3/4 LDPC код, заданный в IEEE 802.11. Создайте матрицу проверки четности при помощи ldpcQuasiCyclicMatrix функция.

P = [16 17 22 24  9  3 14 -1  4  2  7 -1 26 -1  2 -1 21 -1  1  0 -1 -1 -1 -1
     25 12 12  3  3 26  6 21 -1 15 22 -1 15 -1  4 -1 -1 16 -1  0  0 -1 -1 -1
     25 18 26 16 22 23  9 -1  0 -1  4 -1  4 -1  8 23 11 -1 -1 -1  0  0 -1 -1
      9  7  0  1 17 -1 -1  7  3 -1  3 23 -1 16 -1 -1 21 -1  0 -1 -1  0  0 -1
     24  5 26  7  1 -1 -1 15 24 15 -1  8 -1 13 -1 13 -1 11 -1 -1 -1 -1  0  0
      2  2 19 14 24  1 15 19 -1 21 -1  2 -1 24 -1  3 -1  2  1 -1 -1 -1 -1  0
    ];
blockSize = 27;
pcmatrix = ldpcQuasiCyclicMatrix(blockSize,P);

Создайте объект настройки энкодера LDPC, отобразив его свойства. Сгенерируйте случайные информационные биты при помощи NumInformationBits свойство настройки возражает, чтобы задать количество информационных битов в кодовой комбинации LPDC. Закодируйте информационные биты кодом LDPC, заданным объектом настройки энкодера LDPC.

cfgLDPCEnc = ldpcEncoderConfig(pcmatrix)
cfgLDPCEnc = 
  ldpcEncoderConfig with properties:

     ParityCheckMatrix: [162x648 logical]

   Read-only properties:
           BlockLength: 648
    NumInformationBits: 486
    NumParityCheckBits: 162
              CodeRate: 0.7500

infoBits = rand(cfgLDPCEnc.NumInformationBits,1) < 0.5;
codeword = ldpcEncode(infoBits, cfgLDPCEnc);

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

свернуть все

Информационные биты в виде матрицы. Количество строк в informationbits должен равняться значению NumInformationBits свойство входа encodercfg.

Типы данных: single | double | int8 | logical

Настройка энкодера LDPC в виде ldpcEncoderConfig объект.

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

  • 'whole' — Выведите целую кодовую комбинацию LDPC, включая информационные биты и биты проверки четности. Количество строк, что функциональные выходные параметры равняются значению theBlockLength свойство для входа encodercfg.

  • 'parity' — Выведите только биты проверки четности. Количество строк, что функциональные выходные параметры равняются значению NumParityCheckBits свойство для входа encodercfg.

Выходные аргументы

свернуть все

Закодированная кодовая комбинация, возвращенная как матрица. Для операции кодирования функция кодирует каждый столбец входа informationbits независимо. Функция обрабатывает ненулевые значения в informationbits как единицы. Кодирование вычисляет систематическую матрицу кодовой комбинации, заполненную с исходными информационными битами в [1:K:] субматрица и биты проверки четности в ((1:K + 1): закончите, :) субматрица. K равняется NumInformationBits свойство входа encodercfg.

  • Когда выходным форматом является 'whole', выход содержит целую кодовую комбинацию LDPC, включая информационные биты и биты проверки четности. Количество строк, выведенных функцией, равняется значению BlockLength свойство для входа encodercfg.

  • Когда выходным форматом является 'parity', выход содержит только биты проверки четности. Количество строк, что функциональные выходные параметры равняются NumParityCheckBits свойство для входа encodercfg.

Для получения информации об установке выходного формата смотрите OutputFormat аргумент. Выход имеет совпадающий тип данных как вход informationbits.

Ссылки

[1] Станд. IEEE 802.11™-2016 (Версия Станд. IEEE 802.11-2012). "Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования". Стандарт IEEE для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.

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

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

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

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

Функции

Объекты

Введенный в R2021b