Восстановление информационных бит в поле HE-SIG-A
[
восстанавливает bits
,failCRC
] = wlanHESIGABitRecover(siga
,noiseVarEst
)bits
, информационные биты, содержащиеся в siga
, поле HE-SIG-A IEEE® 802.11™ высокоэффективную передачу, подверженную шуму канала с оценочным отклонением noiseVarEst
. Функция также возвращается failCRC
, результат циклической проверки избыточности (CRC) на bits
.
Для получения дополнительной информации о восстановлении 802.11ax™ сигнала смотрите Процедуру восстановления для пакета 802.11ax.
Восстановите информационные биты в поле HE-SIG-A однопользовательской формы волны WLAN HE (HE-SU).
Создайте объект строения формата HE-SU WLAN с настройками по умолчанию и используйте его для генерации волны 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) с заданной информацией о состоянии канала.
Создайте объект строения формата HE-MU WLAN с настройками по умолчанию и используйте его для генерации волны 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
Обновите объект строения восстановления HE WLAN путем интерпретации восстановленных информационных бит HE-SIG-A и HE-SIG-B.
Сгенерируйте сигнал HE MU
Создайте объект строения MU HE WLAN, задав значение индекса выделения 0
.
cfgHEMU = wlanHEMUConfig(0);
Сгенерируйте сигнал WLAN и индексы поля PPDU для указанного строения.
waveform = wlanWaveformGenerator(1,cfgHEMU); ind = wlanFieldIndices(cfgHEMU);
Восстановление бит L-SIG
Создайте объект строения восстановления WLAN, задающий формат пакета HE MU и длину поля 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 пакета 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
siga
- Демодулированные символы HE-SIG-AДемодулированные символы HE-SIG-A, заданные как комплексная матрица. Размер siga
зависит от формата пакета.
Для высокоэффективных пакетов с одним пользователем (HE SU) или высокоэффективных пакетов с несколькими пользователями (HE MU) задайте матрицу 52 на 2.
Для высокоэффективных однопользовательских пакетов расширенного диапазона (HE ER SU) задайте матрицу 52 на 4.
Типы данных: double
Поддержка комплексного числа: Да
noiseVarEst
- Оценка отклонения шума в каналеОценка отклонения шума в канале, заданная как неотрицательный скаляр.
Типы данных: double
csi
- Информация о состоянии каналаИнформация о состоянии канала, заданная как действительный вектор 52 на 1. Чтобы использовать информацию о состоянии канала для расширенного демпфирования символов ортогонального частотного мультиплексирования (OFDM), задайте этот аргумент.
Типы данных: double
bits
- Информационные биты, восстановленные из поля HE-SIG-AИнформационные биты, восстановленные из поля HE-SIG-A, возвращаются как двоичный вектор-столбец 52 на 1.
Типы данных: int8
failCRC
- результат CRC1
(true
) | 0
(false
)Результат 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 ". Проект стандарта на информационные технологии - телекоммуникации и обмен информацией между системами. Локальные и столичные сети - Особые требования.
wlanFieldIndices
| wlanHEDataBitRecover
| wlanHESIGBCommonBitRecover
| wlanHESIGBUserBitRecover
| wlanLSIGBitRecover
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.