Code, Uday Khankhoje

Good science ought to be reproducible and reusable. So wherever we can, the algorithms we develop in the NEMO group are put out as open-source code, for other researchers, students, and engineers to build upon, check, and use on their own problems. Each repository below is paired with the peer-reviewed paper(s) that work out the underlying mathematics. If you are a prospective student or collaborator, this page should give you a fair sense of the kind of work we do.

All code is released under permissive (MIT-style) licenses unless noted otherwise. If you use it in your work, kindly cite the associated paper. Bug reports and pull requests are welcome.

Discrete beamforming for reconfigurable intelligent surfaces (IRS/RIS)

Repository: github.com/udaykdk/opa (MATLAB)

Future 6G networks will rely on intelligent reflecting surfaces to steer radio waves around obstacles and restore coverage. However, real hardware can only realize a finite set of reflection phases at each surface element – so how does one choose them so as to focus the beam in the desired direction? This repository implements a family of optimal partitioning algorithms that solve this discrete beamforming problem to provable optimality in linear time, supporting 1-bit and k-bit phase quantization, arbitrary amplitude/phase constraints, single- and dual-beam designs, and grating-lobe mitigation.

It is rather satisfying to see how a clean idea from discrete optimization can tame an otherwise difficult engineering problem.

Reference paper: Optimum Beamforming and Grating Lobe Mitigation for Intelligent Reflecting Surfaces
Sai Sanjay Narayanan, Uday K Khankhoje, Radha Krishna Ganti; IEEE Transactions on Antennas and Propagation; 72(11), pp.8540-8553, 2024. (link, PDF, arXiv, Github)

AI-driven inverse design of pixelated antennas

Repository: github.com/udaykdk/pixelant (Python / PyTorch / MATLAB)

Designing an antenna conventionally requires an expert to iterate in a simulator over a long period. Can we instead reverse the problem – specify the desired performance and let a neural network arrive at the design? This repository trains deep networks to do precisely that for compact pixelated antennas, learning the map from a desired electromagnetic response (e.g. multiple resonance bands) directly to a physical pixel layout. It contains the machine-learning models and the design pipeline behind our recent inverse-design papers.

If the interplay of electromagnetics and machine learning is your cup of tea, this is a good place to begin.

Reference papers:

  1. Transfer Learning Based Rapid Design of Frequency and Dielectric Agile Antennas
    Aggraj Gupta, Uday Khankhoje; IEEE Journal on Multiscale and Multiphysics Computational Techniques; 10, pp.47-57, 2024. (link, PDF)

  2. Deep-learning Enabled Generalized Inverse Design of Multi-Port Radio-frequency and Sub-Terahertz Passives and Integrated Circuits
    Emir Karahan, Zheng Liu, Aggraj Gupta, Zijian Shao, Jonathan Zhou, Uday Khankhoje, Kaushik Sengupta; Nature Communications; 15(10734), 2024. (link, press release)

  3. Tandem Neural Network based Design of Multi-band Antennas
    Aggraj Gupta, Chandan Bhat, Emir Karahan, Kaushik Sengupta, Uday Khankhoje; IEEE Transactions on Antennas and Propagation; 71(8), pp. 6308-17, 2023. (link, PDF)

Deep learning for inverse scattering

Repository: github.com/sanghviyashiitb/EmbeddingDLinISP-Github (Python / PyTorch)

In problems like breast-cancer screening, we want to recover an image of an object's electrical properties from the fields it scatters – a notoriously ill-posed, non-linear inverse problem. This repository embeds a neural network (ContrastSourceNet) inside the physics-based iterative solver, combining the rigour of electromagnetics with the priors learned by deep learning. It includes pretrained weights and tutorial notebooks, so you can reproduce the reconstructions reported in the paper without much fuss.

It makes for a good entry point into the inverse-imaging work of the group.

Reference paper: Embedding Deep Learning in Inverse Scattering Problems
Yash Sanghvi, Yaswanth Kalepu, and Uday K Khankhoje; IEEE Transactions on Computational Imaging; 6(1) pp. 46-56 2019. (link, PDF, code)
Media coverage: The Hindu.

Also see: Inverse scattering using a joint L1-L2 based regularization
Pratik Shah, Uday K Khankhoje, and Mahta Moghaddam; IEEE Transactions on Antennas and Propagation, 64(4) pp. 1373-1384; 2016. (link, PDF)

Teaching code: transmission lines

For students of Engineering Electromagnetics, here are some short, readable MATLAB scripts to build intuition:

  • TL_imp_matching.m – impedance matching on transmission lines (quarter-wave transformers, single-stub matching) for a complex load.

  • TL_visual.m – an animation of forward, backward, and standing waves on a transmission line.

Looking for the code behind a specific paper that is not listed here? Get in touch – we are always happy to share.