exponenta event banner

wlanHESIGABitRecover

Восстановление информационных битов в поле HE-SIG-A

Описание

пример

[bits,failCRC] = wlanHESIGABitRecover(siga,noiseVarEst) приходит в себя bits, информационные биты, содержащиеся в siga, поле HE-SIG-A высокоэффективной передачи IEEE ® 802.11™ с учетом шума канала с оценочной дисперсиейnoiseVarEst. Функция также возвращает failCRC, результат проверки циклическим избыточным кодом (CRC) на bits.

Дополнительные сведения о восстановлении сигнала 802.11ax™ см. в разделе Процедура восстановления для пакета 802.11ax.

пример

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

Примеры

свернуть все

Восстановите информационные биты в поле HE-SIG-A однопользовательского сигнала WLAN HE (HE-SU).

Создайте объект конфигурации формата WLAN HE-SU с настройками по умолчанию и используйте его для генерации формы сигнала HE-SU.

cfgHE = wlanHESUConfig;
cbw = cfgHE.ChannelBandwidth;
waveform = wlanWaveformGenerator(1,cfgHE);

Получите индексы полей WLAN, которые содержат поле HE-SIG-A.

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

Выполните демодуляцию мультиплексирования с ортогональным частотным разделением (OFDM) для извлечения поля HE-SIG-A.

sigaDemod = wlanHEDemodulate(rxSIGA,'HE-SIG-A',cbw);

Верните информацию OFDM до HE и извлеките демодулированные символы HE-SIG-A.

preHEInfo = wlanHEOFDMInfo('HE-SIG-A',cbw);
siga = sigaDemod(preHEInfo.DataIndices,:);

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

noiseVarEst = 0;
[bits,failCRC] = wlanHESIGABitRecover(siga,noiseVarEst);
disp(failCRC);
   0

Восстановите информационные биты в поле HE-SIG-A многопользовательского сигнала WLAN HE (HE-MU) с заданной информацией о состоянии канала.

Создайте объект конфигурации формата WLAN HE-MU с настройками по умолчанию и используйте его для генерации формы сигнала HE-MU.

cfgHE = wlanHEMUConfig(0);
cbw = cfgHE.ChannelBandwidth;
waveform = wlanWaveformGenerator(1,cfgHE);

Получите индексы полей WLAN, которые содержат модулированные символы HE-SIG-A.

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

Выполните демодуляцию OFDM для извлечения поля HE-SIG-A.

sigaDemod = wlanHEDemodulate(rxSIGA,'HE-SIG-A',cbw);

Верните информацию OFDM до HE и извлеките демодулированные символы HE-SIG-A.

preHEInfo = wlanHEOFDMInfo('HE-SIG-A',cbw);
siga = sigaDemod(preHEInfo.DataIndices,:);

Укажите информацию о состоянии канала и примите отсутствие шума канала.

csi = ones(52,1);
noiseVarEst = 0;

Восстановите информационные биты HE-SIG-A и другую информацию. Просмотрите результат CRC.

[bits,failCRC] = wlanHESIGABitRecover(siga,noiseVarEst,csi);
disp(failCRC);
   0

Обновление объекта конфигурации восстановления WLAN HE путем интерпретации восстановленных информационных битов HE-SIG-A и HE-SIG-B.

Генерация формы сигнала MU HE

Создайте объект конфигурации MU WLAN HE, установив для индекса распределения значение 0.

cfgHEMU = wlanHEMUConfig(0);

Создайте форму сигнала WLAN и индексы полей PPDU для указанной конфигурации.

waveform = wlanWaveformGenerator(1,cfgHEMU);
ind = wlanFieldIndices(cfgHEMU);

Восстановление битов L-SIG

Создайте объект конфигурации восстановления WLAN, указав формат пакета MU HE и длину поля L-SIG.

cfg = wlanHERecoveryConfig('PacketFormat','HE-MU','ChannelBandwidth','CBW20');

Декодировать поле L-SIG и получать информацию мультиплексирования с ортогональным частотным разделением каналов (OFDM). Объект конфигурации восстановления требует эту информацию для получения длины L-SIG.

lsig = waveform(ind.LSIG(1):ind.LSIG(2));
lsigDemod = wlanHEDemodulate(lsig,'L-SIG',cfg.ChannelBandwidth);
info = wlanHEOFDMInfo('L-SIG',cfg.ChannelBandwidth);
lsigDemod = lsigDemod(info.DataIndices,:);

Восстановите биты L-SIG и соответствующую информацию, убедившись, что биты прошли проверку на четность, и обновите объект конфигурации восстановления длиной L-SIG. Для этого примера мы предполагаем бесшумный канал. Для получения более реалистичных результатов можно передать сигнал через модель 802.11ax™ канала с помощью wlanTGaxChannel Система object™ и работает с принятой формой сигнала.

csi = ones(52,1);
[lsigBits,failCheck,lsigInfo] = wlanLSIGBitRecover(lsigDemod,0,csi);
cfg.LSIGLength = lsigInfo.Length;

Обновить объект конфигурации восстановления с помощью битов HE-SIG-A

Декодируйте поле HE-SIG-A и восстановите биты HE-SIG-A, гарантируя, что биты пройдут проверку циклическим избыточным кодом (CRC).

siga = waveform(ind.HESIGA(1):ind.HESIGA(2));
sigaDemod = wlanHEDemodulate(siga,'HE-SIG-A',cfg.ChannelBandwidth);
sigaDemod = sigaDemod(info.DataIndices,:);
[sigaBits,failCRC] = wlanHESIGABitRecover(sigaDemod,0,csi);
disp(failCRC)
   0

Обновите объект конфигурации восстановления с помощью восстановленных битов HE-SIG-A. Отображение обновленного объекта. Значение свойства -1 или 'Unknown' указывает неизвестное или неопределенное свойство, которое может быть обновлено после декодирования общих и пользовательских полей HE-SIG-B пакета HE MU.

[cfg,failInterpretation] = interpretHESIGABits(cfg,sigaBits)
cfg = 
  wlanHERecoveryConfig with properties:

                    PacketFormat: 'HE-MU'
                ChannelBandwidth: 'CBW20'
                      LSIGLength: 878
                 SIGBCompression: 0
                         SIGBMCS: 0
                         SIGBDCM: 0
          NumSIGBSymbolsSignaled: 10
                            STBC: 0
                 LDPCExtraSymbol: 1
             PreFECPaddingFactor: 1
                  PEDisambiguity: 0
                   GuardInterval: 3.2000
                       HELTFType: 4
                 NumHELTFSymbols: 1
                UplinkIndication: 0
                        BSSColor: 0
                    SpatialReuse: 0
                    TXOPDuration: 127
                     HighDoppler: 0
                 AllocationIndex: -1
       NumUsersPerContentChannel: -1
         RUTotalSpaceTimeStreams: -1
                          RUSize: -1
                         RUIndex: -1
                           STAID: -1
                             MCS: -1
                             DCM: -1
                   ChannelCoding: 'Unknown'
                     Beamforming: -1
             NumSpaceTimeStreams: -1
    SpaceTimeStreamStartingIndex: -1

failInterpretation = logical
   0

Обновить объект конфигурации восстановления с помощью общих битов поля HE-SIG-B

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

len = getSIGBLength(cfg);
sigbCommon = waveform(ind.HESIGA(2)+(1:len.NumSIGBCommonFieldSamples),:);
sigbCommonDemod = wlanHEDemodulate(sigbCommon,'HE-SIG-B',cfgHEMU.ChannelBandwidth);
sigbCommonDemod = sigbCommonDemod(info.DataIndices);
[sigbCommonBits,status,~] = wlanHESIGBCommonBitRecover(sigbCommonDemod,0,csi,cfg);
disp(status)
Success

Обновите объект конфигурации восстановления с помощью восстановленных общих битов поля HE-SIG-B и просмотрите обновленный объект. Поле, возвращенное как -1 или 'Unknown' указывает неизвестное или неопределенное значение свойства, которое может быть обновлено после декодирования пользовательского поля HE-SIG-B пакета HE MU.

[cfg,failInterpretation] = interpretHESIGBCommonBits(cfg,sigbCommonBits,status)
cfg = 
  wlanHERecoveryConfig with properties:

                    PacketFormat: 'HE-MU'
                ChannelBandwidth: 'CBW20'
                      LSIGLength: 878
                 SIGBCompression: 0
                         SIGBMCS: 0
                         SIGBDCM: 0
          NumSIGBSymbolsSignaled: 10
                            STBC: 0
                 LDPCExtraSymbol: 1
             PreFECPaddingFactor: 1
                  PEDisambiguity: 0
                   GuardInterval: 3.2000
                       HELTFType: 4
                 NumHELTFSymbols: 1
                UplinkIndication: 0
                        BSSColor: 0
                    SpatialReuse: 0
                    TXOPDuration: 127
                     HighDoppler: 0
                 AllocationIndex: 0
       NumUsersPerContentChannel: 9
         RUTotalSpaceTimeStreams: -1
                          RUSize: -1
                         RUIndex: -1
                           STAID: -1
                             MCS: -1
                             DCM: -1
                   ChannelCoding: 'Unknown'
                     Beamforming: -1
             NumSpaceTimeStreams: -1
    SpaceTimeStreamStartingIndex: -1

failInterpretation = logical
   0

Обновить объект конфигурации восстановления с помощью битов пользовательского поля HE-SIG-B

Декодируйте пользовательское поле HE-SIG-B, гарантируя, что все пользователи передают CRC.

sigbUser = waveform(ind.HESIGB(1):ind.HESIGB(2));
sigbUserDemod = wlanHEDemodulate(sigbUser,'HE-SIG-B',cfgHEMU.ChannelBandwidth);
sigbUserDemod = sigbUserDemod(info.DataIndices,:);
[sigbUserBits,failCRC,~] = wlanHESIGBUserBitRecover(sigbUserDemod,0,csi,cfg);
disp(failCRC)
   0   0   0   0   0   0   0   0   0

Обновите объект конфигурации восстановления с помощью восстановленных битов пользовательского поля HE-SIG-B.

[user,failInterpretation] = interpretHESIGBUserBits(cfg,sigbUserBits,failCRC);

Отображение результатов интерпретации и третьего элемента user выход.

disp(failInterpretation)
   0   0   0   0   0   0   0   0   0
disp(user{3})
  wlanHERecoveryConfig with properties:

                    PacketFormat: 'HE-MU'
                ChannelBandwidth: 'CBW20'
                      LSIGLength: 878
                 SIGBCompression: 0
                         SIGBMCS: 0
                         SIGBDCM: 0
          NumSIGBSymbolsSignaled: 10
                            STBC: 0
                 LDPCExtraSymbol: 1
             PreFECPaddingFactor: 1
                  PEDisambiguity: 0
                   GuardInterval: 3.2000
                       HELTFType: 4
                 NumHELTFSymbols: 1
                UplinkIndication: 0
                        BSSColor: 0
                    SpatialReuse: 0
                    TXOPDuration: 127
                     HighDoppler: 0
                 AllocationIndex: 0
       NumUsersPerContentChannel: 9
         RUTotalSpaceTimeStreams: 1
                          RUSize: 26
                         RUIndex: 3
                           STAID: 0
                             MCS: 0
                             DCM: 0
                   ChannelCoding: 'LDPC'
                     Beamforming: 0
             NumSpaceTimeStreams: 1
    SpaceTimeStreamStartingIndex: 1

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

свернуть все

Демодулированные символы HE-SIG-A, заданные как матрица с комплексными значениями. Размер siga зависит от формата пакета.

  • Для высокоэффективных однопользовательских (HE SU) или высокоэффективных многопользовательских (HE MU) пакетов укажите матрицу 52 на 2.

  • Для высокоэффективных однопользовательских пакетов расширенного диапазона (HE ER SU) укажите матрицу 52 на 4.

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

Оценка дисперсии шума канала, заданная как неотрицательный скаляр.

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

Информация о состоянии канала, заданная как действительный вектор 52 на 1. Чтобы использовать информацию о состоянии канала для расширенного обратного отображения символов мультиплексирования с ортогональным частотным разделением каналов (OFDM), задайте этот аргумент.

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

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

свернуть все

Информационные биты, восстановленные из поля HE-SIG-A, возвращаются в виде двоичного вектора-столбца 52 на 1.

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

Результат CRC, возвращенный как логическое значение 1 (true) или 0 (false). Функция возвращает этот аргумент как 1 (true), если восстановленные биты отказывают CRC. Функция возвращает этот аргумент как 0 (false), если восстановленные биты проходят CRC.

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

Ссылки

[1] IEEE Std 802.11-2016 (версия IEEE Std 802.11-2012). «Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY)». Стандарт IEEE для информационных технологий - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - особые требования.

[2] P802.11ax/D4.1 IEEE. "Часть 11: Спецификации управления доступом к среде беспроводной локальной сети (MAC) и физического уровня (PHY). Поправка 1: Усовершенствования для высокоэффективной WLAN. " Проект стандарта на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - особые требования.

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

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019a