Восстановление битов общего поля в поле HE-SIG-B
[ приходит в себя bits,status,cfgUpdated] = wlanHESIGBCommonBitRecover(sym,noiseVarEst,cfg)bits, общие полевые биты HE-SIG-B в многопользовательской высокой эффективности IEEE® 802.11ax™ (ОН МУ) передача.
Функция восстанавливается bits от symдемодулированные и выровненные символы общего поля HE-SIG-B. cfg вход параметризует передачу, которая подвержена канальному шуму с оценочной дисперсией noiseVarEst.
Функция также возвращает status, результат декодирования канала контента, и cfgUpdatedобновленные параметры передачи, восстановленные из декодированного поля HE-SIG-B.
Дополнительные сведения о восстановлении сигнала 802.11ax см. в примере процедуры восстановления для пакета 802.11ax.
[ также улучшает преобразование поднесущих с ортогональным мультиплексированием с частотным разделением каналов (OFDM) за счет использования информации о состоянии канала bits,status,cfgUpdated] = wlanHESIGBCommonBitRecover(sym,noiseVarEst,csi,cfg)csi.
Восстановите информационные биты в общем поле HE-SIG-B сигнала MU WLAN HE.
Формирование формы сигнала MU HE для указанных информационных битов и объекта конфигурации формата HE-MU.
AllocationIndex = 192;
cfgHE = wlanHEMUConfig(AllocationIndex,'SIGBCompression',false);
bits = [1;0];
waveform = wlanWaveformGenerator(bits,cfgHE);Извлеките части L-SIG и HE-SIG-A из формы сигнала.
ind = wlanFieldIndices(cfgHE); rxLSIG = waveform(ind.LSIG(1):ind.LSIG(2),:); rxSIGA = waveform(ind.HESIGA(1):ind.HESIGA(2),:);
Создайте объект конфигурации восстановления HE для пакета формата HE-MU, указав полосу пропускания канала и формат пакета.
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 с помощью информационных битов HE-SIG-A.
cfg = interpretHESIGABits(cfgRecovery,siga);
Извлеките поле HE-SIG-B.
s = getSIGBLength(cfg); rxSIGB = waveform(ind.HESIGA(2)+(1:s.NumSIGBCommonFieldSamples),:);
Демодулируйте и декодируйте общее поле HE-SIG-B, отображая результат.
sigbDemod = wlanHEDemodulate(rxSIGB,'HE-SIG-B',cbw);
sigb = sigbDemod(info.DataIndices,:,:);
[bits,status,cfgUpdated] = wlanHESIGBCommonBitRecover(sigb,noiseVarEst,cfg);
disp(bits')0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0
disp(status)
Success
Обновление объекта конфигурации восстановления 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
sym - Демодулированные и выровненные символы HE-SIG-BДемодулированные и выровненные символы HE-SIG-B, заданные как вектор столбца с комплексными значениями. Длина вектора равна числу активных поднесущих, которое зависит от полосы пропускания канала передачи.
Если пропускная способность канала равна 20 МГц, укажите этот аргумент как вектор 52 на 1.
Если пропускная способность канала составляет 40 МГц, 80 МГц или 160 МГц, укажите этот аргумент как вектор 104 на 1. Этот вектор должен содержать объединенные повторы подканалов 20 МГц.
ChannelBandwidth имущества cfg входной сигнал определяет пропускную способность канала.
Типы данных: double
Поддержка комплексного номера: Да
noiseVarEst - Оценка дисперсии шумаОценка дисперсии шума, заданная как неотрицательный скаляр.
Типы данных: double
cfg - Параметры передачи MU HEwlanHERecoveryConfig объектПараметры передачи MU HE, указанные как wlanHERecoveryConfig объект.
csi - Информация о состоянии каналаИнформация о состоянии канала, заданная как NSD-by-1 действительный вектор, где NSD - количество поднесущих данных в поле HE-SIG-B.
Типы данных: double
bits - Восстановленные биты общего поля HE-SIG-BВосстановленные биты общего поля HE-SIG-B для каждого канала контента поля HE-SIG-B, возвращаемые как двоичный вектор столбца или матрица. Размер этого выходного сигнала зависит от полосы пропускания канала передачи в соответствии с этой таблицей.
| Полоса пропускания канала/МГц | Размер bits |
|---|---|
| 20 | 18 на 1 |
| 40 | 18 на 2 |
| 80 | 27 на 2 |
| 160 | 43 на 2 |
Типы данных: int8
status - Результат декодирования канала контентаРезультат декодирования канала контента, возвращаемый как одно из этих значений.
'Success' - Все каналы контента прошли проверку циклическим избыточным кодом (CRC).
'ContentChannel1Fail' - Канал 1 контента отказал CRC, и количество символов HE-SIG-B, переданных в поле HE-SIG-A, меньше 16.
'ContentChannel2Fail' - Канал 2 контента отказал CRC, и количество символов HE-SIG-B, переданных в поле HE-SIG-A, меньше 16.
'UnknownNumUsersContentChannel1' - Канал 1 контента отказал CRC, и количество символов HE-SIG-B, переданных в поле HE-SIG-B, равно 16.
'UnknownNumUsersContentChannel2' - Канал 2 контента отказал CRC, и количество символов HE-SIG-B, переданных в поле HE-SIG-B, равно 16.
'AllContentChannelCRCFail' - Во всех каналах контента произошел сбой CRC.
Если количество символов HE-SIG-B, сигнализируемых в поле HE-SIG-A, меньше 16 и какой-либо канал контента не выполняет CRC, поле HE-SIG-A определяет длину поля HE-SIG-B. Если количество символов HE-SIG-B, сигнализируемых в поле HE-SIG-A, равно 16, и какой-либо канал контента отказывает CRC, длина поля HE-SIG-B не определена.
Типы данных: char
cfgUpdated - Обновлены параметры передачи MU HEwlanHERecoveryConfig объектОбновленные параметры передачи HE MU, восстановленные из декодированного поля HE-SIG-B, возвращенные в виде wlanHERecoveryConfig объект.
[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 | wlanHESIGABitRecover | wlanHESIGBUserBitRecover | wlanLSIGBitRecoverИмеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.