Key Features

  • Algorithms for designing the physical layer of communications systems, including channel coding, modulation, OFDM, MIMO, equalization, and synchronization
  • Analysis tools and measurement scopes, including a bit-error-rate app, constellation diagrams, and eye diagrams
  • Channel models, including AWGN, multipath Rayleigh fading, Rician fading, MIMO multipath fading, and LTE MIMO multipath fading
  • Basic RF impairment models, including nonlinearity, phase noise, thermal noise, and phase and frequency offsets
  • Hardware support packages for connecting waveforms to radio devices and verifying designs with over-the-air testing
  • GPU-enabled algorithms for computationally intensive algorithms such as Turbo, LDPC, and Viterbi decoders
  • Support for fixed-point modeling and C and HDL code generation

End-to-End Simulation

Communications System Toolbox enables you to simulate link-level models of communications systems. Through simulations you can analyze system response to the noise and interference inherent in communication channels, explore what-if scenarios and evaluate the tradeoffs between competing system architectures and parameters, and obtain expected measures of performance to evaluate real implementations of your designs.

The physical layer of communications systems provides transport support to the data generated at higher communication layers. Physical layer models contain three components:

  • Baseband transmitter and receiver operations
  • Channel models and RF impairments
  • Measurements and methods for characterizing system performance

Communications System Toolbox provides a comprehensive set of algorithms and tools to specify the three components of physical layer models. The system toolbox also includes examples for many communications standards such as 802.11 (Wi-Fi), 802.16 (WiMAX), DVB.S2, Bluetooth, and Advanced Television Systems Committee (ATSC) digital television. These standards examples illustrate how algorithms and tools of the system toolbox are used to efficiently model and simulate real-world communications systems.

Link-level simulations include baseband transmitter and receiver operations. Communications System Toolbox provides a comprehensive suite of algorithms for transmitter and receiver components that help you customize your system and avoid the need to create building-block algorithms from scratch. The algorithms include:

Communications standards featuring end-to-end simulation of physical layer models of systems. Top to bottom: Bluetooth, DVB.S2, 802.11a.

Each algorithm in Communications System Toolbox comes with a well-defined set of parameters. With these parameters you can customize your physical layer models, match their performance with those specified in various standards, or use them as building blocks for new and innovative systems.

The algorithms provided in the system toolbox are available as MATLAB functions, System objects, and Simulink blocks. For example, an OFDM modulator algorithm can be specified as a System object or a Simulink block. These two representations of the same algorithm have identical parameter sets, so when they are executed with same input variable, they produce numerically identical results.

OFDM modulator, and most algorithms of Communications System Toolbox, are available as MATLAB System objects (left) or Simulink blocks (right).

Channel Modeling and RF Impairments

Channel Modeling

Communications System Toolbox provides algorithms and tools for modeling noise, fading, interference, and other distortions that are typically found in communication channels. The system toolbox supports the following types of channels:

Communications System Toolbox also includes standard channel specifications, such as LTE MIMO channels, COST 207, 3GPP, ITU-R 3G, TU-R HF, and GSM/EDGE channel models. With a concise and configurable set of parameters, channel models of the system toolbox allow you to accurately model most communication channels.

The MIMO, Rayleigh, and Rician fading channels of Communications System Toolbox have built-in visualization tools to show the channel impulse response, frequency response, or Doppler spectrum. Using these tools, you can observe during simulations the effects of a number of wireless propagation phenomena including multipath scattering effects, time dispersion, and Doppler shifts that arise from relative motion between the transmitter and the receiver.

Built-in visualizations offered by Communications System Toolbox fading channels. Channel impulse response (left), frequency response (center), Doppler spectrum (right).

RF Impairments

Characterizing the real performance of a communications system depends not only on accurate channel modeling, but also on the effects of impairments introduced by communications devices. Communications System Toolbox provides a number of RF impairment models that include:

For example, the memoryless nonlinearity algorithm features several nonlinearity methods (cubic polynomial, hyperbolic tangent, Saleh, Ghorbani, and Rapp). The algorithm allows you to model a transmit-side high-power amplifier (HPA) that amplifies the modulated signal before it is transferred to the antenna for transmission. You can include more complex RF impairments and RF circuit models in your design using RF Blockset™.

Visualization of RF impairment effects. Bottom left and right plots, respectively: Input and output signals to the high power amplifier (HPA) before and after introducing nonlinear amplification. Top left: Received signal with uncompensated I/Q imbalances. Top right: Transmitted and received spectra.

Hardware Connectivity and Software-Defined Radio

Using Communications System Toolbox hardware support packages, you can connect your transmitter and receiver models to external radio devices. This feature enables you to replace the simulated channels and impairments in your end-to-end model with live radio signals and then validate your design with over-the-air testing and software-defined radio (SDR) experiments.

You can perform radio-in-the-loop simulations by a) generating custom waveforms in your baseband transmitter models, b) transmitting your waveform using SDR devices or instruments, c) capturing received samples with SDR devices or instruments, and d) processing received samples inside your baseband receiver models.

You can use the supported hardware as a radio peripheral with the supplied bitstream and also run your own design in the FPGA with the automated targeting workflow using HDL Coder™. Communications System Toolbox supports the following radio devices:

Radio-in-the-loop simulations: Hardware/instrument connectivity and Communications System Toolbox hardware support packages. You can generate baseband waveforms, transmit and receive live radio signals to and from RF instruments and supported SDR devices, and validate your communications system design with over-the-air testing.

Measurement, Analysis, and Verification

The design and simulation of a communications system requires analyzing its response to the noise and interference inherent in real-world environments, studying its behavior using graphical and quantitative means, and determining whether the resulting performance meets standards of acceptability.

Communications System Toolbox offers several standard measurements for quantitatively characterizing system performance:

The system toolbox also provides visualization scopes that include:

  • Eye diagram for providing qualitative and visual indications of how various types of distortions, such as timing jitter and inter-symbol interference, impact system performance
  • Constellation diagram for providing signal constellation plots that enable you to perform streaming EVM and MER measurements within the simulation loop

As BER computations are fundamental to the characterization of any communications system, Communications System Toolbox provides a BERTool app that lets you analyze BER performance of communications systems. Since EVM and MER are important measures of quality for the received signal and the transmission channel, their measurements have been integrated in the Constellation Diagram scope of the system toolbox. ACPR and CCDF measurements are also integrated in the Spectrum Analyzer scope of DSP System Toolbox™.

Constellation diagram scope includes frame-by-frame EVM and MER measurements. Spectrum Analyzer scope (left), and frame-by-frame ACPR and CCDF measurements (right).

Synchronization and Receiver Design

For proper recovery of signals, wireless receivers must address issues such as timing recovery, compensation for carrier frequency and phase offset, synchronization, and time-domain and frequency-domain equalization. Communications System Toolbox provides synchronization and RF compensation algorithms that are generally adaptive in nature and allow you to compensate for channel and RF impairment effects in your RF receiver front-end designs. The synchronization algorithms include:

Communications System Toolbox provides receiver front-end reference designs such as OFDM synchronization, RF satellite link and end-to-end QAM simulation, and QPSK transmitter and receiver examples. These examples show how we can first introduce RF impairments such as Doppler shift, phase noise, DC offset, and I/Q phase imbalances prior to receiver processing. As part of receiver processing, you can then apply compensation techniques including DC blocking, AGC, IQ Imbalance compensator, and frequency and phase offset compensators to recover the best estimate of the transmitted signal at the receiver.

QPSK transmitter and receiver methods for addressing real-world receiver design issues such as carrier frequency and phase offset (left), timing recovery (middle), and frame synchronization (right).


Techniques such as MATLAB to C code generation, parallel processing, and GPU-optimized algorithms enable you to significantly speed up simulations of your communications models. The combined effect of using these acceleration methods may speed up a typical simulation by an order of magnitude, and also reduce the time needed to run a simulation overnight to just a few hours.

GPU acceleration — Capability provided by Parallel Computing Toolbox™ that enables you to accelerate simulation performance using graphics processing unit (GPU) hardware within your computer. When using GPU-optimized System objects in Communications System Toolbox, you execute algorithms on a GPU rather than on a CPU. This process may accelerate your simulation.

Parallel computing and cloud computing support — Capability provided by Parallel Computing Toolbox and MATLAB Distributed Computing Server™ that enables you to leverage the computing power of your server farms and the Amazon EC2 web service by computing different iterations of your algorithm concurrently on a multitude of available MATLAB workers.

MATLAB to C code generation — Capability provided by MATLAB Coder™ that enables you to accelerate simulation by locking down data types and sizes of your MATLAB variables during simulation, and by reducing the overhead of the interactive programming that checks for the size and data type of variables in every line of the code.

Three simulation acceleration techniques for communications system modeling: MATLAB to C code generation, parallel computing, and GPU processing.

Code Generation and Implementation

Fixed-Point Modeling

Many communications systems use hardware that requires a fixed-point representation of your design. Communications System Toolbox supports fixed-point modeling in all relevant blocks and System objects with tools that help you configure fixed-point attributes.

Fixed-point support in the system toolbox includes word sizes from 1 to 128 bits, arbitrary binary-point placement, overflow handling methods (wrap or saturation), and rounding methods (ceiling, convergent, floor, nearest, round, simplest, and zero). Fixed-Point Tool in Fixed-Point Designer™ facilitates the conversion of floating-point data types to fixed point. For configuration of fixed-point properties, the tool tracks overflows, as well as maxima and minima.

Code Generation

Once you have developed your algorithm or communications system, you can automatically generate C code from it for verification, rapid prototyping, and implementation. Most System objects, functions, and blocks in Communications System Toolbox can generate ANSI/ISO C code using MATLAB Coder, Simulink Coder™, or Embedded Coder®. A subset of System objects and Simulink blocks can also generate HDL code. To leverage your existing intellectual property, you can select optimizations for specific processor architectures and integrate legacy C code with the generated code. You can also generate C code for floating-point and fixed-point data types.

DSP Prototyping

DSPs are used in communications system implementation for verification, rapid prototyping, or final hardware implementation. Using processor-in-the-loop (PIL) simulation in Embedded Coder, you can verify your generated source code and execute your algorithm on a supported target processor.

FPGA Prototyping

FPGAs are used in communications systems for implementing high-speed signal processing algorithms. Using FPGA-in-the-loop (FIL) in HDL Verifier™, you can test RTL code in real hardware for any existing HDL code. You can do that with either manually written code or automatically generated code by running your algorithm’s implementation code on a target processor.