Elaboradar  0.1

◆ correct_for_snr()

void classifier::correct_for_snr ( )

correct rhohv and zdr for noise (Schuur et al. 2003)

Definizione alla linea 315 del file classifier.cpp.

316 {
317  cout<<"inizio snr"<<endl;
318  Volume<double> vol_snr_linear(NUM_AZ_X_PPI);
319  dB2lin(vol_snr,vol_snr_linear);
320  Volume<double> vol_zdr_linear(NUM_AZ_X_PPI);
321  dB2lin(vol_zdr,vol_zdr_linear);
322  double alpha=1.48; // horizontal to vertical noise ratio. 1.48 S-band (Schuur 2003)
323  for(unsigned el=0;el<vol_rhohv.size();el++)
324  {
325  // vol_rhohv[el].array()*=(vol_snr_linear[el].array()+1)/vol_snr_linear[el].array(); // TODO: rhohv è già > 1 in molti casi
326  // questa correzione la aumenta ancora di più
327  vol_snr_linear[el].array()*=alpha;
328  vol_zdr_linear[el].array()=vol_snr_linear[el].array()*vol_zdr_linear[el].array()/(vol_snr_linear[el].array()+alpha-vol_zdr_linear[el].array());
329  }
330  lin2dB(vol_zdr_linear,vol_zdr);
331  cout<<"finito snr"<<endl;
332 }
Volume< double > vol_rhohv
Definition: classifier.h:376
Volume< double > vol_zdr
Definition: classifier.h:372
Volume< double > vol_snr
Definition: classifier.h:388