ldpcEncoderConfig

Создайте настройку энкодера LDPC

Описание

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

Создание

Описание

encodercfg = ldpcEncoderConfig создает объект настройки энкодера LDPC, который задает уровень 5/6 LDPC код от WLAN 802.11™ стандарт [1].

пример

encodercfg = ldpcEncoderConfig(H) конфигурирует выходной параметр объекта ParityCheckMatrix свойство к H.

encodercfg = ldpcEncoderConfig(decodercfg) свойства наборов на основе входа ldpcDecoderConfig объект настройки, decodercfg.

Валидация параметров объекта выполняется когда ldpcEncode функция вызвана с объектом как вход.

Свойства

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

Матрица проверки четности в виде разреженного логического (NK)-by-N матрица, где N> K> 0. Последний N – строки K матрицы проверки четности должны быть обратимыми в Поле Галуа порядка 2. N является длиной блока кодовой комбинации LDPC. K является количеством информационных битов в кодовой комбинации LDPC. Значением по умолчанию является матрица проверки четности уровня 5/6 LDPC код с длиной блока 648, как задано в стандарте WLAN 802.11 [1]. А именно, значением по умолчанию является разреженное логическое 108 648 матричный H выведите ldpcQuasiCyclicMatrix функция в этом коде.

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

Типы данных: логический

Это свойство доступно только для чтения.

Длина блока кодовой комбинации LDPC (N) в виде положительной скалярной величины. N равняется количеству столбцов в матрице проверки четности.

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

Это свойство доступно только для чтения.

Количество информационных битов в кодовой комбинации LDPC (K) в виде положительной скалярной величины. K равняется количеству столбцов матрицы проверки четности минус количество строк матрицы проверки четности.

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

Это свойство доступно только для чтения.

Количество битов проверки четности в кодовой комбинации LDPC (NK) в виде положительной скалярной величины. NK равняется количеству строк в матрице проверки четности.

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

Это свойство доступно только для чтения.

Скорость кода кода LDPC в виде положительной скалярной величины, которая равна NumInformationBits/BlockLength.

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

Примеры

свернуть все

Инициализируйте параметры для прототипной матрицы и размера блока, чтобы сконфигурировать уровень 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);

Ссылки

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

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

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

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

Функции

Объекты

Введенный в R2021b