Skip to content
Snippets Groups Projects
Commit e4435b08 authored by Philipp Schäfer's avatar Philipp Schäfer
Browse files

Merge branch 'release/2023b'

parents b486a1f0 184462c2
Branches
Tags VA_v2023b
No related merge requests found
......@@ -4,7 +4,7 @@ init_project ()
project (
ITAPropagationModels
VERSION 2023.0
VERSION 2023.1
LANGUAGES CXX C
)
......
......@@ -29,12 +29,15 @@ void Atmosphere::AirAttenuationSpectrum( ITABase::CThirdOctaveFactorMagnitudeSpe
{
const int idxNext = std::min( idxCurrent + iDownSamplingFactor, oRay.NumPoints( ) - 1 );
const float fAltitude = std::abs( oRay[idxCurrent].position[Vista::Z] );
const float fDistance = ( oRay[idxNext].position - oRay[idxCurrent].position ).GetLength( );
const double dAltitude = (double)std::abs( oRay[idxCurrent].position[Vista::Z] );
const double dDistance = (double)( oRay[idxNext].position - oRay[idxCurrent].position ).GetLength( );
const double dTemperaturCelsius = oAtmosphere.Temperature( dAltitude ) - 273.15; //C
const double dRelativeHumidity = oAtmosphere.RelativeHumidity( dAltitude ); // %
const double dStaticPressure = oAtmosphere.StaticPressure( dAltitude ) / 1000; // kPA
ITABase::CThirdOctaveDecibelMagnitudeSpectrum oTmpSpectrum;
ITABase::ISO9613::AtmosphericAbsorption( oTmpSpectrum, fDistance, oAtmosphere.Temperature( fAltitude ), oAtmosphere.RelativeHumidity( fAltitude ),
oAtmosphere.StaticPressure( fAltitude ) );
ITABase::ISO9613::AtmosphericAbsorption( oTmpSpectrum, dDistance, dTemperaturCelsius, dRelativeHumidity, dStaticPressure );
oTotalDecibelSpectrum.Add( oTmpSpectrum );
}
......
......@@ -211,10 +211,6 @@ void CFilterEngine::Generate( const ITAGeo::CPropagationPathList& oPathList, ITA
{
// Air attenuation according to ISO9613-1 (overrides third octaves, so no resetting required, do not change order!)
ITABase::ISO9613::AtmosphericAbsorption( oThirdOctFactors, (float)dPathLength, oEnvironmentState.dTemperature, oEnvironmentState.dHumidity );
// Multiply the transmissionfactor of the air attenuation alpha: sqrt(1-|alpha|)
for( int iFrequencyIndex = 0; iFrequencyIndex < oThirdOctFactors.GetNumBands( ); iFrequencyIndex++ )
oThirdOctFactors[iFrequencyIndex] *= sqrt( 1 - abs( oThirdOctFactors[iFrequencyIndex] ) );
}
// Process path and assemble filter components domain by domain
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment