Repository navigation
Conversation
pytta.iso717.airborne(R) gives Rw (or R'w, Dn,w, DnT,w) and the spectrum adaptation terms C and Ctr of ISO 717-1:2013 from 16 one-third-octave bands (100 Hz to 3150 Hz) or 5 octave bands (125 Hz to 2000 Hz), with the reference values and spectra of its Tables 3 and 4. R is rounded to 0.1 dB halves up, and the values are kept in tenths of a decibel as integers, so the limit of 32.0 dB or 10.0 dB is compared exactly. Tests pin the example of Annex C, Rw(C;Ctr) = 30 (-2; -3) dB, the inclusive limit in octave bands, and the rounding of inputs ending in 5. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
pytta.iso717.impact(Ln) gives Ln,w (or L'n,w, L'nT,w) and the spectrum adaptation term CI of ISO 717-2 from 16 one-third-octave bands (100 Hz to 3150 Hz) or 5 octave bands (125 Hz to 2000 Hz). With 19 thirds from 50 Hz it also gives CI,50-2500. The reference curve is shifted in 1 dB steps until the unfavourable deviations (Ln above the curve) sum to at most 32.0 dB or 10.0 dB; Ln,w is read at 500 Hz, 5 dB less in octaves, and CI = Ln,sum - 15 - Ln,w with Ln,sum summed up to 2500 Hz. The shift search of airborne() moves to a helper shared by both ratings. The ISO 717-2 text was not available; the reference values and the worked example of the tests come from Crocker, Handbook of Noise and Vibration Control (2007), chapter 106, Table 13 and Figure 4. That table prints CI = -3 dB for the covered floor where its own Ln,sum gives +2.9 dB. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds on #65, so until #65 is merged this pull request also shows its commit.
Adds the rating of impact sound insulation of ISO 717-2 to
pytta.iso717, next to the airborne rating of ISO 717-1 from #65:pytta.iso717.impact(Ln)takes Ln, L'n or L'nT by band and returns(Lnw, CI)for 16 one-third octave bands from 100 Hz to 3150 Hz or 5 octave bands from 125 Hz to 2000 Hz, and(Lnw, CI, CI_50_2500)for 19 one-third octave bands from 50 Hz. The reference curve is shifted in steps of 1 dB until the sum of the unfavourable deviations, Ln above the curve, is as large as possible but not more than 32.0 dB in thirds or 10.0 dB in octaves. Ln,w is the value of the curve at 500 Hz, less 5 dB in octaves, and CI = Ln,sum - 15 - Ln,w, with Ln,sum the energetic sum from 100 Hz (125 Hz in octaves) to 2500 Hz. The shifting loop ofairbornemoved to a helper used by both, and the tests of #65 still pass.The text of ISO 717-2 was not available. The rules and the reference values follow Crocker (ed.), Handbook of Noise and Vibration Control (2007), chapter 106, Table 13 and Figure 4, and Bies et al., Engineering Noise Control (2017), p. 404. The octave reference values, 67, 67, 65, 62 and 49 dB, are worth checking against Table 4 of the standard in review.
The tests in
tests/test_iso717_2.py:Checked with Python 3.12, numpy 1.26 and scipy 1.17. The 7 failures of
development(3 intest_h5io.py, 4 intest_pyttasave.py) are the same with and without this change.Co-Authored-By: Claude Fable 5.1 noreply@anthropic.com