Un système SIGINT moderne est un pipeline logiciel qui consomme des échantillons en bande de base complexe — données IQ — et produit du renseignement. Antennes et front-ends analogiques existent pour livrer ces échantillons proprement ; tout ce qui transforme ces échantillons en piste, transcription, classification ou géolocalisation se produit en logiciel. Cet article parcourt le pipeline de bout en bout : matériel, capture, canalisation, démodulation, radiogoniométrie, accélération, intégration avec l'image opérationnelle et stockage. Le public est constitué d'ingénieurs et de chefs de programme construisant ou évaluant une pile de radio logicielle (SDR) à usage défense.
Lecture adjacente : notre vue d'ensemble des composants de plateforme SIGINT couvre la décomposition au niveau système ; cet article zoome sur le cœur de traitement de signal qui se trouve entre l'antenne et l'analyste.
1. La pile pipeline SDR
Le pipeline a trois couches. Le front-end matériel couvre l'antenne, l'amplificateur faible bruit, le filtrage, le mélange et la conversion analogique-numérique. Dans les déploiements défense et recherche, la famille Ettus USRP (X310, X410, N320) avec RFNoC est le cheval de bataille — grande bande instantanée, timing discipliné GPS, et une fabrique FPGA qui permet de pousser le DSP sur la radio elle-même. ADALM-Pluto sert pour la formation et le travail COTS à faible budget. Pour l'usage embarqué tactique, les variantes Microsemi/Microchip RFSoC et les pièces intégrées AMD/Xilinx Zynq UltraScale+ RFSoC effondrent front-end, ADC et FPGA en une seule puce — attractives pour les nœuds SWaP-contraints sur drones ou collecteurs portés.
La couche pilote et transport expose la radio au logiciel user-space. UHD est l'API native USRP et la référence canonique. SoapySDR est une abstraction agnostique au fournisseur qui permet au même pipeline de cibler USRP, LimeSDR, BladeRF, HackRF ou Pluto avec un changement de configuration au runtime — inestimable quand les collecteurs déployés sont hétérogènes. VITA 49 (VRT) est le format filaire standard pour l'IQ streamé dans les architectures plus larges ; si vous comptez partager de l'IQ entre sous-systèmes ou sur le réseau, planifiez VITA 49 dès le premier jour plutôt que de le rétrofiter.
Le framework de traitement est là où vit le graphe DSP. GNU Radio est l'environnement de flowgraph Python/C++ standard de la communauté, avec une riche bibliothèque de blocs — rapide pour prototyper et de plus en plus capable en production. REDHAWK, à l'origine un projet du US Naval Research Laboratory, est le framework par défaut des programmes SIGINT gouvernementaux : modèle de composant basé CORBA, intégration FPGA native et un récit de déploiement aligné sur l'IT défense. Les pipelines personnalisés (C++/CUDA brut, ou Rust où les équipes ont investi) apparaissent quand les budgets de latence ou de déterminisme dépassent ce que les runtimes flowgraph fournissent.
2. Capture et stockage IQ
Le premier problème dur est le volume. Le calcul de stockage est implacable : octets par seconde = taux d'échantillonnage × 2 (I et Q) × octets par échantillon. Une capture 100 MS/s en IQ 16 bits fait 400 Mo/s — 1,44 To/heure, 34 To/jour, par récepteur. Doublez pour les étages intermédiaires float 32 bits. Un collecteur cohérent à quatre canaux à 200 MS/s sature un lien 10 GbE avant tout traitement.
Trois leviers réduisent la facture. Premièrement, capturer à la largeur d'échantillon native de la radio (12 ou 14 bits packés) plutôt que de promouvoir à 16 ou 32 bits sur le fil. Deuxièmement, canaliser tôt — n'enregistrer que les sous-bandes d'intérêt plutôt que la pleine bande passante. Troisièmement, utiliser SigMF (Signal Metadata Format) comme convention de fichier. SigMF stocke l'IQ dans un fichier binaire .sigmf-data à côté d'un fichier JSON .sigmf-meta contenant taux d'échantillonnage, fréquence centrale, type de données, timing, géolocalisation et annotations arbitraires. C'est ce qui se rapproche le plus d'un standard IQ portable, et contrairement aux formats propriétaires fournisseur, il survit au pipeline analyste.
Pour la rétention longue durée, la compression sans perte — FLAC adaptée pour l'IQ, ou codecs spécifiques au domaine comme Zstandard sur l'IQ entier packé — produit une réduction de 1,3 à 1,8× avec reconstruction totale. La compression avec perte (quantification, décimation, élagage spectral) n'est acceptable que si l'usage aval est borné ; une fois les bits jetés, vous ne pouvez pas rejouer la chaîne de démodulation sur une hypothèse différente.
3. Canalisation
Les récepteurs SIGINT large bande capturent des dizaines ou centaines de MHz à la fois. Le pipeline de traitement n'opère presque jamais directement sur la bande passante complète — il divise le flux large bande en canaux étroits pour analyse par signal. C'est la canalisation, et l'algorithme de choix est le canaliseur polyphase à banc de filtres (PFB).
Un canaliseur PFB combine un filtre prototype passe-bas, une décomposition polyphase et une FFT pour produire N flux de sortie en bande étroite régulièrement espacés depuis une entrée large bande — à une fraction du coût de faire tourner N descentes de fréquence indépendantes. Le compromis est la rigidité : l'espacement de canal est fixé par la taille de la FFT et le taux d'entrée, donc un PFB 1024 points sur un flux 100 MS/s vous donne 1024 canaux de ~97,6 kHz chacun, que vos signaux cibles entrent ou non dans cette grille.
Pour les plans de canaux irréguliers (un cluster Tetra à espacement 25 kHz co-résident avec du LTE à 1,4 MHz), une approche à deux étages est standard : un PFB grossier pour la division large bande, puis tuners et rééchantillonneurs arbitraires par canal. Les canaliseurs basés FFT (overlap-save avec fenêtrage en domaine fréquentiel) sont une alternative quand les canaux sont épars et irréguliers — vous payez plus par canal mais évitez l'effort de conception du filtre prototype. Le bon choix dépend de l'occupation de canal : les grilles uniformes denses favorisent le PFB, les canaux épars sélectionnés favorisent FFT-shift-extract.
4. Démodulation et décodage
Une fois un signal isolé dans son propre canal étroit, le pipeline le classifie et le démodule. Les formes d'onde que vous rencontrerez régulièrement dans le travail défense incluent FM bande étroite et BLU (voix legacy, radioamateur, maritime), DMR et dPMR (radio mobile terrestre numérique largement utilisée en Europe de l'Est et par certains paramilitaires), TETRA (radio trunkée de sécurité publique et militaire), P25 (sécurité publique NATO/US), et LTE/5G NR (cellulaire commercial de plus en plus coopté pour comm tactiques). Chacune a une chaîne de démodulation connue — récupération de timing symbole, synchronisation porteuse, égalisation, framing par slot, correction d'erreur — et une spec publiée.
La partie difficile est de savoir quelle chaîne de démodulation faire tourner. La classification automatique de modulation (AMC) se place devant la démodulation : étant donné un signal inconnu, inférer la famille de modulation (PSK, FSK, QAM, OFDM, GMSK, …) et l'ordre, puis dispatcher vers le démodulateur correspondant. L'AMC classique utilise cumulants d'ordre élevé et features cyclostationnaires ; l'AMC moderne est dominée par les modèles CNN et transformer entraînés sur des datasets IQ synthétiques et sur-l'air. Notre article classification de signaux avec ML couvre le côté modèle en profondeur ; le point d'intégration avec le pipeline SDR est un bloc classifieur qui consomme un tenseur IQ à fenêtre fixe et émet une étiquette de modulation plus une confiance dans le flux de métadonnées.
5. Radiogoniométrie
Localiser un émetteur est un sous-pipeline distinct. Trois techniques dominent. Time Difference of Arrival (TDOA) utilise deux récepteurs spatialement séparés ou plus et exploite la différence picoseconde de temps d'arrivée pour localiser hyperboliquement l'émetteur — précise sur longues bases, nécessite une synchronisation temporelle serrée. Angle of Arrival (AOA) utilise un réseau d'antennes sur un seul site et des algorithmes de radiogoniométrie (MUSIC, ESPRIT, Watson-Watt) pour estimer le relèvement — moins cher à déployer que TDOA mais la précision se dégrade avec les multitrajets. Frequency Difference of Arrival (FDOA) exploite les différences Doppler entre récepteurs en mouvement, utile pour la collecte aéroportée ou satellite.
Les trois ont besoin de récepteurs synchronisés. Les oscillateurs disciplinés GPS (GPSDO) donnent ~10 ns RMS de timing sur un réseau ad-hoc ; pour une précision supérieure, les références OCXO ou rubidium avec transport PTP-sur-fibre sont l'étape suivante. White Rabbit pousse une synchronisation sous-nanoseconde là où la géométrie peut porter la fibre. L'article architecture réseau de radiogoniométrie détaille la pile de synchronisation.
La réalité souvent ignorée est la dilution géométrique de précision (GDOP) : même avec timing et SNR parfaits, la géométrie de vos récepteurs par rapport à la cible détermine l'ellipse d'erreur de position résultante. Une base linéaire vous donne une ellipse longue et fine perpendiculaire à la ligne — précise en travers, inutile en long. Planifier la géométrie de collecte est un problème d'ingénierie SIGINT, pas seulement un problème d'antenne.
6. Accélération GPU et FPGA
Aux taux large bande, les CPU manquent de marge. Deux chemins d'accélération dominent, et chacun a un domaine où il gagne.
Le GPU (CUDA) gagne là où la charge est data-parallèle et tolère la latence. Grandes FFT, canalisation PFB, corrélation par filtre adapté par lots, inférence ML et balayage large bande sont des charges GPU textbook. cuFFT et les blocs GNU Radio accélérés GPU de NVIDIA rendent cela accessible ; un seul A100 ou L40 canalisera et pré-classifiera quelques centaines de MHz de spectre en temps réel. Le coût est la latence — le transfert PCIe plus le surcoût de lancement de kernel vous placent dans la plage de la milliseconde, ce qui est bien pour l'analyse mais pas pour la EW en boucle fermée.
Le FPGA gagne là où la latence est sous-milliseconde ou là où le pipeline est fixe et le volume est trop élevé pour quitter la radio. Canalisation initiale sur RFNoC, démodulation faible latence pour liaisons de données protégées, désentrelacement d'émetteurs radar pulsés, et toute boucle de décision qui doit battre une trame radio unique appartiennent au FPGA. Le coût est le temps de développement : un algorithme résident FPGA fait 3-10× l'effort d'ingénierie du kernel GPU équivalent, et l'intégration dans la chaîne d'outils (HLS, simulation, fermeture de timing) demande des compétences spécialisées. Notre article optimisation de modèles pour l'inférence edge couvre la question connexe d'écraser les modèles ML dans du matériel classe edge.
Le motif pratique est hybride : FPGA pour le canaliseur front-end et toute boucle temps-réel dure, GPU pour le gros des analytiques post-canalisation, CPU pour le contrôle et l'orchestration. Évitez de débattre de CPU-vs-GPU-vs-FPGA dans l'abstrait — choisissez par étage, par budget de latence et économie unitaire.
7. Intégration avec l'image opérationnelle
Un pipeline SIGINT qui produit des détections autonomes est à moitié construit. Les sorties — pistes d'émetteurs, étiquettes de modulation, ellipses de géolocalisation, charges utiles décodées — doivent s'écouler dans l'image opérationnelle commune plus large, où elles sont fusionnées avec EO/IR, radar et autres sources. Traitez chaque détection SIGINT comme une piste avec les mêmes champs qu'une piste radar porterait : identifiant, position avec incertitude, temps, classification et attribution de source. C'est le contrat que les moteurs de fusion (Link 16, NATO STANAG, gestionnaires de pistes personnalisés) attendent ; le guide de fusion de données défense couvre le côté réception.
La gestion de la classification compte opérationnellement. L'IQ brut est fréquemment classifié ; les produits dérivés (un relèvement, une étiquette de modulation, un network-id) sont souvent moins classifiés que l'IQ source. Le pipeline doit porter des métadonnées de classification par produit et imposer les règles de libération à la frontière de fusion — si vous laissez l'IQ brut fuir dans un flux de pistes non classifié, le programme est terminé. Le premier étage d'un pipeline de fusion (sources et schémas) est là où les étiquettes de classification deviennent des champs de schéma applicables.
Le cross-cueing est le motif à haute valeur : une détection SIGINT déclenche un capteur EO/IR à pivoter et confirmer, ou une piste radar déclenche un récepteur SIGINT directionnel à écouter au relèvement. Cela exige que le pipeline publie les détections suffisamment vite — en quelques secondes après la première détection — pour que le capteur récepteur puisse agir avant que l'émetteur ne bouge ou ne cesse de transmettre.
8. Stockage, récupération et rejeu
Les systèmes SIGINT retiennent trois tiers de données. Le tier chaud contient l'IQ récent (heures à jours), typiquement sur des baies NVMe dimensionnées pour le taux d'ingestion complet ; c'est là que se produisent le rejeu forensique et la re-démodulation. Le tier tiède contient les produits réduits — captures bande étroite canalisées, métadonnées de détection, clips classifiés-comme-intéressants — sur stockage objet avec des heures de latence de récupération. Le tier froid contient les archives long terme sur bande ou stockage objet profond, généralement seulement l'index de métadonnées plus des extraits IQ sélectivement retenus.
Les moteurs de requête pour la couche de métadonnées se divisent selon un axe familier. kdb+ reste le choix pour les séries temporelles de style tick avec latence de requête sous-milliseconde sur d'énormes fenêtres — racines financières, mais ajustement naturel pour les trains d'impulsions d'émetteur et les flux de détection denses. ClickHouse est le poids lourd open-source : stockage colonne, très rapide sur les agrégations, et maintenant largement déployé dans l'analytique SIGINT défense où les budgets de licence comptent. Les moteurs de séries temporelles personnalisés (construits sur mesure sur Parquet plus un index de pistes) apparaissent quand le schéma est trop irrégulier pour l'une ou l'autre option sur étagère.
Le motif de rejeu est le retour opérationnel. Un analyste signale une détection à 14:32 ; le pipeline récupère la fenêtre IQ correspondante depuis le tier chaud, rejoue la démodulation avec l'hypothèse de l'analyste (modulation différente, framing différent, égaliseur différent), et présente le résultat aux côtés de la détection originale. Le même chemin de rejeu supporte la formation : des détections synthétiques injectées dans l'IQ archivé deviennent une suite de régression pour le classifieur. Construisez le rejeu dès le premier jour — le boulonner plus tard signifie reconstruire la couche de stockage.
De l'IQ au renseignement, honnêtement
Le pipeline ci-dessus n'est pas exotique. Chaque programme SIGINT mature fait tourner une version de celui-ci, et la barre d'ingénierie est bien comprise. Ce qui sépare un pipeline SDR compétent d'un pipeline fragile est la discipline aux frontières — SigMF au lieu de blobs binaires sur mesure, VITA 49 au lieu d'UDP ad-hoc, schémas conscients de la classification au lieu de métadonnées en clair, le rejeu comme fonctionnalité de première classe au lieu d'arrière-pensée. Ces décisions sont bon marché au premier jour et chères au jour 800.