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 final presenta la determinación como ficha de ensayo de estilo acreditado. 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. 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
necesita aplicar a mano la corrección del Anexo G.
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 measurement_positions, plot_microphone_positions
# Los 10 micrófonos del Anexo B de ISO 3744 sobre un hemisferio de 2 m.plot_microphone_positions(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"})plot_microphone_positions( emission.precision_positions("hemisphere", radius=1.0, count=40), ax=axi, radius=1.0)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.
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().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. Tampoco se aplica 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 (apartado 8.2.5):
sound_power_pressureno admite argumento de temperatura ni de presión. 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 seis vías, y la declaración ISO 4871 que un resultado alimenta, viven en Potencia acústica.
Véase también
Sección titulada «Véase también»- Potencia acústica: la elección entre las cinco vías de determinación, los grados de precisión y la declaración de emisión sonora de ISO 4871.
- Potencia acústica en cámara reverberante (ISO 3741): la alternativa de precisión en campo difuso cuando la fuente puede viajar a una cámara cualificada.
- Potencia acústica por barrido de intensidad (ISO 9614): las vías que toleran el ruido de fondo estacionario que un método de presión no puede restar.
- Acústica de salas: el tiempo de reverberación y el área de absorción equivalente que alimentan .
- Niveles: el promediado en energía y la ponderación A que sustentan .
- Teoría: las derivaciones de / y /.
- Referencia de la API:
emission.sound_power. - Teoría: Determinación de la potencia acústica: la derivación de la superficie envolvente de la ISO 3744/3746 y la corrección ambiental que necesita.
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.