Does the WLAN Toolbox have support for Midamble when generating waveforms for the the IEEE 802.11ac standard?
MATLAB: Support for Midamble in IEEE 802.11ac WLAN Toolbox objects
802.11ac802.11axmidambleWLAN Toolbox
Related Solutions
In general, it would be possible to make changes to the existing algorithms and function implementations as per the user's requirements.
1. When comparing 10 MHz 802.11p with 20 MHz 802.11a, the actual baseband waveform at the physical layer is the same, but the symbol duration is doubled (8us vs 4 us where us stands for microseconds) and the sub-carrier spacing is halved (156.25 kHz vs 312.5 kHz). Therefore, when we generate a waveform with 'CBW10', the waveform is identical to 'CBW20'. Knowledge of the actual bandwidth is used outside generation for applying impairments such as frequency offsets, and channel models.
If you want to simulate a similar scheme with VHT (double the symbol duration and half the subcarrier spacing to operate in a 10 MHz bandwidth), then you can keep working with
ChannelBandwidth = 'CBW20'
for baseband processing, and only use the true sample rate when working with impairments. Alternatively, if you wish to keep the sub-carrier spacing the same for 20 MHz and 10 MHz then you would need to modify the code to change the FFT size, mapping of data, and pilots sub-carriers etc, which is possible but not trivial.
For instance, when considering the shipped example '802.11ac Packet Error Rate Simulation for 8x8 TGac channel'
you might be interested in halving the subcarrier spacing to create a 10 MHz waveform (e.g. 156.25 kHz instead of 312.5 kHz similar to the 802.11p standard). For accomplishing this, set:
cfgVHT.ChannelBandwidth = 'CBW20';
Also, manually set sampling frequency 'fs' to '10e6'. This will use a 64-point FFT at 10 MHz when generating/demodulating the waveform and therefore simulates a subcarrier spacing of 156.25 kHz.
2) WLAN Toolbox is all open m-code, therefore, you can replace the equalizer if you wish. For example, the current equalization algorithm is visible on line 308 to 313 of wlanVHTDataRecover:
% Equalization
if cfgVHT.STBC % Only SU
[eqDataSym, dataCSI] = wlan.internal.wlanSTBCCombine(ofdmDemodData, chanEstData, numSS, eqMethod, noiseVarEst);else % Both SU and MU
[eqDataSym, dataCSI] = wlan.internal.wlanEqualize(ofdmDemodData, chanEstData(:,stsIdx,:), eqMethod, noiseVarEst);end
This could be replaced with your custom algorithm to create the equalized data symbols.
Consider this MATLAB R2018b example which demonstrates a decision directed channel estimation algorithm and receiver for 802.11p:
The WLAN Toolbox™ provides standard-compliant functions for the design, simulation, analysis, and testing of wireless LAN communications systems. The toolbox provides configurable physical layer waveforms for IEEE® 802.11ax/ac/ad/ah and 802.11b/a/g/n/j/p standards. It also provides transmitter, channel modeling, and receiver operations, including channel coding, modulation (OFDM, DSSS, and CCK), spatial stream mapping, channel models (TGax, TGac, TGah, and TGn), and MIMO receivers.
All of the above standards are half-duplex. As of 2019, there is no commercially available wireless communication standard that is full-duplex.
You can certainly model transmit and receive on the same carrier using the propagation channel models of the WLAN Toolbox as documented here:
You can also model full-duplex communications in MATLAB and/or Simulink by creating your own signal inversion cancellation algorithm.
Best Answer