Vai al contenuto
Sistemi Radar

Il radar digitale: campionamento diretto in RF, conversione in banda base, formazione digitale dei fasci, Capon, radar cognitivo

Il sottocampionamento nelle zone di Nyquist, la quantizzazione e il jitter, la conversione digitale in banda base, la formazione digitale dei fasci e il metodo di Capon dimostrato che separa due sorgenti più vicine del fascio, MIMO, radar cognitivo e apprendimento automatico.

Per decenni un radar è stato in gran parte hardware analogico: oscillatori, mixer, filtri a frequenza intermedia, rivelatori, sfasatori. Oggi il convertitore analogico-digitale si è avvicinato all’antenna fino quasi a toccarla, e quasi tutto quello che le lezioni precedenti hanno descritto (compressione d’impulso, Doppler, CFAR, formazione dei fasci, inseguimento) è software. Questa lezione descrive il radar digitale moderno: il campionamento diretto in radiofrequenza, la conversione digitale in banda base, la formazione digitale dei fasci e le stime ad alta risoluzione, i radar MIMO, il radar cognitivo e l’uso dell’apprendimento automatico. Il codice campiona un segnale a 3,21 GHz con un convertitore a 2,4 GS/s, lo porta in banda base, e separa due sorgenti più vicine della larghezza del fascio.

L’idea in parole semplici

Un tempo un radar era un armadio di circuiti, ognuno con un compito fisso: filtrare, convertire, rivelare. Oggi il segnale viene trasformato in numeri appena esce dall’antenna, e tutto il resto lo fa un calcolatore. È la stessa evoluzione delle radio, diventate smartphone: lo stesso hardware, con programmi diversi, fa cose diverse. Per il radar questo significa formare molti fasci contemporaneamente, cambiare forma d’onda a ogni impulso, adattarsi all’ambiente e usare l’intelligenza artificiale per riconoscere i bersagli.

Dal ricevitore supereterodina al campionamento diretto

Il ricevitore classico è una supereterodina: il segnale a radiofrequenza viene amplificato, convertito a una frequenza intermedia fissa con un oscillatore locale, filtrato, e infine rivelato; nei radar coerenti si estraggono in analogico le componenti in fase e in quadratura (I e Q). Ogni stadio introduce errori: sbilanciamento tra I e Q, derive termiche, prodotti spuri dei mixer.

Il convertitore campiona in un punto sempre più vicino all’antenna:

  • campionamento a frequenza intermedia: un solo mixer, poi il convertitore; I e Q si ottengono numericamente, senza sbilanciamenti;
  • campionamento diretto in RF: con convertitori da alcuni GS/s (miliardi di campioni al secondo) e banda analogica d’ingresso di diversi GHz, il segnale in banda L, S e anche C viene campionato direttamente, senza mixer.

Il campionamento diretto sfrutta il sottocampionamento (campionamento passa-banda): un segnale a frequenza f_0 più alta di f_s/2 compare, dopo il campionamento, a |f_0 - k f_s| con k intero. Non è un errore se il segnale occupa una sola zona di Nyquist (gli intervalli larghi f_s/2) e un filtro analogico elimina le altre. Con f_s = 2{,}4 GS/s, un segnale a 3,21 GHz è nella terza zona (da 2,4 a 3,6 GHz) e compare a 0,81 GHz.

La quantizzazione. Un convertitore ideale a N bit, con una sinusoide a fondo scala, ha un rapporto segnale/rumore di quantizzazione

    \[ SNR_q = 6{,}02\,N + 1{,}76\ \text{dB} \]

(il passo di quantizzazione \Delta dà un errore uniforme di potenza \Delta^2/12, e la sinusoide di ampiezza 2^{N-1}\Delta ha potenza 2^{2N}\Delta^2/8; il rapporto è 1{,}5\cdot 2^{2N}). A 12 bit fa 74 dB. I convertitori reali hanno un numero di bit effettivi (ENOB) più basso, per il rumore e la non linearità e soprattutto per il jitter dell’orologio: un errore di tempo \sigma_t su un segnale a frequenza f_0 limita il rapporto a -20\log_{10}(2\pi f_0\sigma_t), quindi a 3 GHz servono orologi con jitter di decine di femtosecondi. Per questo il campionamento diretto nelle bande più alte è recente.

La conversione digitale in banda base (DDC, digital down-conversion): il segnale campionato viene moltiplicato per un oscillatore numerico e^{-j2\pi f_a n/f_s} (NCO) che lo porta a frequenza zero, poi filtrato e decimato (si tiene un campione ogni M), perché la banda utile è molto più stretta di f_s/2. Il risultato sono i campioni complessi I e Q a bassa velocità, su cui lavorano gli algoritmi delle lezioni precedenti. Nel codice, decimando per 16, si passa da 2,4 GS/s a 150 MS/s e la fase del segnale (0,300 rad) viene misurata esattamente.

Dal campionamento diretto alla banda base
Il segnale a 3,21 GHz, nella terza zona di Nyquist, dopo il campionamento a 2,4 GS/s compare a 0,81 GHz; l’oscillatore numerico lo porta a frequenza zero, il filtro passa-basso elimina il resto e la decimazione riduce la velocità dei campioni.

La formazione digitale dei fasci

In una schiera a scansione elettronica analogica (lezione sulle schiere di fase) gli sfasatori formano un fascio alla volta. Se invece ogni elemento (o ogni sottoschiera) ha il proprio ricevitore e convertitore, i segnali di tutti gli elementi arrivano al calcolatore, e i fasci si formano dopo, numericamente: y(\theta) = \mathbf{w}(\theta)^H\mathbf{x}, con \mathbf{x} il vettore dei campioni degli N elementi e \mathbf{w}(\theta) = \mathbf{a}(\theta) il vettore di puntamento, a_n = e^{j2\pi n d\sin\theta/\lambda}.

Le conseguenze sono profonde:

  • molti fasci simultanei dagli stessi dati: il radar ascolta in tutte le direzioni insieme, trasmettendo un fascio largo e ricevendo con tanti fasci stretti;
  • annullamento adattativo dei disturbatori (lezione sul clutter) e cancellazione del clutter spazio-temporale (STAP), che richiedono l’accesso ai segnali dei singoli elementi;
  • stime ad alta risoluzione della direzione, oltre il limite della larghezza del fascio.

Il fascio classico ha risoluzione angolare limitata dall’apertura: per 16 elementi a \lambda/2, circa 0{,}886\cdot 2/N radianti, cioè 6,3°. Due sorgenti a 10° e 14° cadono nello stesso fascio e si vedono come un solo picco. Il metodo di Capon (MVDR, minimum variance distortionless response) calcola per ogni direzione i pesi che lasciano passare senza distorsione la direzione \theta e minimizzano la potenza totale in uscita:

    \[ \min_{\mathbf{w}}\ \mathbf{w}^H\mathbf{R}\mathbf{w}\quad\text{con}\quad \mathbf{w}^H\mathbf{a}(\theta) = 1\ \Longrightarrow\ \mathbf{w} = \frac{\mathbf{R}^{-1}\mathbf{a}}{\mathbf{a}^H\mathbf{R}^{-1}\mathbf{a}},\qquad P(\theta) = \frac{1}{\mathbf{a}^H(\theta)\mathbf{R}^{-1}\mathbf{a}(\theta)} \]

dove \mathbf{R} = E[\mathbf{x}\mathbf{x}^H] è la matrice di covarianza dei segnali degli elementi, stimata dai dati. (La soluzione si ricava con i moltiplicatori di Lagrange: il gradiente di \mathbf{w}^H\mathbf{R}\mathbf{w} - \mu(\mathbf{w}^H\mathbf{a} - 1) si annulla per \mathbf{R}\mathbf{w} = \mu\mathbf{a}, e il vincolo fissa \mu.) Quando punta su \theta, Capon mette automaticamente degli zeri sulle sorgenti vicine, e i due picchi si separano. Nella simulazione (200 istantanee, 10 dB di rapporto segnale/rumore per elemento), il fascio classico mostra un solo picco a 11,9°, mentre Capon trova 10,1° e 14,0° con un avvallamento di 5,4 dB tra i due. Altri metodi della stessa famiglia, come MUSIC ed ESPRIT, sfruttano la struttura degli autovettori di \mathbf{R} (sottospazio del segnale e del rumore). Il prezzo è la necessità di molte istantanee e la sensibilità agli errori di calibrazione della schiera.

Fascio classico e Capon con due sorgenti vicine
Il fascio classico, grigio, mostra un unico picco largo tra le due sorgenti a 10 e 14 gradi; lo spettro di Capon, blu, ha due picchi stretti nelle posizioni giuste.

Radar MIMO

Nei radar MIMO (lezione sui radar FMCW) ogni trasmettitore emette una forma d’onda distinguibile (ortogonale nel tempo, in frequenza o con codici), e ogni ricevitore separa i contributi dei diversi trasmettitori. Con M trasmettitori e N ricevitori si ottiene una schiera virtuale di M\cdot N elementi, le cui posizioni sono le somme delle posizioni di trasmettitori e ricevitori: con 3 trasmettitori e 4 ricevitori opportunamente distanziati, 12 elementi virtuali in fila. La risoluzione angolare è quella dell’apertura virtuale, con soli 7 canali fisici. I radar automobilistici di ultima generazione (“radar 4D”, con la misura anche dell’elevazione) arrivano a centinaia di canali virtuali con più chip in cascata.

Il radar cognitivo e software-defined

Se tutto è software, anche la forma d’onda può cambiare da un impulso all’altro. Un radar definito dal software usa hardware generico (convertitori veloci, FPGA, processori grafici) e carica funzioni diverse: sorveglianza, inseguimento, mappatura, perfino comunicazione. Il passo successivo è il radar cognitivo, che chiude il ciclo tra ricezione e trasmissione:

  • sceglie la forma d’onda in base all’ambiente: frequenze libere da interferenze, banda maggiore dove serve risoluzione, impulsi più lunghi per i bersagli lontani;
  • gestisce le risorse (il tempo del radar): visite più frequenti ai bersagli che manovrano, meno a quelli prevedibili, ricerca nelle zone più probabili;
  • condivide lo spettro con le comunicazioni (il 5G e il radar usano bande vicine o comuni), anche con forme d’onda che svolgono insieme le due funzioni (ISAC, integrated sensing and communication, prevista nel 6G).

L’apprendimento automatico nel radar

Le reti neurali (corso di Machine Learning) entrano a tutti i livelli della catena:

  • classificazione dei bersagli dal micro-Doppler (lezione dagli scan points agli oggetti): pedoni, ciclisti, droni, uccelli hanno firme Doppler-tempo diverse, che una rete convoluzionale riconosce come immagini;
  • rivelazione: reti che lavorano direttamente sulla mappa distanza-Doppler o sulle nuvole di punti e sostituiscono o affiancano CFAR e raggruppamento;
  • riconoscimento delle forme d’onda nei ricevitori di guerra elettronica;
  • gestione delle risorse con l’apprendimento per rinforzo (corso di Reinforcement Learning): l’agente decide dove e come puntare il radar e viene premiato dalla qualità dell’inseguimento;
  • fusione con telecamere e lidar nei veicoli autonomi.

I limiti sono quelli noti: servono molti dati etichettati (spesso generati con simulatori), le reti possono sbagliare in modo imprevedibile fuori dalle condizioni di addestramento, e nelle applicazioni di sicurezza (automotive, aviazione) bisogna dimostrare l’affidabilità. Per questo gli algoritmi classici, con le loro garanzie (probabilità di falso allarme costante, filtri di Kalman), restano lo scheletro, e l’apprendimento automatico si aggiunge dove i modelli sono troppo complicati da scrivere a mano.

In sintesi

  • Il convertitore si è avvicinato all’antenna: campionamento diretto in RF con sottocampionamento nelle zone di Nyquist, poi conversione digitale in banda base (NCO, filtro, decimazione).
  • La dinamica del convertitore (6,02N + 1,76 dB) e il jitter dell’orologio limitano le prestazioni.
  • La formazione digitale dei fasci dà molti fasci insieme, annullamento adattativo e stime ad alta risoluzione (Capon, MUSIC) oltre la larghezza del fascio.
  • MIMO, radar definiti dal software e cognitivi adattano forma d’onda e risorse all’ambiente.
  • L’apprendimento automatico aiuta in classificazione, rivelazione e gestione delle risorse, affiancando gli algoritmi classici.

Il codice

import numpy as np

rng = np.random.default_rng(0)

# 1) campionamento diretto in RF: un segnale a 3,21 GHz campionato a 2,4 GS/s (terza zona di Nyquist)
fs, f0 = 2.4e9, 3.21e9
zona = int(f0 // (fs / 2)) + 1
alias = abs(f0 - round(f0 / fs) * fs)
print(f"segnale a {f0 / 1e9:.2f} GHz, fs = {fs / 1e9:.1f} GS/s: zona di Nyquist {zona}, compare a {alias / 1e9:.2f} GHz")
n = np.arange(8192)
bit = 12
x = 0.9 * np.cos(2 * np.pi * f0 * n / fs + 0.3) + rng.normal(0, 1e-4, len(n))
xq = np.round(x * 2 ** (bit - 1)) / 2 ** (bit - 1)                  # convertitore a 12 bit
spettro = np.abs(np.fft.rfft(xq * np.hanning(len(n))))
picco = np.argmax(spettro) * fs / len(n)
err = xq - x
snr = 10 * np.log10(np.mean((0.9 * np.cos(2 * np.pi * f0 * n / fs + 0.3)) ** 2) / np.mean(err ** 2))
print(f"picco della FFT a {picco / 1e9:.3f} GHz; SNR di quantizzazione {snr:.1f} dB (teoria 6,02 N + 1,76 + 20 log 0,9 = {6.02 * bit + 1.76 + 20 * np.log10(0.9):.1f} dB)")

# conversione digitale in banda base: oscillatore numerico (NCO), filtro e decimazione per 16
nco = np.exp(-2j * np.pi * alias * n / fs)
bb = xq * nco
h = np.hamming(129); h /= h.sum()                                    # filtro passa-basso FIR
bb = np.convolve(bb, h, "same")[::16]
print(f"dopo la decimazione per 16: {len(bb)} campioni complessi a {fs / 16 / 1e6:.0f} MS/s, fase misurata {np.angle(np.mean(bb[10:-10])):.3f} rad (vera 0,300)")

# 2) formazione digitale dei fasci: 16 elementi a mezza lunghezza d'onda, due sorgenti a 10 e 14 gradi
N, d = 16, 0.5
ang = np.radians([10.0, 14.0])
vett = lambda th: np.exp(2j * np.pi * d * np.arange(N)[:, None] * np.sin(np.atleast_1d(th)))
K = 200                                                              # istantanee
S = (rng.normal(size=(2, K)) + 1j * rng.normal(size=(2, K))) / np.sqrt(2)
rumore = (rng.normal(size=(N, K)) + 1j * rng.normal(size=(N, K))) / np.sqrt(2) * 10 ** (-10 / 20)
X = vett(ang) @ S + rumore                                           # SNR 10 dB per elemento
Rxx = X @ X.conj().T / K
griglia = np.radians(np.linspace(-30, 30, 1201))
A = vett(griglia)
fascio = np.real(np.sum(A.conj() * (Rxx @ A), axis=0)) / N ** 2      # tutti i fasci insieme, dagli stessi dati
Ri = np.linalg.inv(Rxx)
capon = 1 / np.real(np.sum(A.conj() * (Ri @ A), axis=0))             # Capon (MVDR)
def picchi(p):                                                       # massimi locali entro 3 dB dal più alto
    i = np.where((p[1:-1] > p[:-2]) & (p[1:-1] > p[2:]))[0] + 1
    return np.degrees(griglia[i[p[i] > p.max() / 2]])
print(f"larghezza del fascio a -3 dB: {np.degrees(0.886 * 2 / N):.1f} gradi, sorgenti distanti 4 gradi")
for nome, p in (("fascio classico", fascio), ("Capon", capon)):
    tra = p[(griglia > np.radians(10.5)) & (griglia < np.radians(13.5))].min()
    print(f"{nome:15s}: picchi a {np.round(picchi(p), 1)} gradi, minimo tra le sorgenti {10 * np.log10(tra / p.max()):.1f} dB")

L’esecuzione stampa la terza zona di Nyquist e il segnale a 0,81 GHz, 73,0 dB di rapporto segnale/rumore di quantizzazione (teoria 73,1 dB per un’ampiezza di 0,9 del fondo scala), 512 campioni complessi a 150 MS/s con la fase di 0,300 rad, un fascio di 6,3°, un solo picco a 11,9° per il fascio classico e i due picchi a 10,1° e 14,0° per Capon.

Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
0
Would love your thoughts, please comment.x
()
x