Обновите параметры передачи с битами поля HE-SIG-A
высокоэффективные (HE) параметры передачи обновлений cfgUpdated = interpretHESIGABits(cfg,bits)cfg путем интерпретации восстановленных битов поля HE-SIG-A. Функция заполняет свойства cfg это относится к полю HE-SIG-A, и возвращает обновленные параметры передачи HE cfgUpdated. Если вы используете этот синтаксис, и функция не может интерпретировать восстановленные биты поля HE-SIG-A, функция не возвращает выходной параметр и выдает ошибку сообщение.
[ возвращает результат интерпретации поля HE-SIG-A. Если вы используете этот синтаксис, и функция не может интерпретировать восстановленные биты поля HE-SIG-A, функция возвращает cfgUpdated,failInterpretation] = interpretHESIGABits(cfg,bits)failInterpretation выведите как 1 и cfgUpdated как cfg введите, не обновляя значений свойств.
Восстановите биты с Поля данных HE передачи SU HE.
Сконфигурируйте передачу SU HE путем создания объекта настройки с заданной модуляцией и кодирования схемы (MCS). Извлеките полосу пропускания канала.
cfgHESU = wlanHESUConfig('MCS',0); cbw = cfgHESU.ChannelBandwidth; % Channel bandwidth of transmission
Создайте последовательность битов данных и сгенерируйте форму волны SU HE.
bits = randi([0 1],8*getPSDULength(cfgHESU),1,'int8');
waveform = wlanWaveformGenerator(bits,cfgHESU);Создайте объект настройки восстановления WLAN, задав известную полосу пропускания канала и формат пакета.
cfgRX = wlanHERecoveryConfig('ChannelBandwidth',cbw,'PacketFormat','HE-SU');
Восстановите HE сигнальные поля путем получения полевых индексов и выполнения соответствующих операций демодуляции.
ind = wlanFieldIndices(cfgRX); heLSIGandRLSIG = waveform(ind.LSIG(1):ind.RLSIG(2),:); symLSIG = wlanHEDemodulate(heLSIGandRLSIG,'L-SIG',cbw); info = wlanHEOFDMInfo('L-SIG',cbw);
Объедините поля L-SIG и RL-SIG для разнообразия и получите поднесущие данных.
symLSIG = mean(symLSIG,2); lsig = symLSIG(info.DataIndices,:);
Декодируйте поле L-SIG, принимая бесшумный канал, и используйте поле длины, чтобы обновить объект восстановления.
noiseVarEst = 0; [~,~,lsigInfo] = wlanLSIGBitRecover(lsig,noiseVarEst); cfgRX.LSIGLength = lsigInfo.Length;
Восстановите и демодулируйте поле HE-SIG-A, получите поднесущие данных и восстановите биты "SIG HE".
heSIGA = waveform(ind.HESIGA(1):ind.HESIGA(2),:);
symSIGA = wlanHEDemodulate(heSIGA,'HE-SIG-A',cbw);
siga = symSIGA(info.DataIndices,:);
[sigaBits,failCRC] = wlanHESIGABitRecover(siga,0);Обновите объект настройки восстановления с восстановленными битами "SIG HE" и получите обновленные полевые индексы.
cfgHE = interpretHESIGABits(cfgRX,sigaBits); ind = wlanFieldIndices(cfgHE);
Получите и декодируйте Поле данных HE.
heData = waveform(ind.HEData(1):ind.HEData(2),:); symData = wlanHEDemodulate(heData,'HE-Data', ... cbw,cfgHE.GuardInterval,[cfgHE.RUSize cfgHE.RUIndex]); infoData = wlanHEOFDMInfo('HE-Data',cbw,cfgHE.GuardInterval,[cfgHE.RUSize cfgHE.RUIndex]); rxDataSym = symData(infoData.DataIndices,:,:); dataBits = wlanHEDataBitRecover(rxDataSym,noiseVarEst,cfgHE);
Подтвердите, что восстановленные биты совпадают с переданными битами.
isequal(bits,dataBits)
ans = logical
1
Обновите объект настройки восстановления HE WLAN путем интерпретации восстановленного "SIG HE" и информационные биты HE-SIG-B.
Сгенерируйте HE форма волны МУ
Создайте объект настройки ВЛАНЬ ХЭ МУ, установив индекс выделения на 0.
cfgHEMU = wlanHEMUConfig(0);
Сгенерируйте форму волны WLAN и индексы поля PPDU для заданной настройки.
waveform = wlanWaveformGenerator(1,cfgHEMU); ind = wlanFieldIndices(cfgHEMU);
Восстановите биты L-SIG
Создайте объект настройки восстановления WLAN, задав 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;
Обновите объект настройки восстановления с битами "SIG HE"
Декодируйте поле HE-SIG-A и восстановите биты "SIG HE", гарантируя, что биты передают контроль циклическим избыточным кодом (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
Обновите объект настройки восстановления с восстановленными битами "SIG HE". Отобразите обновленный объект. Значение свойства -1 или 'Unknown' указывает на неизвестное или неопределенное свойство, которое может быть обновлено после декодирования общего HE-SIG-B и пользовательских полей HE пакет МУ.
[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(double(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 пакет МУ.
[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
cfg — Параметры передачи HE перед интерпретацией битов поля HE-SIG-AwlanHERecoveryConfig объектПараметры передачи HE перед интерпретацией битов поля HE-SIG-A в виде wlanHERecoveryConfig объект.
bits — Восстановленные биты поля HE-SIG-AВосстановленные биты поля HE-SIG-A в виде вектор-столбца с бинарным знаком длины 52.
Типы данных: double | int8
cfgUpdated — Обновленные параметры передачи HEwlanHERecoveryConfig объектОбновленный Он параметры передачи, возвращенные как wlanHERecoveryConfig объект. Функция обновляет свойства этого объекта в соответствии с восстановленными битами поля HE-SIG-A.
Для получения информации о содержимом поля HE-SIG-A см. [2].
failInterpretation — Результат интерпретации поля HE-SIG-A| 1 Результат интерпретации поля HE-SIG-A, возвращенной как логический 0 или 1. Значение 1 указывает, что функция не может интерпретировать восстановленные биты поля HE-SIG-A. Значение 0 указывает, что функция успешно интерпретирует биты поля HE-SIG-A.
Типы данных: логический
[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”. Спроектируйте Стандарт для Информационных технологий — Телекоммуникации и обмен информацией между системами. Локальные сети и городские компьютерные сети — Конкретные требования.
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.