java.lang.Object
org.noise_planet.noisemodelling.emission.road.cnossos.RoadCnossos

public class RoadCnossos extends Object
Compute the emission sound level of a road segment in dB/m Reference document is "Commission Directive (EU) 2015/996 of 19 May 2015 establishing common noise assessment methods according to Directive 2002/49/EC of the European Parliament and of the Council (Text with EEA relevance)" 2015 including its 2020 amendments https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=OJ:JOL_2015_168_R_0001 for 2015 version https://eur-lex.europa.eu/legal-content/GA/TXT/?uri=CELEX:32020L0367 for amendments
Author:
Nicolas Fortin, Université Gustave Eiffel, Pierre Aumond, Université Gustave Eiffel
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static double
    evaluate(RoadCnossosParameters roadCnossosParameters)
    Return the noise emission level of a road segment in dB/m
    static Double
    getA_RoadSurfaceCoeff(int Freq, String vehCat, String roadSurface, int fileVersion)
    Get "a" road surface coefficient (also called spectrum) for a frequency value
    static Double
    getB_RoadSurfaceCoeff(String vehCat, String roadSurface, int fileVersion)
    Get "b" road surface coefficient (also called ßm) for a frequency value
    static com.fasterxml.jackson.databind.JsonNode
    getCnossosData(int fileVersion)
    Get the CNOSSOS coefficients from a specific file version.
    static Double
    getCoeff(String coeff, int freq, String vehicleCategory, int coeffVer)
    get vehicle emission values coefficients
    static double
    getCp(String vehCat, int k, int fileVersion)
    Get "Cp" coefficient related to the increase in propulsion noise near an intersection (due to deceleration and acceleration phases).
    static double
    getCr(String vehCat, int k, int fileVersion)
    Get "Cr" coefficient related to the decrease in rolling noise near an intersection (due to deceleration and acceleration phases).
    static Double
    getNoiseLvl(double base, double adj, double speed, double speedBase)
    Get rolling or motor sound level in dB at a specific speed

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • RoadCnossos

      public RoadCnossos()
  • Method Details

    • getCnossosData

      public static com.fasterxml.jackson.databind.JsonNode getCnossosData(int fileVersion)
      Get the CNOSSOS coefficients from a specific file version.
      Parameters:
      fileVersion - 1=RailwayCnossosEU_2020.json; other = RailwayCnossosSNCF_2021.json
      Returns:
    • getA_RoadSurfaceCoeff

      public static Double getA_RoadSurfaceCoeff(int Freq, String vehCat, String roadSurface, int fileVersion) throws IOException
      Get "a" road surface coefficient (also called spectrum) for a frequency value
      Parameters:
      Freq - Frequency in Hz (octave band)
      vehCat - Vehicle category (1,2,3,4a,4b,5)
      roadSurface - Road surface identifier - The list is given in the following file : src/main/resources/org/noise_planet/noisemodelling/emission/RoadCnossos_2020.json search for NL01 or FR_R2 for example
      fileVersion - 2015 or 2019 coefficients version
      Returns:
      a Road Coeff
      Throws:
      IOException
    • getB_RoadSurfaceCoeff

      public static Double getB_RoadSurfaceCoeff(String vehCat, String roadSurface, int fileVersion)
      Get "b" road surface coefficient (also called ßm) for a frequency value
      Parameters:
      vehCat - Vehicle category (1,2,3,4a,4b,5)
      roadSurface - Road surface identifier - The list is given in the following file : src/main/resources/org/noise_planet/noisemodelling/emission/RoadCnossos_2020.json search for NL01 or FR_R2 for example
      fileVersion - 2015 or 2019 coefficients version
      Returns:
      a Road Coeff
    • getCr

      public static double getCr(String vehCat, int k, int fileVersion)
      Get "Cr" coefficient related to the decrease in rolling noise near an intersection (due to deceleration and acceleration phases).
      Parameters:
      vehCat - Vehicle category (1,2,3,4a,4b,5)
      k - k=1 Crossing lights, k=2 roundabout
      fileVersion - 2015 or 2019 coefficients version
      Returns:
      Cr coefficient
    • getCp

      public static double getCp(String vehCat, int k, int fileVersion)
      Get "Cp" coefficient related to the increase in propulsion noise near an intersection (due to deceleration and acceleration phases).
      Parameters:
      vehCat - Vehicle category
      k - k=1 Crossing lights, k=2 roundabout
      fileVersion - 2015 or 2019 coefficients version
      Returns:
      Cp coefficient
    • getCoeff

      public static Double getCoeff(String coeff, int freq, String vehicleCategory, int coeffVer)
      get vehicle emission values coefficients
      Parameters:
      coeff - ar,br,ap,bp,a,b (ar, br, rolling noise / ap,bp, propulsion noise / a,b, studded tyres)
      freq - Frequency in Hz (octave band)
      vehicleCategory - 1,2,3,4a,4b..
      Returns:
      Vehicle emission values coefficients
    • getNoiseLvl

      public static Double getNoiseLvl(double base, double adj, double speed, double speedBase)
      Get rolling or motor sound level in dB at a specific speed
      Parameters:
      base - coeff A
      adj - coeff B
      speed - vm in km/h
      speedBase - vref in km/h
      Returns:
    • evaluate

      public static double evaluate(RoadCnossosParameters roadCnossosParameters) throws IOException
      Return the noise emission level of a road segment in dB/m
      Parameters:
      roadCnossosParameters - every parameters linked to RoadCnossosParameters class (e.g. speed on the road segment)
      Returns:
      Noise level in dB
      Throws:
      IOException