TS229 Project Summary - ADS-B Receiver

Example of Trajectory

Project Overview

This project involves developing a real-time ADS-B (Automatic Dependent Surveillance Broadcast) receiver using software-defined radio and MATLAB. Students implement a complete signal processing chain including PPM modulation, temporal/frequency synchronization, CRC encoding/decoding, and aircraft position frame decoding. The final objective is to create an application similar to FlightRadar24 capable of displaying real-time aircraft trajectories within a reception radius around the school. The project covers all aspects from the physical layer to the final application with 3D trajectory visualization.

Practical Applications

This system can be applied for:

  • Local air surveillance: Air traffic control at airports or sensitive areas
  • Search and rescue: Locating aircraft in distress
  • Traffic analysis: Statistical studies of air corridors and route optimization
  • Security: Detection of aerial intrusions in protected zones
  • Training: Educational tool for understanding aeronautical communications and signal processing

Technical Implementation

The project is structured in 12 progressive tasks covering:

Core Components

  • Physical Layer: PPM modulation, signal processing, synchronization
  • Channel Coding: CRC implementation for error detection
  • MAC Layer: Frame structure decoding and aircraft data extraction
  • Application Layer: Real-time visualization and trajectory tracking

Key Features

  • Real-time signal processing at 1090 MHz
  • Doppler effect compensation
  • Multi-aircraft tracking with ICAO address identification
  • 3D visualization with altitude information
  • Distance calculation between receiver and aircraft

Mathematical Tools & Signal Processing

Frame Breakdown

Digital Signal Processing Techniques

  • Pulse Position Modulation (PPM): Binary encoding with 1μs symbol period
    • $p_0(t)$ for bit ‘0’ and $p_1(t)$ for bit ‘1’ impulse functions
    • Signal reconstruction: $s_l(t) = \sum_{k \in \mathbb{Z}} p_{b_k}(t - kT_s)$
  • Correlation-based Synchronization: Cross-correlation for time delay estimation
    • \[\rho(\delta t') = \frac{\int y_l(t)s_p^*(t-\delta t')dt}{\sqrt{\int |s_p(t)|^2 dt \cdot \int |y_l(t)|^2 dt}}\]
  • Maximum Likelihood Detection: Optimal decision rule for noisy channels
    • Decision metric: $|\mathbf{r}_k - v_0[0,1]|_2^2 \lessgtr |\mathbf{r}_k - v_0[1,0]|_2^2$

Mathematical Frameworks

  • Power Spectral Density (PSD): Welch periodogram for signal characterization
    • \(\Gamma_{s_l}(f) = \mathcal{F}\{\widetilde{R}_{s_l}(\tau)\}\) where $\widetilde{R}_{s_l}(\tau)$ is the averaged autocorrelation
  • Cyclostationary Analysis: Processing periodic signal structures

  • CRC Polynomial: $p(x) = x^{24} + x^{23} + x^{22} + \ldots + x^3 + 1$ for error detection

  • CPR Decoding: Compact Position Reporting algorithm for latitude/longitude extraction
    • $\text{lat} = D_{\text{lat}_i}\left(j + \frac{\text{LAT}}{2^{N_b}}\right)$ with geographic zone calculations

Signal Processing Chain

  • Sampling: 20 MHz sampling rate with oversampling factor of 20
  • Matched Filtering: Optimal reception using correlation with known preamble
  • Frequency Compensation: Doppler shift correction for moving aircraft
  • Bit Error Rate (BER): Performance analysis as function of $E_b/N_0$
  • Real-time Processing: Sub-second latency for live aircraft tracking

The code of the project as well as the technical report are available on my GitHub

Merci de votre lecture !