Vai al contenuto
Sistemi Radar

Doppler e radar coerenti: spostamento Doppler, radar coerenti e non coerenti, MTI e pulse-Doppler

Lo spostamento Doppler dimostrato, la differenza tra radar coerenti (STALO, COHO, I/Q) e non coerenti (magnetron), il cancellatore MTI e le velocità cieche, l'elaborazione pulse-Doppler e la scelta della PRF, una simulazione con un edificio e un bersaglio.

Un bersaglio che si muove cambia la frequenza dell’eco: è l’effetto Doppler. Misurarlo permette di conoscere la velocità e, soprattutto, di separare i bersagli che si muovono (aerei, automobili, persone) dalle eco enormi degli oggetti fermi (terreno, edifici, onde del mare), il cosiddetto clutter. Per farlo il radar deve conoscere la fase di ciò che trasmette: è la differenza tra radar coerenti e non coerenti. Questa lezione ricava lo spostamento Doppler, spiega le due architetture, e presenta le due tecniche classiche, il filtro MTI (moving target indication) e l’elaborazione pulse-Doppler, con una simulazione che le confronta.

L’idea in parole semplici

Tutti conoscono l’effetto Doppler dalla sirena di un’ambulanza: quando si avvicina il suono è più acuto, quando si allontana più grave. Con le onde radio succede lo stesso, ma lo spostamento di frequenza è minuscolo, qualche migliaio di hertz su miliardi. Per accorgersene il radar usa un trucco: invece di misurare la frequenza di un singolo impulso, guarda come cambia la fase dell’eco da un impulso all’altro.

La fase si può immaginare come la posizione della lancetta di un orologio. Se il bersaglio è fermo, ogni eco torna con la lancetta nella stessa posizione. Se il bersaglio si avvicina, la distanza si accorcia un pochino a ogni impulso e la lancetta avanza di un certo angolo: la velocità con cui gira la lancetta è la velocità del bersaglio. Per poter leggere la lancetta, però, il radar deve sapere dove era quando l’impulso è partito: questo è un radar coerente. Un radar che fa partire ogni impulso con la lancetta in una posizione casuale (non coerente) non può farlo.

Il grande vantaggio pratico: gli oggetti fermi (terreno, case, montagne), che danno eco enormi, hanno la lancetta ferma, e si possono eliminare tenendo solo le eco la cui lancetta gira. Così un’auto o un aereo si vedono anche davanti a una montagna.

Lo spostamento Doppler

Teorema. Un bersaglio che si avvicina con velocità radiale v_r sposta la frequenza dell’eco di f_D = \dfrac{2v_r}{\lambda}.

Dimostrazione. L’eco ritorna dopo aver percorso 2R(t), quindi la sua fase rispetto al segnale trasmesso è \varphi(t) = -\frac{2\pi}{\lambda}\,2R(t). La frequenza istantanea è la derivata della fase divisa per 2\pi: f_D = \frac{1}{2\pi}\frac{d\varphi}{dt} = -\frac{2}{\lambda}\frac{dR}{dt} = \frac{2v_r}{\lambda}, con v_r = -dR/dt positiva se il bersaglio si avvicina. ∎

Il 2 viene di nuovo dall’andata e ritorno. Gli spostamenti sono piccolissimi rispetto alla portante: un’auto a 30 m/s davanti a un radar a 10 GHz dà 2 kHz su 10 GHz; a 77 GHz (radar automotive) 15,4 kHz; un aereo a 250 m/s davanti a un radar a 3 GHz, 5 kHz. Conta solo la componente radiale della velocità: un aereo che passa di traverso non dà Doppler.

Radar coerenti e non coerenti

Uno spostamento di qualche kilohertz su una portante di gigahertz non si misura in un singolo impulso di un microsecondo: si misura confrontando la fase dell’eco da un impulso all’altro. In N impulsi con periodo T = 1/PRF, un bersaglio produce la sequenza e^{j2\pi f_DnT}: una sinusoide “campionata” alla PRF, la cui frequenza si stima con una FFT. Questo è possibile solo se il radar sa con che fase è partito ogni impulso.

Radar coerente. Tutto il radar è agganciato a un oscillatore molto stabile (lo STALO, stable local oscillator, e il COHO, coherent oscillator, nei radar classici; un unico riferimento di clock nei radar digitali). Ogni impulso parte con una fase nota, e il ricevitore misura il segnale come numero complesso, con le componenti in fase e in quadratura (I/Q). Il trasmettitore deve essere un amplificatore (klystron, tubo a onde progressive, transistor allo stato solido), che amplifica un segnale generato con fase nota. Sono coerenti praticamente tutti i radar moderni: pulse-Doppler degli aerei, radar meteorologici Doppler, radar automotive, SAR.

Radar non coerente. Il trasmettitore è un oscillatore di potenza, tipicamente un magnetron, che a ogni impulso si innesca con una fase casuale. Il ricevitore rivela solo l’ampiezza (l’inviluppo) dell’eco. È semplice ed economico, e misura bene distanza e direzione: è il radar di navigazione delle barche, e lo erano i radar di sorveglianza dei primi decenni. Ma non può misurare il Doppler, e non può separare un bersaglio in movimento da un’eco fissa nella stessa cella. Una via di mezzo è il radar coerente in ricezione: si campiona la fase di ogni impulso trasmesso e la si sottrae dall’eco, ottenendo a posteriori la coerenza (con prestazioni inferiori a un radar coerente vero).

Radar coerente e non coerente
Sopra, il radar coerente: un oscillatore stabile pilota l’amplificatore di potenza e fa da riferimento al ricevitore, che misura le componenti I e Q. Sotto, il radar non coerente: il magnetron parte con fase casuale a ogni impulso e il ricevitore rivela solo l’ampiezza dell’eco.

Il filtro MTI

Il modo più semplice di eliminare le eco fisse è sottrarre due impulsi consecutivi: y_n = x_n - x_{n-1}. Un’eco ferma è uguale da un impulso all’altro e si cancella; un’eco che si muove cambia fase e sopravvive.

Teorema. Il cancellatore a due impulsi ha risposta |H(f)| = 2\,|\sin(\pi f/PRF)|.

Dimostrazione. È un filtro FIR con H(z) = 1 - z^{-1}; sul cerchio unitario, con z = e^{j2\pi f/PRF}, |1 - e^{-j\theta}| = |e^{-j\theta/2}|\,|e^{j\theta/2} - e^{-j\theta/2}| = 2|\sin(\theta/2)| con \theta = 2\pi f/PRF. ∎

La risposta è nulla a frequenza zero (clutter fermo) ma anche a tutti i multipli della PRF: i bersagli con f_D = k\cdot PRF spariscono. Sono le velocità cieche v_b = k\frac{\lambda\,PRF}{2}: a 10 GHz con PRF di 1 kHz, 15 m/s, 30 m/s, … Si rimedia alternando PRF diverse (PRF scaglionate), così che una velocità cieca per una non lo sia per l’altra. Cancellatori a tre impulsi (1 - 2z^{-1} + z^{-2}) allargano la “tacca” intorno allo zero, utile quando il clutter non è perfettamente fermo (alberi mossi dal vento, onde).

L’elaborazione pulse-Doppler

Invece di sottrarre, si fa la FFT su N impulsi per ogni cella di distanza: ogni uscita della FFT è un filtro centrato su una velocità. Risoluzione in velocità \Delta v = \frac{\lambda}{2NT}; velocità non ambigua \pm\frac{\lambda\,PRF}{4} (la FFT su campioni alla PRF vede frequenze da -PRF/2 a +PRF/2). Con 64 impulsi a 1 kHz in banda X: 0,23 m/s di risoluzione, ±7,5 m/s senza ambiguità.

La scelta della PRF. Distanza non ambigua c/(2\,PRF) e velocità non ambigua \lambda\,PRF/4 vanno in direzioni opposte: il loro prodotto è fisso, \frac{c\lambda}{8}.

  • PRF bassa (pochi kHz): distanza senza ambiguità, velocità molto ambigua. Radar di sorveglianza.
  • PRF alta (centinaia di kHz): velocità senza ambiguità, distanza molto ambigua. Radar d’attacco degli aerei contro bersagli veloci.
  • PRF media: entrambe ambigue, e le ambiguità si risolvono usando più PRF (con un ragionamento simile al teorema cinese del resto). È la scelta dei radar dei caccia moderni.

Il risultato dell’elaborazione è una mappa distanza-Doppler, l’immagine di base di quasi tutti i radar coerenti (si vedrà anche nel radar FMCW delle auto).

In sintesi

  • Un bersaglio che si avvicina con velocità radiale v_r sposta la frequenza dell’eco di 2v_r/\lambda; conta solo la componente della velocità lungo la linea di vista.
  • Il Doppler si misura confrontando la fase dell’eco da un impulso all’altro: serve un radar coerente.
  • Il filtro MTI sottrae impulsi consecutivi e cancella le eco ferme, ma ha velocità cieche, che si evitano cambiando PRF.
  • L’elaborazione pulse-Doppler (FFT sugli impulsi) separa i bersagli per velocità e produce la mappa distanza-Doppler.
  • Distanza e velocità non ambigue sono in conflitto attraverso la PRF: bassa, media o alta secondo la missione.

La simulazione

Una cella di distanza contiene un edificio (eco fissa, 1000 volte più forte in ampiezza, cioè 60 dB) e un bersaglio che si avvicina a 5 m/s. Radar a 10 GHz, PRF 1 kHz, 64 impulsi, un po’ di rumore.

  • Coerente con FFT: il bersaglio compare a 4,92 m/s (la velocità vera, quantizzata alla risoluzione di 0,23 m/s), 60 dB sotto il picco dell’edificio ma in un’altra posizione dello spettro: separato.
  • MTI: l’eco fissa si cancella completamente (in questa simulazione è perfettamente ferma), il bersaglio passa con un guadagno 1,73.
  • Non coerente: con una fase casuale a ogni impulso, lo spettro diventa piatto: l’eco dell’edificio si “spalma” su tutte le velocità e copre il bersaglio. L’ampiezza, l’unica cosa che il radar misura, fluttua solo dello 0,07 %: il bersaglio non si vede.
Spettro Doppler della cella con l'edificio e il bersaglio
Radar coerente, blu: il picco enorme a velocità zero è l’edificio, il piccolo picco a quasi 5 metri al secondo è il bersaglio, 60 dB più in basso ma ben separato. Radar non coerente, grigio: lo spettro è piatto e il bersaglio non si distingue.
import numpy as np

c, f0, PRF, N = 299792458.0, 10e9, 1e3, 64            # banda X, PRF 1 kHz, 64 impulsi
lam, T = c / f0, 1 / PRF
rng = np.random.default_rng(0)
n = np.arange(N)

v = 5.0                                                # bersaglio che si avvicina a 5 m/s
fD = 2 * v / lam                                       # spostamento Doppler
eco_bersaglio = 1.0 * np.exp(1j * 2 * np.pi * fD * n * T)
eco_fissa = 1000.0 * np.exp(1j * 0.3)                  # clutter: un edificio, 60 dB più forte e fermo
rumore = (rng.normal(size=N) + 1j * rng.normal(size=N)) * 0.05
x = eco_bersaglio + eco_fissa + rumore                 # campioni nella stessa cella di distanza, impulso per impulso

def spettro(s):
    S = np.abs(np.fft.fftshift(np.fft.fft(s * np.hanning(N))))
    return 20 * np.log10(S / S.max() + 1e-12)
vel = np.fft.fftshift(np.fft.fftfreq(N, T)) * lam / 2      # asse delle velocità

print(f"f_D = {fD:.0f} Hz; risoluzione in velocità {lam / (2 * N * T):.3f} m/s; velocità non ambigua +-{lam * PRF / 4:.1f} m/s")
# 1) radar coerente: FFT sugli impulsi, il bersaglio si separa dall'eco fissa
S = spettro(x)
k = np.argmax(np.where(np.abs(vel) > 1, S, -999))
print(f"coerente: bersaglio a {vel[k]:.2f} m/s, {S[k]:.1f} dB rispetto al picco dell'eco fissa")
# 2) MTI a due impulsi: y_n = x_n - x_(n-1) cancella ciò che non si muove
y = x[1:] - x[:-1]
print(f"MTI: potenza dell'eco fissa ridotta da {np.mean(np.abs(eco_fissa) ** 2):.0f} a {np.mean(np.abs(np.diff(np.full(N, eco_fissa))) ** 2):.0f}; "
      f"guadagno sul bersaglio |H| = {2 * abs(np.sin(np.pi * fD / PRF)):.2f}")
print(f"velocità cieca dell'MTI: {lam * PRF / 2:.1f} m/s")
# 3) radar non coerente: ogni impulso parte con una fase casuale (magnetron), si misura solo l'ampiezza
fase = np.exp(1j * rng.uniform(0, 2 * np.pi, N))
xn = x * fase
amp = np.abs(xn)
Sn = spettro(xn)
print(f"non coerente: fluttuazione dell'ampiezza {amp.std() / amp.mean() * 100:.2f} %, nessun picco Doppler (massimo fuori da zero {Sn[np.abs(vel) > 1].max():.1f} dB, piatto)")

L’esecuzione stampa f_D = 334 Hz, 0,234 m/s di risoluzione e ±7,5 m/s di campo non ambiguo; per il radar coerente il bersaglio a 4,92 m/s, 60,3 dB sotto l’eco fissa; per l’MTI l’eco fissa cancellata e il guadagno 1,73 sul bersaglio, con la velocità cieca di 15 m/s; per il radar non coerente una fluttuazione dello 0,07 % e uno spettro piatto, il cui massimo (0 dB) cade lontano dalla velocità zero.

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