Main Content

WLAN Waveform Generator

Create, impair, visualize, and export WLAN waveforms

Description

The WLAN Waveform Generator app enables you to create, impair, visualize, and export IEEE® 802.11™ waveforms.

The app provides these capabilities by using the Wireless Waveform Generator app configured for WLAN waveform generation. Using the app, you can:

  • Generate IEEE 802.11ax™ waveforms, as specified in [1].

  • Generate IEEE 802.11ac™, 802.11ad™, 802.11n™, 802.11ah™, 802.11p™, 802.11a™, 802.11g™, 802.11j™, and 802.11b™ waveforms, as specified in [2].

  • Export the WLAN waveform to your workspace or to a .mat or a .bb file.

  • Export WLAN waveform generation parameters to a runnable MATLAB® script or a Simulink® block.

    • Use the exported script to generate your waveform without the app from the command line.

    • Use the exported block as a waveform source in a Simulink model. For more information, see Waveform From Wireless Waveform Generator App.

  • Visualize the WLAN waveform in time scope, spectrum analyzer, constellation diagram, and complementary cumulative distribution function (CCDF) plots.

  • Visualize the resource unit (RU) and subcarrier assignment in an IEEE 802.11ax waveform.

  • Distort the WLAN waveform by adding RF impairments, such as AWGN, phase offset, frequency offset, DC offset, IQ imbalance, and memoryless cubic nonlinearity.

  • Generate a WLAN waveform that you can transmit using a connected signal generator, radio transmitter, or SDR.

To create, impair, visualize, and export waveforms other than WLAN waveforms, you must reconfigure the app. For a full list of features, see the Wireless Waveform Generator app.

For more information, see Create Waveforms Using Wireless Waveform Generator App.

WLAN Waveform Generator app

Open the WLAN Waveform Generator App

MATLAB Toolstrip: On the Apps tab, under Signal Processing and Communications, click the app icon.

MATLAB Command Prompt: Enter wirelessWaveformGenerator. This command opens the Wireless Waveform Generator app. To configure the app for WLAN waveform generation, in the Waveform Type section, select one of the formats under WLAN (IEEE 802.11).

Examples

expand all

This example shows how to generate IEEE® 802.11™ waveforms by using the WLAN Waveform Generator app.

Open WLAN Waveform Generator App

On the Apps tab of the MATLAB® toolstrip, select the WLAN Waveform Generator app icon under Signal Processing and Communications. This selection opens the Wireless Waveform Generator app configured for WLAN waveform generation.

Select IEEE 802.11 PHY Format

Choose the PHY format of the waveform you want to generate by selecting one of the formats under WLAN (IEEE 802.11) in the Waveform Type section of the app toolstrip. The app supports these IEEE 802.11 PHY formats.

  • 802.11ax

  • 802.11ah

  • 802.11ad

  • 802.11n/ac

  • 802.11p

  • 802.11b/g

  • 802.11a/g/j

Generate WLAN Waveform

Set transmission and configuration parameters by specifying options in the Waveform tab on the left pane of the app. Add impairments and select visualization tools by specifying options in the Generation section of the app toolstrip. To visualize the waveform, click Generate.

For example, this figure shows the Time Scope and Spectrum Analyzer visualization results for a high-efficiency trigger-based (HE TB) waveform with default parameters.

Wireless waveform generator app. The app shows the 802.11ax waveform configuration parameters. The timescope and spectrum analyzer shows the spectrum of the generated waveform.

Export Generated Waveform

You can export the generated waveform and its parameters by clicking Export. You can export the waveform to:

  • A MATLAB script with a .m extension, which you can run to generate the waveform without the app

  • A file with a .bb or .mat extension

  • Your MATLAB workspace as a structure

  • A Simulink® block, which you can use to generate the waveform in a Simulink model without the app

Transmit WLAN Waveform

This feature requires Instrument Control Toolbox™ software. To transmit a generated waveform, click the Transmitter tab on the app toolstrip and configure the instruments. You can use any instrument supported by the rfsiggen (Instrument Control Toolbox) function.

This example shows how to use the NI™ USRP™ N310, USRP N320, USRP N321, USRP X310, and USRP X410 radio transmitters available in the Wireless Waveform Generator app to transmit an app-generated waveform over the air (requires Wireless Testbench™). These radio transmitters enable you to transmit up to 2 GB of contiguous data over the air at the maximum baseband sample rate supported by the radio device.

Introduction

The Wireless Waveform Generator app is an interactive tool for creating, impairing, visualizing, and transmitting waveforms. Using a radio transmitter available in the app, you can transmit your generated waveform repeatedly over the air. You can also export the waveform generation and transmission parameters to a runnable MATLAB® script. This example shows how to configure these radio transmitters.

Although this example shows how to transmit an OFDM waveform, the same process applies for all waveform types that you can generate with the app.

Set Up for Radio Transmission

To use the radio transmitters in the app, you need to install the Wireless Testbench Support Package for NI USRP Radios add-on and set up your radio outside the app. For more information, see Connect and Set Up NI USRP Radios (Wireless Testbench).

Generate Waveform for Transmission

Open the Wireless Waveform Generator app by clicking the app icon on the Apps tab, under Signal Processing and Communications. Alternatively, enter wirelessWaveformGenerator at the MATLAB command prompt.

In the Waveform Type section, select an OFDM waveform by clicking OFDM. In the leftmost pane of the app, adjust any configuration parameters for the selected waveform. Then generate the configuration by clicking Generate in the app toolstrip.

Configure Radio Transmitter

Select the Transmitter tab from the app toolstrip. In the transmitter gallery, select a radio transmitter.

In the leftmost pane of the app, select the name of a radio setup configuration that you saved using the Radio Setup wizard. For more information, see Connect and Set Up NI USRP Radios (Wireless Testbench).

Set the center frequency, gain, and antennas configuration parameters. The app automatically sets the waveform sample rate based on the waveform that you generated earlier. The radio transmitter uses onboard data buffering to ensure contiguous data transmission at up to the maximum baseband sample rate supported by the radio device. to achieve the specified sample rate, the radio uses a Farrow rate converter. If necessary, use this list as a reference when setting the sample rate:

  • USRP N310 -- 120,945 Hz to 76.8 MHz, or one of: 122.88 MHz, 125 MHz, or 153.6 MHz

  • USRP N320 -- 196,851 Hz to 125 MHz, or one of: 200 MHz, 245.76 MHz or 250 MHz

  • USRP N321 -- 196,851 Hz to 125 MHz, or one of: 200 MHz, 245.76 MHz or 250 MHz

  • USRP X310 -- 181,418 Hz to 100 MHz, or one of: 184.32 MHz or 200 MHz

  • USRP X410 -- 241,890 Hz to 125 MHz, or one of: 245.76 MHz or 250 MHz

Transmit Waveform

To transmit the waveform continuously, click Transmit. To end the continuous transmission, click Stop transmission. To export the waveform generation and transmission parameters to a runnable MATLAB script, click Export MATLAB script.

References

[1] IEEE Std 802.11ax-2021 (Amendment to IEEE Std 802.11-2020). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications. Amendment 1: Enhancements for High Efficiency WLAN.” IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems. Local and Metropolitan Area Networks — Specific Requirements.

[2] IEEE Std 802.11-2020 (Revision of IEEE Std 802.11-2016). “Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications.” IEEE Standard for Information Technology — Telecommunications and Information Exchange between Systems — Local and Metropolitan Area Networks — Specific Requirements.

Version History

Introduced in R2018b

expand all