Elaboradar  0.1

◆ 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

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