Elaboradar 0.1
Caricamento in corso...
Ricerca in corso...
Nessun risultato

◆ attenuation()

double radarelab::algo::DBZ::attenuation ( unsigned char  DBZbyte,
double  PIA 
)

funzione che calcola l'attenuazione totale

Ricevuto in ingresso il dato di Z in byte e l'attenuazione complessiva sul raggio fino al punto in considerazione, calcola l'attenuazione totale ingresso:dbz in quel punto e attenuazione fin lì Doviak,Zrnic,1984 for rain as reported in cost 717 final document

Parametri
[in]DBZbytevalore in byte della Z nel pixel
[in]PIAattenuazione totale fino al punto
Restituisce
att_tot attenuazione incrementata del contributo nel pixel corrente

Definizione alla linea 51 del file dbz.cpp.

52{
53 double Zhh,att_rate,R;/* PIA diventa att_tot devo decidere infatti se PIA sarà 3d percio' temp. uso nomi diversi*/
54 double att_tot;
55
56 //---ricevo in ingresso il dato e l'attenuazione fino quel punto
57 //---la formula recita che l'attenuazione è pari una funzione di Z reale (quindi corretta dell'attenuazione precedente). ovviamente devo avere un segnale per correggere.
58 //--------- CALCOL
59 att_tot=PIA;
60 Zhh= (BYTEtoZ(DBZbyte));
61 if (10*log10(Zhh) > THRES_ATT )
62 {
63 Zhh=pow(10., (log10(Zhh)+ 0.1*att_tot));
64 R=pow((Zhh/aMP),(1.0/bMP));
65 att_rate=0.0018*pow(R,1.05);
66 // TODO: to compute scan by scan?
67 att_tot=att_tot+2.*att_rate*0.001 * base_cell_size;
68 if (att_tot>BYTEtoDB(254)) att_tot=BYTEtoDB(254);
69 }
70 return att_tot;
71}
static double BYTEtoZ(unsigned char byte)
funzione che converte byte in Z
Definition: dbz.cpp:125
static constexpr double BYTEtoDB(unsigned char DBZbyte, double gain=80./255., double offset=-20.)
funzione che converte Z unsigned char in DBZ
Definition: dbz.h:82
double base_cell_size
cella size dimension
Definition: dbz.h:28

Referenzia base_cell_size, BYTEtoDB(), e BYTEtoZ().

Referenziato da elaboradar::CUM_BAC::caratterizzo_volume().