Cramér-Rao Bound Optimization for Active RIS-Empowered ISAC Systems
March 25, 2026 · View on GitHub
This repository contains the MATLAB simulation code for the paper:
Q. Zhu, M. Li, R. Liu, and Q. Liu, "Cramér-Rao bound optimization for active RIS-empowered ISAC systems," IEEE Trans. Wireless Commun., vol. 23, no. 9, pp. 11723--11736, Sep. 2024. [IEEE Xplore]
Overview
We propose a joint transmit beamforming and active reconfigurable intelligent surface (RIS) phase-shift design framework for integrated sensing and communication (ISAC) systems. The Cramér-Rao bound (CRB) for target angle estimation is minimized subject to communication quality-of-service (QoS) constraints and active RIS power budgets. The code implements:
- Active RIS-empowered ISAC system model with joint BS beamforming and RIS phase-shift design
- CRB minimization via alternating optimization: SDP-based beamformer design and SCA-based RIS optimization
- Comparison between active and passive RIS under equivalent total power budgets
- Performance evaluation across multiple system parameters (transmit power, SINR threshold, number of antennas/elements/users, RIS position)
- Beampattern visualization showing spatial power distribution
Requirements
- MATLAB R2022b or later
- CVX (version 2.2 or later) with a compatible SDP solver — http://cvxr.com/cvx/
- If MOSEK is unavailable, CVX will fall back to SDPT3 or SeDuMi automatically
- Manopt (Manifold optimization toolbox) — https://www.manopt.org/
- Used for RIS phase-shift initialization via Riemannian conjugate gradient
Repository Structure
Active-RIS-ISAC-CRB/
├── README.md # This file
├── LICENSE # MIT license
│
├── main_Pb.m # Fig. 4: CRB vs. transmit power
├── main_Gamma.m # Fig. 5: CRB vs. SINR requirement
├── main_M.m # Fig. 6: CRB vs. number of RIS elements
├── main_N.m # Fig. 7: CRB vs. number of BS antennas
├── main_K.m # Fig. 8: CRB vs. number of users
├── main_dis.m # Fig. 9: CRB vs. RIS position
├── main_beam.m # Fig. 10: Beampattern visualization
│
└── function/ # Supporting functions
├── design_main.m # Joint AO-based beamforming and RIS design
├── get_W.m # SDP-based transmit beamformer optimization (CVX)
├── get_phi.m # SCA-based RIS phase-shift optimization (CVX)
├── channel.m # Channel generation (BS-RIS, RIS-target, RIS-user, BS-user)
├── Phi_initial.m # RIS phase-shift initialization (Manopt)
└── eigsort.m # Eigenvalue sorting utility
Quick Start
Step 1: Install dependencies
% Install CVX: download from http://cvxr.com/cvx/ and run
cvx_setup
% Install Manopt: download from https://www.manopt.org/ and add to path
addpath(genpath('/path/to/manopt'));
Step 2: Run figure-generation scripts
Each main script is self-contained and can be run independently:
run('main_Pb.m') % Generates Fig. 4
run('main_Gamma.m') % Generates Fig. 5
Script-to-Figure Mapping
| Script | Paper Figure | Description |
|---|---|---|
main_Pb.m | Fig. 4 | CRB vs. transmit power at BS |
main_Gamma.m | Fig. 5 | CRB and SER vs. SINR requirement |
main_M.m | Fig. 6 | CRB vs. number of RIS elements |
main_N.m | Fig. 7 | CRB vs. number of BS antennas |
main_K.m | Fig. 8 | CRB vs. number of communication users |
main_dis.m | Fig. 9 | CRB vs. horizontal position of RIS |
main_beam.m | Fig. 10 | Spatial beampattern (single realization) |
Note: Each script uses 1000 Monte Carlo iterations by default. For a quick test, reduce
ITERto 2–3. Full runs may take several hours depending on your hardware.
System Parameters
The default parameters correspond to an active RIS-assisted ISAC system:
| Parameter | Value | Description |
|---|---|---|
| BS antennas (N) | 16 | Uniform linear array |
| RIS elements (M) | 8 | Active RIS with amplification |
| Users (K) | 4 | Downlink communication users |
| Noise power | −80 dBm | Receiver noise floor |
| BS power (P_b) | 23 dBm | Transmit power budget (varies by script) |
| RIS power (P_r) | 10 dBm | Active RIS amplification budget |
| Max amplitude (a_max) | 8 | Maximum RIS reflection amplitude |
| SINR threshold (Γ) | 16 dB | Per-user QoS requirement |
| Samples (L) | 1024 | Number of radar snapshots |
Citation
If you use this code in your research, please cite:
@article{zhu2024crb,
author = {Zhu, Qi and Li, Ming and Liu, Rang and Liu, Qian},
title = {Cram\'{e}r-Rao Bound Optimization for Active {RIS}-Empowered {ISAC} Systems},
journal = {IEEE Trans. Wireless Commun.},
year = {2024},
doi = {10.1109/TWC.2024.3384501}
}
Contact
- Qi Zhu — Dalian University of Technology — qzhu@mail.dlut.edu.cn
- Rang Liu — Dalian University of Technology — liurang520@gmail.com
More resources: https://www.minglabdut.com/resource.html
License
This code is provided under the MIT License for academic and research purposes. Please contact the authors for commercial use.