Eclipse SUMO - Simulation of Urban MObility
Loading...
Searching...
No Matches
HelpersHarmonoise.h
Go to the documentation of this file.
1/****************************************************************************/
2// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3// Copyright (C) 2001-2024 German Aerospace Center (DLR) and others.
4// This program and the accompanying materials are made available under the
5// terms of the Eclipse Public License 2.0 which is available at
6// https://www.eclipse.org/legal/epl-2.0/
7// This Source Code may also be made available under the following Secondary
8// Licenses when the conditions for such availability set forth in the Eclipse
9// Public License 2.0 are satisfied: GNU General Public License, version 2
10// or later which is available at
11// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13/****************************************************************************/
19// Helper methods for Harmonoise-based noise emission computation
20/****************************************************************************/
21#pragma once
22#include <config.h>
23
24#include <vector>
25#include <limits>
26#include <cmath>
29
30
31// ===========================================================================
32// class definitions
33// ===========================================================================
42public:
50 static double computeNoise(SUMOEmissionClass c, double v, double a);
51
52
58 inline static double sum(double val) {
59 return double(10. * log10(val));
60 }
61
63private:
68 static double myR_A_C1_Parameter[27];
69
71 static double myR_B_C1_Parameter[27];
74 static double myR_A_C3_Parameter[27];
75
77 static double myR_B_C3_Parameter[27];
80 static double myT_A_C1_Parameter[27];
81
83 static double myT_B_C1_Parameter[27];
84
86 static double myT_A_C3_Parameter[27];
87
89 static double myT_B_C3_Parameter[27];
91
93 static const double myAOctaveBandCorrection[27];
94
96 static const double mySurfaceCorrection[27];
97};
int SUMOEmissionClass
Helper methods for Harmonoise-based noise emission computation.
static double myR_B_C3_Parameter[27]
rolling component, heavy vehicles, beta
static double myR_B_C1_Parameter[27]
rolling component, light vehicles, beta
static const double mySurfaceCorrection[27]
A-weighted correction for surface.
static double sum(double val)
Computes the resulting noise.
static double myT_B_C1_Parameter[27]
traction component, light vehicles, beta
static double myR_A_C3_Parameter[27]
rolling component, heavy vehicles, alpha
static const double myAOctaveBandCorrection[27]
A-weighted correction for octave bands.
static double computeNoise(SUMOEmissionClass c, double v, double a)
Returns the noise produced by the a vehicle of the given type at the given speed.
static double myR_A_C1_Parameter[27]
rolling component, light vehicles, alpha
static double myT_A_C1_Parameter[27]
traction component, light vehicles, alpha
static double myT_B_C3_Parameter[27]
traction component, heavy vehicles, beta
static double myT_A_C3_Parameter[27]
traction component, heavy vehicles, alpha