Ir al contenido

building.measurement.structure_borne_power

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.

Structure-borne sound power of building equipment (EN 15657:2018; ISO 9611).

Building service equipment (pumps, fans, boilers, sanitary appliances) injects structure-borne sound power into the building structure it is fixed to. EN 15657 measures it with the reception-plate method: the source is mounted on a plate of known mass per unit area m and area S whose structural loss factor eta is known, and the spatial-average vibratory velocity level of the plate is measured.

The power a resonant plate dissipates equals , so the power injected into that reception plate is, in one-third-octave bands (Formula 14):

with the references Hz, kg (printed as 1 kg; the quantity it normalises is a mass per unit area, so the reference is 1 kg/m² — see docs/ERRATA.md), m²; the fixed -60 dB term is for the EN 15657 velocity reference m/s and pW. The spatial mean velocity level is the energetic average over the N plate positions (Formula 12):

and the plate loss factor follows from its structural reverberation time Ts (Formula 13, identical to the ISO 10848 total loss factor):

Formula (14) is plate-specific, not a source descriptor. The same source injects a different power into a different receiver; feeding L_Ws directly into EN 12354-5 as a characteristic level mis-states the receiving-room level by up to ~20 dB. EN 15657 derives the plate-independent source quantities from two test plates: a low-mobility plate (its point mobility and loss factor are unchanged by the source) and a high-mobility plate (loaded by the source):

  • the equivalent blocked force level (Formula 15, dB re N): with the measured low-mobility-plate mobility and m/(N.s);
  • the characteristic reception-plate power level used by EN 12354-5 (Formula 17), referred to the standard 10 cm concrete plate of characteristic mobility m/(N.s) (clause 7.2.4): ;
  • the equivalent free velocity level (Formula 18, dB re 1e-9 m/s) from the high-mobility plate, and the source mobility from both (Formula 19). L_Wsn plus the mobility corrections of EN 12354-5 Annex I (see phonometry.building.prediction.installed_structure_borne) close the EN 15657 -> EN 12354-5 chain.

The source-side free velocity of ISO 9611:1996 is the direct-measurement counterpart: velocity levels re m/s (clause 7), averaged over positions with the energy mean of its equation (9), implemented by mean_free_velocity_level.

Auto-generated from the source docstrings by scripts/generate_api_docs.py (make api-docs). Do not edit by hand.

characteristic_reception_plate_power(
blocked_force_level: ArrayLike,
*,
characteristic_mobility: float = 5e-06,
) -> np.ndarray

Characteristic reception-plate power level (EN 15657:2018, Formula 17).

with the characteristic mobility of the standard 10 cm concrete reception plate m/(N.s) (clause 7.2.4) and m/(N.s). This is the plate-independent source power level L_Ws,n that EN 12354-5 consumes (its Annex I mobility correction phonometry.installed_power_from_reception_plate then refers it to the actual receiver).

Parameters

NameDescription
blocked_force_levelEquivalent blocked force level L_Fb,eq (per band), in dB re 1e-6 N (see equivalent_blocked_force_level).
characteristic_mobilityY_R,inf,low, in m/(N.s) (Default: 5e-6, clause 7.2.4).

Returns: The characteristic power level L_Wsn, in dB re 1 pW.

Raises

ExceptionWhen
ValueErrorfor a non-positive characteristic mobility.
equivalent_blocked_force_level(
power_level: ArrayLike,
plate_mobility: ArrayLike,
) -> np.ndarray

Equivalent blocked force level, squared (EN 15657:2018, Formula 15).

in dB re N, from the power injected into the low-mobility reception plate (Formula 14) and the equivalent point mobility of that plate (the arithmetic mean of Re{Y} over the contact points, Formula 16).

Parameters

NameDescription
power_levelInjected power level L_Ws,low (per band), in dB re 1 pW (see structure_borne_power_level).
plate_mobilityEquivalent plate mobility Y_R,low,eq (per band), in m/(N.s); complex values use their real part (Formula 16).

Returns: The equivalent blocked force level L_Fb,eq, in dB re 1e-6 N.

Raises

ExceptionWhen
ValueErrorif Re{plate_mobility} is not positive and finite.
equivalent_free_velocity_level(
power_level: ArrayLike,
plate_mobility: ArrayLike,
) -> np.ndarray

Equivalent free velocity level of the source (EN 15657:2018, Formula 18).

in dB re 1e-9 m/s, from the power injected into the high-mobility reception plate and its equivalent (complex) point mobility. The plus sign follows the printed formula and the physics (); it is what makes Formulae (15) and (18) combine through Formula (19) into .

Parameters

NameDescription
power_levelInjected power level L_Ws,high (per band), in dB re 1 pW.
plate_mobilityEquivalent plate mobility Y_R,high,eq (per band, complex), in m/(N.s).

Returns: The equivalent free velocity level L_vf,eq, in dB re 1e-9 m/s.

Raises

ExceptionWhen
ValueErrorif Re{plate_mobility} is not positive and finite.
mean_free_velocity_level(levels: ArrayLike) -> float

Mean free velocity level over positions (ISO 9611:1996, equation (9)).

, the energy mean of the free-velocity levels measured at the N contact/attachment points of one direction x, each in dB re the ISO 9611 free-velocity reference m/s (clause 7). The arithmetic is the energetic average (identical to EN 15657 Formula 12, spatial_mean_velocity_level); only the reference differs.

Parameters

NameDescription
levelsFree velocity levels Lvxi at the N positions, in dB re 5e-8 m/s.

Returns: The mean free velocity level, in dB re 5e-8 m/s.

plate_loss_factor(
frequency: ArrayLike,
reverberation_time: ArrayLike,
) -> np.ndarray

Plate loss factor (EN 15657, Formula 13).

Estimated from the plate’s structural reverberation time; identical to the ISO 10848 total loss factor.

Parameters

NameDescription
frequencyBand centre frequency f, in hertz (per band).
reverberation_timeStructural reverberation time Ts, in s.

Returns: The loss factor eta (dimensionless) per band.

reception_plate_power(
velocity_level: ArrayLike,
frequency: ArrayLike,
mass_per_area: float,
area: float,
*,
loss_factor: ArrayLike | None = None,
reverberation_time: ArrayLike | None = None,
) -> StructureBornePowerResult

Reception-plate injected structure-borne sound power (EN 15657, clause 7).

Provide the plate loss factor directly, or its structural reverberation time Ts (from which is computed, Formula 13). The result is the power injected into this plate (Formula 14); see the module docstring for the conversion chain to the EN 12354-5 source quantities.

Parameters

NameDescription
velocity_levelSpatial mean plate velocity level L_v (per band), in dB re 1e-9 m/s (see spatial_mean_velocity_level).
frequencyBand centre frequencies f, in hertz.
mass_per_areaPlate mass per unit area m, in kg/m^2 (> 0).
areaPlate area S, in m^2 (> 0).
loss_factorPlate loss factor eta (per band), or None to derive it from reverberation_time.
reverberation_timeStructural reverberation time Ts, in s, used when loss_factor is None.

Returns: The StructureBornePowerResult.

Raises

ExceptionWhen
ValueErrorif neither loss_factor nor reverberation_time is given.
source_mobility_from_levels(
free_velocity_level: ArrayLike,
blocked_force_level: ArrayLike,
) -> np.ndarray

Equivalent source mobility magnitude (EN 15657:2018, Formula 19).

, the ratio of the free-velocity (re 1e-9 m/s) and blocked-force (re 1e-6 N) references makes the constant .

Parameters

NameDescription
free_velocity_levelEquivalent free velocity level L_vf,eq (per band), in dB re 1e-9 m/s (Formula 10 or 18).
blocked_force_levelEquivalent blocked force level L_Fb,eq (per band), in dB re 1e-6 N (Formula 15).

Returns: The source mobility magnitude |Y_S,eq|, in m/(N.s).

spatial_mean_velocity_level(levels: ArrayLike) -> float

Spatial-average velocity level over the plate (EN 15657, Formula 12).

— the energetic average of the per-position velocity levels.

Parameters

NameDescription
levelsVelocity levels L_v,i at the N positions, in dB.

Returns: The spatial mean velocity level, in dB.

structure_borne_power_level(
velocity_level: ArrayLike,
frequency: ArrayLike,
mass_per_area: float,
area: float,
loss_factor: ArrayLike,
*,
reference_velocity: float = 1e-09,
) -> np.ndarray

Structure-borne power injected into the reception plate (EN 15657, Formula 14).

The power a resonant reception plate dissipates, expressed as a level re 1 pW:

With the EN 15657 reference m/s the last term is -60 dB.

Parameters

NameDescription
velocity_levelSpatial mean plate velocity level L_v (scalar or per band), in dB re v0.
frequencyBand centre frequency f, in hertz.
mass_per_areaPlate mass per unit area m, in kg/m^2 (> 0).
areaPlate area S, in m^2 (> 0).
loss_factorPlate loss factor eta (scalar or per band, > 0).
reference_velocityVelocity reference v0 (Default: 1e-9 m/s).

Returns: The structure-borne sound power level L_Ws, in dB re 1 pW.

Raises

ExceptionWhen
ValueErrorfor a non-positive mass, area, reference, frequency or loss factor.
StructureBornePowerResult(
power_level: np.ndarray,
velocity_level: np.ndarray,
loss_factor: np.ndarray,
mass_per_area: float,
area: float,
frequencies: np.ndarray | None = None,
)

Structure-borne sound power injected into a reception plate (EN 15657).

The power level is specific to the measured plate; derive the plate-independent source quantities with equivalent_blocked_force_level and characteristic_reception_plate_power before using EN 12354-5.

Attributes

NameDescription
frequenciesBand centre frequencies, in hertz, or None.
power_levelReception-plate injected power level L_Ws per band, in dB re 1 pW (Formula 14).
velocity_levelSpatial mean plate velocity level L_v per band, dB.
loss_factorPlate loss factor eta per band.
mass_per_areaPlate mass per unit area m, in kg/m^2.
areaPlate area S, in m^2.
StructureBornePowerResult.plot(
ax: Axes | None = None,
*,
language: str = 'en',
**kwargs: Any,
) -> Axes

Plot the characteristic structure-borne power level per band.

Requires matplotlib (pip install phonometry[plot]); returns the Axes.

StructureBornePowerResult.report(
path: str,
*,
metadata: ReportMetadata | None = None,
engine: str = 'reportlab',
verbose: bool = False,
language: str = 'en',
) -> str

Render an EN 15657 structure-borne sound power fiche to path.

Writes a one-page reception-plate characterization sheet: the standard-basis line naming the EN 15657:2018 reception-plate method (Formula 14), an optional metadata header (client, source equipment, test environment, instrumentation, climate, date), a per-band table (nominal octave/one-third-octave frequency, the spatial mean plate velocity level Lv and the injected structure-borne sound power level L_Ws), the L_Ws(f) spectrum with a nominal band axis, the boxed band-summed total L_Ws (dB re 1 pW) with the plate mass per area m and area S, an optional verdict row against a declared limit, and a basis strip stating Formula 14 and the conversion to the plate-independent source quantities (Formulae 15/17) required before EN 12354-5.

Parameters

NameDescription
pathDestination path of the PDF file.
metadataOptional ReportMetadata supplying the header (client, specimen the source equipment, test_room the test environment, instrumentation, temperature, relative_humidity, pressure, test_date), the footer identity (laboratory, operator, report_id, notes) and, via requirement, a declared upper limit on the total L_Ws (lower is better). The plate mass and area come from the result itself.
engineRendering back end; only "reportlab" is supported.
verboseWhen True the per-band table adds the plate loss factor eta column.
languageFiche language: "en" (default) or "es".

Returns: The written path as a str.

Raises

ExceptionWhen
ValueErrorIf engine is not "reportlab" or language is unknown.
ImportErrorIf reportlab (or, for the figure, matplotlib) is not installed (pip install phonometry[report]).

property

Band-summed power level , in dB.