Case study / Project archive
GNSS Anti-Spoofing
Signal-analysis and machine-learning experiments for detecting GNSS spoofing patterns.
Historical team prototype; individual contribution is not independently established. AI-assisted portfolio development.
The idea
The problem
Explore whether signal-derived features and learned models can distinguish GNSS spoofing patterns; dataset and evaluation evidence are needed before claiming detection performance.
The implementation
What I built
The source implements signal-feature preparation, dataset construction, weighted model fusion, and threshold search. The README names a team; the exact personal task split has not been independently established.
Features
- Extract 18 configured signal-quality, geometry, and cross-satellite features from epoch-grouped CSV observations.
- Combine normalized LSTM reconstruction error with XGBoost probabilities in a weighted decision.
- Tune a decision threshold on validation scores and prepare separate tabular and sequence datasets.
Architecture
- Python feature extraction normalizes CSV column names, groups satellite observations by epoch, and writes feature records.
- PyTorch sequence datasets and XGBoost inputs share a training-fitted scaler; the ensemble combines both outputs. Missing feature data triggers synthetic-data generation.
Validation and measured results
- Source reviewed on 15 October 2026. The application and its external integrations were not executed in this review.
- The actual public repository name ends with a dot: gnss-antispoofing. Feature extraction, ensemble prediction, and dataset code were inspected. The 18-feature count is implementation scope; README recall, false-alarm, and latency targets were not reproduced.
Limits and unfinished work
- Some signal features use simplified formulas or defaults, and absent input can produce synthetic data. The code's random stratified split does not establish held-out receiver/scenario performance.
- No live receiver integration, independently verified spoofing detection rate, or GNSS protection claim is made.
- Older source can contain superseded descriptions. Numerical impact, adoption, awards, and deployment claims are not carried into this entry.
Evidence and sources
- Reviewed source and implementation
Public README and selected implementation files; source inspection only, without a reproduced runtime or benchmark. Inspected files: src/feature_extractor.py, src/ensemble.py, src/dataset.py.