Create Waveforms Using Wireless Waveform Generator App
The Wireless Waveform Generator app is an interactive tool for creating, impairing, visualizing, and exporting modulated waveforms.
Start the app. On the Apps tab in the MATLAB® toolstrip, under Signal Processing and Communications,
click the app icon . You can also start the app by entering
wirelessWaveformGenerator
at the MATLAB command prompt.
These are the typical workflows when using the Wireless Waveform Generator app.
Generate a waveform.
Select the desired waveform type from the options available in the Waveform Type section. Adjust the configuration parameters in the Waveform pane. For more information, see Waveform Type.
Select Impairments in the Generation section to open the Impairments pane. Adjust the configuration parameters in the Impairments pane. For more information, see Add Impairments.
To perform signal generation, click Generate. After generation, the waveform is displayed. You can adjust the waveform, filtering, and impairment configurations and then regenerate the waveform.
The default visualization plots vary based on the waveform type selected. Additional Visualization Options can be opened by selecting them from Visualize in the Generation section.
After generating a waveform you can
Export the waveform to a file by selecting the desired options from Export in the Export section. For more information, see Export Waveform.
Transmit the waveform by selecting and configuring the desired SDR or lab test instrument from Transmitter Type in the Transmitter tab. For more information, see Transmit Using SDR and Transmit Using Lab Signal Generator Instrument.
You can save the current session, open a previously saved session, or open a new session by selecting the desired option in the File section. For more information, see Waveform Generator Session.
Waveform Type
To generate the various available waveforms, the Wireless Waveform Generator app uses Communications Toolbox™ features. The supported waveform types include:
OFDM — The app uses the
comm.OFDMModulator
System object™ to generate this type of waveform.QAM — The app uses the
qammod
function to generate this type of waveform.PSK — The app uses the
pskmod
function to generate this type of waveform.Sinewave — The app uses the
dsp.SineWave
System object to generate this type of waveform.5G — If you have the 5G Toolbox™, you can also generate 5G NR waveforms using features in the 5G Toolbox. For more information, see the 5G Waveform Generator (5G Toolbox) app reference page.
LTE — If you have the LTE Toolbox™ you can also generate LTE modulated waveforms using features in the LTE Toolbox. For more information, see the LTE Waveform Generator (LTE Toolbox) app reference page.
WLAN — If you have the WLAN Toolbox™ you can also generate 802.11™ modulated waveforms using features in the WLAN Toolbox. For more information, see the WLAN Waveform Generator (WLAN Toolbox) app reference page.
Bluetooth® — If you have the Bluetooth Toolbox you can also generate Bluetooth modulated waveforms using features in the Bluetooth Toolbox.
DVB-S2, DVB-S2X, and DVB-RCS2 — If you have the Satellite Communications Toolbox you can also generate satellite communications waveforms using features in the Satellite Communications Toolbox. For more information, see the Satellite Waveform Generator (Satellite Communications Toolbox) app reference page.
FMCW, Linear FM, Rectangular, and Phased Coded — If you have the Phased Array System Toolbox™ you can also generate radar waveforms using features in the Phased Array System Toolbox.
ZigBee® and UWB (IEEE® 802.15.4a/z) — The app uses the
lrwpanWaveformGenerator
function, andlrwpanHRPConfig
andlrwpanOQPSKConfig
objects to generate these types of waveforms.
By default, generated waveforms have no filtering applied. To apply filtering to the waveform, select the desired filter option from the Filtering parameter on the Waveform pane. The available filter options vary based on the waveform type you select.
Add Impairments
You can add these impairments to the waveform that you generate.
AWGN — The app uses the
awgn
function to impair the waveform.Phase offset — The app impairs the waveform by applying the specified phase offset as y = xejφ, where φ is the phase offset in radians.
Frequency offset — The app uses the
comm.PhaseFrequencyOffset
System object to impair the waveform.Phase noise — The app uses the
comm.PhaseNoise
System object to impair the waveform.DC offset — The app impairs the waveform by applying the specified DC offset as y = x + dcOff, where dcOff is the complex DC offset in Volts.
IQ imbalance — The app uses the
iqimbal
function to impair the waveform.Memoryless cubic nonlinearity — The app uses the
comm.MemorylessNonlinearity
System object to impair the waveform.
Visualization Options
You can use these plot types to visualize waveforms that you generate.
Spectrum Analyzer — The app plots the waveform in the frequency domain.
OFDM Grid — For OFDM waveforms, the app plots the resource allocation of data and control channels.
Time scope — The app plots the inphase and quadrature (IQ) waveform samples in the time domain.
Constellation diagram — The app plots the constellation points of the modulation symbols. For the OFDM waveform type, the constellation diagram displays the signal before OFDM modulation.
Export Waveform
You can export the waveform to a runnable MATLAB script or Simulink® block, to your workspace, or to a signal file.
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.
Waveforms exported to the workspace are saved as a structure containing these fields:
type
— This field is a character vector indicating the waveform type.config
— This field is a structure or object containing fields that specify the configured waveform type.Fs
— This field is the signal sample rate in Hertz.waveform
— The field is the complex waveform samples output as an NS-by-1 column vector or an NS-by-NT matrix. NS is the number of time-domain samples, and NT is the number of transmit antennas.
Waveforms exported to a signal file can be saved as a .mat or .bb file.
MAT-files are binary MATLAB files that store workspace variables. For more information, see MAT-File Versions.
The app uses the
comm.BasebandFileWriter
System object to save .bb files.
Transmit Using Lab Signal Generator Instrument
Generate a waveform that you can transmit using your lab signal generator instrument.
The Wireless Waveform
Generator app can transmit using the rfsiggen
(Instrument Control Toolbox) function with instruments that support:
TCP/IP interface and use either the AgRfSigGen, RsRfSigGen, AgRfSigGen_SCPI, or RsRfSigGen_SCPI driver.
PXI interface and use the NI-RFSG driver.
For more information, see Quick-Control RF Signal Generator Requirements (Instrument Control Toolbox). This feature requires Instrument Control Toolbox.
Select the appropriate signal generator icon, from Transmitter Type in the Transmitter tab, and have your supported lab signal generator instrument connected to your computer.
Transmit Signals at Radio Device Maximum Baseband Sample Rate
Generate waveforms that you can transmit at the maximum baseband sample rate supported by the radio device using Wireless Testbench software and a supported radio. Download and install the add-on associated with your connected radio. If you have Wireless Testbench, then the Wireless Waveform Generator app can transmit your waveform at the maximum baseband sample rate of your radio device. For more information, see Supported Radio Devices (Wireless Testbench).
Select the appropriate radio icon, from Transmitter Type in the Transmitter tab, and have the radio connected to your computer.
Transmit Using SDR
Generate a waveform that you can transmit using supported SDR hardware. Download and install the add-on associated with your connected SDR, and then the Wireless Waveform Generator app can transmit waveforms by using the SDR. For more information, see Supported Hardware – Software-Defined Radio.
Select the appropriate SDR icon, from Transmitter Type in the Transmitter tab, and have the SDR connected to your computer.
Waveform Generator Session
You can save the current session, open a previously saved session, or open a new session by selecting the desired option in the FILE section. When you save a waveform generator session, the session configuration is saved as a .mat file. For more information, see MAT-File Versions.
See Also
Apps
Functions
rfsiggen
(Instrument Control Toolbox)
Blocks
Related Topics
- Generate Wireless Waveform in Simulink Using App-Generated Block
- Quick-Control RF Signal Generator Requirements (Instrument Control Toolbox)
- MAT-File Versions