Skip to content

rodrihgh/CISSIR

Repository files navigation

CISSIR

dependency - sionna dependency - cvxpy CC BY 4.0

Software and supplementary material for Codebooks with Integral-Split Self-Interference Reduction (CISSIR, pronounced like "scissor"). Please refer to the associated journal paper at IEEE Trans. Wirel. Commun.:

CISSIR: Beam Codebooks with Self-Interference Reduction Guarantees for Integrated Sensing and Communication Beyond 5G

CISSIR diagram

Main features

CISSIR extends 5G-NR beamforming with a principled low self-interference (SI) design to enable integrated sensing and communication (ISAC). CISSIR's main features include:

  • 🛠️ High versatility: Suitable for hybrid or analog, phased or tapered antenna arrays, even under multipath SI.
  • 📝 Theoretical performance guarantees for sensing SNR in the face of analog/mixed-signal distortion.
  • ⚡ Better performance1 and faster2 than cutting-edge beam codebooks for full-duplex communication.
  • 🔄 Easily (re)usable and extendable
    • Entirely written in Python
    • Built on top of sionna and cvxpy, among other open-source libraries.

Requirements

Full Python dependencies in the requirements.txt file, including:

Installation

  1. Install the requirements with conda or pip. We recommend using a virtual environment for this.
  2. To execute the notebooks, we recommend adding the project root to the PYTHONPATH so that the cissir module is accessible everywhere. You can simply create an ad-hoc ipykernel with the proper PYTHONPATH by running the following in the project root:
  • In Unix:
python -m ipykernel install --sys-prefix --name cissir --display-name "CISSIR (python 3)" --env PYTHONPATH "${PYTHONPATH}:${PWD}"
python -m ipykernel install --sys-prefix --name cissir --display-name "CISSIR (python 3)" --env PYTHONPATH "${PYTHONPATH};$(pwd -W)"

Afterwards, you can just execute jupyter lab and run the notebooks with the "CISSIR" kernel.

Structure

Usage

The code can be directly used through Jupyter notebooks. After adjusting the simulation parameters in cissir/params.py, the notebooks can be run in the following recommended order:

1. ray tracing 2. optimization 3. simulation 4. analysis
a. channel a. tapered_cissir a. snr_sensing a. link_level
b. phased_cissir b. si_codebook_comm b. trade_off
c. lonestar c. time_complexity
d. feasibility

Acknowledgment

The authors of this work acknowledge the financial support by the Federal Ministry for Research, Technology and Space (BMFTR) in the programme “Souverän. Digital. Vernetzt.” Joint project 6G-RIC (grant numbers: 16KISK020K, 16KISK030). Rodrigo Hernangómez acknowledges BMBF support in the project KOMSENS-6G (grant number: 16KISK121).

The CISSIR logo has been designed by Risto Avramovski.

Citation

If you use this software or the results of our work, please cite it as:

@article{hernangomez2025cissir,
  title = {{{CISSIR}}: {{Beam Codebooks}} with {{Self-Interference Reduction Guarantees}} for {{Integrated Sensing}} and {{Communication Beyond 5G}}},
  author = {Hernang{\'o}mez, Rodrigo and Fink, Jochen and Cavalcante, Renato Lu{\'i}s Garrido and Sta{\'n}czak, S{\l}awomir},
  year = {2025},
  journal = {IEEE Transactions on Wireless Communications},
  issn = {1558-2248},
  doi = {10.1109/TWC.2025.3625372},
}

Footnotes

  1. In terms of sensing SNR, in comparison with our baseline LoneSTAR

  2. Up to 130 times faster than LoneSTAR for tapered beamforming.