RF characterization workbench for Spire TDOA/FDOA geolocation collections. Classify, characterize, and triage RF emitters from a browser.
The GEOx RF Classifier turns raw Spire RF geolocation collections into a labeled, triaged RF picture. Drop one or more GeoJSON collections into the browser and the application classifies every fix, assigns a confidence tier, plots the results on an interactive map, and builds a sortable catalog you can filter, replay, interrogate, and export.
Every fix is assigned a signature class (jammer, interference, emitter, co-site) using a parametric match against the geolocation fields in the collection.
Per-fix detail includes carrier offset, bandwidth, SNR, SINR, error ellipse geometry, cluster membership, and the satellite pair behind each solution.
Confidence tiers A through D separate actionable fixes from geometry-limited or spurious solutions, and triage mode hides the noise with one switch.
Copy formatted fix records, export the filtered catalog to CSV, or run an Intel Lookup for a grounded plain-language brief on any loaded collection.
The Catalog drop zone accepts multiple Spire RF collections in a single session. Each loaded file appears in the file list with its band and fix count. Fixes from all loaded collections merge into one catalog, so you can build a multi-band, multi-pass picture of an area of interest.
The Context overlays drop zone adds reference geometry to the map without affecting the catalog. Use it to bring in areas of interest, boundaries, infrastructure layers, or prior reporting.
Sixteen basemaps are available from the left panel, grouped by use case. Switch at any time; the fix layer and overlays persist across basemap changes.
| Use case | Recommended basemaps |
|---|---|
| Low-light operations floor | Dark, ESRI Firefly (tactical satellite backdrop) |
| General analysis | Voyager (readable default), Positron, OpenStreetMap |
| Imagery context | ESRI satellite, Mapbox satellite + streets |
| Terrain assessment | ESRI topographic, terrain relief, OpenTopoMap, Mapbox outdoors, Stamen Terrain |
| High-contrast print or briefing | Stamen Toner (black and white) |
| Maritime | ESRI ocean |
Each fix is a colored circle. Color and size encode signature class: jammers are the largest and warmest markers, clean emitters render green, and low-confidence or spurious fixes render small and gray. Hover any marker for a summary; click to open a popup and highlight the matching catalog row.
Toggle Error ellipses to draw the 95% error ellipse for each fix, built from the major and minor semiaxes and azimuth in the collection. Ellipses are the honest footprint of a geolocation. A tight ellipse supports targeting-grade language; a long thin ellipse should be treated as a bearing.
Six stat cards above the map track the filtered set in real time: Catalog set (fixes passing filters), Jammers, Interference, Clean emitters, Tier A, and Bands · collects. Click the Jammers card to fly the map to the strongest jammer site.
When swept jammer activity is present, a priority banner appears above the map identifying the highest-priority track on signature grounds: the single site with the most hits, its mean position, sweep width, and time of collect, with a Locate button that centers the map on it.
The map, the stat cards, the priority banner, and the catalog table all operate on the same filtered set. Change a filter and every view updates together, so what you see plotted is always exactly what you would export.
| Control | Effect |
|---|---|
| Band | Chip per detected band (L1, L2, L5, UHF, VHF, and so on). Toggle bands in and out of the picture. |
| Class | Include or exclude each signature class (jammer, interference, co-site, emitter, low-confidence, spurious). |
| Confidence tier | Include or exclude tiers A through D. Tier definitions are in Section 12. |
| Min SNR | Slider, 0 dB and up. Drops fixes below the threshold. |
| Max CEP95 | Slider, up to 350 km. Drops fixes whose 95% circular error exceeds the threshold. |
| Search | Free-text match against position, frequency, band, class, and time of collect. |
| Triage mode | One switch that hides the three noise classes: LOW-CONF, SPURIOUS, and weak or ambiguous interference. On by default. |
The Emitter Catalog lists every fix passing the current filters. Click any column header to sort; click a row to select it and highlight the fix on the map. Hover a column header for its definition.
| Column | Meaning |
|---|---|
| Band | Band, detected from carrier frequency. |
| Idx | Fix index within its collection. |
| Class | Signature class assigned by the classifier. |
| Tier | Confidence tier from SNR and CEP95. |
| Time of Collect | Collection start time (UTC) of the pass the fix came from. |
| Satellite | Spacecraft in the geolocation pair, parsed from the collection IDs. |
| Batch/Iter | Batch and solver iteration the fix came from. |
| Lat / Lon | Estimated source position, degrees N and E. |
| Freq MHz | Measured fine carrier frequency. |
| ΔF kHz | Carrier offset from band center. Wide scatter within one site indicates a swept emitter. |
| BW kHz | Detection filter bandwidth (filter-limited). |
| SNR / SINR | Post-detection signal-to-noise and signal-to-interference-plus-noise ratios, dB. |
| Gap | SNR minus SINR. Near zero means the signal is self-noise limited, a jammer signature. |
| CEP95 km | 95% circular error probable. |
| Clust | Number of fixes within 3 km of this one. |
| Source file | The loaded collection the fix came from. |
Toggle Time-lapse to replay the collection as it was solved. Fixes appear in batch, then solver iteration, then index order, with a running clock, so you can watch a site accumulate hits over the pass and separate persistent sites from one-off detections.
Intel Lookup generates a short, plain-language intelligence brief about one loaded collection, written for a reader who is not an RF specialist. Select a collection, optionally type a question, and run the lookup.
The brief is generated under strict grounding rules:
The application ports the GEOx build pipeline classifier into the browser. It runs in two stages: confidence tiering from solution quality, then signature classification from spectral and spatial behavior.
| Tier | Criteria | Handling |
|---|---|---|
| A | SNR ≥ 15 dB and CEP95 < 8 km | High confidence. Supports point reporting. |
| B | SNR ≥ 12 dB and CEP95 < 20 km | Good confidence. Actionable with error ellipse shown. |
| C | Below A/B thresholds | Use with caution. Treat as area or bearing. |
| D | CEP95 > 100 km | Discard. |
A site is flagged as swept when three or more fixes fall within 3 km of one another, the cluster's median SNR−SINR gap is under 3 dB, and the carrier is swept across more than 150 kHz. Sweeping drives the two highest-interest classes.
| Class | Assigned when | Interpretation |
|---|---|---|
| JAMMER · swept | GNSS band, swept site | Single site, 3+ hits within 3 km, carrier swept over 150 kHz, SNR on top of SINR. Wideband jammer. |
| INTF · strong | GNSS band, SNR ≥ 20 dB | Strong GNSS interference source in a contested floor. |
| INTF · moderate | GNSS band, tier A or B | Moderate GNSS interference source. |
| INTF · weak/amb | GNSS band, tier C or D | Weak or ambiguous single-pass detection. Hidden in triage mode. |
| CO-SITE · multi-freq | Non-GNSS band, swept site | Co-located multi-frequency comms hits. Flagged for analyst review. |
| EMITTER · clean | Non-GNSS, gap ≥ 5 dB, tier A or B | Narrowband emitter 5 dB or more above the floor. |
| EMITTER · congested | Non-GNSS, tier A or B | Emitter in a congested band, near other signals' floor. |
| LOW-CONF | Non-GNSS, remaining fixes | Geometry-limited fix. Treat as bearing or area. Hidden in triage mode. |
| SPURIOUS | Non-GNSS, tier D or CEP95 > 50 km | Unusable solution. Discard. Hidden in triage mode. |
When SNR and SINR sit on top of each other, the signal is limited by its own noise floor rather than the environment. Combined with GNSS-band operation and carrier sweep, that is the wideband jammer signature.
Sort by position, then look at the ΔF column. Wide carrier offset scatter within a single 3 km site means the emitter is sweeping, even before the classifier flags it.
The Clust column counts fixes within 3 km. High counts across passes indicate a persistent site worth a named track; singletons in triage-hidden classes are usually noise.
Turn on error ellipses before drawing conclusions about any specific facility. A fix is a probability surface. Tier A fixes with tight ellipses support point language; everything else is an area.
Current classification is behavioral, driven by the populated geolocation fields (carrier, channel, SNR-to-SINR gap, spatial recurrence). Type-level classification and specific emitter identification arrive as parametric fields and raw IQ enter the pipeline.