Skip to content

Dryoung95/OAM-Spatial-Diversity

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OAM Radar Imaging via Space-Frequency Diversity

Abstract

This repository presents an end-to-end deep learning framework for sparse target reconstruction in Orbital Angular Momentum (OAM) radar imaging. The central challenge in OAM-based imaging is the inherent ill-posedness of the observation matrix $\Phi$, which manifests as a severely high condition number and a critically low effective rank — rendering direct inversion or naive learning-based approaches unstable.

We address this at the physical level through two complementary strategies: (1) Virtual Array Shifting, which introduces per-frequency lateral displacements of the transmit/receive array to break the structural symmetry of the measurement model, and (2) Phase-Randomized Sampling, which injects fixed random phase offsets per receiver to reduce mutual coherence across measurement rows. Together, these interventions reduce the condition number of $\Phi$ from $\sim 10^{13}$ to $\sim 10^{8}$ and increase the effective rank from 7 to over 196, eliminating the central imaging blind spot that plagues conventional OAM configurations.

Built on this physically stabilized observation model, a compact End-to-End Reconstruction Network achieves a median PSNR of 70.00 dB on held-out test data, converging within 30 training epochs.


Key Innovations

1. Physical-Level Observation Matrix Optimization

Rather than compensating for a poorly conditioned forward model through increased network capacity, this work optimizes $\Phi$ directly:

Strategy Mechanism Effect
Virtual Array Shifting Per-frequency lateral displacement of the UCA Breaks rotational symmetry; diversifies row-space of $\Phi$
Phase-Randomized Sampling Fixed random phase offset $\delta_n \sim \mathcal{U}(0, 2\pi)$ per receiver Reduces pairwise mutual coherence between measurement rows
Wideband Multi-Frequency 8 frequencies spanning ±25% bandwidth Multiplies effective rank by factor $F$; fills spectral gaps

Before optimization: condition number $\kappa(\Phi) \approx 10^{13}$, effective rank $\approx 7$. After optimization: condition number $\kappa(\Phi) \approx 10^{8}$, effective rank $> 196$.

2. End-to-End Reconstruction Network

The network (src/model.py) maps complex measurement vectors $\mathbf{y} \in \mathbb{C}^M$ directly to target images $\hat{\mathbf{x}} \in [0,1]^{N \times N}$:

  • Input normalization: per-sample L2 normalization with a learned scale parameter, making the network invariant to scene energy variation.
  • Feature extractor: three-layer MLP with LayerNorm and GELU activations (hidden_dim=768).
  • Spatial decoder: transposed convolution upsampling $6 \times 6 \to 12 \times 12 \to 24 \times 24$ with residual refinement blocks.
  • Loss function: combined L1 + L2 loss ($\alpha = 0.5$), promoting both sparsity and smoothness.

3. Physics Diagnostic Tooling

scripts/diagnose_physics.py is the core methodology validation tool. It performs a systematic parameter sweep over array configurations and reports:

  • Singular value spectrum and effective rank
  • Condition number
  • Mutual coherence $\mu$ of column-normalized $\Phi$
  • Per-mode Bessel function coverage over the target region
  • $\ell = 0$ mode redundancy (pairwise cosine similarity)

This script should be run before any training to verify that the chosen physical parameters yield a computationally tractable observation matrix.


Performance

Evaluated on 1,000 held-out test samples (fixed seed, no augmentation):

Metric Value
PSNR (Median) 70.00 dB
PSNR (Mean ± Std) 63.06 ± 14.54 dB
MAE (Mean) 0.0004
RMSE (Mean) 0.0057
Samples evaluated 1,000

PSNR is capped at 70 dB to prevent trivially easy near-empty samples from dominating aggregate statistics.


Visual Results

Singular Value Spectrum

Normalized singular value spectrum comparing the static baseline vs. the proposed virtual-shift configuration. The proposed method yields consistently higher singular values across all indices, indicating improved conditioning (κ = 2.87×10⁸ vs. 3.66×10⁸).

SVD Spectrum

Reconstruction Comparison

Ground truth (left) vs. network reconstruction (right) on a representative held-out test sample. Sharp edges, circular boundaries, and central-region targets are faithfully recovered.

Reconstruction Sample

Training Convergence

Validation PSNR and training loss over 30 epochs. PSNR peaks at 77.9 dB at epoch 25; training loss drops from 1.2×10⁻¹ to 9.0×10⁻⁵.

Convergence Profile


Project Structure

.
├── src/
│   ├── physics.py        # OAM radar geometry; generates observation matrix Φ
│   ├── dataset.py        # Synthetic sparse target dataset with augmentation
│   ├── model.py          # End-to-end reconstruction network and combined loss
│   └── train.py          # Training loop with mixed-precision and LR warmup
├── scripts/
│   ├── diagnose_physics.py      # Physical stability diagnostic (run before training)
│   ├── evaluate.py              # Quantitative evaluation: PSNR, MAE, RMSE
│   ├── baseline_tikhonov.py     # Tikhonov regularization baseline (Table II)
│   └── plotting/
│       ├── visualize.py         # Qualitative reconstruction visualization
│       ├── plot_paper_figures.py
│       └── plot_convergence.py
├── outputs/
│   ├── best_model.pth           # Best checkpoint (saved by PSNR)
│   └── training_history.json    # Per-epoch loss and PSNR curves
├── results/
│   └── evaluation_metrics.json
├── figures/
│   ├── fig1_singular_values.pdf     # SVD spectrum figure (paper Fig. 1)
│   ├── reconstruction_sample.png    # Reconstruction comparison (paper Fig. 2)
│   └── convergence_profile.png      # Training convergence (paper Fig. 3)
└── requirements.txt

Getting Started

Installation

pip install -r requirements.txt

Requirements (requirements.txt):

torch>=2.0.0
numpy>=1.24.0
scipy>=1.10.0
matplotlib>=3.7.0
tqdm>=4.65.0
Pillow>=9.5.0

For GPU support, install PyTorch with the appropriate CUDA version from pytorch.org.

Step 1 — Validate Physical Configuration

Before training, verify that the observation matrix is computationally tractable:

python scripts/diagnose_physics.py

Key indicators to check:

  • Condition number $\kappa < 10^{9}$
  • Effective rank (SV > 1% of max) $\geq 100$
  • Mutual coherence $\mu < 0.5$
  • $\ell = 0$ pairwise cosine similarity $< 0.9$

Step 2 — Train

python src/train.py

The best checkpoint is saved to outputs/best_model.pth. Training history is written to outputs/training_history.json.

Default configuration: 30 epochs, batch size 64, AdamW with cosine annealing and 10-epoch linear warmup, 30,000 training samples.

Step 3 — Evaluate

python scripts/evaluate.py --checkpoint_path outputs/best_model.pth

Step 4 — Visualize

python scripts/visualize.py

Output is saved to figures/reconstruction_sample.png.


Citation

If you use this work, please cite:

@misc{chen2026oam,
  author    = {Jiayan Chen},
  title     = {OAM Radar Imaging via Space-Frequency Diversity},
  year      = {2026},
  note      = {GitHub repository},
  url       = {https://github.com/Dryoung95/OAM-Spatial-Diversity}
}

License

This project is licensed under the MIT License.

MIT License

Copyright (c) 2026 Jiayan Chen

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages