RIS-Aided Integrated Sensing and Communication: Joint Beamforming and Reflection Design

March 25, 2026 · View on GitHub

This repository contains the MATLAB simulation code for the paper:

H. Luo, R. Liu, M. Li, and Q. Liu, "RIS-aided integrated sensing and communication: Joint beamforming and reflection design," IEEE Trans. Veh. Technol., vol. 72, no. 7, pp. 9626-9630, Jul. 2023. [IEEE Xplore]

Overview

We propose a joint transmit beamforming and RIS reflection design framework for RIS-aided integrated sensing and communication (ISAC) systems. The dual-functional base station simultaneously serves multiple communication users and detects multiple targets, with a reconfigurable intelligent surface (RIS) assisting both functionalities. The code implements:

  • Joint beamforming and reflection optimization via alternating optimization with penalty-based reformulation
  • Transmit beamforming design using successive convex approximation (SCA) solved by CVX
  • RIS phase-shift optimization via Riemannian conjugate gradient on the oblique manifold (Manopt)
  • Auxiliary variable update for the penalty-based ADMM framework
  • Performance evaluation of radar SNR vs. transmit power and number of RIS elements, comparing the proposed scheme against baselines (w/o RIS, random RIS)

Requirements

  • MATLAB R2020a or later
  • CVX (version 2.2 or later) with a compatible SDP solver - http://cvxr.com/cvx/
    • If MOSEK is unavailable, CVX will use its default solver (SDPT3 or SeDuMi)
  • Manopt (Manifold optimization toolbox) - https://www.manopt.org/
    • Required for the Riemannian conjugate gradient solver in manifold_solution.m

Repository Structure

RIS-ISAC-Beamforming/
├── README.md                          # This file
├── LICENSE                            # MIT license
├── change_P.m                         # Fig. 3(a): Radar SNR vs. transmit power
├── change_N.m                         # Fig. 3(b): Radar SNR vs. number of RIS elements

└── function/                          # Supporting functions
    ├── generate_channel.m             # Generate all channel matrices (BS-user, RIS-user, etc.)
    ├── ini_W.m                        # Initialize the transmit beamforming matrix
    ├── opt_W.m                        # Optimize transmit beamformer via CVX (SCA subproblem)
    ├── opt_phi.m                      # Optimize RIS phase shifts via manifold optimization
    ├── opt_a.m                        # Optimize auxiliary variables via CVX (ADMM subproblem)
    ├── manifold_solution.m            # Riemannian conjugate gradient solver on oblique manifold
    ├── cal_d.m                        # Compute distance via the law of cosines
    └── cal_angle.m                    # Compute angle via the law of sines

Quick Start

Step 1: Install dependencies

Ensure CVX and Manopt are installed and on the MATLAB path:

run('/path/to/cvx/cvx_setup.m')
addpath('/path/to/manopt')

Step 2: Run figure-generation scripts

ScriptPaper FigureDescription
change_P.mFig. 3(a)Radar SNR vs. transmit power (P = 20 to 40 W)
change_N.mFig. 3(b)Radar SNR vs. number of RIS elements (N = 10 to 60)
run('change_P.m')   % Takes several hours with default 500 Monte Carlo iterations
run('change_N.m')   % Takes several hours with default 500 Monte Carlo iterations

Note: Both scripts involve large-scale Monte Carlo simulations with CVX optimization in each iteration. To obtain quick preliminary results, reduce ITER (e.g., to 3-5) and conv_times (e.g., to 5-10) at the top of each script.

System Parameters

The default parameters correspond to a narrowband RIS-aided ISAC system:

ParameterValueDescription
Transmit antennas (M)16ULA at the BS
RIS elements (N)36 (change_P) / 10-60 (change_N)Passive reflecting elements
Communication users (K)4Randomly located
Targets (T)3Located at -30, 0, +30 degrees
Transmit power (P)20-40 W (change_P) / 35 W (change_N)Total power budget
SINR threshold5 dBPer-user communication QoS
BS-RIS distance35 m
BS-target distance30 m
RIS-user distance3 m
Rician factor3 dBRIS-user channel
Reference path loss-30 dBAt 1 m reference distance

Citation

If you use this code in your research, please cite:

@ARTICLE{10052711,
  author  = {Luo, Honghao and Liu, Rang and Li, Ming and Liu, Qian},
  journal = {IEEE Transactions on Vehicular Technology},
  title   = {RIS-Aided Integrated Sensing and Communication: Joint Beamforming and Reflection Design},
  year    = {2023},
  volume  = {72},
  number  = {7},
  pages   = {9626-9630},
  doi     = {10.1109/TVT.2023.3248657}
}

Contact

More information can be found at: https://www.minglabdut.com/resource.html

License

This project is licensed under the MIT License - see the LICENSE file for details.