Technical Documentation

Technology

Platform capabilities, architecture, API references, and operational documentation for the Varta Anti-Drone Platform.

Feature Availability by Tier

Each feature is marked by tier availability. Full = complete capability, Basic = limited subset, Node = contributes data, Hub = aggregates data, Receive = receives fleet updates, Admin = manages fleet updates.

Feature Mini v1 Mini v2 Pro Max
Detection & Classification
Multi-Band RF MonitoringFull (freq/power)Full (I/Q, dual RX)Full (I/Q analysis)Full (I/Q + fusion)
RF Signature DatabaseBasic (10 generic bands)Full (43+ IDs)Full (43+ IDs)Full (43+ fused)
5-Path Jammer DetectionFullFullFullFull
Baseline Anomaly DetectionFullFullFullFull
Multi-Band CorrelationBasic (power only)Full (mod + power)Full (mod + power)Full (+ multi-sensor)
Temporal Pattern AnalysisBasic (approach)FullFull (attack prediction)Full (+ fleet-wide)
AI/ML & Advanced Analysis
Cyclostationary AnalysisFullFullFull
FHSS Hop Pattern AnalysisFullFullFull
Modulation ClassificationFullFullFull
Bandwidth DiscriminationFullFullFull
CNN Spectrogram ClassifierFull (ONNX CPU)Full (ResNet-18, 90.3%)Full (TensorRT INT8)
RF Gate Classifier (4 datasets)FullFullFull
Benign Signal RejectionFull (protocol preamble correlators)Full (WiFi STS, BLE access, LoRa CSS)Full
Hybrid ML Decision EngineFull (4 strategies)Full (4 strategies)Full (4 strategies)
Flight Mode InferenceFullFullFull
Multi-Sensor & Geolocation
Multi-Sensor Data FusionNodeNodeNodeHub
TDOA GeolocationFull (3+ sensors)
Phase Interferometry DFFull (DF stations)Hub (fusion)
DF Bearing IntersectionNode (bearing)Hub (intersection)
DF+RSSI HybridNode (bearing)Hub (hybrid)
RSSI TriangulationFull (2+ sensors)
Radar FusionFull (API ingest)
Swarm DetectionFull
NATO MGRS Grid ReferencesFull
Intelligence & Compliance
FAA RemoteID CorrelationBasic (BLE)Basic (BLE)Full (BLE + WiFi bridge)Full (fleet aggregate)
Protected Zone ManagementFull
DJI DroneID / OcuSync DecodeFull (I/Q decode)Full (I/Q decode)Full (map enrichment)
STIX/TAXII 2.1 ExportFull
Acoustic Detection (ML)Full (USB mic)Full (USB mic, 88.9%)Full (USB mic, 88.9%)Full (enriched)
Forensic I/Q CaptureFull (auto capture)Full (auto capture)Full (auto capture)
Field Capture SyncFull (upload to Max)Full (upload to Max)Full (inbox + analysis API)
Historical Threat BrowsingFull (CSV)
Fleet Management & Operations
Sensor Health IntelligenceBasic (local)Basic (local)Basic (local + MQTT)Full (dashboard)
Sensor Lifecycle ManagementFull (25+ states)
Sensor Pairing & AuthFull (bcrypt + HMAC)
Sensor Decommission BlocklistFull
Rapid Signature PipelineBasic (capture)Basic (capture)Full (capture → review → deploy)
Signature Registry OTAReceiveReceiveReceiveAdmin + Mirror
Tactical Web DashboardFull
Security & Safety
Signed Config VerificationFullFullFullFull
TLS 1.3 + mTLS TransportFullFullFullFull
SQLCipher Edge StorageFullFullFull— (TimescaleDB)
Detection ProvenanceFullFullFullFull
Never-CLEAR Safety RuleInvalid sensor data always returns SENSOR_FAILURE, never CLEAR

Read deep-dive documentation for 18 flagship platform capabilities →

Software Stack

Core Runtime

Runtime

Language: Python 3.10+

Signal Processing: NumPy, SciPy

Detection: Cyclostationary, FHSS, RF Gate, Benign Rejector

ML: PyTorch (training), ONNX Runtime (Mini v2), TensorRT INT8 (Pro/Max)

SDR Hardware: Fish Ball SDR ($99, GigE) primary; PlutoSDR, HAMGEEK AD9361 also supported

API Framework: FastAPI (REST + WebSocket)

Internal Transport: gRPC

Data Layer

Storage

Edge DB: SQLite + SQLCipher (AES-256-CBC)

Max DB: TimescaleDB (PostgreSQL hypertable)

Capture Sync: Edge upload pipeline + Max analysis APIs

Monitoring: Prometheus + Grafana

Networking

Comms

Sensor Bus: MQTT via Mosquitto (TLS 1.3, mTLS)

Command Channel: ZeroMQ (CURVE encryption)

Streaming: gRPC (detections, health, alerts)

Real-time UI: WebSocket

Architecture Overview

Visual decision flow diagrams showing how Varta processes signals through the multi-tier detection pipeline.

Multi-Tier Detection Architecture

Four tiers with increasing capability: Mini v1 (frequency/power), Mini v2 (full I/Q + ONNX), Pro (full I/Q + TensorRT), Max (multi-sensor fusion).

graph TB
    subgraph MiniV1["Varta Mini v1 - TinySA"]
        M1[TinySA Spectrum Scan]
        M2[Frequency + Power Only]
        M3[Jammer Heuristic]
        M4[Generic Band Classification]
        M5[10 Generic Bands]
        M1 --> M2 --> M3 --> M4 --> M5
    end

    subgraph MiniV2["Varta Mini v2 - HAMGEEK + Pi 5"]
        V1[Dual-RX I/Q Capture]
        V2[35-Field Feature Extraction]
        V3[NoiseGate + RFGate + BenignReject]
        V4[CNN ONNX on CPU]
        V5[Hybrid ML Decision]
        V6[43+ Specific Signatures]
        V1 --> V2 --> V3 --> V4 --> V5 --> V6
    end

    subgraph Pro["Varta Pro - Fish Ball / PlutoSDR + Jetson"]
        P1[Fish Ball/PlutoSDR I/Q Capture]
        P2[35-Field Feature Extraction]
        P3[NoiseGate + RFGate + BenignReject]
        P4[Cyclostationary + FHSS + Modulation]
        P5[CNN TensorRT on GPU]
        P6[Hybrid ML Decision]
        P7[43+ Specific Signatures]
        P1 --> P2 --> P3 --> P4 --> P5 --> P6 --> P7
    end

    subgraph Max["Varta Max - Command Center"]
        X1[Multiple Sensor Inputs]
        X2[Health-Gated Fusion]
        X3[Calibration Normalization]
        X4[Multi-Band Correlation]
        X5[TDOA/DF/RSSI/Radar Triangulation]
        X6[DroneID + MGRS Enrichment]
        X7[Fused Detection + Position]
        X1 --> X2 --> X3 --> X4 --> X5 --> X6 --> X7
    end

    MiniV1 -.MQTT.-> Max
    MiniV2 -.MQTT.-> Max
    Pro -.MQTT.-> Max

    style MiniV1 fill:#1a3a5c,stroke:#4a9eff,stroke-width:2px
    style MiniV2 fill:#21537a,stroke:#5fb3ff,stroke-width:2px
    style Pro fill:#1a4a2c,stroke:#4aff4a,stroke-width:2px
    style Max fill:#4a3a1a,stroke:#ffaa4a,stroke-width:2px
                            
Overlapping Frequency Challenge

Multiple drone types operate in the same frequency bands. Varta solves this with multi-factor heuristics combining frequency, bandwidth, modulation, hop patterns, and multi-band correlation.

graph TD
    A[2.4 GHz ISM Band] --> B[DJI OcuSync]
    A --> C[ELRS 2.4 GHz]
    A --> D[TBS Tracer]
    A --> E[WiFi Drones]
    A --> F[Consumer FPV]
    A --> G[Wideband Jammer]

    H[900 MHz Band] --> I[Lancet Control]
    H --> J[Orlan-10 Control]
    H --> K[Supercam Control]
    H --> L[ELRS 868/915]
    H --> M[Crossfire 868/915]
    H --> N[Shahed RFD900x]

    style A fill:#f96,stroke:#333,stroke-width:2px
    style H fill:#f96,stroke:#333,stroke-width:2px
                            
Military 900 MHz Separation

How Varta separates 6+ overlapping systems in the 850-1020 MHz band.

flowchart TD
    Start[900 MHz Signal] --> DualBand{Dual-band detected? 868-870 + 902-928 MHz}
    DualBand -->|Yes| Lancet[LANCET confidence 0.85]
    DualBand -->|No| Mod[Modulation Analysis]
    Mod --> LoRa{LoRa CSS?}
    LoRa -->|Yes| HopRate{Hop Rate?}
    HopRate -->|40-60 Hz| LancetSingle[LANCET confidence 0.75]
    HopRate -->|25-500 Hz| ELRS[ELRS confidence 0.75]
    HopRate -->|~50 Hz| Crossfire[CROSSFIRE confidence 0.75]
    LoRa -->|No| FHSS{FHSS Pattern?}
    FHSS -->|Yes| HopSpeed{Hop Speed?}
    HopSpeed -->|1-2 Hz| Orlan[ORLAN-10 confidence 0.70]
    HopSpeed -->|~20 Hz| RFD900x[RFD900x Shahed confidence 0.60]
    FHSS -->|No| Power{Power Level?}
    Power -->|> -50 dBm| MilGeneric[MILITARY_UHF confidence 0.50]
    Power -->|< -50 dBm| D900[DRONE_900 confidence 0.40]

    style Lancet fill:#f33,stroke:#333,stroke-width:3px,color:#fff
    style LancetSingle fill:#f66,stroke:#333,stroke-width:2px
    style Orlan fill:#f96,stroke:#333,stroke-width:2px
    style ELRS fill:#9cf,stroke:#333,stroke-width:2px
    style Crossfire fill:#9cf,stroke:#333,stroke-width:2px
                            
Jammer vs Drone Discrimination

5-path jammer detection ensures no electronic warfare technique evades classification.

flowchart TD
    Start[2.4 GHz Elevated Power] --> Occupancy{Wideband Occupancy >30% bins elevated?}
    Occupancy -->|Yes| FlatnessCheck{Power Flatness Peak-avg < 6 dB?}
    FlatnessCheck -->|Yes| WidebandJam[WIDEBAND JAMMING]
    FlatnessCheck -->|No| BW{Bandwidth?}
    BW -->|> 30 MHz| PossibleJam[Possible wideband]
    BW -->|< 30 MHz| Drone[Likely drone signal]
    Occupancy -->|No| Narrow{Narrow peak >30 dB above avg?}
    Narrow -->|Yes| SpotJam[SPOT JAMMING]
    Narrow -->|No| Signal[Analyze as signal]
    Signal --> ModCheck{Modulation detected?}
    ModCheck -->|Yes| DJI[Drone Confirmed]
    ModCheck -->|No| Temporal{Temporal stability?}
    Temporal -->|Stable| Drone2[Likely drone]
    Temporal -->|Swept/bursts| Jammer2[Likely jammer]
    PossibleJam --> MultiBand{Other bands active?}
    MultiBand -->|Yes 5.8 GHz| DJIVideo[DJI with video - NOT jammer]
    MultiBand -->|No| WidebandJam2[WIDEBAND JAMMING confirmed]

    style WidebandJam fill:#f33,stroke:#333,stroke-width:3px,color:#fff
    style SpotJam fill:#f33,stroke:#333,stroke-width:3px,color:#fff
    style WidebandJam2 fill:#f33,stroke:#333,stroke-width:3px,color:#fff
    style DJI fill:#9cf,stroke:#333,stroke-width:2px
    style DJIVideo fill:#9f9,stroke:#333,stroke-width:2px
                            
Confidence Scoring Algorithm

Multi-factor scoring: frequency (0.35), modulation (0.25), bandwidth (0.20), hop rate (0.15), symbol rate (0.05), with bonuses for cyclostationary and multi-band correlation.

flowchart TD
    Start([Signal Features]) --> FreqScore[Frequency Match 0.35]
    Start --> BWScore[Bandwidth Match 0.20]
    Start --> ModScore[Modulation Match 0.25]
    Start --> HopScore[Hop Rate Match 0.15]
    Start --> SymScore[Symbol Rate Match 0.05]
    Start --> CycloScore[Cyclostationary Bonus +0.15]
    Start --> MultiBandScore[Multi-Band Bonus +0.25]

    FreqScore --> Weights[Weighted Sum]
    BWScore --> Weights
    ModScore --> Weights
    HopScore --> Weights
    SymScore --> Weights

    Weights --> BaseConf[Base Confidence]
    BaseConf --> Bonuses[Add Bonuses]
    CycloScore --> Bonuses
    MultiBandScore --> Bonuses

    Bonuses --> SNRGate{SNR < 10 dB?}
    SNRGate -->|Yes| Cap35[Cap at 0.35]
    SNRGate -->|No| Final[Final Confidence]
    Cap35 --> Clamp[Clamp 0.0-1.0]
    Final --> Clamp
    Clamp --> Output([Confidence Score])

    style Output fill:#9f9,stroke:#333,stroke-width:2px
                            

View full architecture documentation with all decision flows →

Defensive Use Only: Varta Systems is a detection and awareness platform. It does not perform jamming, spoofing, or interference. Users are responsible for local compliance.