wlanHESIGBUserBitRecover

Восстановите пользовательские полевые биты в поле HE-SIG-B

Описание

пример

[bits,failCRC,cfgUpdated] = wlanHESIGBUserBitRecover(sym,noiseVarEst,cfg) восстанавливает bits, пользовательские полевые биты HE-SIG-B, содержавшиеся в многопользовательской высокой эффективности IEEE® 802.11ax™ (HE МУ) передача.

Функция восстанавливает bits от sym, демодулируемые и компенсируемые пользовательские полевые символы HE-SIG-B. cfg введите параметрирует передачу, которая подвергается шуму канала с предполагаемым отклонением noiseVarEst.

Функция также возвращает failCRC, результат контроля циклическим избыточным кодом (CRC) на bits, и cfgUpdated, обновленные параметры передачи восстанавливаются с декодируемого поля HE-SIG-B.

Для получения дополнительной информации о 802.11ax восстановление сигнала, см. Процедуру Восстановления для 802.11ax Пакетный пример.

[bits,failCRC,cfgUpdated] = wlanHESIGBUserBitRecover(sym,noiseVarEst,csi,cfg) также улучшает demapping поднесущих ортогонального мультиплексирования деления частоты (OFDM) при помощи информации о состоянии канала csi.

Примеры

свернуть все

Восстановите информационные биты в пользовательском поле HE-SIG-B формы волны ВЛАНЬ ХЭ МУ.

Сгенерируйте HE форма волны МУ для заданных информационных битов и объекта настройки HE-MU-format.

cfgHE = wlanHEMUConfig(192);
bits = [1;0;1;1];
waveform = wlanWaveformGenerator(bits,cfgHE);

Извлеките L-SIG и фрагменты "SIG HE" формы волны.

ind = wlanFieldIndices(cfgHE);
rxLSIG = waveform(ind.LSIG(1):ind.LSIG(2),:);
rxSIGA = waveform(ind.HESIGA(1):ind.HESIGA(2),:);

Создайте объект настройки восстановления HE для пакета HE-MU-format, задав пропускную способность канала и формат пакета.

cbw = cfgHE.ChannelBandwidth;
cfgRecovery = wlanHERecoveryConfig('ChannelBandwidth',cbw,'PacketFormat','HE-MU');

Выполните демодуляцию OFDM, чтобы извлечь поля L-SIG и HE-SIG-A, не приняв шума канала.

noiseVarEst = 0;
info = wlanHEOFDMInfo('L-SIG',cbw);
lsigDemod = wlanHEDemodulate(rxLSIG,'L-SIG',cbw);
sigaDemod = wlanHEDemodulate(rxSIGA,'HE-SIG-A',cbw);
[~,~,lsigInfo] = wlanLSIGBitRecover(lsigDemod(info.DataIndices,:),noiseVarEst);
cfgRecovery.LSIGLength = lsigInfo.Length;
siga = wlanHESIGABitRecover(sigaDemod(info.DataIndices,:),noiseVarEst);

Обновите объект настройки восстановления HE с информационным SIG HE "битов".

cfg = interpretHESIGABits(cfgRecovery,siga);

Извлеките поле HE-SIG-B.

rxSIGB = waveform(ind.HESIGB(1):ind.HESIGB(2),:);

Демодулируйте и декодируйте пользовательское поле HE-SIG-B, отображая результат.

sigbDemod = wlanHEDemodulate(rxSIGB,'HE-SIG-B',cbw);
sigb = sigbDemod(info.DataIndices,:,:);
[bits,failCRC,cfgUpdated] = wlanHESIGBUserBitRecover(sigb,noiseVarEst,cfg);
disp(bits')
  Columns 1 through 19

   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0   0

  Columns 20 through 21

   0   1
disp(failCRC)
   0

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

свернуть все

Демодулируемые и компенсируемые символы HE-SIG-B в виде комплексного вектора. Длина вектора равна количеству активных поднесущих, которое зависит от пропускной способности канала передачи.

  • Если пропускная способность канала составляет 20 МГц, задайте этот аргумент как 52 1 вектор.

  • Если пропускная способность канала составляет 40 МГц, 80 МГц или 160 МГц, задают этот аргумент как 104 1 вектор. Этот вектор должен содержать объединенные повторения подканала на 20 МГц.

Типы данных: double
Поддержка комплексного числа: Да

Отклонение шума канала оценивает в виде неотрицательного скаляра.

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

HE параметры передачи МУ в виде wlanHERecoveryConfig объект.

Информация о состоянии канала в виде N SD-1 вектор с действительным знаком, где SD N является количеством поднесущих данных в поле HE-SIG-B.

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

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

свернуть все

Восстановленные пользовательские полевые биты HE-SIG-B, возвращенные как 21 Nusers бинарной матрицей, где пользователи N количество пользователей в передаче. Каждый столбец этого аргумента содержит восстановленные пользовательские полевые биты для соответствующего пользователя.

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

Результат CRC для каждого пользователя, возвращенного как 1 Nusers логическим вектором, где пользователи N количество пользователей в передаче. Каждый элемент этого аргумента представляет результат CRC для соответствующего пользователя. Значение 1 указывает, что пользовательские биты привели CRC к сбою. Значение 0 указывает, что пользовательские биты передали CRC.

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

Обновленный HE параметры передачи МУ, восстановленные с декодируемого поля HE-SIG-B, возвращенного как 1 Nusers массивом ячеек wlanHERecoveryConfig объекты. Nпользователи являются количеством пользователей в передаче.

Примечание

wlanHESIGBUserBitRecover функция не возвращает обновленные параметры передачи для пользователей чей FailCRC результатом является 1.

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

Ограничения

wlanHESIGBUserBitRecover функция возвращает выходные аргументы bits, failCRC, и cfgUpdated только для пользователей в допустимом довольном HE-SIG-B канал. Если функция не может декодировать довольное HE-SIG-B канал, то это не возвращает выходных аргументов в пользу пользователей в том довольном канал. Для получения дополнительной информации о выделении пользователей через каналы содержимого HE-SIG-B в HE передачи МУ смотрите Многопользовательскую Передачу HE.

Ссылки

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

[2] IEEE P802.11ax/D4.1. “Часть 11: Беспроводное Среднее управление доступом (MAC) LAN и Физический уровень (PHY) Технические требования. Поправка 1: Улучшения для Высокой эффективности WLAN”. Спроектируйте Стандарт для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.

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

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

Введенный в R2019b