48 const ShipCategory &cat,
double freq,
double speed,
double length)
89 SL_mach = 186 - 22 * std::log10(freq) + 15 * std::log10(speed);
91 std::cout <<
"WARNING: Too low frequency for MACH." << std::endl;
94 SL_prop = 156 - 30 * std::log10(freq) + 50 * std::log10(speed);
96 std::cout <<
"WARNING: Too low frequency for PROP." << std::endl;
98 if ((freq > 200) && (speed > 10))
99 SL_cav = 129 - 20 * std::log10(freq) + 60 * std::log10(speed);
101 double SL_tot = 10 * std::log10(std::pow(10, (SL_mach / 10))
102 + std::pow(10, (SL_prop / 10))
103 + std::pow(10, (SL_cav / 10)))
104 + 25 * std::log10(length / 180);
106 return (std::pow(10, (SL_tot / 10)));
118 SL_mach = 182 - 22 * std::log10(freq) + 15 * std::log10(speed);
120 std::cout <<
"WARNING: Too low frequency for MACH." << std::endl;
123 SL_prop = 150 - 30 * std::log10(freq) + 50 * std::log10(speed);
125 std::cout <<
"WARNING: Too low frequency for PROP." << std::endl;
127 if ((freq > 50) && (speed > 13))
128 SL_cav = 120 - 20 * std::log10(freq) + 60 * std::log10(speed);
130 double SL_tot = 10 * std::log10(std::pow(10, (SL_mach / 10))
131 + std::pow(10, (SL_prop / 10))
132 + std::pow(10, (SL_cav / 10)))
133 + 25 * std::log10(length / 280);
135 return (std::pow(10, (SL_tot / 10)));
147 SL_mach = 179 - 22 * std::log10(freq) + 15 * std::log10(speed);
149 std::cout <<
"WARNING: Too low frequency for MACH." << std::endl;
152 SL_prop = 142 - 25 * std::log10(freq) + 50 * std::log10(speed);
154 std::cout <<
"WARNING: Too low frequency for PROP." << std::endl;
156 if ((freq > 60) && (speed > 12))
157 SL_cav = 125 - 20 * std::log10(freq) + 60 * std::log10(speed);
159 double SL_tot = 10 * std::log10(std::pow(10, (SL_mach / 10))
160 + std::pow(10, (SL_prop / 10))
161 + std::pow(10, (SL_cav / 10)))
162 + 25 * std::log10(length / 250);
164 return (std::pow(10, (SL_tot / 10)));
168ferry(
double freq,
double speed,
double length)
176 SL_mach = 177 - 20 * std::log10(freq) + 15 * std::log10(speed);
178 std::cout <<
"WARNING: Too low frequency for MACH." << std::endl;
181 SL_prop = 140 - 25 * std::log10(freq) + 50 * std::log10(speed);
183 std::cout <<
"WARNING: Too low frequency for PROP." << std::endl;
185 if ((freq > 200) && (speed > 10))
186 SL_cav = 127 - 20 * std::log10(freq) + 60 * std::log10(speed);
188 double SL_tot = 10 * std::log10(std::pow(10, (SL_mach / 10))
189 + std::pow(10, (SL_prop / 10))
190 + std::pow(10, (SL_cav / 10)))
191 + 25 * std::log10(length / 180);
193 return (std::pow(10, (SL_tot / 10)));
205 SL_mach = 185 - 20 * std::log10(freq) + 25 * std::log10(speed);
207 std::cout <<
"WARNING: Too low frequency for MACH." << std::endl;
210 SL_prop = 132 - 25 * std::log10(freq) + 50 * std::log10(speed);
212 std::cout <<
"WARNING: Too low frequency for PROP." << std::endl;
214 if ((freq > 80) && (speed > 8) && (speed < 12))
215 SL_cav = 180 - 20 * std::log10(freq);
217 double SL_tot = 10 * std::log10(std::pow(10, (SL_mach / 10))
218 + std::pow(10, (SL_prop / 10))
219 + std::pow(10, (SL_cav / 10)))
220 + 25 * std::log10(length / 50);
222 return (std::pow(10, (SL_tot / 10)));
232 std::log10(113.392 - 0.0139886 * freq +
233 1.68571e-6 * std::pow(freq, 2) -
234 7.11945e-11 * std::pow(freq, 3));
236 SL_tot = 10 * std::log10(72.99);
238 return std::pow(10, SL_tot / 10);
double cargoL_ship(double freq, double speed, double length)
Compute the sound level of a long cargo ship.
double ferry(double freq, double speed, double length)
Compute the sound level of a ferry.
double cargo_ship(double freq, double speed, double length)
Compute the sound level of a cargo ship.
double getNoisefromCategory(const ShipCategory &cat, double freq, double speed, double length)
Compute the sound level of a ship given the type.
double fishing_vessel(double freq, double speed, double length)
Compute the sound level of a fishing vessel.
double auv(double freq)
Compute the sound level of an Autonomous Underwater Vehicle (AUV)
double cruise_ship(double freq, double speed, double length)
Compute the sound level of a cruise ship.
ShipCategory
Enum type representing the ship categories.
Functions to compute the noise power spectral density for different type of ships and auv.