1#ifndef __JACOUSTICS__JACOUSTICSSUPPORTKIT__
2#define __JACOUSTICS__JACOUSTICSSUPPORTKIT__
55 const double f_kHz)
const
57 const double z = D_m * 1.0e-3;
58 const double f1 = 0.78 * sqrt(
S/35.0) * exp(
T/26.0);
59 const double f2 = 42.0 * exp(
T/17.0);
60 const double a1 = 0.106 * f1*(f_kHz*f_kHz) / (f_kHz*f_kHz + f1*f1) * exp((
pH-8.0)/0.56);
61 const double a2 = 0.52 * (1.0 +
T/43.0) * (
S/35.0) * f2 * f_kHz*f_kHz / (f_kHz*f_kHz + f2*f2) * exp(-z/6.0);
62 const double a0 = 0.00049 * exp(-
T/27.0 + z/17.0) * f_kHz*f_kHz;
63 const double A = a0 + a1 + a2;
65 return 10.0e3 / (A*log(10.0));
92 inline double getQ(
const double D_m,
122 const double f_kHz) :
147 const double d_m)
const
165 return in >> waveform.
Q0 >> waveform.
f_kHz;
178 return out << waveform.
Q0 <<
' ' << waveform.
f_kHz;
Auxiliary classes and methods for acoustic position calibration.
static const double TOAMIN_S
Minimal allowed time-of-arrival [s].
double getQ(const double D_m, const double f_kHz, const double d_m)
Get relative quality for given frequency at given distance.
static const double TOAMAX_S
Maximal allowed time-of-arrival [s].
static const JAttenuationLength getAttenuationLength(13.2, 38.0, 8.0)
Function object to calculate attenutation length.
Auxiliary data structure for calculation of attenuation length.
double operator()(const double D_m, const double f_kHz) const
Get attentuation length for given frequency at given depth.
JAttenuationLength(const double T, const double S, const double pH)
Constructor.