← i tre progetti

Tomografia SAR della piana di Giza — sinusoidi e FFT

Dalla coppia modulo/fase di ogni pixel complesso alle sinusoidi verticali, alla FFT, al discriminante pieno/vuoto. Metodo di Biondi e Malanga, implementato e verificato riga per riga.

Le pagine interattive

Le sinusoidi, pixel per pixelTutte e tre le piramidi insieme: per ogni cella della superficie in geometria radar, la sinusoide risultante di quel pixel. Ruotala, taglia la quota, cambia la scala orizzontale.apri → 2.3 MBVolume pieno/vuotoI voxel in cui il profilo misurato si discosta dalla risposta attesa da un solo diffusore, oltre la dispersione misurata sulla piana. Rosso eccesso, blu difetto, soglia regolabile.apri → 1.7 MB

Una pagina per piramide, con le forme d'onda calcolate

Ogni pagina porta le sole colonne di quella piramide in 3D e, sotto, due grafici disegnati dentro la pagina: la somma delle sinusoidi della colonna rappresentativa con il suo inviluppo, e il profilo medio di tutte le sue celle.

Cheope (Khufu)Le sole colonne di Cheope in 3D, la forma d'onda della colonna rappresentativa con il suo inviluppo, il profilo medio della piramide e i suoi numeri.apri → 1.1 MBChefren (Khafre)Le sole colonne di Chefren, con le stesse due forme d'onda calcolate e il confronto fra quota misurata e quota simulata.apri → 1.0 MBMicerino (Menkaure)La piu' piccola delle tre, e quella con meno celle: utile proprio per vedere quanto poco basta perche' il segnale sparisca.apri → 262 KB

Come si arriva a queste figure

Da ogni pixel complesso dell’interferogramma si prendono modulo e fase in radianti. Ogni data diventa una sinusoide lungo la verticale, s(z) = A cos(φ − κz), dove κ e’ il numero d’onda della baseline di quella data. La somma delle sinusoidi viene trasformata con una FFT — le righe non stanno su un reticolo uniforme, perche’ le baseline non lo sono, quindi passano per un nucleo gaussiano e una deapodizzazione analitica — e il profilo che ne esce viene confrontato con la risposta attesa da un solo diffusore.

Non e’ un metodo alternativo, ed e’ scritto ovunque: la somma delle sinusoidi e’ la parte reale del periodogramma tomografico, e la quota che ne esce coincide con quella della catena precedente entro un centimetro sul 100 % delle celle. Cambia il costo del calcolo, e cambia che ora lo si puo’ disegnare.

I numeri della corsa

acquisizioni impilate43
master20260503
polarizzazioneVH
escursione delle baseline297.1 m
risoluzione verticale δz132 m
precisione sulla quota σh8.3 m
coerenza mediana misurata0.419
soglia di qualita' dalla distribuzione nulla0.431
errore della FFT contro il calcolo diretto1.5e-05
quota identica alla catena precedente entro 1 cm100 % delle celle
soglia |z-score| dal nullo di piana3.72 su 3663 celle
celle anomale: piramidi contro piana28.4 % contro 19.9 % (z = +3.15)
colonne nel campo di onde706 (236 sopra soglia)

Che cosa dicono i dati

La superficie della piana si ricostruisce con precisione metrica. Le piramidi no. Le facce a ~52° superano l’angolo di incidenza di 37°: sono in layover pieno, con centinaia di punti di superficie ripiegati nella stessa cella di risoluzione. Il piano dei diffusori dominanti sta appena sopra il deserto e non segue il profilo delle facce.

La risoluzione verticale di questa pila e’ di circa 130 metri. Le camere note della Grande Piramide misurano metri: due ordini di grandezza sotto. Nulla di quello che si vede qui e’ una rilevazione di cavita’ risolta in profondita’, e il programma non lo lascia intendere da nessuna parte.

Le figure

Il campo di onde in 3D: una curva per pixel, colorata per piramide. I punti neri sono il diffusore dominante delle celle sopra soglia.
Il campo di onde in 3D: una curva per pixel, colorata per piramide. I punti neri sono il diffusore dominante delle celle sopra soglia.
Sezione verticale: la sagoma della piramide in scala vera e, sotto il suolo, le sinusoidi di ogni data con la loro somma e l'inviluppo.
Sezione verticale: la sagoma della piramide in scala vera e, sotto il suolo, le sinusoidi di ogni data con la loro somma e l'inviluppo.
Le sinusoidi di una colonna, il profilo dopo la FFT contro la PSF di un solo diffusore, e il residuo pieno/vuoto con la banda del nullo.
Le sinusoidi di una colonna, il profilo dopo la FFT contro la PSF di un solo diffusore, e il residuo pieno/vuoto con la banda del nullo.
Il volume pieno/vuoto visto da sud-ovest e di taglio.
Il volume pieno/vuoto visto da sud-ovest e di taglio.

I dati

I riassunti della corsa sono dentro questa pagina, non in file da scaricare a parte: sono gli stessi da cui vengono i numeri della tabella qui sopra.

Riassunto della corsa v03 — meta_v03.json, 17 KB
{
  "generato": "2026-09-07 17:14:24",
  "programma": "piramidi_v03.py (sintesi sinusoidale + FFT verticale)",
  "metodo": "modulo e fase radiante dell'interferogramma multilooked -> una sinusoide verticale per data -> somma -> FFT non uniforme (NUFFT di tipo 1, nucleo gaussiano) -> profilo in quota -> residuo rispetto alla PSF di un solo diffusore -> z-score sul nullo delle celle di piana",
  "identita_con_v02": "la somma delle sinusoidi e' Re[h(z)] e il suo inviluppo e' |h(z)|: e' lo stesso periodogramma di v02, calcolato per FFT invece che con il doppio ciclo. Non e' una misura indipendente.",
  "date": [
    "20260103",
    "20260109",
    "20260115",
    "20260121",
    "20260127",
    "20260202",
    "20260208",
    "20260214",
    "20260220",
    "20260226",
    "20260304",
    "20260310",
    "20260316",
    "20260322",
    "20260328",
    "20260403",
    "20260409",
    "20260415",
    "20260421",
    "20260427",
    "20260428",
    "20260503",
    "20260509",
    "20260521",
    "20260522",
    "20260527",
    "20260602",
    "20260603",
    "20260608",
    "20260615",
    "20260620",
    "20260627",
    "20260703",
    "20260709",
    "20260715",
    "20260721",
    "20260727",
    "20260802",
    "20260808",
    "20260814",
    "20260820",
    "20260826",
    "20260901"
  ],
  "master": "20260503",
  "polarizzazione": "vh",
  "segno_k_z": -1.0,
  "griglia_kappa": {
    "n_k": 514,
    "d_kappa_rad_m": 0.003911710697076785,
    "dz_m": 3.125,
    "sovracampionamento": 2,
    "kernel_sigma_celle": 1.6,
    "kernel_taps": 8,
    "kappa_max_reticolo_rad_m": 1.0053096491487337
  },
  "errore_fft": {
    "celle_verificate": 240,
    "errore_relativo_medio": 1e-06,
    "errore_relativo_max": 1.5e-05,
    "errore_p99": 7e-06,
    "secondi_fft_tutte_le_celle": 0.79,
    "secondi_diretto_stimati": 5.2
  },
  "confronto_con_v02": {
    "estimatore": "surface_from_tomogram di v02, picco raffinato a parabola",
    "scarto_quota_mediano_m": 3.1e-05,
    "scarto_quota_massimo_m": 0.01001,
    "scarto_gamma_massimo": 6e-06,
    "celle_entro_1_cm_pct": 99.99,
    "passo_asse_z_m": 3.125
  },
  "nullo": {
    "celle": 3663,
    "su_celle_di_qualita": true,
    "percentile": 99.0,
    "soglia_zscore": 3.719519,
    "sigma_mediana": 0.1436
  },
  "bilancio_anomalie": {
    "soglia_zscore": 3.72,
    "percentile_nullo": 99.0,
    "celle_nullo": 3663,
    "anomalie_totali": {
      "frazione_piramidi": 0.2839,
      "frazione_piana": 0.1987,
      "celle_piramidi": 236,
      "celle_piana": 3663,
      "z": 3.15,
      "significativo_2sigma": 1,
      "esito": "le celle delle piramidi superano la soglia piu' spesso della piana"
    },
    "vuoto": {
      "frazione_piramidi": 0.0042,
      "frazione_piana": 0.003,
      "celle_piramidi": 236,
      "celle_piana": 3663,
      "z": 0.33,
      "significativo_2sigma": 0,
      "esito": "nessuna differenza significativa fra piramidi e piana"
    },
    "pieno": {
      "frazione_piramidi": 0.2754,
      "frazione_piana": 0.1927,
      "celle_piramidi": 236,
      "celle_piana": 3663,
      "z": 3.09,
      "significativo_2sigma": 1,
      "esito": "le celle delle piramidi superano la soglia piu' spesso della piana"
    },
    "spiegazione_eccesso": {
      "celle": 236,
      "ripiegamento_layover": {
        "r": 0.07,
        "campioni": 236
      },
      "ampiezza_dB": {
        "r": -0.229,
        "campioni": 236
      },
      "coerenza": {
        "r": -0.252,
        "campioni": 236
      },
      "quota_simulata_m": {
        "r": -0.076,
        "campioni": 236
      },
      "prima_spiegazione": "coerenza",
      "varianza_spiegata_pct": 6.4,
      "esito": "nessuna delle grandezze di controllo spiega l'eccesso: la correlazione piu' forte e' coerenza con r = -0.25, cioe' il 6 % della varianza. L'eccesso resta senza spiegazione misurata -- il che non lo rende una struttura: sotto delta_z non c'e' niente da risolvere, e un residuo non spiegato e' prima di tutto un residuo"
    }
  },
  "colonne_onde": [
    {
      "nome": "Cheope (Khufu)",
      "cella": [
        67,
        65
      ],
      "sopra_soglia_di_qualita": true,
      "celle_nella_maschera": 345,
      "z_picco_m": 9.375,
      "quota_riferimento_xml_m": 63.957798,
      "vuoto_max_zscore": -1.340101,
      "z_del_vuoto_m": -303.125,
      "pieno_max_zscore": 1.623862,
      "modulo_per_data": [
        0.919143,
        0.096017,
        1.32898,
        0.054641,
        1.369071,
        0.078623,
        1.541682,
        0.132147,
        1.878997,
        0.179707,
        1.225537,
        0.004927,
        1.624925,
        0.031533,
        1.026763,
        0.20099,
        1.065593,
        0.109465,
        1.2616,
        0.057773,
        1.101496,
        1.353807,
        0.085955,
        1.171135,
        1.242763,
        0.904207,
        0.927031,
        2.332061,
        1.749541,
        1.532897,
        1.146923,
        0.061719,
        1.221357,
        1.866189,
        1.522931,
        0.968451,
        1.024418,
        1.267138,
        1.258737,
        0.678511,
        0.835165,
        1.427818,
        1.028771
      ],
      "fase_rad_per_data": [
        -0.008887,
        -1.512417,
        0.297781,
        -0.696471,
        0.467295,
        1.788177,
        1.74287,
        -1.790381,
        1.531324,
        2.358773,
        0.712054,
        -2.534942,
        1.551667,
        -1.63301,
        1.847991,
        -2.78773,
        1.031248,
        -2.120755,
        1.23308,
        -0.056282,
        0.673393,
        0.0,
        -1.13523,
        1.636783,
        2.031553,
        0.539346,
        0.575556,
        1.197772,
        0.079229,
        0.407435,
        -0.110866,
        1.313723,
        -1.218779,
        0.320627,
        1.49414,
        0.800027,
        -0.820989,
        0.748797,
        -0.28624,
        -0.530319,
        0.451135,
        1.152243,
        1.641924
      ],
      "kappa_per_data_rad_m": [
        -2.5e-05,
        0.055389,
        0.01711,
        0.021175,
        0.062018,
        0.010527,
        0.067764,
        0.037387,
        0.044803,
        0.061622,
        0.027036,
        0.082701,
        0.048539,
        0.065041,
        0.045083,
        0.037094,
        0.051178,
        0.072799,
        0.063876,
        0.050314,
        0.037821,
        -0.0,
        0.078458,
        0.057839,
        0.063328,
        -0.038475,
        0.028698,
        0.051663,
        -0.012783,
        0.045617,
        -0.002321,
        0.074131,
        0.068359,
        0.081707,
        0.050175,
        0.093451,
        0.058525,
        0.063327,
        0.065904,
        0.043385,
        0.083236,
        0.052802,
        0.057334
      ],
      "b_perp_per_data_m": [
        0.060095,
        -124.73648,
        -38.530285,
        -47.684402,
        -139.665259,
        -23.705799,
        -152.606105,
        -84.196147,
        -100.896279,
        -138.774299,
        -60.885696,
        -186.244386,
        -109.311446,
        -146.472858,
        -101.526794,
        -83.535661,
        -115.253238,
        -163.945103,
        -143.851793,
        -113.309369,
        -85.175554,
        0.0,
        -176.689857,
        -130.256475,
        -142.616252,
        86.648089,
        -64.630065,
        -116.347861,
        28.788192,
        -102.730443,
        5.226375,
        -166.944446,
        -153.945866,
        -184.006133,
        -112.996196,
        -210.45551,
        -131.800132,
        -142.616069,
        -148.418915,
        -97.705052,
        -187.451081,
        -118.911862,
        -129.117727
      ]
    },
    {
      "nome": "Chefren (Khafre)",
      "cella": [
        44,
        34
      ],
      "sopra_soglia_di_qualita": true,
      "celle_nella_maschera": 309,
      "z_picco_m": 9.375,
      "quota_riferimento_xml_m": 64.21637,
      "vuoto_max_zscore": -0.857822,
      "z_del_vuoto_m": -331.25,
      "pieno_max_zscore": 1.403206,
      "modulo_per_data": [
        0.498146,
        0.19805,
        0.366057,
        0.120274,
        0.39118,
        0.384227,
        0.261596,
        0.233941,
        0.478462,
        0.217014,
        0.414048,
        0.137936,
        0.377806,
        0.106741,
        0.391987,
        0.32673,
        0.265794,
        0.136315,
        0.502031,
        0.146355,
        0.312035,
        0.62519,
        0.411589,
        0.271625,
        0.306655,
        0.383641,
        0.342468,
        0.16651,
        0.219637,
        0.204504,
        0.376288,
        0.103417,
        0.196732,
        0.185869,
        0.181856,
        0.176843,
        0.375137,
        0.299392,
        0.323336,
        0.188376,
        0.211459,
        0.11718,
        0.134482
      ],
      "fase_rad_per_data": [
        -0.189025,
        -2.758212,
        0.284066,
        -0.86713,
        0.492506,
        1.27552,
        1.021846,
        -1.46014,
        0.538263,
        2.819541,
        0.072043,
        1.535571,
        0.980024,
        -1.698028,
        0.787893,
        1.153377,
        -0.009265,
        -0.982281,
        0.309547,
        -0.08098,
        -0.06082,
        0.0,
        -0.777969,
        -0.102097,
        0.690135,
        -1.004367,
        -0.268448,
        0.397948,
        -1.050842,
        0.030751,
        -0.847932,
        -3.067884,
        1.348567,
        0.057444,
        -0.011396,
        0.515963,
        -0.170756,
        -0.383622,
        -0.652449,
        0.069858,
        1.112716,
        0.725236,
        0.731026
      ],
      "kappa_per_data_rad_m": [
        -1e-05,
        0.055473,
        0.017146,
        0.021211,
        0.062112,
        0.010543,
        0.067862,
        0.037443,
        0.044866,
        0.061706,
        0.027077,
        0.082811,
        0.048607,
        0.06513,
        0.045145,
        0.037146,
        0.051249,
        0.072898,
        0.06396,
        0.050375,
        0.037865,
        -0.0,
        0.078555,
        0.057914,
        0.063408,
        -0.038519,
        0.028733,
        0.051726,
        -0.012795,
        0.045676,
        -0.002321,
        0.07423,
        0.068448,
        0.081813,
        0.050236,
        0.093569,
        0.058598,
        0.063408,
        0.065985,
        0.04344,
        0.08334,
        0.052868,
        0.057403
      ],
      "b_perp_per_data_m": [
        0.060095,
        -124.73648,
        -38.530285,
        -47.684402,
        -139.665259,
        -23.705799,
        -152.606105,
        -84.196147,
        -100.896279,
        -138.774299,
        -60.885696,
        -186.244386,
        -109.311446,
        -146.472858,
        -101.526794,
        -83.535661,
        -115.253238,
        -163.945103,
        -143.851793,
        -113.309369,
        -85.175554,
        0.0,
        -176.689857,
        -130.256475,
        -142.616252,
        86.648089,
        -64.630065,
        -116.347861,
        28.788192,
        -102.730443,
        5.226375,
        -166.944446,
        -153.945866,
        -184.006133,
        -112.996196,
        -210.45551,
        -131.800132,
        -142.616069,
        -148.418915,
        -97.705052,
        -187.451081,
        -118.911862,
        -129.117727
      ]
    }
  ],
  "campo_onde_pixel_per_pixel": {
    "descrizione": "F59: per ogni cella della superficie delle piramidi in geometria radar, la sinusoide risultante Re[h(z)] -- la somma delle sinusoidi di quella cella, una per data -- normalizzata al massimo del modulo di quella cella.",
    "celle": 706,
    "celle_sopra_soglia": 236,
    "per_piramide": {
      "Cheope (Khufu)": 335,
      "Chefren (Khafre)": 301,
      "Micerino (Menkaure)": 70
    },
    "campioni_per_curva": 87,
    "sottocampionamento_asse_z": 3,
    "scala_disegno_m_per_ampiezza_1": 11.0,
    "quota_picco_mediana_m": 6.25,
    "quota_simulata_mediana_m": 39.103661
  },
  "uscite": {
    "onde": "out_piramidi_v03\\onde_cheope_chefren.png",
    "sezione_onde": "out_piramidi_v03\\sezione_onde_sotto_piramidi.png",
    "onde_3d_png": "out_piramidi_v03\\onde_3d_superficie_piramidi.png",
    "onde_3d_html": "out_piramidi_v03\\onde_3d_piramidi.html",
    "pagina_cheope": "out_piramidi_v03\\onde_cheope.html",
    "pagina_chefren": "out_piramidi_v03\\onde_chefren.html",
    "pagina_micerino": "out_piramidi_v03\\onde_micerino.html",
    "png_3d": "out_piramidi_v03\\pieno_vuoto_3d.png",
    "html_v03": "out_piramidi_v03\\tomografia_v03_pieno_vuoto.html"
  },
  "novita": [
    {
      "id": "F51",
      "tipo": "infrastruttura",
      "descrizione": "v02.run() ora restituisce anche il cubo interferometrico multilooked (y_ml) e il suo k_z (k_ml): sono la coppia modulo/fase da cui v03 sintetizza le sinusoidi. Senza questa aggiunta v03 avrebbe dovuto rileggere i .tiff una seconda volta, 60 s su 43 date, per ottenere dati identici a quelli gia' in memoria."
    },
    {
      "id": "F52",
      "tipo": "metodo",
      "descrizione": "Forma polare esplicita: A = |y|, phi = atan2(Im y, Re y) in radianti. E' la stessa coppia di Pixel_Complessi/LEGGIMI.md ma calcolata sull'INTERFEROGRAMMA normalizzato e riferito, non sul DN grezzo: la fase grezza e' dominata da exp(-j4piR/lambda) e non porta quota (F01, F02). Modulo e fase non aggiungono informazione alla coppia cartesiana -- sono la stessa misura in coordinate polari."
    },
    {
      "id": "F53",
      "tipo": "metodo",
      "descrizione": "Sintesi sinusoidale: ogni data e' un tono lungo la verticale, s_i(z) = A_i cos(phi_i - kappa_i z) con kappa_i = segno * k_z,i. La somma delle sinusoidi e' esattamente Re[h(z)] del periodogramma di v02 e il suo inviluppo e' |h(z)|: e' la stessa inversione, scritta nel dominio in cui si puo' disegnare. Dichiarato apertamente, non presentato come misura indipendente."
    },
    {
      "id": "F54",
      "tipo": "calcolo",
      "descrizione": "Il profilo in quota si calcola con una FFT vera. Le righe spettrali stanno alle frequenze kappa_i, che NON sono uniformi (le baseline non lo sono): vengono portate su un reticolo uniforme con un nucleo gaussiano e deapodizzate analiticamente (NUFFT di tipo 1), poi una sola FFT produce il profilo per tutte le celle. L'errore rispetto al periodogramma diretto e' MISURATO su un campione di celle e stampato, non assunto; --selftest lo blocca sotto 1e-3."
    },
    {
      "id": "F55",
      "tipo": "metodo",
      "descrizione": "Indice pieno/vuoto come residuo rispetto alla PSF dell'array: R(z) = |h(z)|/max - |sum A_i exp(-j kappa_i (z - z_pic))|/sum A_i. La PSF e' calcolata per cella con le SUE ampiezze e le SUE baseline, non con un modello medio. Sostituisce il prodotto di attributi normalizzati di solidity_index, che non aveva un nullo con cui confrontarsi."
    },
    {
      "id": "F56",
      "tipo": "statistica",
      "descrizione": "Il residuo e' normalizzato dalla dispersione MISURATA sulle celle di sola piana, alla stessa distanza dal picco (z - z_pic): un z-score con il suo nullo empirico, come F22 per gamma. La soglia di anomalia e' un percentile di quel nullo, e il confronto piramidi/piana e' riportato come z-test fra due proporzioni, qualunque risultato dia."
    },
    {
      "id": "F57",
      "tipo": "uscita",
      "descrizione": "Nuovo grafico 3D del volume pieno/vuoto (HTML interattivo autonomo + PNG): voxel di eccesso in rosso e di difetto in blu, con soglia in z-score regolabile, sopra la superficie misurata e i profili delle piramidi."
    },
    {
      "id": "F60",
      "tipo": "uscita",
      "descrizione": "Una pagina per ciascuna piramide, con le SUE sole colonne e le forme d'onda calcolate disegnate dentro la pagina in SVG: la somma delle sinusoidi della colonna rappresentativa con il suo inviluppo, e la media INCOERENTE dei moduli su tutte le celle di quella piramide (la media coerente le annullerebbe, perche' le fasi fra celle sono scorrelate). Nessun file esterno e nessuna libreria: la pagina si regge da sola. Il renderer 3D e' lo stesso della pagina d'insieme, filtrato -- due copie divergerebbero."
    },
    {
      "id": "F59",
      "tipo": "uscita",
      "descrizione": "Grafico 3D delle sinusoidi PIXEL PER PIXEL sulla superficie delle piramidi: una curva per cella, alla sua posizione est/nord, che e' la somma delle sinusoidi di quella cella (Re[h(z)]) normalizzata al proprio massimo. La maschera e' quella in GEOMETRIA RADAR, non l'impronta al suolo. Statico in PNG e interattivo in HTML, con la scala orizzontale a cursore perche' lo spostamento e' un artificio di disegno: l'ampiezza di un interferogramma non e' una lunghezza."
    },
    {
      "id": "F58",
      "tipo": "uscita",
      "descrizione": "Disegno a parte delle onde sinusoidali SOTTO Cheope e Chefren: la sezione verticale con la sagoma della piramide in alto e, sotto il suolo, le sinusoidi di ogni data, la loro somma, l'inviluppo e il residuo pieno/vuoto con la banda del nullo."
    }
  ],
  "avvertenza": "Il residuo pieno/vuoto e' un discriminante calibrato sul nullo della piana, NON una rilevazione di cavita' risolta in profondita'. La cella di Rayleigh verticale e' 132 m: le camere note della Grande Piramide misurano metri, due ordini di grandezza sotto. Il confronto piramidi/piana e' riportato con il suo z-test qualunque risultato dia, ed e' quello il numero da leggere."
}
Budget tomografico e piano delle sub-aperture — budget_tomografico.txt, 3 KB
----------------------------------------------------------------------------
BUDGET TOMOGRAFICO MULTI-BASELINE
----------------------------------------------------------------------------
  lunghezza d'onda radar                =       5.55 cm
  slant range                      R    =     850.84 km
  angolo di incidenza              th   =      36.83 gradi
  baseline impilate                     =         43
  escursione baseline ortogonali        =      297.1 m
  deviazione standard delle baseline    =       63.5 m

  RISOLUZIONE  (separazione di Rayleigh fra due diffusori)
    delta_z = lambda*R/(2*B)  in slant  =       79.4 m
    proiettata in verticale             =      132.5 m
    altezza di ambiguita'               =    12715.9 m
    celle sull'altezza del target       =       1.05
    >> struttura interna separabile?              NO

  PRECISIONE  (quota di UN diffusore dominante)  -- F15
    coerenza tipica assunta       gamma =       0.42
    sigma_h = lambda*R*sin(th)*sigma_phi/(4*pi*sigma_B)
                                        =        8.3 m
    altezza del target                  =      138.5 m
    >> superficie reale misurabile?               SI

  Le due righe non si contraddicono: separare due diffusori dentro la
  stessa cella e stimare la quota di quello dominante sono problemi
  diversi. Confonderli e' l'errore concettuale corretto in F15.
----------------------------------------------------------------------------

----------------------------------------------------------------------------
BANCO DI SUB-APERTURE DOPPLER  (micro-moto)
----------------------------------------------------------------------------
  banda Doppler totale        B_cD    =    313.00 Hz
  banda di guardia            B_DL    =    156.50 Hz
  larghezza sub-banda         B_sub   =    156.50 Hz
  separazione master/slave    B_shift =     28.17 Hz
  passo di marcia                     =     11.67 Hz
  sub-aperture                N_D     =        12
  risoluzione griglia Doppler         =     2.193 Hz/bin
  bin per sub-banda                   =      71.4

  MAPPATURA FREQUENZA -> TEMPO (dal Doppler rate dell'annotation)
  azimuth FM rate             k_a     =   -2188.3 Hz/s
  rate TOPS combinata         k_t     =    1491.5 Hz/s
  tempo di illuminazione del target   =     143.0 ms
  passo temporale fra sub-aperture    =      5.33 ms
  ritardo master-slave                =     12.87 ms
  finestra osservata (marcia completa)=     58.64 ms

  campionamento meccanico     f_s     =    187.57 Hz
  frequenza osservabile max (Nyquist) =     38.84 Hz
  frequenza osservabile min (finestra)=     17.05 Hz
  >> il banco risolve una banda di frequenze meccaniche

  PERCHE' LA TOMOGRAFIA ACUSTICA DELLE FONTI QUI NON E' APPLICABILE
  apertura sintetica          L_sa    =       958 m
  lambda acustica a  38.8 Hz (v=6000 m/s) =       154 m
  delta_z acustica = lambda*R/(2*L_sa) =     68.5 km

  Limite dei dati: il TOPS di Sentinel-1 illumina un bersaglio per
  143 ms soltanto, quindi la traccia di vibrazione dura 59 ms
  e la frequenza meccanica accessibile e' di decine di Hz. Le fonti
  lavorano su spotlight con B_cD ~ 22 kHz e indagano a 12.5 kHz: due
  ordini di grandezza in piu'. E' questa la ragione per cui qui la
  profondita' viene dalle baseline orbitali e non dal micro-moto, che
  resta un attributo di superficie e nulla di piu'.
----------------------------------------------------------------------------