Beam and Beyond: Integrated Sensing and Communication (ISAC): A Communication-Centric MIMO-OFDM Approach

Dec 9, 2025

This article is part of a blog series called Beam and Beyond published by Mathworks on everything RF.

Integrated Sensing and Communication (ISAC) or Joint Communication and Sensing (JCAS) is emerging as a practical solution to address the growing bandwidth demands and increasing bandwidth congestion in new communication networks. The strength of ISAC lies in the word “integrated”. By adding sensing capabilities to new and even existing wireless networks extends their capabilities beyond communication.

As discussed in the previous blog (Beam and Beyond: A Blog Series for Engineers Navigating Wireless Systems with Phased Arrays), technologies such as reconfigurable intelligent surfaces (RIS) can dynamically shape the wireless environment by reflecting or steering signals to improve coverage. ISAC on the other hand, provides real-time environmental context with its sensing capabilities, supporting and enhancing the performance of wireless links.

There could be different levels of integration in ISAC systems, the communication and sensing features could share one or a combination of resources such as the site (be co-located), spectrum, hardware, waveforms or exist within the same signals. By sharing resources, ISAC is an appealing prospect for utilizing existing communication infrastructure (safe-guarding prior multi-million-dollar infrastructure investments), energy constrained systems, compact devices or dense network deployments where complexity and cost must be managed.

Designing a MIMO-OFDM System for Joint Communication and Sensing 

In this blog, an ISAC system is simulated with a joint waveform for both communication and sensing. A communication system is implemented using a Multiple-Input Multiple-Output (MIMO) transmitter and receiver that carry an Orthogonal Frequency Division Multiplexing (OFDM) modulated signal. The goal is to transmit data symbols through a scattering channel while sensing and tracking moving targets present in the environment.

Setting up the scenario

Consider a MIMO-OFDM system operating with a carrier frequency of 6 GHz and a bandwidth of 100 MHz. Both the transmitter and receiver are equipped with uniform linear arrays (ULA) of eight isotropic antennas, spaced at half a wavelength setup with the code below:

Ntx = 8; % Number of Tx antenna elements

Nrx = 8; % Number of Rx antenna elements

element = phased.IsotropicAntennaElement('BackBaffled', true);

txArray = phased.ULA(Ntx, waveLength/2, 'Element', element);

rxArray = phased.ULA(Nrx, waveLength/2, 'Element', element);

The transmitter is located at the origin, with its array oriented along the x-axis, while the receiver is positioned some distance away (e.g., 80m, 60m, 0m) with its array pointing along the negative y-axis. Both are assumed to be static.

Figure 1: Scenario with Tx, Rx and moving targets. ©2025 The MathWorks, Inc. 

The environment between the transmitter and receiver is a rich scattering medium and is modeled using phased.ScatteringMIMOChannel.

These scatterers, whether static or moving, act as radar targets. A scenario with three moving scatterers, acting as targets of interest, is modeled. The maximum path length between the transmitter and receiver is 300 meters, and moving scatterers have velocities not exceeding 50 m/s. 

targetPositions = [60 70 90;   % Target positions (m)

                   -25 15 30;

                     0 0 0];

targetVelocities = [-15 20 0;   % Target velocities (m/s)

                    12 -10 25;

                     0 0 0];

% Platform to model target motion

targetMotion = phased.Platform('InitialPosition', targetPositions, 'Velocity', targetVelocities);

% The values of the reflection coefficients are chosen at random

targetReflectionCoefficients = randn(1, size(targetPositions, 2)) + 1i*randn(1, size(targetPositions, 2));

Step-by-Step Signaling Processing for Joint Communication and Sensing

The signaling scheme is created using the comm.OFDMModulator and comm.OFDMDemodulator objects which house the preamble and the data frame.

1. Initial Channel Sounding: The transmission begins with a preamble, enabling the receiver to obtain an initial channel estimate.

2. Channel Coding: Based on this initial estimate, the receiver computes precoding and combining weights for beamforming. These precoding weights are then fed back to the transmitter, assuming perfect and instantaneous feedback.

3. Data Transmission: The transmitter sends a single frame divided into two subframes. Subframe A carries only data symbols, while Subframe B contains both data symbols and pilots. These pilots serve a dual purpose: facilitating communication and enabling sensing.

Figure 2: OFDM resource grid at the transmitter. ©2025 The MathWorks, Inc. 

4. Channel Estimate and Precoding Weights Update: Upon receiving Subframe B, the receiver uses the pilots to acquire a new channel estimate, recalibrating the precoding and combining weights. The updated precoding weights are relayed back to the transmitter.

5. Radar Data Cube Formation: The current channel estimate is summed across the transmit antenna dimension and stored as a separate page in a radar data cube.

Figure 3: Formation of the radar data cube from the received subframes. ©2025 The MathWorks, Inc. 

This process repeats and once all frames are collected, target positions and relative velocities can be estimated from the radar data cube.

The OFDM symbol is transmitted through a scattering MIMO channel and thermal noise is added to the receiver before performing demodulation. The integrity of the communication link is verified by calculating the BER and examining the constellation diagram of the received signals.

Figure 4: 64-QAM of a received frame. ©2025 The MathWorks, Inc. 

Isolating Motion: Radar Data Cube Processing for Target Detection

Radar data processing was used to isolate moving targets from a dense environment of scatterers. By applying an FFT along the slow-time dimension and zeroing the DC component, static objects were removed based on their zero Doppler shift.

% Perform FFT over the slow-time dimension and zero out the DC component to

% remove static scatterers

Y = fft(radarDataCube, [], 3);

Y(:, :, 1) = 0;

y = ifft(Y, Nframe, 3);

A heatmap is used to visualize the positions of moving scatterers. A range-Doppler response was also generated using non-coherent integration across receive antennas, revealing the sum range and bistatic Doppler shifts of the targets. This approximates the position and velocity of the targets. Note to estimate the actual target velocity multiple distributed transmitters or receiver are required to form a multi-static radar.

Figure 5: Heatmap of moving scatterers. ©2025 The MathWorks, Inc. 

Figure 6: Target range and velocity estimation. ©2025 The MathWorks, Inc. 

Looking Ahead: From Example Models to Real Systems

This example, like many in this series, uses a simplified model as a proof-of-concept. Real-world deployment will involve:

  • More complex environments with clutter
  • Dealing with non-cooperative targets
  • Joint optimization of waveform, hardware, and signal processing chains

Modeling and simulation tools such as MATLAB and Phased Array System Toolbox make it possible to explore these challenges in a controlled environment before moving to lab or field testing. In many ways, ISAC is about resourcefulness. Can the waveform already available be used to squeeze more value out of it? For wireless engineers working with MIMO, mmWave, or 5G technologies, ISAC presents an opportunity to enable advanced features like vehicle tracking, object detection, or environmental mapping, all while using existing signals in a system. 

Have a topic you want us to cover? Email [email protected] or connect on LinkedIn.

Related Resources:

For more about modeling ISAC systems, visit the links below:

Contributed by

MathWorks

Country: United States
View Profile