Potencia acústica por métodos de presión
Normas aplicables: ISO 3744ISO 3745ISO 3746Referencias: Beranek y Mellow 2012
De las vías normalizadas hasta el nivel de potencia acústica , los métodos de presión son los que no necesitan nada más exótico que un sonómetro: muestrear la presión acústica sobre una superficie que envuelve la fuente, promediarla en energía, corregirla y sumar el término de superficie. Esta guía cubre los tres. Los métodos de superficie envolvente de ISO 3744 (grado de ingeniería) e ISO 3746 (grado de inspección) funcionan in situ, sobre uno o más planos reflectantes, y limpian el nivel superficial con la corrección de ruido de fondo y la corrección de entorno . El método de precisión de ISO 3745 traslada la misma idea a una cámara anecoica o semianecoica cualificada, donde una malla fija de micrófonos muestrea directamente el campo libre y las correcciones de grado 1 son meteorológicas en lugar de ambientales. La sección 3 presenta la determinación como ficha de ensayo de estilo acreditado, y la sección 4 vuelve la superficie envolvente de ISO 3744 e ISO 3746 hacia una fuente que no funciona de forma estacionaria en absoluto, la ráfaga de ruido cuyo descriptor es el nivel de energía acústica del apartado 8.3. Esa vía es solo suya: ISO 3745 no define ningún nivel de energía acústica. Qué vía encaja con qué trabajo, y las alternativas de cámara reverberante e intensidad, se sopesan en Potencia acústica.
1. Superficie envolvente, presión acústica (ISO 3744 / ISO 3746)
Sección titulada «1. Superficie envolvente, presión acústica (ISO 3744 / ISO 3746)»Coloca la fuente sobre un plano reflectante e imagina una superficie de medición de área que la envuelve: una semiesfera para una fuente compacta, una caja (paralelepípedo recto) para una grande o alargada. Muestrea el nivel de presión acústica en un conjunto de posiciones de micrófono sobre esa superficie, promédialas en energía, y la potencia acústica se obtiene porque una superficie suficientemente difusa capta toda la energía radiada:
La prima marca sobre qué se toma la media: aquí son los niveles por posición
sin corregir, y y se restan después de la media, de modo que
es mean_pressure_level y es
surface_pressure_level. La media de ISO 3745 de la sección 2 está construida
al revés, y las primas son el único aviso de ello.
Dos correcciones depuran el nivel superficial. La corrección por ruido de fondo elimina la energía que habría estado presente con la fuente apagada, a partir del margen entre los niveles con la fuente encendida y los de fondo,
y la corrección ambiental elimina la acumulación reverberante de la sala de ensayo a partir de su área de absorción acústica equivalente ,
El área de la superficie es una forma cerrada de la geometría: una semiesfera es sobre un plano reflectante (dividida entre dos y entre cuatro para dos y tres planos), y una caja de un plano es con , , para la distancia de medición . ISO 3746 (inspección) comparte todas las fórmulas pero es más burda: menos posiciones de micrófono, un criterio de fondo de 3 dB en lugar de 6 dB, y validez hasta en lugar de 4 dB.
Dimensionar la superficie
Sección titulada «Dimensionar la superficie»Ni ni son de libre elección, y las dos se miden desde la caja de referencia: el paralelepípedo recto más pequeño que encierra justo a la fuente, de lados , apoyado en el plano reflectante (apartado 7.1). Su origen es el centro de la caja formada con sus imágenes en los planos contiguos, y la dimensión característica de la fuente es la distancia de a la esquina más alejada de la caja de referencia:
sobre un plano reflectante, con sin dividir entre dos sobre dos planos y con y sin dividir sobre tres. Esa es la que rotula la figura de abajo, y la norma acota con ella la superficie: el radio de la semiesfera debe ser al menos , no menor de 1 m y no mayor de 16 m (apartado 7.2.3; los 0,5 m solo se admiten para productos pequeños en un rango de frecuencias limitado), y la distancia de medición de la caja debe ser al menos 0,25 m y preferiblemente 1 m o más (apartado 7.2.4, con una nota de que m limita el rango de baja frecuencia).
Con números, sobre una máquina de suelo de 1,4 × 0,9 × 1,1 m: m, así que una semiesfera necesita m y m². Esa misma máquina encajonada a m da m, m, m y m² — una cuarta parte menos de superficie, y una superficie que cabe en una nave de ensayo normal. Esa es la razón habitual de que una fuente grande o alargada se encajone en vez de cubrirse con una cúpula, y el apartado 7.2.3 lo dice sin rodeos: cuando el radio necesario crece tanto que dejan de cumplirse los requisitos de entorno del apartado 4, no debe usarse una semiesfera en absoluto.
Leído al revés, esto acota también los ejemplos de esta página. El radius=1.5
de abajo es legítimo para una fuente de m — un aparato de
sobremesa o una bomba pequeña — y no para la máquina de 1,4 m recién calculada;
el radius=4.0 del ejemplo de informe de la sección 3 cubre hasta 2 m.
La superficie de caja lleva su propio conjunto de posiciones, y no es el
conjunto hemisférico del Anexo B: measurement_positions lanza un error a
propósito con una caja, porque ISO 3744 define esas posiciones por
subdivisión en áreas (Anexo C, normativo). Cada uno de los cinco planos de
la superficie de medición se considera por separado y se divide en áreas
parciales iguales cuyo lado no supere ; las posiciones clave son entonces el
centro de cada área parcial más sus esquinas, excluidas las que se meten en el
plano reflectante, lo que da un mínimo de nueve posiciones cuando un área
parcial cubre cada plano (apartado C.1; diez con una subdivisión triangular). El
grado de inspección se queda solo con los centros de las áreas parciales. La
dirección de referencia de cada micrófono es la normal a su cara, salvo en una
esquina de la superficie, donde apunta al origen de la caja de referencia
(apartado 7.2.2).
Preparar la medición
Sección titulada «Preparar la medición»levels_positions no es un array de decibelios cualquiera: es el nivel
promediado en el tiempo por posición y por banda con la fuente funcionando
en su modo declarado, tomado a través de una cadena que la norma especifica.
Todo el sistema de instrumentación — micrófonos, cables y el paravientos si se
monta — debe cumplir la clase 1 de IEC 61672-1, y los filtros la clase 1 de
IEC 61260 (apartado 5.1). Antes y después de cada serie se aplica a cada
micrófono un calibrador acústico de clase 1 según IEC 60942 para comprobar toda
la cadena de medida y, sin ajuste alguno entremedias, las dos lecturas no deben
diferir en más de 0,5 dB; si difieren más, la serie se descarta, no se
corrige (apartado 5.2). La conformidad del propio sistema se verifica en un
laboratorio trazable a intervalos no mayores de dos años, y la del calibrador a
intervalos no mayores de un año. La mecánica de esa comprobación está en
Calibración.
Cada micrófono se orienta con su dirección de referencia normal a la superficie de medición y, en una esquina de una superficie de caja, apuntando al origen (apartado 7.2.2) — que es la razón de que una cápsula de campo libre y una de campo difuso se apunten de forma distinta sobre el mismo trípode.
Cada nivel se promedia en el tiempo sobre un periodo típico de funcionamiento:
el intervalo debería ser de 20 s o más y debe ser de al menos 10 s, y hay
que indicarlo en el informe de ensayo (apartado 8.2.1). Un micrófono en
recorrido integra sobre un número entero de recorridos completos, y al menos
dos. La lectura de fondo se toma inmediatamente antes o inmediatamente
después de la lectura con la fuente, en las mismas posiciones y sobre el mismo
intervalo — así que background_levels es una medida (NM, NB) del mismo día y
del mismo conjunto de posiciones, no un espectro copiado de otra sesión, y
emparejar lecturas dispares es la forma más común de acabar con un
equivocado.
import numpy as npfrom phonometry import emission
# SPL en banda de octava (dB) en las 10 posiciones de la semiesfera de ISO 3744# (Anexo B), con la fuente en marcha, más el espectro de fondo con ella apagada.freqs = np.array([63, 125, 250, 500, 1000, 2000, 4000, 8000])base = np.array([70.0, 74.0, 78.0, 80.0, 79.0, 76.0, 72.0, 66.0])rng = np.random.default_rng(0)levels = base + rng.normal(0.0, 0.5, size=(10, 8)) # (posiciones, bandas)background = np.full((10, 8), 55.0)
# Coordenadas de micrófono del Anexo B de ISO 3744 en una semiesfera de radio 1.5 m.mic_xyz = emission.measurement_positions("hemisphere", radius=1.5, reflecting_planes=1)print(mic_xyz.shape) # (10, 3)
res = emission.sound_power_pressure( levels, "hemisphere", radius=1.5, reflecting_planes=1, background_levels=background, frequencies=freqs, room=emission.RoomEnvironment(reverberation_time=0.6, volume=300.0), # -> K2)print(round(res.surface_area, 2)) # 14.14 m^2 (= 2*pi*1.5^2)print(round(float(res.environmental_correction[0]), 2)) # K2 = 2.32 dBprint(round(res.sound_power_level_a, 1)) # LWA = 92.4 dBprint(round(res.uncertainty, 1)) # U = 3.0 dB (2*sigma_R0)print(np.round(res.sound_power_level, 1)) # LW por banda
res.plot() # barras de nivel de potencia acústica por banda; LWA en el título (requiere matplotlib)Una barra por banda: la presión superficial promediada en energía menos las correcciones de fondo () y ambiental () más el término de superficie dan , y la suma energética ponderada A entre bandas da el número único del título.
Mostrar el código de esta figura
import matplotlib.pyplot as pltimport numpy as npfrom phonometry import emission
# SPL en banda de octava (dB) en las 10 posiciones de la semiesfera de ISO 3744# (Anexo B), con la fuente en marcha, más el espectro de fondo con ella apagada.freqs = np.array([63, 125, 250, 500, 1000, 2000, 4000, 8000])base = np.array([70.0, 74.0, 78.0, 80.0, 79.0, 76.0, 72.0, 66.0])rng = np.random.default_rng(0)levels = base + rng.normal(0.0, 0.5, size=(10, 8)) # (posiciones, bandas)background = np.full((10, 8), 55.0)res = emission.sound_power_pressure( levels, "hemisphere", radius=1.5, reflecting_planes=1, background_levels=background, frequencies=freqs, room=emission.RoomEnvironment(reverberation_time=0.6, volume=300.0), # -> K2)
# res es el SoundPowerResult calculado arriba. Una línea:res.plot(language="es")plt.show()
# A mano: un espectro de barras de LW con el total ponderado A en el título.freqs = res.frequenciespositions = np.arange(freqs.size)fig, ax = plt.subplots()ax.bar(positions, res.sound_power_level, width=0.7, color="#1f77b4")ax.set_xticks(positions)ax.set_xticklabels([f"{f:g}" for f in freqs], rotation=45, ha="right")ax.set_xlabel("Frecuencia [Hz]")ax.set_ylabel("Nivel de potencia acústica LW [dB]")ax.set_title( f"Potencia acústica por superficie envolvente (ISO 3744) " f"LWA = {res.sound_power_level_a:.1f} dB(A)")plt.show()El total ponderado A se combina a partir de las potencias por banda
con
las correcciones de ponderación A del Anexo E de ISO 3744, así que necesita
frequencies. Pasar un RoomEnvironment como room
(reverberation_time + volume, o absorption_area, o
mean_absorption_coefficient + room_surface) habilita
; omítelo y el campo se trata como libre (). Si el margen de
fondo cae por debajo del criterio del grado o supera el límite de
validez, un
SoundPowerWarning avisa de que los niveles son cotas superiores; la
determinación se devuelve igualmente.
Trampas de K1 y K2
Sección titulada «Trampas de K1 y K2»Ambas correcciones restan energía al nivel superficial, así que sobreestimar cualquiera de las dos subestima la emisión. Por eso las normas las acotan, y por eso la mayoría de las disputas sobre un resultado de superficie envolvente se remontan a uno de estos hábitos:
- tiene un precipicio, no una pendiente. Con 15 dB de margen la corrección es de tan solo 0,14 dB (despreciable); en el criterio de ingeniería de 6 dB ya es 1,26 dB, el mayor valor que acepta el grado. Por debajo del criterio la norma no permite aplicar la fórmula: se acota y el resultado se declara cota superior. Nunca extrapoles la resta a un margen menor; aumenta el margen (emplazamiento más silencioso, superficie más cercana) o pásate al método de intensidad.
- supone un fondo estacionario. La lectura con la fuente apagada debe tomarse en las mismas posiciones y con la sala en el mismo estado, y la energía de fondo debe ser la misma durante ambas lecturas. Un sistema de ventilación que cicla o un vehículo que pasa durante cualquiera de las dos invalida la pareja; la resta energética supone además que la fuente y el fondo son incoherentes, lo que vale para el ruido ajeno pero no para las reflexiones de la propia fuente.
- elimina la acumulación media de la sala, no las reflexiones discretas. Una pared cercana, un carro u otra máquina justo fuera de la superficie añaden una contribución especular concentrada en unos pocos micrófonos. Ese desequilibrio aflora en el índice de directividad aparente , y ninguna corrección promedio de sala puede eliminarlo: desplaza la superficie, retira el reflector o trátalo con absorción.
- vale lo que valga . Con de Sabine (), los errores en el tiempo de reverberación o en el volumen se propagan directamente. En el límite de validez cerca del 60 % de la energía medida proviene de la sala, no de la fuente, y un error del 20 % en aún modifica en unos 0,5 dB. Prefiere un medido a un coeficiente de absorción estimado, y mantén la distancia de medición lo bastante pequeña para que quede holgadamente por debajo del límite.
Las dos correcciones tienen formas opuestas. es plana hasta que el margen se cierra y entonces sube con fuerte pendiente, que es la razón de que las normas la acoten en el criterio en vez de dejar correr la fórmula; crece sin límite a medida que la superficie llena la sala, y la banda del ±20 % enseña lo que cuesta una estimada en el límite de validez.
Mostrar el código de esta figura
import matplotlib.pyplot as pltimport numpy as np
# K1 se lee de la propia sound_power_pressure, barriendo el fondo bajo un nivel# superficial fijo; K2 tiene su propia forma cerrada.margenes = np.linspace(0.5, 20.0, 200)k1 = [float(emission.sound_power_pressure( np.full((10, 1), 80.0), "hemisphere", radius=2.0, background_levels=np.full((10, 1), 80.0 - m), frequencies=np.array([1000.0])).background_correction[0]) for m in margenes]razon = np.geomspace(0.05, 10.0, 200)
fig, (axi, axd) = plt.subplots(1, 2, figsize=(12, 5))axi.plot(margenes, k1)axi.axvline(6.0, linestyle="--") # criterio de ISO 3744axi.set(xlabel="ΔLp [dB]", ylabel="K1 [dB]", ylim=(0, 4.2))axd.semilogx(razon, 10.0 * np.log10(1.0 + razon))axd.axhline(4.0, linestyle="--") # límite de validez de ISO 3744axd.set(xlabel="4S/A", ylabel="K2 [dB]")plt.show()Una corrección que la fórmula de superficie envolvente no lleva es la
meteorológica. La Ec. 18 supone la impedancia característica de referencia del
aire, así que la determinación es una determinación «para las condiciones
meteorológicas del momento y del lugar del ensayo» (apartado 8.2.5). Por encima
de 500 m de altitud o por debajo de 10 °C eso pasa a ser un sesgo, y el apartado
8.2.5 exige entonces llevar el resultado a las condiciones de referencia según
el Anexo G, que es normativo — el mismo tipo de término que las secciones de
ISO 3741 e ISO 3745 escriben explícitamente como y . Su tamaño: el
apartado H.4.2.7 dice que por debajo de 500 m no hace falta ninguna corrección
meteorológica ni de impedancia de radiación, que a 120 m y 23 °C la corrección
es nula y que a 500 m llega a 0,6 dB. Dos de esas tres cosas se sostienen. El
Anexo G, que es el texto normativo al que remite ese mismo apartado, sitúa la
corrección en 0,394 dB a 500 m y 23,0 °C, y el cero de 120 m sale exacto, que es
lo que demuestra que sus ecuaciones se están leyendo como la norma pretende. Los
0,6 dB son una errata de imprenta, y queda registrada con su aritmética en el
registro de erratas. sound_power_pressure no implementa
ningún término así y no admite argumento alguno de temperatura o presión, de
modo que una determinación en una planta de montaña o al aire libre en invierno
añade después la corrección del Anexo G: reference_atmosphere_correction
evalúa a partir de la temperatura y la presión estática (o de la
altitud, mediante la Ec. G.2), y la sección 4 la muestra aplicada, ya que la
Ec. G.1 la suma a exactamente como la Ec. G.3 la suma a .
Parámetros de sound_power_pressure()
Sección titulada «Parámetros de sound_power_pressure()»| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
|---|---|---|---|---|
levels_positions | array 2D | dB | (NM, NB) | Una fila por posición, una columna por banda (o una única columna ponderada A) |
surface | str | — | 'hemisphere' / 'box' | Forma de la superficie de medición |
radius | float | m | > 0 (semiesfera) | Radio de la semiesfera |
dimensions | (float, float, float) | m | > 0 (caja) | del paralelepípedo de referencia |
distance | float | m | > 0 (caja) | Distancia de medición |
reflecting_planes | int | — | 1 / 2 / 3, por defecto 1 | Divide entre dos/cuatro el área de la semiesfera |
background_levels | array 2D o espectro | dB | (NM, NB), o (NB,) / (1, NB) | Habilita ; un espectro único se difunde a todas las posiciones |
frequencies | array 1D | Hz | centros de banda nominales | Habilita (Anexo E) |
room | RoomEnvironment o None | — | por defecto None (campo libre) | Los datos de sala tras ; sus campos son las tres vías hacia de abajo |
room.absorption_area | float o array 1D | m² | > 0 | para (directo); un array por banda → por banda |
room.reverberation_time, room.volume | float/array, float | s, m³ | > 0 | para ; por banda → por banda |
room.mean_absorption_coefficient, room.room_surface | float/array, float | —, m² | (0,1], > 0 | (Ec. A.7); por banda → por banda |
grade | str | — | 'engineering' (por defecto) / 'survey' | ISO 3744 vs ISO 3746 |
omc_uncertainty | float | dB | por defecto 0.0 | , inestabilidad de operación/montaje, incorporada a |
Devuelve un SoundPowerResult: sound_power_level ( por banda),
surface_pressure_level ( tras /), mean_pressure_level,
background_correction/environmental_correction (/),
directivity_index (índice de directividad aparente por posición de
micrófono y banda de frecuencia, forma (NM, NB); ISO 3744 apartado 8.4),
surface_area, sound_power_level_a (), uncertainty
(expandida, 95 %) y grade. measurement_positions('hemisphere', radius=…, reflecting_planes=…, tones=…, grade=…) devuelve las coordenadas normativas
(N, 3) de micrófono (Tabla B.1 para fuentes tonales, B.2 para banda ancha).
Esas coordenadas se dibujan directamente con plot_microphone_positions, que
representa el array sobre su superficie de medición en 3-D, numerado como en
la norma.
Dónde se colocan de verdad los diez micrófonos del Anexo B sobre el hemisferio de 2 m: las alturas se escalonan para que el array muestree toda la superficie por igual, que es lo que permite que la media energética de los diez niveles sustituya a la integral de superficie.
Mostrar el código de esta figura
import matplotlib.pyplot as pltfrom phonometry import emission
# Los 10 micrófonos del Anexo B de ISO 3744 sobre un hemisferio de 2 m.emission.plot_microphone_positions(emission.measurement_positions("hemisphere", radius=2.0), radius=2.0, language="es")plt.show()Cuántas posiciones, y cuándo añadir más
Sección titulada «Cuántas posiciones, y cuándo añadir más»Diez es el número para un plano reflectante. Frente a dos planos el conjunto son las cinco posiciones clave 2, 3, 6, 7 y 9 de la Tabla B.2; en un rincón, frente a tres planos, son las tres posiciones 1, 2 y 3 de la Tabla B.3 (apartado 8.1.1). El grado de inspección usa conjuntos aún más burdos: cuatro posiciones sobre un plano.
Esos números son un punto de partida, no un resultado. El apartado 8.1.1 exige posiciones adicionales si se cumple cualquiera de tres condiciones:
- a) el recorrido de los niveles ponderados A entre las posiciones clave supera 10 dB sobre un plano reflectante, 5 dB sobre dos o 3 dB sobre tres;
- b) el índice de directividad aparente ponderado A supera 5 dB en alguna dirección;
- c) una fuente grande radia solo desde una parte pequeña de sí misma — las aberturas de una máquina por lo demás cerrada son el ejemplo de la propia norma.
Las dos cosas tienen respuestas distintas. La condición a) se atiende añadiendo
las posiciones 11 a 20 de la misma tabla (o, equivalentemente, repitiendo el
conjunto clave con la fuente girada −60° para la Tabla B.1 o 180° para la
Tabla B.2): la superficie se sigue muestreando por igual, así que la media
energética simple sigue valiendo. Las condiciones b) y c) se atienden con una
investigación localizada — posiciones extra concentradas alrededor del
máximo, en número igual al recorrido de niveles hallado — y esas posiciones
llevan áreas de segmento desiguales, de modo que la media debe ser entonces la
ponderada por áreas del apartado 8.2.2.2 y no la media de áreas iguales que
calcula sound_power_pressure. La nota 3 añade una regla de prioridad que ahorra
mucho trabajo inútil: cuando el fondo en alguna posición está a menos de 6 dB del
nivel de fuente más alto, hay que reducir el fondo antes de añadir posiciones,
porque un fondo así de cerca es lo que está moviendo de entrada.
Las dos comprobaciones son una línea cada una sobre el resultado que la página ya ha calculado:
import numpy as np
# El nivel sumado en bandas por posición (para el recorrido ponderado A de la# norma, se ponderan antes las bandas en A; aquí la fuente es lo bastante de# banda ancha como para que no cambie el veredicto).lp_a = 10.0 * np.log10(np.sum(10.0 ** (0.1 * levels), axis=1))print(round(float(lp_a.max() - lp_a.min()), 2)) # 0.76 dB: condición a) holgadaprint(round(float(np.abs(res.directivity_index).max()), 2)) # 1.1 dB: b) holgadaes el índice de directividad aparente del apartado 8.4, el exceso del nivel corregido de fondo en la posición sobre la media de la superficie, por posición y por banda; es a lo que se refería la trampa de de arriba con «aflora en el índice de directividad aparente». Una máquina que radia 5 dB más hacia un micrófono que la media de la superficie no tiene el conjunto de posiciones estropeado: tiene una directividad que las diez posiciones no pueden resolver.
2. Grado de precisión, cámara anecoica (ISO 3745)
Sección titulada «2. Grado de precisión, cámara anecoica (ISO 3745)»Cuando se requiere la máxima exactitud, ISO 3745 mide la potencia acústica en una cámara anecoica o semianecoica cualificada, donde el campo libre permite que un conjunto fijo de micrófonos muestree directamente la presión acústica radiada. Es la contraparte de grado 1 del método de superficie envolvente de la Sección 1, con coordenadas de micrófono normalizadas, una corrección por ruido de fondo por posición y una corrección meteorológica explícita.
El panel izquierdo del clip de abajo es para lo que sirve esa sala. Con los contornos absorbiendo, un micrófono solo ve lo que la fuente le manda, así que el nivel cae con la distancia y el conjunto de posiciones tiene que muestrear una superficie entera — que es la razón de que la única geometría que necesita el método, una vez cualificada la sala, sea el término de superficie . El panel derecho es la alternativa en cámara reverberante de ISO 3741, y las dos terminan en el mismo .
La misma fuente en una cámara anecoica y en una cámara reverberante produce presiones de micrófono distintas, y las fórmulas de campo libre y campo difuso convergen al mismo nivel de potencia acústica L_W.
La misma fuente en una cámara anecoica y en una cámara reverberante produce presiones de micrófono distintas, y las fórmulas de campo libre y campo difuso convergen al mismo nivel de potencia acústica L_W.
Nivel de potencia acústica (apartado 8). El nivel de potencia acústica por banda es el nivel de presión promediado en la superficie más el término de superficie y las correcciones:
con sobre la esfera o sobre la semiesfera, . y son las correcciones meteorológicas (términos de referencia e impedancia de radiación); tiene en cuenta la absorción del aire sobre el radio de medición. Las posiciones de micrófono son los conjuntos normalizados de vectores unitarios de las Tablas D.1 (esfera), E.1 (semiesfera) y E.2 (semiesfera, banda ancha).
En esa fórmula no hay término aparte porque — sin prima, a diferencia del de la sección 1 — es la media sobre la superficie de los niveles después de corregir cada uno por su cuenta el ruido de fondo,
(apartado 9.4.3.1). Así que la corrección vive dentro de la media, un
por posición, en lugar de restarse de la media como hace ISO 3744.
mean_pressure_level es la media energética bruta y surface_pressure_level
la corregida, que es el de la fórmula de arriba.
El radio no es libre (apartados 8.1/8.2). Debe cumplir , con
la distancia del centro acústico al punto más alejado de la fuente (en
cámara semianecoica, o , el que sea mayor, siendo
la altura del centro acústico sobre el suelo), a la
frecuencia más baja de interés y m — 0,5 m solo para una fuente
pequeña y poco ruidosa en una banda limitada — con toda la superficie dentro
de la región cualificada según el Anexo A o el B. Con números: una fuente de
sobremesa de 0,6 × 0,5 × 0,7 m tiene
m, así que m;
con una banda más baja de 100 Hz, m no manda, y el mínimo
de 1 m tampoco. El radius=1.0 de los ejemplos de abajo solo vale, por tanto,
para una fuente de menos de unos 0,5 m de dimensión característica.
El conjunto de posiciones tampoco lo es. Primero se usan las posiciones 1
a 20, y las 21 a 40 se añaden solo cuando la diferencia entre el nivel más
alto y el más bajo en alguna banda de interés no es menor que la mitad del
número de posiciones — una comprobación sobre datos que el lector ya tiene,
levels.max(0) - levels.min(0) >= 0.5 * levels.shape[0]. Si con 40 posiciones
sigue sin cumplirse, hace falta una investigación localizada y las posiciones
pasan entonces a tener áreas desiguales, que es para lo que está areas=.
import numpy as npfrom phonometry import emission
# Las 40 posiciones normalizadas de la semiesfera (vectores unitarios escalados por el radio).pos = emission.precision_positions("hemisphere", radius=1.0, count=40)print(pos.shape) # (40, 3)
# SPL en banda de octava/tercio (dB) en cada una de las 40 posiciones; aquí un# valor uniforme de 74 dB en una banda. El resultado lleva S = 2*pi*r^2 y LW con C1+C2+C3.levels = np.full((40, 1), 74.0)res = emission.sound_power_anechoic(levels, "hemisphere", radius=1.0)print(round(res.surface_area, 3)) # 6.283 (2*pi*1^2)print(np.round(res.sound_power_level, 2)) # [81.85]Los conjuntos de precisión, dibujados desde la misma llamada a
precision_positions que hace el fragmento de arriba. Las veinte primeras
muestrean la superficie por sí solas; las veinte siguientes se añaden solo
cuando el recorrido de niveles de banda dispara la ampliación, y una
investigación localizada posterior lleva áreas desiguales.
Mostrar el código de esta figura
import matplotlib.pyplot as plt
fig, (axi, axd) = plt.subplots(1, 2, subplot_kw={"projection": "3d"})emission.plot_microphone_positions( emission.precision_positions("hemisphere", radius=1.0, count=40), ax=axi, radius=1.0)emission.plot_microphone_positions( emission.precision_positions("sphere", radius=1.0, count=20), ax=axd, radius=1.0)plt.show()Correcciones por ruido de fondo y meteorológica. La corrección por ruido de fondo se aplica por posición y se acota donde la diferencia señal-fondo es pequeña (Ec. 11); la corrección meteorológica se evalúa a partir de la temperatura y la presión estática medidas.
import numpy as npfrom phonometry import emission
# K1 para una diferencia señal-fondo de 6 dB en una banda de borde <=200 Hz: el# límite es 1.26 dB (Ec. 11). Los niveles de fuente y fondo son [posiciones, bandas].k1 = emission.precision_background_correction( np.array([[56.0]]), np.array([[50.0]]), np.array([200.0]))print(round(float(k1[0, 0]), 4)) # 1.2563
# Correcciones meteorológicas en la referencia de 23 C, 101.325 kPa (Ec. 16):mc = emission.meteorological_corrections(23.0, 101.325)print(round(mc.c1, 4), round(mc.c2, 4)) # -0.1282 0.0
# Incertidumbre expandida (EJEMPLO del apartado 10.5): sigma_R0 = 0.5, sigma_omc = 2.0,# k = 2 -> U = 4.1 dB.print(round(emission.precision_uncertainty(0.5, 2.0, 2.0), 3)) # 4.123La MeteorologicalCorrection es un par de escalares (más el por banda
cuando el coeficiente de atenuación se aporta por banda), no un espectro
dibujable: las correcciones se pliegan en el PrecisionSoundPowerResult como
sus campos c1/c2/c3, y la ficha .report() las imprime en su franja de
base de medición.
Los márgenes y los intervalos que hay detrás de esos números son más estrictos
que los de la sección 1. El fondo, promediado sobre todas las posiciones, debe
quedar al menos 6 dB por debajo del nivel de fuente en todas las bandas y al
menos 10 dB por debajo entre 250 Hz y 5 kHz (apartado 5.2.1.1) — una banda
que no lo alcance puede excluirse en cambio del rango de interés si su potencia
de banda ponderada A corregida queda al menos 15 dB por debajo de la más alta
(apartado 5.2.1.2). Donde el margen se quede corto de todos modos, el apartado
9.4.2 congela en el valor que produce el criterio — 1,26 dB para las
bandas de 200 Hz y por debajo y de 6,3 kHz y por encima, 0,46 dB entre 250 Hz y
5 kHz — y exige entonces que el informe de ensayo, y las tablas y gráficas que
contenga, indiquen que esas bandas son cotas superiores.
precision_background_correction aplica exactamente esa regla; declarar la
omisión es cosa de quien lee.
El promediado es más largo que el de ISO 3744: al menos 30 s en las bandas centradas en 160 Hz y por debajo y al menos 10 s de 200 Hz hacia arriba (apartado 9.4.1), con el intervalo indicado en el informe, y al menos dos recorridos completos cuando se usa un micrófono en recorrido. El fondo se mide inmediatamente antes o inmediatamente después de la fuente, en las mismas posiciones y sobre el mismo intervalo. Cuarenta posiciones a 30 s en las bandas graves son la razón de que una campaña de grado 1 lleve mucho más tiempo que la de grado 2 de la sección 1: el coste del grado es sobre todo tiempo.
Parámetros de sound_power_anechoic()
Sección titulada «Parámetros de sound_power_anechoic()»| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
|---|---|---|---|---|
levels_positions | array 2D | dB | (NM, NB) | Una fila por posición, una columna por banda |
surface | str | — | 'sphere' / 'hemisphere' | Cámara anecoica o semianecoica |
radius | float | m | > 0 | Radio de medición ; acotado por , y el suelo de 1 m de arriba |
background_levels | array 2D o espectro | dB | coincide con levels_positions | Habilita el por posición de la Ec. 11 |
frequencies | array 1D | Hz | una por banda | Habilita y el por banda |
areas | array 1D | m² | una por posición | Áreas de segmento desiguales, para una investigación localizada (apartado 9.4.3.2); si se omite se suponen iguales |
temperature | float | °C | por defecto 23.0 | Fija , |
static_pressure | float | kPa | por defecto 101.325 | Fija , |
air_absorption_coefficient | float o array 1D | dB/m | por defecto None | El término de absorción del aire; se aporta, no se calcula |
sigma_omc | float | dB | por defecto 0.0 | Desviación típica de funcionamiento y montaje, apartado 10.5 |
coverage_factor | float | — | por defecto 2.0 | La de |
Los dos últimos son toda la historia de la incertidumbre, y el valor por defecto
la esconde: si se deja como está, sigma_omc = 0 afirma que la instalación es
perfectamente repetible y la ficha imprime dB. Los 4,1 dB que
declara el ejemplo de abajo son lo que cuesta esa misma determinación una vez se
admite el valor de EJEMPLO dB del apartado 10.5.
Sobre varias bandas sound_power_anechoic devuelve un PrecisionSoundPowerResult
representable que lleva el por banda y el total ponderado A:
import numpy as npfrom phonometry import emission
# Una máquina con pico en frecuencias medias medida sobre el conjunto hemisférico de# 40 posiciones (Anexo E). levels_positions es el espectro de presión superficial# (40, NB): un espectro base con pico cerca de 1 kHz más una pequeña dispersión espacial por posición.freqs = np.array([125, 250, 500, 1000, 2000, 4000, 8000], float)base = 70.0 + 8.0 * np.exp(-(np.log2(freqs / 1000.0) ** 2) / 2.0)rng = np.random.default_rng(7)levels = base[None, :] + rng.normal(0.0, 1.0, (40, freqs.size))
# sigma_omc es la desviación típica de funcionamiento y montaje del# apartado 10.5; con el valor de EJEMPLO 2.0 dB y el factor de cobertura por# defecto k = 2, la incertidumbre expandida U = k*sqrt(sigma_R0^2 + sigma_omc^2)# son los 4.1 dB que imprime la ficha de abajo. Con su valor por defecto 0# informa 1.0 dB.result = emission.sound_power_anechoic(levels, "hemisphere", radius=1.0, frequencies=freqs, sigma_omc=2.0)print(round(result.sound_power_level_a, 1)) # 89.3print(round(float(result.uncertainty), 1)) # 4.1 dBresult.plot() # espectro LW, LWA en el título (requiere matplotlib)Una barra por banda: la presión promediada en la superficie más las correcciones de área, ruido de fondo y meteorológica dan , y la suma energética ponderada A entre bandas da el número único del título.
Mostrar el código de esta figura
import matplotlib.pyplot as pltimport numpy as npfrom phonometry import emission
# Una máquina con pico en frecuencias medias medida sobre el conjunto hemisférico de# 40 posiciones (Anexo E). levels_positions es el espectro de presión superficial# (40, NB): un espectro base con pico cerca de 1 kHz más una pequeña dispersión espacial por posición.freqs = np.array([125, 250, 500, 1000, 2000, 4000, 8000], float)base = 70.0 + 8.0 * np.exp(-(np.log2(freqs / 1000.0) ** 2) / 2.0)rng = np.random.default_rng(7)levels = base[None, :] + rng.normal(0.0, 1.0, (40, freqs.size))result = emission.sound_power_anechoic(levels, "hemisphere", radius=1.0, frequencies=freqs)
# result es el PrecisionSoundPowerResult calculado arriba. Una línea:result.plot(language="es")plt.show()
# A mano: un espectro de barras de LW con el total ponderado A en el título.freqs = result.frequenciespositions = np.arange(freqs.size)fig, ax = plt.subplots()ax.bar(positions, result.sound_power_level, width=0.7, color="#1f77b4")ax.set_xticks(positions)ax.set_xticklabels([f"{f:g}" for f in freqs], rotation=45, ha="right")ax.set_xlabel("Frecuencia [Hz]")ax.set_ylabel("Nivel de potencia acústica LW [dB]")ax.set_title( f"Potencia acústica de precisión (ISO 3745) LWA = {result.sound_power_level_a:.1f} dB(A)")plt.show()3. El informe de medición (.report())
Sección titulada «3. El informe de medición (.report())»Una determinación de potencia acústica termina en un documento. Todos los
resultados de esta página siguen siendo dibujables mientras se trabaja con
ellos (res.plot() traza interactivamente el mismo espectro que la
ficha compone), y el paso de informe lo envuelve en el entregable. Tanto el
resultado de superficie envolvente (SoundPowerResult, ISO 3744/3746) como el
resultado de precisión (PrecisionSoundPowerResult, ISO 3745) exponen un método
.report() que escribe una ficha PDF de una página con el formato de una hoja
de ensayo de potencia acústica: la línea de base normativa que nombra el método
aplicado y el grado de exactitud, un encabezado opcional de metadatos (cliente,
fuente de ruido, entorno de ensayo, instrumentación, clima, fecha), una tabla
por bandas (frecuencia nominal de octava/tercio de octava, el nivel de presión
acústica de superficie y el nivel de potencia acústica de banda ), el
espectro de potencia acústica con eje de bandas nominal, y un recuadro
con el nivel de potencia acústica ponderado A (dB re 1 pW) acompañado
del total, la incertidumbre expandida y el área de la superficie de
medición .
Los metadatos se proporcionan mediante un ReportMetadata, cuyos campos
aplicables aquí son la descripción de la fuente (specimen), el entorno
de ensayo (test_room), el cliente, la instrumentación, la
temperatura, la humedad relativa y la presión ambiente, la fecha
del ensayo (test_date) y la identidad del pie (laboratory, operator,
report_id, notes); el área de la superficie de medición procede del
propio resultado y se imprime en el recuadro y en la franja de base, junto con las
correcciones aplicadas (el ruido de fondo y el entorno para el
método de superficie ISO 3744/3746, o las meteorológicas // para
el método de precisión ISO 3745). Indicar requirement añade un veredicto
CUMPLE/NO CUMPLE frente a un límite declarado de potencia acústica ponderada A
(la emisión de potencia acústica es una magnitud en la que menos es mejor, así
que la fuente cumple igual o por debajo del límite). verbose=True añade el
nivel promedio energético a la tabla, y para el resultado de superficie
ISO 3744/3746 añade además las columnas de corrección / (el resultado
de precisión no lleva en absoluto y pliega su por posición dentro de
la media de superficie, así que la ficha imprime // en su franja
de base en lugar de esas columnas). language="es" genera la ficha en español
con decimales de coma.
import numpy as npfrom phonometry import ReportMetadata, emission
freqs = np.array([63, 125, 250, 500, 1000, 2000, 4000, 8000], float)# Diez espectros de posición idénticos sobre un hemisferio de radio 4 m; ruido# de fondo uniforme 10 dB por debajo y área de absorción equivalente# A = 1500 m^2 (para que K1, K2 sean significativos y dentro del límite de# validez del grado de ingeniería).surface = np.array([72.0, 76, 80, 82, 81, 78, 73, 66])res = emission.sound_power_pressure( np.tile(surface, (10, 1)), "hemisphere", radius=4.0, background_levels=np.tile(surface - 10.0, (10, 1)), frequencies=freqs, grade="engineering", room=emission.RoomEnvironment(absorption_area=1500.0),)
res.report( "sound_power.pdf", metadata=ReportMetadata( client="Planta de fabricación de ejemplo", specimen="Grupo hidráulico (de suelo)", test_room="Cámara semianecoica sobre suelo reflectante", instrumentation="Sonómetro clase 1 (IEC 61672-1), n/s 0042", laboratory="Laboratorio de referencia Phonometry", report_id="EXAMPLE-3744", requirement=105.0, ), language="es",) # LWA = 103,7 dB(A) re 1 pW -> límite declarado 105 dB(A): CUMPLELa ficha de ejemplo se regenera con make reports y se mantiene renderizada en
el repositorio; pulsa la vista previa para abrir el PDF.

Ficha de una página de determinación de potencia acústica ISO 3744: un encabezado con el cliente, la fuente de ruido, el entorno de ensayo semianecoico y la instrumentación y el clima, la tabla en bandas de octava (63 Hz a 8 kHz) de niveles de presión acústica de superficie Lp y niveles de potencia acústica de banda LW, el espectro de potencia acústica LW(f) con eje de bandas nominal, el recuadro con el nivel de potencia acústica ponderado A LWA = 103,7 dB(A) re 1 pW con el LW total = 105,8 dB, la incertidumbre expandida U = 3,0 dB y la superficie de medición S = 100,53 m2, y un veredicto CUMPLE frente al límite declarado de 105 dB(A), cerrada por una franja de base que indica las correcciones aplicadas K1 = 0,5 dB y K2 = 1,0 dB.
El resultado de precisión escribe la misma hoja desde el lado de ISO 3745, con las correcciones meteorológicas en su franja de base en lugar del par /. Es la medición de la sección 2 sobre las 40 posiciones del hemisferio, la del espectro representado más arriba:
from phonometry import ReportMetadata
result.report( "potencia-precision.pdf", metadata=ReportMetadata( client="Planta de fabricación de ejemplo", specimen="Máquina con pico en medias frecuencias", test_room="Cámara anecoica cualificada, red de 40 posiciones en hemisferio", measurement_standard="ISO 3745", ), language="es",) # LWA = 89,3 dB(A) re 1 pW, U = 4,1 dB
Ficha de una página de potencia acústica de precisión ISO 3745: un encabezado con el cliente, la fuente de ruido y la cámara anecoica cualificada con su red de 40 posiciones en hemisferio, la tabla en bandas de octava de 125 Hz a 8 kHz de niveles de presión acústica de superficie Lp y niveles de potencia acústica de banda LW (78,0, 79,0, 82,6, 85,8, 82,6, 78,7 y 78,0 dB), el espectro LW con su máximo en 1 kHz, y el recuadro con el nivel de potencia acústica ponderado A LWA = 89,3 dB(A) re 1 pW junto al LW total = 90,1 dB, la incertidumbre expandida U = 4,1 dB y la superficie de medición S = 6,28 m2, sobre una franja de base que indica las correcciones meteorológicas aplicadas C1 = -0,13 dB, C2 = 0,00 dB y C3 = 0,0 dB.
4. Nivel de energía acústica de una ráfaga (apartado 8.3)
Sección titulada «4. Nivel de energía acústica de una ráfaga (apartado 8.3)»Todo lo anterior describe una fuente que funciona de forma estacionaria durante todo el intervalo de promediado: la Ec. 18 da un ritmo de flujo de energía, y caracteriza a la máquina solo mientras la máquina es invariante en el tiempo. Una carrera de prensa, un portazo o un escape neumático radian su energía en una fracción de segundo y luego se detienen, así que la norma les da una magnitud propia, el nivel de energía acústica
(apartados 3.22 y 3.23): la energía que radia el suceso, en decibelios re 1 pJ, en lugar de la potencia que no tiene. Su determinación (apartado 8.3, y apartado 8.4 de ISO 3746 para el grado de inspección) es la cadena de la sección 1 con una sustitución. Cada micrófono registra el nivel de presión acústica de suceso aislado integrado en el tiempo
(apartado 3.4) a través de una ventana que abarca toda la ráfaga, en todas las posiciones a la vez (no se permite un micrófono en desplazamiento, apartado 8.3.1), y va después a donde iba : el promedio energético sobre las posiciones de 8.2.2 (apartado 8.3.3), la corrección de fondo (Ec. 21) y la corrección de entorno (Ec. 22), el término de superficie (Ec. 23):
Las dos magnitudes se encuentran en una fuente estacionaria. Sobre una ventana de duración la integral de un constante es , así que con s (apartado 3.4, NOTA 1), y la energía que una fuente estacionaria radia en segundos es : una máquina de 90 dB que funciona 10 s ha emitido dB. Esa identidad es lo que dibuja la figura de abajo, y aquello a lo que los propios tests de la biblioteca anclan la cadena de energía acústica, campo a campo.
A la izquierda, el nivel de suceso aislado acumulado de una ráfaga de impacto y de una fuente estacionaria de 80 dB a lo largo de una ventana de 10 s: los 90 dB de la ráfaga están todos ahí en el primer segundo tras el impacto, la fuente estacionaria sube como y alcanza los mismos 90 dB en . A la derecha, el por bandas de octava de la misma carrera de prensa medida sobre una semiesfera de 2 m, con el total ponderado A en el título.
import numpy as npfrom phonometry import emission
# Una carrera de prensa medida en las 10 posiciones de la semiesfera de ISO 3744# (r = 2 m), cinco carreras una a una: (sucesos, posiciones, bandas), octavas 125 Hz - 8 kHz.bands = np.array([125, 250, 500, 1000, 2000, 4000, 8000], dtype=float)stroke = np.array([84.0, 88.0, 91.0, 92.0, 90.0, 86.0, 80.0]) # niveles de suceso aislado, dBrng = np.random.default_rng(83)events = stroke + rng.normal(0.0, 0.8, size=(5, 10, bands.size))
burst = emission.sound_energy_pressure( events, "hemisphere", radius=2.0, background_levels=np.full((10, bands.size), 62.0), # promediado en los mismos 10 s integration_time=10.0, frequencies=bands, room=emission.RoomEnvironment(reverberation_time=1.2, volume=900.0), # -> K2)print(burst.events) # 5 (Ec. 19 sobre el primer eje)print(round(float(burst.environmental_correction[0]), 2)) # K2 = 2.64 dBprint(np.round(burst.sound_energy_level, 1)) # LJ por banda, máximo 103.5 dB en 1 kHzprint(round(burst.sound_energy_level_a, 1)) # LJA = 107.7 dB(A)
burst.plot() # LJ por banda, LJA en el título (requiere matplotlib)Mostrar el código de esta figura
import matplotlib.pyplot as plt
# Izquierda: el nivel de suceso aislado acumulado de las dos fuentes. La ráfaga# decae con una constante de tiempo de 0,35 s y guarda una exposición de 90 dB;# la fuente estacionaria es de 80 dB, así que alcanza los mismos 90 dB en T = 10 s.p0_sq = (20e-6) ** 2e0 = p0_sq * 1.0t = np.linspace(0.0, 10.0, 4001)dt = t[1] - t[0]burst_p2 = np.where(t >= 2.0, (e0 * 1e9 / 0.35) * np.exp(-(t - 2.0) / 0.35), 0.0)steady_p2 = np.full_like(t, p0_sq * 1e8)fig, (axl, axr) = plt.subplots(1, 2, figsize=(12.5, 5.4))with np.errstate(divide="ignore"): axl.plot(t, 10 * np.log10(np.cumsum(burst_p2) * dt / e0), label="ráfaga de impacto") axl.plot(t, 10 * np.log10(np.cumsum(steady_p2) * dt / e0), label="estacionaria, 80 dB")axl.set(xlabel="Tiempo [s]", ylabel="Nivel de suceso aislado LE(t) [dB]", ylim=(60, 94))axl.legend()
# Derecha: el espectro de LJ es el resultado calculado arriba.burst.plot(ax=axr, language="es")plt.show()Cinco sucesos, uno a uno o todos a la vez
Sección titulada «Cinco sucesos, uno a uno o todos a la vez»La norma pide al menos cinco sucesos (apartado 8.3.1), medidos uno a uno o como una sola lectura que los abarque todos, y reduce ambos casos al nivel de un suceso en cada posición: el promedio energético de las lecturas individuales,
o la lectura única menos los de los sucesos que contiene,
sound_energy_pressure admite las tres formas en que llega levels_positions:
un array (Ne, NM, NB) de los sucesos medidos uno a uno (Ec. 19, como en el
fragmento anterior), una lectura (NM, NB) de una sola medición que abarca
events=Ne sucesos (Ec. 20), o el nivel medio de suceso aislado (NM, NB) ya
formado. Menos de cinco sucesos se aceptan con un SoundPowerWarning, y
mean_single_event_level expone la misma reducción por sí sola:
five_at_once = emission.mean_single_event_level(np.full((10, 1), 97.0), events=5)print(round(float(five_at_once[0, 0]), 2)) # 90.01 dB: 97 - 10 lg 5 (Ec. 20)one_by_one = emission.mean_single_event_level(np.array([89.0, 91.0, 90.0, 90.5, 89.5]))print(round(float(one_by_one), 2)) # 90.06 dB: la media energética (Ec. 19)El fondo se compara sobre la misma ventana
Sección titulada «El fondo se compara sobre la misma ventana»El apartado 8.3.1 hace medir el fondo como nivel promediado en el tiempo
sobre el mismo tiempo de integración que los sucesos, y la Ec. 21 forma
a partir de .
Esos dos niveles no comparten referencia: es una energía re
s y una presión cuadrática media re , y
resta una energía de otra. La energía que el fondo aporta a una ventana
de segundos es su propia exposición sobre esa ventana,
(la misma identidad de la NOTA 1),
así que eso es lo que sound_energy_pressure compara con el nivel del suceso,
y por eso integration_time es obligatorio siempre que se da
background_levels. Leído al pie de la letra, un fondo de 62 dB bajo una
ráfaga de 78 dB en una ventana de 10 s parecería 16 dB por debajo y no
recibiría corrección; como energía son 72 dB, el margen es el criterio de
ingeniería de 6 dB, y es sus 1,26 dB completos. El registro de
erratas
recoge la lectura. Con el fondo en su sitio, los criterios y el tope son los de
la sección 1: de 6 dB a 15 dB para el grado de ingeniería, de 3 dB a 10 dB
para el grado de inspección de ISO 3746, y un SoundPowerWarning cuando una
banda cae por debajo.
# 62 dB promediados en 10 s son 72 dB re E0; una ráfaga de 78 dB queda entonces 6 dB por encima.k1 = emission.sound_energy_pressure( np.full((10, 1), 78.0), "hemisphere", radius=2.0, background_levels=np.full(1, 62.0), integration_time=10.0,).background_correctionprint(round(float(k1[0]), 2)) # K1 = 1.26 dB, el valor en el criterio de 6 dBLa identidad con la sección 1 se cumple entonces hasta el último dígito. Las mismas diez posiciones, fondo y sala, con todos los niveles subidos para una ventana de 10 s, dan un exactamente 10 dB por encima de en todas las bandas, y los mismos , e incertidumbre expandida, que el apartado 9.1 (Ec. 24) hace comunes a ambas magnitudes:
# La medición de la sección 1 leída como ventana de 10 s: LJ = LW + 10 lg(T/T0) exactamente.octaves_hz = np.array([63, 125, 250, 500, 1000, 2000, 4000, 8000])rng = np.random.default_rng(0)ten_positions = np.array([70.0, 74.0, 78.0, 80.0, 79.0, 76.0, 72.0, 66.0]) + rng.normal(0.0, 0.5, size=(10, 8))quiet = np.full((10, 8), 55.0)workshop = emission.RoomEnvironment(reverberation_time=0.6, volume=300.0)steady = emission.sound_power_pressure( ten_positions, "hemisphere", radius=1.5, reflecting_planes=1, background_levels=quiet, frequencies=octaves_hz, room=workshop,)ten_seconds = emission.sound_energy_pressure( ten_positions + 10.0, "hemisphere", radius=1.5, reflecting_planes=1, background_levels=quiet, integration_time=10.0, frequencies=octaves_hz, room=workshop,)print(np.round(ten_seconds.sound_energy_level - steady.sound_power_level, 6)) # 10.0 en todas las bandasprint(round(ten_seconds.sound_energy_level_a - steady.sound_power_level_a, 6)) # 10.0Condiciones meteorológicas de referencia (Anexo G)
Sección titulada «Condiciones meteorológicas de referencia (Anexo G)»La Ec. 23 vale para las condiciones meteorológicas del ensayo, y por encima de 500 m de altitud o por debajo de 10 °C el apartado 8.3.6 exige llevar el nivel a los 101,325 kPa y 23,0 °C de referencia mediante el Anexo G, (Ec. G.3), con
K y K. es la corrección de magnitud de referencia a través de la impedancia característica del aire (se omite cuando salió del ensayo de comparación absoluta de A.2), la corrección de impedancia de radiación de un monopolo. Cuando la presión estática no se midió, la Ec. G.2 la estima a partir de la altitud, . La comprobación de H.4.2.7 de que la corrección se anula a 120 m y 23 °C se cumple hasta la diezmilésima de decibelio.
# Una determinación a 1 200 m y 8 C, llevada a 101.325 kPa y 23 C (Ec. G.3).corr = emission.reference_atmosphere_correction(8.0, altitude=1200.0)print(round(corr.static_pressure, 1)) # 87.7 kPa, de la Ec. G.2print(round(corr.c1, 3), round(corr.c2, 3), round(corr.total, 2)) # 0.386 0.291 0.68 dBlj_ref = burst.sound_energy_level + corr.total # Ec. G.3; la Ec. G.1 suma lo mismo a LWParámetros de sound_energy_pressure()
Sección titulada «Parámetros de sound_energy_pressure()»| Parámetro | Tipo | Unidades | Rango / valor por defecto | Notas |
|---|---|---|---|---|
levels_positions | array 2D o 3D | dB | (NM, NB) o (Ne, NM, NB) | Niveles de suceso aislado: por suceso en el primer eje (Ec. 19), una lectura de events sucesos (Ec. 20), o la media de un suceso |
surface, radius, dimensions, distance, reflecting_planes | como en la sección 1 | La misma superficie de medición y los mismos mínimos de posiciones | ||
events | int o None | >= 1, por defecto None | abarcados por una lectura (Ec. 20); al menos 5 sin aviso | |
background_levels | array 2D o espectro | dB | (NM, NB), o (NB,) / (1, NB) | Fondo promediado en el tiempo sobre la misma ventana; activa (Ec. 21) |
integration_time | float | s | > 0, obligatorio con background_levels | La ventana ; el fondo se compara como su exposición |
frequencies | array 1D | Hz | centros de banda nominales | Activa (Ec. E.2) |
room | RoomEnvironment o None | por defecto None (campo libre) | Los datos de sala tras , como en la sección 1 | |
grade | str | 'engineering' (por defecto) / 'survey' | Apartado 8.3 de ISO 3744 frente a apartado 8.4 de ISO 3746 | |
omc_uncertainty | float | dB | por defecto 0.0 | , incorporada a como para |
Devuelve un SoundEnergyResult: sound_energy_level ( por banda),
surface_event_level ( tras /, Ec. 22),
mean_event_level (), background_correction/
environmental_correction, directivity_index (por posición y banda),
surface_area, sound_energy_level_a (), uncertainty,
grade, events (, o None cuando se aportaron las medias) e
integration_time. reference_atmosphere_correction(temperature, static_pressure=…, altitude=…) devuelve un ReferenceAtmosphereCorrection
con c1, c2, su total y la static_pressure empleada.
Qué cubre esta guía
Sección titulada «Qué cubre esta guía»Cubierto
La determinación por superficie envolvente de ISO 3744/3746 (
sound_power_pressure): las áreas de superficie de semiesfera y caja, las correcciones de fondo y de entorno con sus límites de validez, las posiciones de micrófono del Anexo B (measurement_positions,plot_microphone_positions) y el total ponderado A del Anexo E. La determinación de precisión de ISO 3745 (sound_power_anechoic): las mallas fijas de los Anexos D/E (precision_positions), la corrección de fondo por posición (precision_background_correction, Ec. 11), las correcciones meteorológicas // y la incertidumbre expandida del apartado 10.5 (precision_uncertainty). Ambos resultados presentan la ficha de potencia acústica de estilo acreditado mediante.report(). El nivel de energía acústica de una ráfaga de ruido sobre la misma superficie envolvente (sound_energy_pressure, apartado 8.3 de ISO 3744 y apartado 8.4 de ISO 3746): los niveles de suceso aislado de sucesos uno a uno o en una sola lectura (mean_single_event_level, Ec. 19/20), el de la Ec. 21 con el fondo comparado sobre la misma ventana, , la Ec. 23 y el del Anexo E, y la corrección del Anexo G a las condiciones meteorológicas de referencia (reference_atmosphere_correction, Ec. G.1/G.3).No cubierto
Ninguno de los dos métodos ejecuta el ensayo de cualificación del recinto: la cualificación de campo libre de la cámara anecoica o semianecoica de ISO 3745 se da por supuesta, no se realiza, y la validez de en ISO 3744 solo emite avisos. La corrección del Anexo G de ISO 3744 a las condiciones meteorológicas de referencia, exigida por encima de 500 m de altitud o por debajo de 10 °C (apartados 8.2.5 y 8.3.6), la evalúa
reference_atmosphere_correctionpero nunca se aplica dentro de una determinación:sound_power_pressureysound_energy_pressureno admiten argumento de temperatura ni de presión, y la suma se añade a mano. ISO 3745 no define un nivel de energía acústica propio, así que una ráfaga en la cámara anecoica de precisión no tiene aquí ninguna vía. La corrección meteorológica de ISO 3745 necesita un coeficiente de absorción del aire que aporta quien llama (air_absorption_coefficient=); este módulo no lo calcula a partir de ISO 9613-1. La elección entre las siete vías, y la declaración ISO 4871 que un resultado alimenta, viven en Potencia acústica.
Referencias
Sección titulada «Referencias»- Beranek, L. L. y Mellow, T. J. (2012). Acoustics: Sound fields and transducers. Academic Press. https://doi.org/10.1016/C2011-0-05897-0ISBN 978-0-12-391421-7. Radiación y campos sonoros: las relaciones de campo libre entre presión y potencia en que descansan los métodos de superficie envolvente y anecoicos.
- International Organization for Standardization. (2010). Acoustics — Determination of sound power levels and sound energy levels of noise sources using sound pressure — Engineering methods for an essentially free field over a reflecting plane (ISO 3744:2010). El método de superficie envolvente de la sección 1: las áreas de semiesfera y caja, las correcciones K1/K2, las posiciones de micrófono del Anexo B y la ponderación A del Anexo E.
- International Organization for Standardization. (2010). Acoustics — Determination of sound power levels and sound energy levels of noise sources using sound pressure — Survey method using an enveloping measurement surface over a reflecting plane (ISO 3746:2010). El grado de inspección de la sección 1, que comparte las fórmulas de superficie envolvente con criterios menos exigentes.
- International Organization for Standardization. (2012). Acoustics — Determination of sound power levels and sound energy levels of noise sources using sound pressure — Precision methods for anechoic rooms and hemi-anechoic rooms (ISO 3745:2012). El método de precisión en cámara anecoica de la sección 2: el nivel de potencia del apartado 8, la corrección de fondo por posición (Ec. 11), las correcciones meteorológicas y las mallas de micrófonos normalizadas.