Module: ISO_1996::Withdrawn::Part_1_2003
- Includes:
- Constants
- Defined in:
- lib/iso_1996/withdrawn/part_1_2003.rb
Overview
ISO 1996-1:2003 Basic Quantities and Assessment Procedures
Module implementing calculations defined in ISO 1996-1:2003: “Acoustics - Description, measurement and assessment of environmental noise - Part 1: Basic quantities and assessment procedures”
Defined Under Namespace
Modules: Constants
Class Method Summary collapse
-
.a_weighted_sound_pressure_level(p_a, measurement_time: 1.0) ⇒ Float
Calculate A-weighted sound pressure level (L_A) as defined in Section 3.2.
-
.equivalent_continuous_sound_level(levels, measurement_time) ⇒ Float
Calculate equivalent continuous sound level (L_Aeq,T) as defined in Section 3.7.
-
.peak_sound_pressure_level(p_c_max) ⇒ Float
Calculate C-weighted peak sound pressure level (L_Cpeak) as defined in Section 3.10.
-
.sound_exposure_level(p_a) ⇒ Float
Calculate sound exposure level (L_AE) as defined in Section 3.9.
-
.sound_pressure_level(p) ⇒ Float
Calculate sound pressure level (L_p) as defined in Section 3.2.
Class Method Details
.a_weighted_sound_pressure_level(p_a, measurement_time: 1.0) ⇒ Float
Calculate A-weighted sound pressure level (L_A) as defined in Section 3.2
63 64 65 |
# File 'lib/iso_1996/withdrawn/part_1_2003.rb', line 63 def self.a_weighted_sound_pressure_level(p_a, measurement_time: 1.0) 10 * Math.log10((1.0 / measurement_time) * (p_a ** 2) / (Constants::REFERENCE_SOUND_PRESSURE ** 2)) end |
.equivalent_continuous_sound_level(levels, measurement_time) ⇒ Float
Calculate equivalent continuous sound level (L_Aeq,T) as defined in Section 3.7
93 94 95 96 97 98 99 100 |
# File 'lib/iso_1996/withdrawn/part_1_2003.rb', line 93 def self.equivalent_continuous_sound_level(levels, measurement_time) raise ArgumentError, "Measurement time must be positive" if measurement_time <= 0 return -Float::INFINITY if levels.empty? energy_sum = levels.sum { |l| 10 ** (l / 10.0) } 10 * Math.log10(energy_sum / measurement_time) end |
.peak_sound_pressure_level(p_c_max) ⇒ Float
Calculate C-weighted peak sound pressure level (L_Cpeak) as defined in Section 3.10
110 111 112 |
# File 'lib/iso_1996/withdrawn/part_1_2003.rb', line 110 def self.peak_sound_pressure_level(p_c_max) 20 * Math.log10(p_c_max / Constants::REFERENCE_SOUND_PRESSURE) end |
.sound_exposure_level(p_a) ⇒ Float
Calculate sound exposure level (L_AE) as defined in Section 3.9
75 76 77 |
# File 'lib/iso_1996/withdrawn/part_1_2003.rb', line 75 def self.sound_exposure_level(p_a) 10 * Math.log10((1.0 / Constants::REFERENCE_TIME) * (p_a ** 2) / (Constants::REFERENCE_SOUND_PRESSURE ** 2)) end |
.sound_pressure_level(p) ⇒ Float
Calculate sound pressure level (L_p) as defined in Section 3.2
50 51 52 |
# File 'lib/iso_1996/withdrawn/part_1_2003.rb', line 50 def self.sound_pressure_level(p) 10 * Math.log10((p ** 2) / (Constants::REFERENCE_SOUND_PRESSURE ** 2)) end |