Add Mach 5 anomalous target generation#18
Conversation
Implements synthetic high-speed target generation capability for testing anomaly detection systems in retina-tracker. Features: - Generate Mach 5 (~1715 m/s) target trajectories using great circle navigation - Convert trajectories to delay-Doppler detections with realistic characteristics - Configurable start position, heading, duration, and radar geometry - Optional Gaussian noise on delay and Doppler measurements - Output format compatible with retina-tracker .detection files Implementation: - Added generateMach5Trajectory() to src/node/synthetic.js - Added trajectoryToDelayDoppler() for delay-Doppler conversion - Created generate_mach5_targets.js CLI tool with comprehensive options - Added 10 new tests for Mach 5 functionality (120 total tests passing) - Updated README with usage examples and technical details Technical Details: - Mach 5 speed: 1715 m/s at sea level (~3334 knots) - Doppler shifts: Typically >100 Hz (vs <50 Hz for normal aircraft) - Great circle trajectory calculation for realistic earth-surface navigation - Bistatic delay and Doppler computed from ECEF coordinates Usage: node generate_mach5_targets.js --start LAT,LON,ALT --heading DEG --duration SEC Closes #15 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Pull Request Review: Add Mach 5 Anomalous Target GenerationOverall Assessment✅ Approved with minor suggestions This is a well-implemented feature that adds valuable testing capability for anomaly detection systems. The code quality is high, tests are comprehensive, and the documentation is thorough. Code Quality & Best Practices✅ Strengths
🔧 Minor Suggestions
Potential Bugs & Issues
|
Summary
Implements synthetic Mach 5 target generation for testing anomaly detection systems in retina-tracker.
Closes #15
Features
.detectionfiles ready for retina-tracker replayImplementation Details
New Functions in
src/node/synthetic.jsgenerateMach5Trajectory(): Generates positions for Mach 5 target along great circle pathtrajectoryToDelayDoppler(): Converts trajectory to delay-Doppler detectionsCLI Tool:
generate_mach5_targets.jsComprehensive script for generating Mach 5 target data with options for:
Testing
Documentation
Usage Examples
Generate default Mach 5 target:
Custom trajectory heading north:
Perfect measurements (no noise):
Technical Characteristics
Output Format
Compatible with retina-tracker
.detectionfiles:{ "timestamp": 1718747745000, "delay": [156.32], "doppler": [523.45], "snr": [15.2], "adsb": [{ "hex": "MACH5X", "flight": "MACH5", "lat": 37.52, "lon": -122.95, "alt_baro": 49213, "gs": 3332, "track": 90 }] }Integration with retina-tracker
This feature enables testing of anomaly detection in retina-tracker (see offworldlabs/retina-tracker#4). The generated data:
Test Plan
🤖 Generated with Claude Code