Approfondimento: il progetto di un radar di sorveglianza aeroportuale passo per passo, dai requisiti alla potenza
Tutto il corso in un progetto: frequenza, PRF, antenna, impulsi sul bersaglio, SNR esatto per un bersaglio Swerling 1, bilancio delle perdite, energia e potenza con la compressione d'impulso, controlli di orizzonte e clutter, con un unico script Python.
Le lezioni del corso trattano un argomento alla volta: l’equazione radar, la propagazione, la sezione radar, le forme d’onda, la rivelazione, le antenne, il clutter, i trasmettitori. In un progetto vero tutte queste scelte si incastrano, e cambiarne una sposta le altre. Questo approfondimento segue il progetto di massima di un radar di sorveglianza aeroportuale dai requisiti alla potenza del trasmettitore, una decisione alla volta, con un unico script Python che fa tutti i conti. È il modo migliore per ripassare il corso e capire a che cosa serve ogni formula.
I requisiti
Il radar deve:
- rivelare un aereo di 1 m² (un piccolo aereo da turismo, o un aereo di linea visto in condizioni sfavorevoli) a 100 km;
- con probabilità di rivelazione 0,9 e probabilità di falso allarme
; - aggiornare la posizione di ogni aereo almeno ogni 5 secondi;
- coprire fino a 10 km di quota, con la pioggia, sopra un terreno collinare.
Il bersaglio è descritto come Swerling 1: la sua sezione radar cambia da un giro d’antenna all’altro ma resta costante durante il passaggio del fascio (lezione sulla sezione radar).
Passo 1. La frequenza
Le lezioni sulla propagazione e sul clutter suggeriscono le frequenze basse: la pioggia attenua e riflette come
e, a parità di guadagno, l’equazione radar favorisce
grandi. D’altra parte un’antenna con fascio stretto a frequenza bassa è enorme. Il compromesso classico dei radar aeroportuali è la banda S: qui 2,8 GHz,
cm.
Passo 2. La PRF
La distanza non ambigua deve superare la portata, con margine per i bersagli grandi oltre i 100 km:
Hz dà
km. La velocità non ambigua è allora piccola (
m/s, contro aerei che volano a 250 m/s): il radar misura male le velocità, ma per un radar di sorveglianza basta l’MTI per separare gli aerei dal clutter, con PRF scaglionate contro le velocità cieche (esercizio 5).
Passo 3. L’antenna
Per separare due aerei vicini in azimut e localizzarli bene si sceglie un fascio di 1,4° in azimut. Dalla regola
l’antenna è larga 5,4 m. In elevazione serve invece un fascio largo, a cosecante quadrata, per vedere un aereo a quota costante con la stessa intensità da vicino e da lontano (lezione sulle antenne): il guadagno di picco è tipicamente intorno a 33,5 dB, meno di quanto darebbe un fascio a matita della stessa larghezza in azimut, perché l’energia è distribuita in elevazione.
Passo 4. Quanti impulsi sul bersaglio
Un giro ogni 4,8 secondi (12,5 giri al minuto) soddisfa l’aggiornamento richiesto. Il bersaglio resta nel fascio per
ms e riceve
![]()
impulsi: se ne integrano 20.
Passo 5. Il rapporto segnale/rumore necessario
Con 20 impulsi integrati in modo non coerente (somma delle potenze e soglia sulla somma), il calcolo esatto dà, per
e
:
- bersaglio costante: 3,2 dB per impulso (la formula di Albersheim dà 3,0);
- Swerling 1: 11,5 dB per impulso.
La perdita da fluttuazione è 8,3 dB: integrare impulsi presi tutti durante lo stesso passaggio non aiuta contro una sezione radar che, in quel passaggio, è capitata piccola. È la voce più pesante di tutto il bilancio. Con l’agilità di frequenza (frequenze diverse in gruppi di impulsi) il bersaglio diventerebbe circa Swerling 2 e la perdita scenderebbe a pochi decibel: un’opzione da valutare se il trasmettitore risultasse troppo potente.
Passo 6. Le perdite
| perdita | dB | origine |
|---|---|---|
| guide e duplexer | 2,0 | trasmissione e ricezione (lezione su trasmettitori e ricevitori) |
| radome | 0,5 | copertura dell’antenna, andata e ritorno |
| atmosfera | 1,2 | 100 km in banda S, andata e ritorno (lezione sulla propagazione) |
| forma del fascio | 1,6 | gli impulsi ai bordi del fascio sono più deboli di quello al centro |
| elaborazione e CFAR | 2,5 | finestre, campionamento non centrato, stima della soglia (lezione sulla rivelazione) |
| MTI | 1,0 | il filtro attenua anche alcuni bersagli |
| totale | 8,8 |
Ogni voce sembra piccola, ma insieme valgono quasi 9 dB, cioè un fattore 7,6 in potenza. Dimenticarle è l’errore più comune nei progetti di massima.
Passo 7. La forma d’onda e la potenza
Con il filtro adattato conta l’energia dell’impulso (lezione sulle forme d’onda). Dall’equazione radar con le perdite
e la cifra di rumore
dB:
![]()
che dà 2,95 J per impulso. Con un impulso semplice da 1 μs (risoluzione 150 m) servirebbero 2,95 MW di picco: possibile con un klystron, ma costoso. Scegliendo un chirp di 50 μs con 1 MHz di banda (stessa risoluzione dopo la compressione) bastano 59 kW di picco, con un ciclo utile del 5,5 % e 3,2 kW medi: alla portata di un trasmettitore a stato solido, formato da moduli GaN in parallelo. Il prezzo è una zona cieca di 7,5 km, coperta da un secondo impulso corto e meno potente (i bersagli vicini danno eco molto più forti: bastano poche centinaia di watt).

Passo 8. I controlli: orizzonte e clutter
Orizzonte. Con l’antenna a 15 m, un aereo a 1000 m di quota è visibile fino a 146 km, ma uno a 300 m solo fino a 87 km: i bersagli bassi non si vedono a 100 km per ragioni geometriche, qualunque sia la potenza (lezione sulla propagazione). Se il requisito li includesse, servirebbe un’antenna più alta o un secondo radar.
Clutter. A 20 km la cella illuminata è di
m²; con un terreno da
dB il clutter è 730 m² e l’aereo di 1 m² sta 28,6 dB sotto. Per rivelarlo servono circa 40 dB di miglioramento: un MTI a tre impulsi o un banco di filtri Doppler (MTD), con mappe di clutter, e un trasmettitore con rumore di fase sotto qualche milliradiante (esercizio 8). Ecco perché anche un radar “a bassa PRF” deve essere coerente.
Che cosa si impara dal progetto
- Le richieste di portata si traducono in energia, non in potenza di picco: la compressione d’impulso è ciò che rende possibile lo stato solido.
- La fluttuazione del bersaglio e le perdite pesano insieme circa 17 dB: più di quanto si guadagna integrando 20 impulsi.
- La frequenza, la PRF, il fascio e il giro d’antenna sono legati dalla missione (copertura, aggiornamento, clutter), non scelti indipendentemente.
- Alcuni limiti (orizzonte) non si risolvono con la potenza: si risolvono con la geometria.
- I numeri ottenuti (5,4 m d’antenna, banda S, qualche decina di kW con compressione d’impulso, 12-15 giri al minuto) sono quelli dei radar di avvicinamento reali: il progetto di massima, fatto bene, è già vicino alla realtà.
Il codice
import numpy as np
from scipy import optimize, stats
c, k, T0 = 299792458.0, 1.380649e-23, 290.0
dB = lambda x: 10 ** (x / 10)
L10 = lambda x: 10 * np.log10(x)
# Requisiti: radar di sorveglianza aeroportuale, aereo di 1 m^2 (Swerling 1) a 100 km, Pd 0,9, Pfa 1e-6
R, sigma, Pd, Pfa = 100e3, 1.0, 0.9, 1e-6
f = 2.8e9; lam = c / f # banda S: poca attenuazione da pioggia
giro = 4.8 # secondi per giro: aggiornamento richiesto
quota = 10e3 # quota massima da coprire
# 1) PRF: distanza non ambigua oltre 100 km (con margine)
PRF = 1100.0
print(f"PRF {PRF:.0f} Hz: distanza non ambigua {c / (2 * PRF) / 1e3:.0f} km")
# 2) antenna: fascio in azimut 1,4 gradi, larga in elevazione (cosecante quadrata)
thaz = 1.4
D = 70 * lam / thaz # larghezza dell'antenna
G = dB(33.5) # guadagno di picco tipico di un'antenna a cosecante quadrata
print(f"antenna larga {D:.1f} m per {thaz} gradi; guadagno {L10(G):.1f} dB")
# 3) impulsi sul bersaglio e integrazione
n = thaz * PRF * giro / 360
print(f"impulsi sul bersaglio: {n:.1f}")
# 4) SNR richiesto per impulso con integrazione non coerente: calcolo esatto (somma delle potenze, soglia sulla somma)
nint = int(np.floor(n))
soglia = stats.gamma.isf(Pfa, nint) # somma di nint potenze di rumore (esponenziali di media 1)
def pd_costante(snr):
return stats.ncx2.sf(2 * soglia, 2 * nint, 2 * nint * snr)
def pd_swerling1(snr): # sezione radar esponenziale, costante durante il passaggio del fascio
s = np.linspace(0, 30, 3001) * snr
return np.trapezoid(stats.ncx2.sf(2 * soglia, 2 * nint, 2 * nint * s) * np.exp(-s / snr) / snr, s)
req = {nome: optimize.brentq(lambda d: fn(10 ** (d / 10)) - Pd, -10, 30) for nome, fn in (("costante", pd_costante), ("Swerling 1", pd_swerling1))}
snr_req = req["Swerling 1"]
print(f"SNR per impulso con {nint} impulsi: bersaglio costante {req['costante']:.1f} dB, Swerling 1 {snr_req:.1f} dB "
f"(perdita da fluttuazione {snr_req - req['costante']:.1f} dB)")
# 5) perdite
perdite = {"guide e duplexer": 2.0, "radome": 0.5, "atmosfera (andata e ritorno)": 1.2, "forma del fascio (scalloping)": 1.6,
"elaborazione e CFAR": 2.5, "MTI": 1.0}
Ltot = sum(perdite.values())
for kk, v in perdite.items():
print(f" {kk:30s} {v:4.1f} dB")
print(f"perdite totali {Ltot:.1f} dB")
# 6) potenza di picco necessaria con impulso compresso: tau = 50 us, B = 1 MHz (risoluzione 150 m)
F, Bw, tau = dB(3.0), 1e6, 50e-6
# con il filtro adattato conta l'energia: SNR = Pt tau G^2 lam^2 sigma / ((4pi)^3 k T0 F L R^4)
E = dB(snr_req) * (4 * np.pi) ** 3 * k * T0 * F * dB(Ltot) * R ** 4 / (G ** 2 * lam ** 2 * sigma)
Pt = E / tau
print(f"energia per impulso {E:.3f} J, potenza di picco {Pt / 1e3:.1f} kW con impulso di {tau * 1e6:.0f} us, "
f"ciclo utile {tau * PRF * 100:.1f} %, potenza media {Pt * tau * PRF:.0f} W")
print(f"zona cieca dell'impulso lungo: {c * tau / 2 / 1e3:.1f} km (si copre con un impulso corto)")
# 7) controllo: orizzonte radar per un aereo a bassa quota e antenna a 15 m
oriz = lambda h: np.sqrt(2 * 4 / 3 * 6371e3 * h)
for hb in (300.0, 1000.0):
print(f"aereo a {hb:.0f} m: orizzonte {(oriz(15) + oriz(hb)) / 1e3:.0f} km")
# 8) clutter: cella a 20 km, terreno sigma0 = -20 dB
Ac = 20e3 * np.radians(thaz) * c / (2 * Bw)
scr = L10(sigma / (dB(-20) * Ac))
print(f"cella di clutter a 20 km: {Ac:.0f} m^2, SCR {scr:.1f} dB; miglioramento MTI necessario circa {snr_req - scr:.0f} dB")L’esecuzione stampa la PRF con 136 km di distanza non ambigua, l’antenna di 5,4 m con 33,5 dB, 20,5 impulsi sul bersaglio, 3,2 e 11,5 dB di SNR richiesto con 8,3 dB di perdita da fluttuazione, le perdite (8,8 dB in tutto), 2,95 J per impulso, 59 kW di picco con 5,5 % di ciclo utile e 3,2 kW medi, la zona cieca di 7,5 km, gli orizzonti di 87 e 146 km, e per il clutter 28,6 dB sotto e circa 40 dB di miglioramento necessario.




