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 it by selecting the desired options from Export in the Export section. For more information, see Export Waveform.
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.
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 NR test models (NR-TM) and NR uplink and downlink fixed reference channel (FRC) waveforms using features in the 5G Toolbox.
LTE — If you have the LTE Toolbox™ you can also generate LTE modulated waveforms using features in the LTE Toolbox.
WLAN — If you have the WLAN Toolbox™ you can also generate 802.11™ modulated waveforms using features in the WLAN Toolbox.
Bluetooth® — You can download the Communications Toolbox Library for the Bluetooth Protocol Add-On and generate Bluetooth modulated waveforms using features described in Bluetooth.
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.
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.
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.
You can export the waveform to a runnable MATLAB script, to your workspace, or to a signal file.
Waveforms exported to a runnable MATLAB script can be used to reproduce your waveform outside of the Wireless Waveform Generator app by running the script.
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.
Generate a waveform that you can transmit using a connected lab test instrument. The
Wireless Waveform
Generator app can transmit using instruments supported by the rfsiggen
(Instrument Control Toolbox) function.
Use of the transmit feature in the Wireless Waveform Generator app requires Instrument Control Toolbox.
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.