Skip to content

Imperial College London MSc Project in Communications and Signal Processing. This project tackles multistatic FMCW localisation under distributed station measurements. The aim is a robust, lightweight, and reproducible optimisation pipeline that improves target localisation accuracy and cross-station consistency with controlled computational cost.

License

Notifications You must be signed in to change notification settings

liyang-D/multistatic-array-sensing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

105 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multistatic Array Sensing

Imperial College London MSc Project in Communications and Signal Processing
Academic year 2024–2025

This repository contains the codebase that accompanies the thesis and poster on multistatic FMCW localisation. The code implements a unified objective with two mapping designs and two solvers, together with scripts for single route studies, multi route comparisons, and parameter scans.

Project Overview

This project tackles multistatic FMCW localisation under distributed station measurements. The aim is a robust, lightweight, and reproducible optimisation pipeline that improves target localisation accuracy and cross-station consistency with controlled computational cost.

Algorithmic framework:

  • A unified, weighted objective balancing (i) data fidelity, (ii) sparsity/interpretability, and (iii) cross-station consistency (geometry/range/angle terms).
  • Two mappings
    • Mask-based: 1D Gaussian soft gates in the frequency domain; physically interpretable and stable.
    • Atom-based: sinusoidal atoms over time/space; more faithful to the physical forward model.
  • Two solvers
    • PG (proximal gradient with backtracking): theoretically robust, safe and steady.
    • GN/LM (damped Gauss–Newton/Levenberg–Marquardt): larger steps and typically faster convergence; stable with acceptance rule.

Project Poster Overview

Repository Layout

.
├── data/              # Output figures and summaries (created automatically)
└── src/               # Project root for running code
    ├── configs/
    │   └── config.yaml            # Template configuration
    ├── experiments/
    │   ├── experiment_single.py   # One route, detailed qualitative plots
    │   ├── experiment_multi.py    # Several routes on one figure for comparison
    │   └── experiment_scan.py     # Parameter scans for η_LS, η_prox, or SNR
    ├── core/              # Library code
    │   ├── station/       # Per-station models, masks and atoms, LS computations
    │   ├── geo/           # Geometry updates, initialisation, box constraints
    │   ├── prox/          # Proximal operators and soft projections
    │   ├── center/        # Centre-level objective and alternating loop
    │   ├── sim/           # Scene and FMCW simulation
    │   ├── utils/         # Common tools
    │   ├── config.py      # Config loading and validation
    │   └── datatypes.py   # Typed containers for measurements and results
    └── tests/             # Early scratch scripts

Experiments include:

  • experiment_single.py

    Runs one mapping with one solver and produces detailed views such as spectra, trajectories and objective traces.

  • experiment_multi.py

    Plots several selected routes together. Useful for quick visual comparison across mapping and solver pairs.

  • experiment_scan.py

    Sweeps one parameter at a time. Supported scans are ls_eta, prox_eta, and scene.propagation.snr_db. Figures and a concise Markdown summary are saved under ../data. The working directory remains src.

Quick Start

  1. Ensure Python is available and install the usual scientific stack.
    Numpy, Scipy, Matplotlib and PyYAML are required.

  2. Edit src/configs/config.yaml to set radar, scene, solver and plotting options.

  3. Run from the src directory. Output goes to ../data (automatically created if missing).

    1. Single route with qualitative figures
    cd src
    python -m experiments.experiment_single
    1. Four-route comparison on a single canvas
    cd src
    python -m experiments.experiment_multi
    1. Parameter scans for a fixed mapping and solver
    cd src
    python -m experiments.experiment_scan

About

Imperial College London MSc Project in Communications and Signal Processing. This project tackles multistatic FMCW localisation under distributed station measurements. The aim is a robust, lightweight, and reproducible optimisation pipeline that improves target localisation accuracy and cross-station consistency with controlled computational cost.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages