emission.sound_power_intensity
La referencia de la API se publica en inglés en los dos idiomas: se genera a partir de los docstrings del código, que son su texto original.
Sound power level of a noise source by sound-intensity scanning: ISO 9614-2:1996 (engineering, grade 2; survey/control, grade 3) and ISO 9614-3:2002 (precision, grade 1).
A probe is swept continuously over each segment of a hypothetical surface that
encloses the source, reporting the time-averaged signed normal intensity
and mean-square pressure per segment. The
sound power follows from the partial powers
summed over the N segments
(clause 9, equations (5), (6), (12), (13)):
The method is not applicable to any band in which (clause 9.2): a strong parasitic source outside the surface makes the net energy flow inward and the determination invalid for that band.
Two scanning-method field indicators qualify the determination, with the area-weighted surface sound pressure level (Annex A, normative):
FpI is the surface pressure-intensity indicator (equivalent to ISO 9614-1
F3 for uniform-area segments, Note 14); F+/- the negative-partial-power
indicator (equivalent to ISO 9614-1 F3-F2, Note 15). Because Part 2 weights
by segment area Si while phonometry.emission.field_indicators (ISO
9614-1) assumes equal-area positions, the indicators are computed directly
here; only the dynamic-capability index
is shared with phonometry.emission.dynamic_capability_index.
Qualification criteria per band (Annex B), where K is 10 (engineering) or
7 (survey) per Table 1, criterion 2 is mandatory for grade 2 and optional for
grade 3, and the per-segment repeatability limit s comes from Table 2:
A band achieves the engineering grade when criteria 1, 2 and 3 hold, the survey grade when criteria 1 and 3 hold (clause 8.4), otherwise none. An A-weighted sound power level omits, besides the non-determinable bands, the bands in which criteria 1 and/or 2 are not satisfied (clause 10.6 b).
ISO 9614-3:2002 is the same method at precision grade, and that is why it is filed here and not in a module of its own: the same probe swept over the same enclosing surface, the same partial powers summed the same way (equations (5), (8), (9)), only a stricter procedure around them. Part 3 recognises a single grade, fixes the bias-error factor at dB, takes as its input the result of the two scans that its repeatability criterion compares, and refers the level to the reference atmosphere:
Qualification is stricter in the same proportion: four field indicators (Annex B) feed five acceptance criteria evaluated per band (Annex C), and a band that satisfies the scan-density criterion 5 is qualified as a final result even where the field non-uniformity of criterion 4 is not met (C.1.6.2). The exclusion of the net-negative bands is the one rule both parts state alike (clause 9.2).
Auto-generated from the source docstrings by
scripts/generate_api_docs.py(make api-docs). Do not edit by hand.
precision_field_indicators
Section titled “precision_field_indicators”precision_field_indicators( segment_intensity: np.ndarray, segment_pressure_levels: np.ndarray, *, time_window_intensity: np.ndarray | None = None,) -> PrecisionFieldIndicatorsISO 9614-3:2002 Annex B field indicators from segment data.
Over the N segments of the whole measurement surface (per band):
With time_window_intensity (an (M, NB) array of window-averaged
intensities) the temporal-variability indicator FT (Eq. B.1) is also
returned.
Parameters
| Name | Description |
|---|---|
segment_intensity | (N, NB) signed segment normal intensity, W/m^2. |
segment_pressure_levels | (N, NB) segment pressure levels, dB. |
time_window_intensity | Optional (M, NB) window intensities for FT. |
Returns: PrecisionFieldIndicators.
precision_qualification
Section titled “precision_qualification”precision_qualification( indicators: PrecisionFieldIndicators, *, scan_intensity_level_1: np.ndarray | None = None, scan_intensity_level_2: np.ndarray | None = None, pressure_residual_index: float | np.ndarray | None = None, field_nonuniformity_1: np.ndarray | None = None, field_nonuniformity_2: np.ndarray | None = None, frequencies: np.ndarray | None = None, repeatability_limit: float | np.ndarray | None = None,) -> PrecisionCriteriaEvaluate the five ISO 9614-3:2002 Annex C acceptance criteria per band.
Parameters
| Name | Description |
|---|---|
indicators | The PrecisionFieldIndicators (gives criteria 3 and 4 directly). |
scan_intensity_level_1 | LIn(1) per band (dB), first scan. |
scan_intensity_level_2 | LIn(2) per band (dB), second scan; with the first scan and s this gives criterion 1 (). |
pressure_residual_index | delta_pI0 (dB), scalar or per band; with gives Ld for criterion 2 (). |
field_nonuniformity_1 | FS(1) per band (initial scan density). |
field_nonuniformity_2 | FS(2) per band (doubled density); with FS(1) gives criterion 5. |
frequencies | (NB,) nominal mid-band frequencies (Hz), selecting the criterion-1 limit s from Table 1. |
repeatability_limit | Override for s (dB), scalar or per band. |
Returns: PrecisionCriteria.
PrecisionCriteria
Section titled “PrecisionCriteria”PrecisionCriteria( indicators: PrecisionFieldIndicators, scan_intensity_level_1: np.ndarray | None = None, scan_intensity_level_2: np.ndarray | None = None, frequencies: np.ndarray | None = None, repeatability_limit_db: np.ndarray | None = None, pressure_residual_index_db: np.ndarray | None = None, field_nonuniformity_1: np.ndarray | None = None, field_nonuniformity_2: np.ndarray | None = None,)ISO 9614-3:2002 Annex C acceptance criteria (per band, pass/fail).
The check holds the readings the five criteria compare, and each criterion is read from them and the limit Annex C prints, so none of them is a field: a criteria set cannot be built to qualify a band its readings do not qualify.
Each criterion is a boolean array (True = satisfied) or None when its
inputs are absent. criterion_1 scan repeatability
(Eq. C.1);
criterion_2 dynamic-capability
adequacy (Eq. C.2);
criterion_3
dB
(Eq. C.3); criterion_4
(Eq. C.4); criterion_5 scan-density convergence
(Eq. C.5). qualified is the
conjunction of criteria 1-3 with the field non-uniformity accepted
through criterion 4
or, where evaluated, criterion 5 (C.1.6.2: a band satisfying criterion 5
is qualified as a final result even if ); None
unless both criterion 1 and criterion 2 are evaluable.
Attributes
| Name | Description |
|---|---|
indicators | The PrecisionFieldIndicators, which give criteria 3 and 4. |
scan_intensity_level_1 | LIn(1) per band, in dB, or None. |
scan_intensity_level_2 | LIn(2) per band, in dB, or None. |
frequencies | Nominal mid-band frequencies per band, in Hz, from which Table 1 gives the criterion-1 limit s, or None. |
repeatability_limit_db | The caller’s own s per band, in dB, in place of Table 1, or None to read Table 1. |
pressure_residual_index_db | delta_pI0 per band, in dB, or None. |
field_nonuniformity_1 | FS(1) per band, or None. |
field_nonuniformity_2 | FS(2) per band, or None. |
PrecisionCriteria.criterion_1
Section titled “PrecisionCriteria.criterion_1”property
Scan repeatability (Eq. C.1).
Judged settled, so a difference on the limit in decimal is on it.
PrecisionCriteria.criterion_1_limit_db
Section titled “PrecisionCriteria.criterion_1_limit_db”property
The criterion-1 limit s per band, in dB.
The caller’s repeatability_limit_db, or ISO 9614-3 Table 1 read
from frequencies; None with neither.
Raises
| Exception | When |
|---|---|
| ValueError | if Table 1 is read and does not print a band. |
PrecisionCriteria.criterion_2
Section titled “PrecisionCriteria.criterion_2”property
Dynamic capability (Eq. C.2).
PrecisionCriteria.criterion_3
Section titled “PrecisionCriteria.criterion_3”property
dB (Eq. C.3).
PrecisionCriteria.criterion_4
Section titled “PrecisionCriteria.criterion_4”property
Field non-uniformity (Eq. C.4).
PrecisionCriteria.criterion_5
Section titled “PrecisionCriteria.criterion_5”property
Scan-density convergence (Eq. C.5).
Judged settled: 2,46 / 2,05 is 1,2 in decimal and a last bit over it in binary, and the criterion includes 1,2.
PrecisionCriteria.qualified
Section titled “PrecisionCriteria.qualified”property
Whether each band qualifies as a final result (C.1.6.2).
Criteria 1 to 3 with the field non-uniformity accepted through
criterion 4 or, where evaluated, criterion 5; None unless both
criterion 1 and criterion 2 are evaluable.
PrecisionFieldIndicators
Section titled “PrecisionFieldIndicators”PrecisionFieldIndicators( ft: np.ndarray | None, f_pi_unsigned: np.ndarray, f_pi_signed: np.ndarray, fs: np.ndarray,)ISO 9614-3:2002 Annex B field indicators (per band).
ft is the temporal-variability indicator (= F1 of ISO 9614-1, Eq. B.1),
None unless time-window intensities are supplied. f_pi_unsigned is
the unsigned pressure-intensity indicator (= F2, Eq. B.3, using the mean
magnitude of the segment intensities) and f_pi_signed the signed one
(= F3, Eq. B.6, using the algebraic mean); by construction
.
fs is the field-non-uniformity indicator (= F4, Eq. B.8).
PrecisionIntensityResult
Section titled “PrecisionIntensityResult”PrecisionIntensityResult( frequencies: np.ndarray | None, partial_power: np.ndarray, surface_area: float, *, temperature_c: float = 23.0, barometric_pressure_pa: float = 101325.0,)Result of an ISO 9614-3:2002 sound-power-by-scanning determination.
partial_power is the signed per partial
surface and band (Eq. 5); sound_power the signed band total
(Eq. 8) and sound_power_level its level
(Eq. 9), NaN
where (not_applicable_band True, clause 9.2).
sound_power_level_normalized is LW0 normalized to 23 deg C /
101 325 Pa (Eq. 10) from the air temperature temperature_c and the
barometric pressure barometric_pressure_pa of the measurement.
sound_power_level_a is the A-weighted total over applicable bands
(NaN without frequencies and more than one band). Everything read
from the partial powers is a read-only property, so the totals, the levels
and the clause 9.2 flag are not fields.
PrecisionIntensityResult.not_applicable_band
Section titled “PrecisionIntensityResult.not_applicable_band”property
Per band, whether the net sound power is not positive (clause 9.2).
Judged on the settled share of the gross power, as in ISO 9614-2.
PrecisionIntensityResult.plot()
Section titled “PrecisionIntensityResult.plot()”PrecisionIntensityResult.plot( ax: Axes | None = None, *, language: str = 'en', **kwargs: Any,) -> AxesPlot the LW spectrum; non-applicable bands are hatched/greyed.
Requires matplotlib (pip install phonometry[plot]); returns the
Axes.
PrecisionIntensityResult.report()
Section titled “PrecisionIntensityResult.report()”PrecisionIntensityResult.report( path: str, *, metadata: ReportMetadata | None = None, engine: str = 'reportlab', verbose: bool = False, language: str = 'en', indicators: PrecisionFieldIndicators | None = None, criteria: PrecisionCriteria | None = None, residual_index: float | Sequence[float] | np.ndarray | None = None,) -> strRender an ISO 9614-3 precision sound-power determination fiche.
Writes the one-page sound-power test sheet with what ISO 9614-3:2002
clause 10 asks a report of this method to state: the standard-basis
line naming the precision scanning method and its single accuracy
grade, an optional metadata header (client, noise source, test
environment, instrumentation, air temperature, relative humidity,
barometric pressure and date, clause 10 a) to d)), a per-band table of
the band sound-power level LW, the normalized level LW0 the
standard reports (Eq. 10, clause 10 f) 2)) and the expanded uncertainty
U of clause 4.3 (clause 10 f) 4)), the sound-power spectrum
LW(f) with the non-applicable bands hatched, the boxed A-weighted
sound power level LWA (dB re 1 pW) with the totals, the measurement
surface area and the grade, an optional verdict row against a declared
limit, and a measurement-basis strip carrying the partial-power model,
the meteorological normalization, the Annex B field indicators and the
Annex C criteria.
Supplying criteria makes the fiche state what clause 10 f) 2)
requires it to state: the bands whose criteria are not satisfied are
dropped from the A-weighted determination and named on the sheet
alongside the bands the method is not applicable to (clause 9.2). The
boxed LWA is then the level of the qualified bands, which differs
from the result’s own sound_power_level_a whenever a band is
rejected; without criteria the fiche boxes the result’s value and
says that no qualification was supplied.
The items of clause 10 that are free description rather than computed
quantities (the scan geometry and speed, the drawing of the scanning
paths, the scanning time per partial surface, the calibration and
field-check history, the windscreen, and the probe-reversal checks of
clause 6.2.3) belong in the metadata notes and calibration
fields; the fiche prints them verbatim in its footer.
Parameters
| Name | Description |
|---|---|
path | Destination path of the PDF file. |
metadata | Optional ReportMetadata supplying the header (client, specimen the noise source, test_room the test environment, instrumentation, temperature_c, relative_humidity_percent, pressure, test_date), the footer identity (laboratory, operator, report_id, notes) and, via requirement, a declared A-weighted sound-power limit the fiche checks the result against (lower is better). |
engine | Rendering back end; only "reportlab" is supported. |
verbose | When True the per-band table adds the four Annex B field indicators and the per-band grade cell. |
language | Fiche language: "en" (default) or "es". |
indicators | Optional PrecisionFieldIndicators from precision_field_indicators, tabulated per band with verbose and summarised in the basis strip (clause 10 f) 1)). |
criteria | Optional PrecisionCriteria from precision_qualification, which decides the per-band grade cell and the clause 10 f) 2) omission described above. |
residual_index | Optional pressure-residual intensity index delta_pI0 of the probe and analyser (clause 10 d) 5)), a scalar or a per-band array; the strip states it and the dynamic capability Ld = delta_pI0 - K that criterion 2 tests. |
Returns: The written path as a str.
Raises
| Exception | When |
|---|---|
| ValueError | If engine is not "reportlab", language is unknown, or a supplied indicators, criteria or residual_index does not span the result’s bands. |
| ImportError | If reportlab (or, for the figure, matplotlib) is not installed (pip install phonometry[report]). |
PrecisionIntensityResult.sound_power
Section titled “PrecisionIntensityResult.sound_power”property
The signed band total (Eq. 8), in watts.
PrecisionIntensityResult.sound_power_level
Section titled “PrecisionIntensityResult.sound_power_level”property
The band level (Eq. 9), NaN where .
PrecisionIntensityResult.sound_power_level_a
Section titled “PrecisionIntensityResult.sound_power_level_a”property
The A-weighted total over the applicable bands, in dB.
PrecisionIntensityResult.sound_power_level_normalized
Section titled “PrecisionIntensityResult.sound_power_level_normalized”property
LW0, the band level normalized to 23 deg C and 101 325 Pa (Eq. 10).
sound_power_intensity
Section titled “sound_power_intensity”sound_power_intensity( normal_intensity: np.ndarray, areas: np.ndarray, *, normal_intensity_2: np.ndarray | None = None, pressure_levels: np.ndarray | None = None, pressure_residual_index: float | np.ndarray | None = None, frequencies: np.ndarray | None = None, band_type: BandType = 'third', grade: Grade = 'engineering', repeatability_limit: float | np.ndarray | None = None,) -> SoundPowerIntensityResultSound power level by sound-intensity scanning (ISO 9614-2:1996).
normal_intensity is an (N_seg, N_bands) array (or (N_seg,) for a
single band) of the signed, segment-averaged normal sound intensity
(W/m^2), and areas the (N_seg,)
segment areas Si (m^2). The partial powers
are summed to the band sound
power P and level (equations (12), (6),
(13)). Bands with are flagged (negative_band) and
reported as NaN (clause 9.2).
Supplying normal_intensity_2 (the second grade-2 sweep) makes
normal_intensity the first sweep, uses their mean for the partial powers
(Eq. 12), and evaluates the repeatability criterion 3. Supplying
pressure_levels (Lpi) evaluates FpI (Eq. A.1) and, with
pressure_residual_index (delta_pI0), criterion 1. The per-band
achieved grade (clause 8.4) is returned when both a second sweep and
delta_pI0 are available. When criteria 1 and 2 are evaluable
(pressure_levels and pressure_residual_index supplied), the bands
failing them are omitted from the A-weighted total and flagged in
a_weighting_omitted_bands (clause 10.6 b); otherwise every determinable
band is summed and a SoundPowerWarning notes the missing
screening.
Parameters
| Name | Description |
|---|---|
normal_intensity | (N_seg, N_bands) signed normal intensity, W/m^2. |
areas | (N_seg,) segment areas Si, m^2. |
normal_intensity_2 | Optional second sweep, same shape (criterion 3). |
pressure_levels | Optional (N_seg, N_bands) Lpi (dB) for FpI. |
pressure_residual_index | delta_pI0 (dB), scalar or per band, for the dynamic-capability index / criterion 1. |
frequencies | (N_bands,) nominal band centres (Hz), for the A-weighted total and the Table 2 repeatability limits. |
band_type | 'octave' or 'third' (Table 2 lookup). |
grade | 'engineering' (grade 2) or 'survey' (grade 3); selects K for the reported Ld and the criterion-2 warning. |
repeatability_limit | Override for the criterion-3 limit s (dB), scalar or per band; defaults to ISO 9614-2 Table 2 by frequencies for 'engineering'. For 'survey' the default is the A-weighted 4 dB reused per band (extrapolated — non-normative). |
Returns: SoundPowerIntensityResult.
sound_power_intensity_precision
Section titled “sound_power_intensity_precision”sound_power_intensity_precision( partial_intensity: np.ndarray, areas: np.ndarray, *, frequencies: np.ndarray | None = None, temperature_c: float = 23.0, barometric_pressure_pa: float = 101325.0,) -> PrecisionIntensityResultSound power by intensity scanning, precision (ISO 9614-3:2002).
partial_intensity is an (N, NB) array (or (N,) for a single
band) of the signed normal intensity on each of the N
partial surfaces (already the two-scan result), and areas the (N,)
partial surface areas . The partial powers
(Eq. 5) are summed to (Eq. 8) and
(Eq. 9); a band with net is
flagged (not_applicable_band, clause 9.2) and reported as NaN.
normalizes to reference meteorology:
Parameters
| Name | Description |
|---|---|
partial_intensity | (N, NB) signed normal intensity, W/m^2. |
areas | (N,) partial surface areas Si, m^2. |
frequencies | (NB,) nominal mid-band frequencies (Hz), for LWA. |
temperature_c | Air temperature theta (deg C), for LW0 (Eq. 10). |
barometric_pressure_pa | Barometric pressure B (Pa), for LW0. |
Returns: PrecisionIntensityResult.
SoundPowerIntensityResult
Section titled “SoundPowerIntensityResult”SoundPowerIntensityResult( frequencies: np.ndarray | None, partial_power: np.ndarray, surface_pressure_intensity_index: np.ndarray | None, repeatability: np.ndarray | None, pressure_residual_index_db: np.ndarray | None, surface_area: float, band_type: str, grade: str, repeatability_limit_db: np.ndarray | None = None,)Result of an ISO 9614-2:1996 sound-power-by-scanning determination.
partial_power is the signed
per segment and band (Eq. 12); partial_power_level the magnitude level
(Eq. 8), with the sign carried by
partial_power. sound_power is the signed band total
(Eq. 6) and sound_power_level its level
(Eq. 13), NaN where
(negative_band True, method not applicable, clause 9.2).
surface_pressure_intensity_index
(FpI, Eq. A.1) and negative_partial_power_index (F+/-, Eq. A.2) are
per band, None when the inputs they need are absent. repeatability
is per segment and band (criterion 3),
None without
a second scan; it is where the two sweeps reverse the flow
direction on a segment (opposite-sign partial powers), a gross
non-repeatability that criterion 3 must reject even when the magnitudes
happen to match. pressure_residual_index_db is the
of the instrument per band, None when it was not
given, and dynamic_capability_index the Ld it gives for the
requested grade. repeatability_limit_db is the criterion-3 limit s
the caller chose per band, None to read Table 2 by frequencies and
band_type.
achieved_grade is the per-band class 'engineering'/
'survey'/'none' (clause 8.4), None when the qualifying inputs
(delta_pI0 and a second scan) are absent. sound_power_level_a is the
A-weighted total over determinable bands (NaN without frequencies
and more than one band), which omits the bands failing criteria 1 and/or 2
(clause 10.6 b) whenever those criteria are evaluable.
a_weighting_omitted_bands flags the bands so omitted (per band,
True = omitted); it is None when the criteria inputs
(pressure_levels and pressure_residual_index) are absent, in which
case every determinable band is summed and a warning is emitted. The
verdicts, the totals and the indicators read from the partial powers are
read-only properties, worked out from the fields and the limits Annex B
prints, so they are not fields.
SoundPowerIntensityResult.a_weighting_omitted_bands
Section titled “SoundPowerIntensityResult.a_weighting_omitted_bands”property
The bands clause 10.6 b keeps out of the A-weighted total, or None.
SoundPowerIntensityResult.achieved_grade
Section titled “SoundPowerIntensityResult.achieved_grade”property
The per-band class Annex B grants (clause 8.4), or None.
One of 'engineering', 'survey' and 'none' per band, read
from the indicators, the repeatability and
against criteria 1 to 3.
SoundPowerIntensityResult.dynamic_capability_index
Section titled “SoundPowerIntensityResult.dynamic_capability_index”property
per band at the requested grade, or None.
SoundPowerIntensityResult.negative_band
Section titled “SoundPowerIntensityResult.negative_band”property
Per band, whether the net sound power is not positive (clause 9.2).
The sign is judged on the settled share of the gross power, so partial powers that cancel in decimal are no net power whichever way the last bits of their sum fall.
SoundPowerIntensityResult.negative_partial_power_index
Section titled “SoundPowerIntensityResult.negative_partial_power_index”property
The negative-partial-power indicator (Eq. A.2), per band.
SoundPowerIntensityResult.partial_power_level
Section titled “SoundPowerIntensityResult.partial_power_level”property
The magnitude level (Eq. 8), per segment and band.
SoundPowerIntensityResult.plot()
Section titled “SoundPowerIntensityResult.plot()”SoundPowerIntensityResult.plot( ax: Axes | None = None, *, language: str = 'en', **kwargs: Any,) -> AxesPlot the LW spectrum; non-positive bands are hatched as unusable.
Requires matplotlib (pip install phonometry[plot]); returns the
Axes.
SoundPowerIntensityResult.report()
Section titled “SoundPowerIntensityResult.report()”SoundPowerIntensityResult.report( path: str, *, metadata: ReportMetadata | None = None, engine: str = 'reportlab', verbose: bool = False, language: str = 'en',) -> strRender an ISO 9614-2 sound-power-by-intensity determination fiche.
Writes a one-page sound-power test sheet: the standard-basis line naming
the intensity-scanning method and its measurement grade (ISO 9614-2:1996
engineering grade 2 or survey grade 3), an optional metadata header
(client, noise source, test environment, instrumentation, climate,
date), a per-band table (nominal octave/one-third-octave frequency and
the intensity-derived band sound-power level LW), the sound-power
spectrum LW(f) with net-negative bands hatched as unusable, the
boxed A-weighted sound power level LWA (dB re 1 pW) with the total
LW, the measurement surface area S and the determination grade,
an optional verdict row against a declared limit, and a
measurement-basis strip stating the partial-power model, the field
indicators (FpI, F+/-) and the Annex B qualification criteria.
Parameters
| Name | Description |
|---|---|
path | Destination path of the PDF file. |
metadata | Optional ReportMetadata supplying the header (client, specimen the noise source, test_room the test environment, instrumentation, temperature_c, relative_humidity_percent, pressure, test_date), the footer identity (laboratory, operator, report_id, notes) and, via requirement, a declared A-weighted sound-power limit the fiche checks the result against (lower is better). |
engine | Rendering back end; only "reportlab" is supported. |
verbose | When True the per-band table adds the field indicators FpI and F+/- and the per-band achieved grade. |
language | Fiche language: "en" (default) or "es". |
Returns: The written path as a str.
Raises
| Exception | When |
|---|---|
| ValueError | If engine is not "reportlab" or language is unknown. |
| ImportError | If reportlab (or, for the figure, matplotlib) is not installed (pip install phonometry[report]). |
SoundPowerIntensityResult.sound_power
Section titled “SoundPowerIntensityResult.sound_power”property
The signed band total (Eq. 6), in watts.
SoundPowerIntensityResult.sound_power_level
Section titled “SoundPowerIntensityResult.sound_power_level”property
The band level (Eq. 13), NaN where .
SoundPowerIntensityResult.sound_power_level_a
Section titled “SoundPowerIntensityResult.sound_power_level_a”property
The A-weighted total over the determinable, qualified bands, in dB.