ADS-B Receiver project
TS229 Project Summary - ADS-B Receiver
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
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 !