wlanHESIGBDecode not available in wifi6 under wifi toolbox.

% Define RU allocation: 1 user, 26-tone RU
ruAlloc = [1]; % 1 means 26-tone RU in a 20 MHz channel
% Create configuration with correct RU assignment
cfgHEMU = wlanHEMUConfig(ruAlloc, 'ChannelBandwidth', 'CBW20');
% PHY settings
cfgHEMU.SIGBMCS = 0;
cfgHEMU.SIGAMCS = 0;
Unrecognized property 'SIGAMCS' for class 'wlanHEMUConfig'.
cfgHEMU.HELTFType = 4;
cfgHEMU.NumTransmitAntennas = 1;
cfgHEMU.User{1}.MCS = 0;
cfgHEMU.User{1}.NumSpaceTimeStreams = 1;
% Generate waveform
bits = randi([0 1], 100*8, 1);
txWaveform = wlanWaveformGenerator(bits, cfgHEMU);
txWaveform = txWaveform / max(abs(txWaveform)); % Normalize
% Channel and noise
fs = wlanSampleRate(cfgHEMU);
snr = 30;
chan = wlanTGaxChannel('SampleRate', fs, 'ChannelBandwidth', 'CBW20', 'DelayProfile', 'Model-B');
rx = chan(txWaveform);
rx = awgn(rx, snr, 'measured');
% Field indices
ind = wlanFieldIndices(cfgHEMU);
% Channel estimation
ltf = rx(ind.HELTF(1):ind.HELTF(2));
ltfDemod = wlanHEDemodulate(ltf, 'HE-LTF', cfgHEMU);
chanEst = wlanHELTFChannelEstimate(ltfDemod, cfgHEMU);
% HE-SIG-B decode
sigbRx = rx(ind.HESIGB(1):ind.HESIGB(2));
sigbDemod = wlanHEDemodulate(sigbRx, 'HE-SIG-B', cfgHEMU);
[sigbBits, sigbCRCFail] = wlanHESIGBDecode(sigbDemod, chanEst, cfgHEMU); % This function is not available in wlan toolbox version %24.3, throws error as unrecognized function.
% Display result
if sigbCRCFail
disp(" SIG-B Decode Failed");
else
disp(" SIG-B Decode Successful!");
disp("First 10 decoded SIGB bits:");
disp(sigbBits(1:10)');
end

5 Commenti

SIGAMCS is not a documented property in R2024b or R2025a pre-release
display( numel(CfgHEMU.User)) outputs as 8 instead of one user .Why?
ruAlloc = [1];
cfgHEMU = wlanHEMUConfig(ruAlloc, 'ChannelBandwidth', 'CBW20');
display(numel(cfgHEMU.User))
8
@Walter Roberson. Why am I not able to configure one or two user for cfgHEMU , by above code cfgHEMU takes 8 users.
There is a hacky solution for this: after trying with many numbers
ruAlloc =[217]
ruAlloc = 217
cfgHEMU = wlanHEMUConfig(ruAlloc, 'ChannelBandwidth', 'CBW20');
display(numel(cfgHEMU.User));
2
please help me out with proper solution.
Abhiram
Abhiram il 23 Apr 2025
Modificato: Abhiram il 23 Apr 2025
To understand how to configure users for wlanHEMU, you can refer to the 'wlanHEMUConfig.m' file located at "<matlabroot>\toolbox\wlan\wlan\wlanHEMUConfig.m".
The reason why you got the number of users as 2 when 'ruAlloc = [217]' is explained by the following:
To configure a full band MU-MIMO transmission with HE-SIG-B compression the following values of AllocationIndex can be used:
  • 20 MHz: AllocationIndex = 191 + NumUsers
  • 40 MHz: AllocationIndex = 199 + NumUsers
  • 80 MHz: AllocationIndex = 207 + NumUsers
  • 160 MHz: AllocationIndex = 215 + NumUsers
yes thanks @Abhiram for the configuration part.

Accedi per commentare.

Risposte (1)

I understand you're looking to configure multiple users using wlanHEMUConfig and were inquiring about the availability of wlanHESIGBDecode in the WLAN Toolbox. According to the latest R2025a documentation, there is no documented function named wlanHESIGBDecode.
Wifi 6 (802.11ax) introduces the concept of resource units (RU) to enable multi-user OFDMA. The AllocationIndex property in wlanHEMUConfig defines the RU allocation index or a set of RU allocation indices. The allocation indices define the number of RUs, RU sizes, and number of users assigned to each RU
Please refer to the table in the following documentation. This table lists the allocation indices and corresponding RU assignments for 20 MHz subchannels and RUs with at most 242 tones. The table shows the number of tones per RU and the number of users assigned for each allocation index.
The following code snippet demonstrates how Resource Units (RUs) are allocated:
cfg1 = wlanHEMUConfig(1)
cfg1 =
wlanHEMUConfig with properties: RU: {[1×1 wlanHEMURU] [1×1 wlanHEMURU] [1×1 wlanHEMURU] [1×1 wlanHEMURU] [1×1 wlanHEMURU] [1×1 wlanHEMURU] [1×1 wlanHEMURU] [1×1 wlanHEMURU]} User: {1×8 cell} NumTransmitAntennas: 1 STBC: 0 GuardInterval: 3.2000 HELTFType: 4 SIGBMCS: 0 SIGBDCM: 0 UplinkIndication: 0 BSSColor: 0 SpatialReuse: 0 TXOPDuration: 127 HighDoppler: 0 Read-only properties: ChannelBandwidth: 'CBW20' AllocationIndex: 1
% Display the allocation.
showAllocation(cfg1)
Please refer to the following Standard to know more on RU allocation
Hope this helps!

Prodotti

Release

R2024b

Richiesto:

il 20 Apr 2025

Risposto:

il 9 Giu 2025

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by