SSA Quick Reference Card
Hardware Costs
| Component |
Cost |
Quantity |
Total |
| Detection Node (IMX307 + RPi) |
$130 |
50 |
$6,500 |
| Tracking Station |
$550 |
5 |
$2,750 |
| Central Server (VPS) |
$50/mo |
1 |
$600/yr |
| Production Total |
|
|
$9,850 |
Compare: 1 professional site = $330,000
| Metric |
Target |
Method |
| Detection limit |
Mag 10-11 |
IMX307 sensor |
| Astrometry |
5-30 arcsec |
Plate solving |
| Timing sync |
<50 ms |
NTP |
| Triangulation error |
<100 km |
3+ sites |
| Orbit prediction (24h) |
<500 km |
Particle filter |
| Tumble period |
5% accuracy |
Lomb-Scargle |
Key Algorithms
1. Track-and-Stack
SNR improvement = βN frames
100 frames β 2.5 mag improvement
1000 frames β 3.3 mag improvement
2. Admissible Region
Generate particles: 10,000-100,000
Constraints: Energy < 0, Perigee > 100 km
Propagate: GPU-friendly
Prune: On new observation
3. Triangulation
Minimum sites: 3
Baseline: 500-3000 km ideal
Altitude calculation: Line intersection
File Structure
ssa/
βββ edge/
β βββ streak_detector.py # Hough transform
β βββ plate_solver.py # Astrometry
β βββ timing_sync.py # NTP
β βββ uploader.py # API client
β
βββ central/
β βββ models.py # Database
β βββ catalog.py # TLE management
β βββ track_associator.py # Link observations
β βββ triangulator.py # Multi-site position
β βββ orbit_solver.py # Gauss + particles
β βββ api.py # REST API
β
βββ characterization/
βββ lightcurve.py # Tumble detection
βββ material_classifier.py # Color analysis
Detection Limits
| Object Type |
Size |
Magnitude |
Detectable |
| LEO large debris |
>30 cm |
6-8 |
β
Yes |
| LEO small debris |
10-30 cm |
8-10 |
β
Yes |
| LEO tiny debris |
<10 cm |
>10 |
β οΈ Marginal |
| GEO satellites |
All sizes |
5-10 |
β
Yes |
| MEO |
Most |
7-12 |
β
Yes |
Note: Track-and-stack can improve by 2-3 magnitudes
Timing Requirements
| Task |
Precision |
Method |
| Detection |
<1 ms |
GPS ideal, NTP acceptable |
| Triangulation |
<50 ms |
NTP |
| Orbit determination |
<1 sec |
Standard clock |
| Light curve |
<1 sec |
Standard clock |
Material Classification Colors
| Material |
B-V |
V-R |
R-I |
Notes |
| S-type |
0.5-1.0 |
0.4-0.8 |
0.3-0.6 |
Silicates |
| C-type |
0.3-0.5 |
0.2-0.4 |
0.1-0.3 |
Carbonaceous |
| M-type |
0.4-0.6 |
0.3-0.5 |
0.2-0.4 |
Metallic |
| Solar panel |
0.0-0.2 |
-0.1-0.1 |
-0.2-0.0 |
Active satellite |
Tumble Detection
Method: Lomb-Scargle periodogram
Input: Time series of magnitudes
Output: Period (seconds), Amplitude (mag)
Tumbling: ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠΉ variation with significance >3Ο
Stable: Flat or random variation
Orbit Elements
a = Semi-major axis (km)
e = Eccentricity (dimensionless)
i = Inclination (degrees)
Ξ© = Right Ascension of Ascending Node (degrees)
Ο = Argument of Perigee (degrees)
Ξ½ = True Anomaly (degrees)
Network Topology
Minimum for triangulation: 3 detection nodes
Cost: ~$400
Coverage: Regional
Operational national: 10 detection + 3 tracking
Cost: ~$2,300
Coverage: Continental
Production global: 50 detection + 5 tracking
Cost: ~$9,200
Coverage: Global
Software Dependencies
Edge (Raspberry Pi)
Python 3.8+
OpenCV (cv2)
NumPy
Astropy
Requests
Backoff (for retries)
Central (Server)
Python 3.8+
PostgreSQL 12+
Redis
Skyfield (orbit propagation)
Orekit (orbit determination)
Scipy (signal processing)
API Endpoints
POST /api/v1/streaks # Upload detections
GET /api/v1/objects # List tracked objects
GET /api/v1/objects/<id> # Get object details
POST /api/v1/campaigns # Create observation campaign
GET /api/v1/campaigns/<id> # Get campaign status
Success Metrics
| Milestone |
Criteria |
| Phase 1 |
Detect ISS from 2 nodes |
| Phase 2 |
Triangulate altitude <100 km error |
| Phase 3 |
Refine orbit <500 km (24h prediction) |
| Phase 4 |
Detect tumble period 5% accuracy |
| Production |
Maintain catalog of 1000+ objects |
Common Issues
| Problem |
Solution |
| No detection |
Check threshold, verify camera |
| Timing drift |
Re-sync NTP, consider GPS |
| False positives |
Filter by velocity (planes vs satellites) |
| Cloud cover |
Multi-site redundancy |
| Light pollution |
Background subtraction, dark site |
| Star confusion |
Plate solve, identify stars |
Testing Targets
| Object |
Magnitude |
Purpose |
| ISS |
-3 to -1 |
Baseline detection |
| Hubble |
2-3 |
Medium brightness |
| Sentinel-6 |
4-5 |
Faint detection |
| GOES |
5-7 |
GEO tracking |
CubeSat Cost Estimate
| Component |
Cost |
Notes |
| 3U CubeSat bus |
$25,000 |
COTS |
| Lidar payload |
$35,000 |
Fiber laser + APD |
| Launch (rideshare) |
$30,000 |
SpaceX/Rocket Lab |
| Operations |
$10,000/yr |
Ground station |
| Total per unit |
$90,000-100,000 |
|
| 5-unit constellation |
$450-500K |
Complete SSA |
Key Numbers to Remember
IMX307 read noise: ~1.0 e- (matches $10K cameras)
Detection threshold: Mag 10-11
Track-and-stack gain: βN frames
Timing precision: <50 ms (NTP)
Triangulation minimum: 3 sites
Particle filter: 10,000-100,000 particles
Cost ratio: 25Γ cheaper than traditional
Coverage improvement: Global vs single-point
File Locations
Planning Docs:
βββ SSA Session Summary.md # This conversation
βββ SSA Low Cost Architecture.md # Costs and architecture
βββ SSA Implementation Roadmap.md # Phase-by-phase plan
βββ SSA Bulk Coding Handoff.md # Code specifications
βββ SSA Quick Reference.md # This document
Reference Docs:
βββ Science/Projects/SSA.md # Technical deep dive
βββ Science/Projects/Security cameras SSA.md # Hardware specs
Speed Reference
LEO velocity: 7.8 km/s (28,000 km/h)
LEO period: 90 minutes
GEO velocity: 3.07 km/s (11,000 km/h)
GEO period: 24 hours
Streak speed: 0.5-2Β°/s (LEO)
Frame rate: 25 fps (minimum)
Exposure: 40 ms (1/25 s)
Typical streak length: 100-500 pixels
Altitude from magnitude:
size = 2 Γ distance Γ 10^((mag - H_sun)/5)
where H_sun = -26.74
SNR improvement from stacking:
SNR_stacked = SNR_single Γ βN
Triangulation error:
Ο_position β baseline / (2 Γ tan(parallax_angle/2))
Orbital period:
P = 2Ο Γ β(aΒ³/ΞΌ)
where ΞΌ = 398,600 kmΒ³/sΒ²(Earth)
Admissible region constraints:
Energy < 0 (bound orbit)
Perigee > 6471 km (above Earth surface + 100 km)