Nowoczesny system SIGINT to pipeline programowy, który konsumuje złożone próbki pasma podstawowego — dane IQ — i produkuje wywiad. Anteny i analogowe front-endy istnieją po to, by dostarczać te próbki czysto; wszystko, co zamienia te próbki w track, transkrypt, klasyfikację lub geolokalizację, dzieje się w oprogramowaniu. Ten artykuł omawia pipeline od końca do końca: sprzęt, przechwytywanie, kanalizację, demodulację, namierzanie kierunku, akcelerację, integrację z obrazem operacyjnym i przechowywanie. Adresatami są inżynierowie i kierownicy programów budujący lub oceniający stos radia programowalnego (SDR) dla zastosowań obronnych.

Lektura sąsiednia: nasz przegląd komponentów platformy SIGINT obejmuje dekompozycję na poziomie systemu; ten artykuł powiększa rdzeń przetwarzania sygnału, który siedzi między anteną a analitykiem.

1. Stos pipeline'u SDR

Pipeline ma trzy warstwy. Sprzętowy front-end obejmuje antenę, wzmacniacz niskoszumowy, filtrację, miksowanie i konwersję analogowo-cyfrową. We wdrożeniach obronnych i badawczych koniem roboczym jest rodzina Ettus USRP (X310, X410, N320) z RFNoC — duże pasmo chwilowe, taktowanie zdyscyplinowane GPS i FPGA pozwalające wepchnąć DSP w samo radio. ADALM-Pluto obsługuje szkolenia i pracę COTS o niskim budżecie. Do taktycznych zastosowań wbudowanych warianty Microsemi/Microchip RFSoC oraz zintegrowane AMD/Xilinx Zynq UltraScale+ RFSoC zwijają front-end, ADC i FPGA w jeden chip — atrakcyjne dla węzłów o ograniczeniach SWaP na dronach lub kolektorach plecakowych.

Warstwa sterownika i transportu udostępnia radio oprogramowaniu user-space. UHD to natywne API USRP i kanoniczny punkt odniesienia. SoapySDR to abstrakcja niezależna od dostawcy, pozwalająca temu samemu pipeline'owi celować w USRP, LimeSDR, BladeRF, HackRF lub Pluto przez zmianę konfiguracji w runtime — nieoceniona, gdy fielded kolektory są heterogeniczne. VITA 49 (VRT) to standardowy format wire dla strumieniowanego IQ w większych architekturach; jeśli zamierzasz dzielić IQ między podsystemami lub przez sieć, planuj VITA 49 od pierwszego dnia, a nie dorabiaj go potem.

Framework przetwarzania to miejsce, gdzie żyje graf DSP. GNU Radio to standardowe społecznościowo środowisko flowgraph Python/C++ z bogatą biblioteką bloków — szybkie do prototypowania i coraz bardziej zdolne produkcyjnie. REDHAWK, pierwotnie projekt U.S. Naval Research Laboratory, to framework, do którego domyślnie sięgają rządowe programy SIGINT: model komponentowy oparty na CORBA, natywna integracja FPGA i historia wdrożeniowa zgodna z obronnym IT. Niestandardowe pipeline'y (czysty C++/CUDA lub Rust tam, gdzie zespoły zainwestowały) pojawiają się, gdy budżet latencji lub determinizmu przekracza to, co oferują runtime'y flowgraph.

2. Przechwytywanie i przechowywanie IQ

Pierwszy trudny problem to wolumen. Matematyka przechowywania jest bezlitosna: bajty na sekundę to sample rate × 2 (I i Q) × bajty na próbkę. Przechwyt 100 MS/s przy 16-bitowym IQ to 400 MB/s — 1,44 TB/godz., 34 TB/dzień, na odbiornik. Podwój to dla 32-bitowych etapów pośrednich. Czterokanałowy koherentny kolektor przy 200 MS/s wysyca łącze 10 GbE, zanim w ogóle zacznie się przetwarzanie.

Trzy dźwignie redukują rachunek. Po pierwsze, przechwytuj w natywnej szerokości próbki radia (12 lub 14 bitów spakowane), zamiast promować do 16 lub 32 bitów na wire. Po drugie, kanalizuj wcześnie — rejestruj tylko interesujące podpasma zamiast pełnego passband. Po trzecie, używaj SigMF (Signal Metadata Format) jako konwencji pliku. SigMF przechowuje IQ w binarnym pliku .sigmf-data obok pliku JSON .sigmf-meta zawierającego sample rate, częstotliwość środkową, datatype, timing, geolokalizację i dowolne adnotacje. To najbliższe społeczności portable'owemu standardowi IQ, i w odróżnieniu od proprietarnych formatów dostawcy przeżywa pipeline analityka.

Dla retencji długoterminowej kompresja bezstratna — FLAC zaadaptowany do IQ lub domenowe kodeki jak Zstandard na pakowanym integerowym IQ — daje redukcję 1,3–1,8× z pełną rekonstrukcyjnością. Kompresja stratna (kwantyzacja, decymacja, przycinanie spektralne) jest akceptowalna tylko, gdy zastosowanie downstream jest ograniczone; raz wyrzucone bity nie pozwalają ponownie uruchomić łańcucha demod na innej hipotezie.

3. Kanalizacja

Szerokopasmowe odbiorniki SIGINT przechwytują dziesiątki lub setki MHz naraz. Pipeline przetwarzania niemal nigdy nie operuje na pełnym passband bezpośrednio — dzieli strumień szerokopasmowy na wąskie kanały do analizy per-sygnał. To kanalizacja, a algorytmem z wyboru jest kanalizator z polifazowym filterbank (PFB).

Kanalizator PFB łączy prototypowy filtr dolnoprzepustowy, dekompozycję polifazową i FFT, by wyprodukować N równomiernie rozmieszczonych wąskopasmowych strumieni wyjściowych z jednego wejścia szerokopasmowego — za ułamek kosztu uruchamiania N niezależnych down-converterów. Wadą jest sztywność: rozstaw kanałów jest stały, zdefiniowany przez rozmiar FFT i sample rate wejścia, więc 1024-punktowy PFB na strumieniu 100 MS/s daje 1024 kanały po ~97,6 kHz, niezależnie czy twoje sygnały docelowe pasują do tej siatki.

Dla nieregularnych planów kanałów (klaster Tetra przy rozstawie 25 kHz koegzystujący z LTE 1,4 MHz) standardem jest podejście dwustopniowe: gruby PFB do szerokopasmowego podziału, potem per-kanałowe arbitralne tunery i resamplery. Kanalizatory oparte na FFT (overlap-save z okienkowaniem w domenie częstotliwości) są alternatywą, gdy kanały są rzadkie i nieregularne — płacisz więcej per-kanał, ale unikasz wysiłku projektowania filtru prototypowego. Właściwy wybór zależy od zajętości kanałów: gęste jednolite siatki faworyzują PFB, rzadkie wyselekcjonowane kanały — FFT-shift-extract.

4. Demodulacja i dekodowanie

Gdy sygnał jest wyizolowany we własnym wąskim kanale, pipeline go klasyfikuje i demoduluje. Przebiegi, które powtarzalnie spotkasz w pracy obronnej, obejmują wąskopasmowy FM i SSB (głos starsze, amatorskie, morskie), DMR i dPMR (cyfrowe radio land-mobile używane szeroko w Europie Wschodniej i przez niektóre formacje paramilitarne), TETRA (radio trunkingowe public-safety i wojskowe), P25 (NATO/US public-safety) oraz LTE/5G NR (komercyjna komórkowa coraz częściej kooptowana do komunikacji taktycznej). Każdy ma znany łańcuch demod — odzysk timingu symboli, sync nośnej, korekcję, framing slotów, korekcję błędów — i opublikowaną specyfikację.

Trudna część to wiedzieć, który łańcuch demod uruchomić. Automatyczna klasyfikacja modulacji (AMC) siedzi przed demodulacją: dla nieznanego sygnału inferuje rodzinę modulacji (PSK, FSK, QAM, OFDM, GMSK, …) i rząd, a następnie dyspozycjonuje do pasującego demodulatora. Klasyczna AMC używa kumulant wysokiego rzędu i cech cyklostacjonarnych; nowoczesna AMC jest zdominowana przez modele CNN i transformer trenowane na syntetycznych i over-the-air zbiorach danych IQ. Nasz artykuł klasyfikacja sygnałów z ML dogłębnie omawia stronę modelu; punktem integracji z pipeline'em SDR jest blok klasyfikatora konsumujący tensor IQ o stałym oknie i emitujący etykietę modulacji plus pewność do strumienia metadanych.

5. Namierzanie kierunku

Lokalizowanie emitera to oddzielny sub-pipeline. Dominują trzy techniki. Time Difference of Arrival (TDOA) używa dwóch lub więcej rozdzielonych przestrzennie odbiorników i wykorzystuje pikosekundowe różnice w czasie przybycia sygnału, by hiperbolicznie zlokalizować emiter — dokładne na długich bazach, wymaga ścisłej synchronizacji czasu. Angle of Arrival (AOA) używa szyku antenowego w pojedynczej lokalizacji i algorytmów namierzania (MUSIC, ESPRIT, Watson-Watt) do estymacji kierunku — tańsze we wdrożeniu niż TDOA, ale dokładność degraduje się przy multipath. Frequency Difference of Arrival (FDOA) wykorzystuje różnice Dopplera między ruchomymi odbiornikami, użyteczne dla kolektorów lotniczych lub satelitarnych.

Wszystkie trzy potrzebują zsynchronizowanych odbiorników. Oscylatory zdyscyplinowane GPS (GPSDO) dają ~10 ns RMS timingu w sieci ad-hoc; dla wyższej dokładności następnym krokiem są OCXO lub rubidowe referencje z transportem PTP-over-fiber. White Rabbit popycha synchronizację sub-nanosekundową tam, gdzie geometria pozwala na światłowód. Artykuł architektura sieci namierzania opisuje szczegóły stosu synchronizacji.

Często ignorowaną rzeczywistością jest geometric dilution of precision (GDOP): nawet przy doskonałym timingu i SNR geometria twoich odbiorników wobec celu determinuje wynikową elipsę błędu pozycji. Liniowa baza daje długą, cienką elipsę prostopadłą do linii — dokładną w poprzek toru, bezużyteczną wzdłuż. Planowanie geometrii kolekcji to problem inżynierski SIGINT, a nie tylko antenowy.

6. Akceleracja GPU i FPGA

Przy szerokopasmowych rate'ach CPU traci zapas. Dominują dwie ścieżki akceleracji i każda ma domenę, w której wygrywa.

GPU (CUDA) wygrywa tam, gdzie obciążenie jest danioparalelne i tolerancyjne na latencję. Duże FFT, kanalizacja PFB, batched matched-filter correlation, inferencja ML i szerokopasmowe przeszukiwanie to podręcznikowe obciążenia GPU. cuFFT i bloki GNU Radio przyspieszone GPU od NVIDII czynią to dostępnym; pojedyncze A100 lub L40 będzie kanalizować i wstępnie klasyfikować kilkaset MHz spektrum w rate'ach real-time. Koszt to latencja — transfer PCIe plus narzut uruchomienia kernela stawia cię w zakresie milisekund, co jest OK do analizy, ale nie do EW w pętli zamkniętej.

FPGA wygrywa tam, gdzie latencja jest sub-milisekundowa lub gdzie pipeline jest stały, a wolumen za duży, by opuścić radio. Początkowa kanalizacja na RFNoC, niskolatencyjna demod dla łącz danych chronionych, deinterleaving impulsowych emiterów radarowych i każda pętla decyzyjna, która musi pobić pojedynczą ramkę radia, należą do FPGA. Koszt to czas rozwoju: algorytm rezydujący w FPGA to 3–10× więcej wysiłku inżynierskiego niż ekwiwalent kernela GPU, a integracja z toolchainem (HLS, symulacja, timing closure) wymaga specjalistycznych umiejętności. Nasz tekst optymalizacja modeli pod inferencję brzegową omawia powiązane pytanie wciskania modeli ML w sprzęt klasy brzegowej.

Praktyczny wzorzec to hybryda: FPGA dla front-endowego kanalizatora i każdej pętli twardego real-time, GPU dla większości analityki po kanalizacji, CPU do kontroli i orkiestracji. Unikaj debaty CPU-vs-GPU-vs-FPGA w abstrakcji — wybieraj per-etap, według budżetu latencji i jednostkowej ekonomii.

7. Integracja z obrazem operacyjnym

Pipeline SIGINT produkujący samodzielne detekcje jest zbudowany w połowie. Wyjścia — tracki emiterów, etykiety modulacji, elipsy geolokalizacji, zdekodowane ładunki — muszą płynąć do szerszego wspólnego obrazu operacyjnego, gdzie są fuzjonowane z EO/IR, radarem i innymi źródłami. Traktuj każdą detekcję SIGINT jako track z tymi samymi polami, które miałby track radarowy: identyfikator, pozycja z niepewnością, czas, klasyfikacja i atrybucja źródła. To kontrakt, którego oczekują silniki fuzji (Link 16, NATO STANAG, własne menedżery tracków); przewodnik po fuzji danych obronnych opisuje stronę odbierającą.

Obsługa klasyfikacji ma znaczenie operacyjnie. Surowy IQ jest często niejawny; pochodne produkty (kierunek, etykieta modulacji, network-id) są często mniej niejawne niż źródłowy IQ. Pipeline musi przenosić metadane klasyfikacji per-produkt i wymuszać reguły release na granicy fuzji — jeśli pozwolisz, by surowy IQ wyciekł do nieklasyfikowanego strumienia tracków, program się kończy. Pierwszy etap pipeline'u fuzji (źródła i schematy) to miejsce, gdzie etykiety klasyfikacji stają się egzekwowalnymi polami schematu.

Cross-cueing to wzorzec wysokiej wartości: detekcja SIGINT wyzwala sensor EO/IR, by się obrócił i potwierdził, lub track radarowy wyzwala kierunkowy odbiornik SIGINT, by słuchał na danym kierunku. Wymaga to, by pipeline publikował detekcje wystarczająco szybko — w ciągu sekund od pierwszej detekcji — by odbierający sensor zadziałał, zanim emiter się przemieści lub przestanie nadawać.

8. Przechowywanie, wyszukiwanie i odtwarzanie

Systemy SIGINT zatrzymują trzy warstwy danych. Warstwa gorąca trzyma niedawny IQ (godziny do dni), zwykle na macierzach NVMe o wymiarze pełnego rate'u ingestu; to tu zachodzi forensyczne odtwarzanie i ponowna demod. Warstwa ciepła trzyma zredukowane produkty — skanalizowane wąskopasmowe przechwyty, metadane detekcji, klipy oznaczone jako interesujące — na object storage z opóźnieniem odzyskiwania w godzinach. Warstwa zimna trzyma długoterminowe archiwa na taśmie lub głębokim object storage, zazwyczaj tylko indeks metadanych plus selektywnie zatrzymane snippety IQ.

Silniki zapytań do warstwy metadanych dzielą się wzdłuż znanej osi. kdb+ pozostaje wyborem dla danych czasowych w stylu tick z sub-milisekundową latencją zapytań w olbrzymich oknach — finansowe korzenie, ale naturalne dopasowanie do ciągów impulsów emiterów i gęstych strumieni detekcji. ClickHouse to ciężki gracz open-source: column-store, zawstydzająco szybki w agregacjach, obecnie szeroko wdrażany w analityce SIGINT obronnym, gdzie liczą się budżety licencyjne. Niestandardowe silniki time-series (zbudowane na Parquet plus indeksie tracków) pojawiają się, gdy schemat jest zbyt nieregularny dla obu opcji z półki.

Wzorzec odtwarzania to operacyjna nagroda. Analityk flaguje detekcję o 14:32; pipeline odzyskuje pasujące okno IQ z warstwy gorącej, ponownie uruchamia demod z hipotezą analityka (inna modulacja, inny framing, inny equalizer) i prezentuje wynik obok oryginalnej detekcji. Ta sama ścieżka odtwarzania wspiera trening: syntetyczne detekcje wstrzykiwane do zarchiwizowanego IQ stają się zestawem regresji dla klasyfikatora. Buduj odtwarzanie od pierwszego dnia — domalowanie go potem oznacza przebudowę warstwy przechowywania.

Od IQ do wywiadu, uczciwie

Pipeline powyżej nie jest egzotyczny. Każdy dojrzały program SIGINT prowadzi jakąś jego wersję, a poprzeczka inżynierska jest dobrze zrozumiana. To, co odróżnia kompetentny pipeline SDR od kruchego, to dyscyplina na granicach — SigMF zamiast bespoke binarnych blobów, VITA 49 zamiast ad-hoc UDP, schematy świadome klasyfikacji zamiast plaintextowych metadanych, odtwarzanie jako funkcja pierwszej klasy zamiast dodatku. Te decyzje są tanie pierwszego dnia i drogie 800. dnia.