Un tren que pasa frente a un micrófono son dos fuentes a la vez: el vehículo, con sus ruedas, sus equipos de tracción y su caja, y la vía por la que circula, cuyos carriles son rugosos y cuya respuesta a una rueda reparte la vibración a lo largo de ellos. La ISO 3095 es el ensayo de tipo del material rodante, el método con el que se mide un vehículo para que el resultado diga algo del vehículo. Fija dónde van los micrófonos, qué registran y cómo se promedian las pasadas, y en el ensayo a velocidad constante fija también la vía: un vehículo medido sobre una vía rugosa y viva suena más que el mismo vehículo sobre una lisa y bien amortiguada, y el resultado solo es comparable entre emplazamientos cuyas vías se parecen. Esa segunda mitad son dos normas más, la EN 15610 para la rugosidad de los carriles y la EN 15461 para la rapidez con que la vibración decae a lo largo de ellos, y esta página cubre las tres.
Un paso: la historia del nivel, el intervalo que tarda en pasar la unidad y los dos números que se leen de él.
1. Cuatro ensayos, y el que necesita una vía
Sección titulada «1. Cuatro ensayos, y el que necesita una vía»La ISO 3095:2013 tiene cuatro ensayos. Cada uno tiene sus posiciones de micrófono y su magnitud medida, y todos piden al menos tres pasadas por posición, que valen cuando quedan a no más de 3 dB unas de otras (9.3).
| Ensayo | Magnitud | Micrófonos | Resultado | Apartado |
|---|---|---|---|---|
| A vehículo parado | , s | A 7,5 m del eje de la vía y 1,2 m sobre la cara superior del carril, en el centro de tramos iguales de 3 m a 5 m a lo largo de los dos lados de cada coche, más dos a 30° sobre una semicircunferencia de 7,5 m frente a cada extremo de la unidad (en un remolque, solo frente a los extremos con cabina) | Las posiciones promediadas en energía, ponderadas por la longitud que representa cada una, por serie; la media de tres series, redondeada al entero | 5 |
| A velocidad constante | sobre el tiempo de paso | 7,5 m y 1,2 m a los dos lados; 25 m y 3,5 m admitidos a 200 km/h o más | La media de tres pasadas por lado y velocidad, redondeada; el lado más ruidoso | 6 |
| Arranque, nivel máximo | 7,5 m y 1,2 m, en una sección 10 m por delante de la unidad y a lo largo de una unidad de más de 50 m | La mayor de las medias redondeadas | 7.5 | |
| Arranque, nivel promediado | 25 m y 3,5 m, 10 m por delante de la unidad | La mayor de las medias redondeadas | 7.6 | |
| Frenado | , frenado de servicio completo desde 30 km/h | 7,5 m y 1,2 m, frente al centro del primer coche ya parado, ±10 m | La mayor de las medias redondeadas | 8 |
Solo el ensayo a velocidad constante necesita una vía de referencia. Los ensayos de arranque y de frenado piden una vía sin juntas ni defectos visibles (7.3, 8.2), pero solo a velocidad constante domina el resultado el ruido de rodadura en el que participa la vía, y solo ahí limita la norma la rugosidad del carril y las tasas de decaimiento (6.2), las dos impresas como números. Un vehículo se puede medir igualmente sobre una vía que no cumpla alguno de los dos límites, pero su resultado es entonces de ese emplazamiento.
Cómo se hace la medida
Sección titulada «Cómo se hace la medida»Los micrófonos del ensayo a velocidad constante y la zona que tiene que quedar libre a su alrededor.
| Requisito | Valor | Apartado |
|---|---|---|
| Micrófono | A 7,5 m del eje de la vía, 1,2 m sobre la cara superior del carril, a los dos lados de la unidad (basta uno cuando los dos son acústicamente idénticos); 25 m y 3,5 m admitidos desde 200 km/h; se recomienda además 7,5 m y 3,5 m cuando hay fuentes en la parte alta de la unidad | 6.4.1, 6.4.2 |
| Propagación libre | En el triángulo entre la vía y el micrófono, que llega a lo largo de la vía al doble de la distancia del micrófono a cada lado: el terreno entre 0 m y −2 m respecto a la cara superior del carril, sin otras vías, sin nieve ni vegetación alta, sin agua, hielo, asfalto ni hormigón, sin nadie dentro | 6.1.1 |
| Objetos reflectantes | Ninguno grande a menos de tres veces la distancia de medida del micrófono | 6.1.1 |
| Ruido de fondo | de 20 s de fondo al menos 10 dB por debajo del nivel de paso, en cada banda de interés cuando se piden espectros | 6.1.3 |
| Velocidad | Mantenida dentro de ±5 % en el tramo de medida, medida con un error máximo permitido del 3 % | 6.6.2 |
| Registro | Empieza al menos 10 dB por debajo del nivel con la cabeza del tren frente al micrófono y acaba 10 dB por debajo del nivel con la cola frente a él | 6.6.3 |
| Vía | Una superestructura uniforme a lo largo del doble de la distancia del micrófono a cada lado; balasto, traviesas de madera o de hormigón, sin apantallamiento; sin juntas ni defectos visibles; los límites de rugosidad y de tasas de decaimiento de 6.2.5 y 6.2.6; un radio de curva de 1 000 m, 3 000 m o 5 000 m según la velocidad, y una pendiente de 5:1 000 como mucho cuando se ensayan unidades motoras | 6.2 |
2. El nivel de paso y el nivel de exposición al tránsito
Sección titulada «2. El nivel de paso y el nivel de exposición al tránsito»La magnitud del ensayo a velocidad constante es el nivel equivalente ponderado A sobre un intervalo de medición que va de a (3.14),
y para una unidad múltiple o una composición fija el intervalo es el tiempo de
paso de la unidad entera, de su cabeza a su cola, (6.6.3). Dentro de
un tren el intervalo va del centro de la primera unidad ensayada al centro de
la última. pass_by_measurement pondera A un registro de presión, guarda la
historia del nivel con ponderación temporal F y lee el
nivel equivalente y el máximo dentro del intervalo que recibe:
import numpy as npfrom phonometry import environment
fs = 16000length_m, speed_kmh, distance_m = 100.0, 80.0, 7.5tp = environment.pass_by_time(length_m, speed_kmh=speed_kmh)t = np.arange(int(14.0 * fs)) / fsfront_s = 4.0 # la cabeza pasa frente al micrófono a los 4 sx_front = speed_kmh / 3.6 * (t - front_s) # metros que la cabeza ha rebasado el micrófono# La unidad como una fuente lineal incoherente de su misma longitud: el valor# cuadrático medio en el micrófono sigue el ángulo que la unidad abarca desde él.angle = np.arctan(x_front / distance_m) - np.arctan((x_front - length_m) / distance_m)rng = np.random.default_rng(3095)p = 0.25 * np.sqrt(angle / np.pi + 1e-4) * rng.standard_normal(t.size)
passby = environment.pass_by_measurement(p, fs, start_s=front_s, end_s=front_s + tp)print(round(tp, 2), round(passby.equivalent_level_db, 1), round(passby.max_level_db, 1))# 4.5 81.3 81.9 T_p en s, L_pAeq,Tp y L_pAFmax en dBEl apartado 6.6.3 pide además que el propio registro empiece al menos 10 dB por debajo del nivel con la cabeza frente al micrófono y acabe 10 dB por debajo del nivel con la cola frente a él. Si se le dice cuándo pasan la cabeza y la cola, el resultado guarda los dos márgenes y dice si bastan.
La edición de 2005 de la norma definía una magnitud más, el nivel de exposición al tránsito: la energía del paso entero, medida sobre un intervalo lo bastante largo para contenerla toda, repartida solo sobre el tiempo de paso (ISO 3095:2005, 3.14, fórmulas 8 a 10),
La edición de 2013 la suprimió, pero se sigue citando, y su forma sobrevive en
la fórmula B.1, en la que un único remolque al final de un tren se mide desde
su centro en adelante y la energía se reparte sobre el tiempo de paso de media
unidad. Si se le pasa el tiempo de paso a pass_by_measurement, el resultado
lleva la energía de su intervalo repartida sobre él:
whole = environment.pass_by_measurement( p, fs, start_s=0.0, end_s=14.0, pass_by_time_s=tp, front_passing_s=front_s, rear_passing_s=front_s + tp,)print(round(whole.start_margin_db, 1), round(whole.end_margin_db, 1), whole.recording_interval_sufficient)# 14.0 17.8 Trueprint(round(whole.equivalent_level_db, 1), round(whole.normalized_level_db, 1))# 77.1 82.0 L_pAeq,T sobre los 14 s del registro, y el TELAquí el nivel de exposición al tránsito queda 0,7 dB por encima del nivel de
paso porque cuenta también la energía de la aproximación y del alejamiento,
que el nivel de paso deja fuera. transit_exposure_level es la fórmula 10
sola, para un nivel y dos duraciones que ya se conocen.
3. Tres pasadas, una media redondeada y el lado más ruidoso
Sección titulada «3. Tres pasadas, una media redondeada y el lado más ruidoso»Todos los ensayos acaban igual: las pasadas de cada posición se promedian
aritméticamente, la media se redondea al decibelio entero más próximo y el
resultado es la mayor de esas medias, el lado más ruidoso a velocidad
constante y la posición más ruidosa en arranque o en frenado (6.7.1, 7.5.4,
7.6.4, 8.7). rolling_stock_test lo hace para cualquiera de los cuatro
métodos, y dice si las pasadas de cada posición caben en los 3 dB de 9.3:
test = environment.rolling_stock_test( {"izquierda": [81.3, 82.1, 81.6], "derecha": [80.4, 80.9, 81.2]})print(dict(test.reported_levels_db), test.final_level_db, test.valid)# {'izquierda': 82.0, 'derecha': 81.0} 82.0 TrueLa norma redondea al entero más próximo sin una regla para el valor que cae justo en la mitad; la biblioteca redondea la mitad hacia arriba, y lo dice en la documentación del resultado. Una normalización a una velocidad de referencia, cuando se pide, se aplica a las pasadas antes de esto (6.7.1).
Las cláusulas que rodean al ensayo son reglas pequeñas que la biblioteca da como funciones: las velocidades del ensayo de tipo de 6.6.2, 80 km/h y la velocidad máxima, o la máxima sola hasta 80 km/h; el radio de curva mínimo de 6.2.2; y las posiciones del ensayo de arranque por nivel máximo, 10 m por delante de la unidad, 10 m por delante de su centro cuando mide más de 50 m, y repartidas por igual entre ambas cuando esas dos distan más de 50 m (7.5.1.1, figura 10):
print(environment.type_test_speeds(160.0), environment.minimum_curve_radius(160.0))# (80.0, 160.0) 5000.0print(environment.acceleration_test_positions(108.0))# [-10. 17. 44.] metros por detrás de la cabeza de la unidad, como las dibuja la figura 10El ensayo a vehículo parado promedia en energía las posiciones de una serie, ponderando cada una por la longitud de la unidad que representa, m para las posiciones frente a los extremos (5.8.1, fórmulas 1 y 2), e informa de la media de tres series redondeada al entero:
# Una locomotora de 20 m: cuatro tramos de 5 m por lado y dos posiciones frente a cada extremo.side = [66.0, 68.5, 70.0, 67.0]ends = [64.0, 63.5]mesh = np.array(side + side + ends + ends)sets = mesh + np.array([[0.0], [0.4], [-0.3]]) # tres series, una fila cada unalengths = [5.0] * 8 + [environment.STATIONARY_END_POSITION_LENGTH_M] * 4standing = environment.stationary_test(sets, lengths)print(standing.set_levels_db.round(2), standing.reported_level_db)# [66.31 66.71 66.01] 66.04. La vía de referencia
Sección titulada «4. La vía de referencia»4.1 La rugosidad de los carriles (EN 15610)
Sección titulada «4.1 La rugosidad de los carriles (EN 15610)»La rugosidad acústica de un carril es la altura de su superficie de rodadura a lo largo de él, medida con un palpador sobre una línea de la cabeza del carril (EN 15610, 3.1). El registro se procesa en tres etapas antes de tomar su espectro (7.1). El operador quita las juntas, las soldaduras y los defectos. Se eliminan los picos estrechos hacia arriba, que son granos de suciedad bajo el palpador: un pico es donde la segunda derivada baja de y la primera cambia de signo, sus bordes son donde la pendiente baja de , y se sustituye por una recta cuando su altura supera con m, de modo que un pico estrecho se va y uno ancho, que la rueda sí nota, se queda (7.2). Después cada punto se eleva hasta donde se apoyaría una rueda de 0,375 m de radio, porque el palpador entra en hoyos por encima de los que la rueda pasa rodando (7.3).
El método A de 7.4.2 corta luego el registro en segmentos de al menos 1 m que se solapan a la mitad, quita la tendencia de cada uno, aplica una ventana de Hanning y promedia sus espectros; el valor de la banda de tercio de octava es la energía de las líneas que caen dentro de ella, y las dos líneas que cabalgan un borde cuentan por la parte de su anchura que queda dentro (anexo C). El nivel es dB con (3.3), y un segmento resuelve longitudes de onda hasta la cuarta parte de su longitud (7.5), así que un segmento de 1 m da bandas desde la de 0,25 m hacia abajo.
limit = environment.REFERENCE_TRACK_ROUGHNESS_LIMIT_DBx = np.arange(0.0, 20.0, 1.0e-3) # 20 m de carril, una muestra por milímetro
def rail(offsets_db, seed): """Un registro con sus bandas 3 dB bajo el límite, o donde diga offsets_db.""" rng = np.random.default_rng(seed) r = np.zeros_like(x) for wavelength, level in limit.items(): target = level + offsets_db.get(wavelength, -3.0) k = 10.0 ** np.linspace(-0.045, 0.045, 10) / wavelength # diez líneas repartidas por la banda amplitude = np.sqrt(2.0 * 10.0 ** (target / 10.0) / k.size) for kk in k: r += amplitude * np.cos(2.0 * np.pi * kk * x + rng.uniform(0.0, 2.0 * np.pi)) return r
# El carril 1 algo ondulado de 5 cm a 2,5 cm, el carril 2 en 4 cm y 3,15 cm.left = rail({0.05: -1.0, 0.04: 2.0, 0.0315: 2.5, 0.025: 0.5}, seed=1)right = rail({0.04: 1.0, 0.0315: 1.5}, seed=2)left[7300] += 25.0 # un grano de suciedad bajo el palpadorspectra = [ environment.acoustic_roughness_spectrum(r, sample_spacing_m=1.0e-3) for r in (left, right)]print(spectra[0].segment_count, spectra[0].wavelengths_m[0], spectra[0].wavelengths_m[-1])# 39 0.25 0.0025print(round(spectra[0].level_at(0.0315), 1), round(spectra[1].level_at(0.0315), 1), limit[0.0315])# -2.6 -3.6 -5.0 dB re 1 um: los dos carriles por encima del límite en la banda de 3,15 cmEl límite es la figura 2 de la ISO 3095, que imprime su valor junto a cada
punto, veintidós de ellos de 0,4 m a 3,15 mm, así que la biblioteca lee los
números y no una curva (REFERENCE_TRACK_ROUGHNESS_LIMIT_DB). El listado del
anexo B de la EN 15610 escribe los mismos veintidós valores como su «2007 TSI
limit», una segunda impresión contra la que la batería de conformidad comprueba
la primera. Hasta 190 km/h la rugosidad se tiene que conocer de 0,003 m a
0,10 m, y por encima hasta 0,25 m (6.2.5). Los espectros de los registros de
una línea se promedian en valores cuadráticos medios
(average_roughness_spectra, 7.6), y el apartado 6.4.3 fija en cuántas líneas
se mide un carril según la anchura de su banda de rodadura
(roughness_measurement_lines).
Los dos carriles frente al límite de la figura 2: por debajo en todas partes menos en 4 cm y 3,15 cm, donde lo superan los dos, y en 2,5 cm, donde lo supera uno. La vía solo cumple gracias al anexo C (apartado 4.4), y el título lo dice.
El método B, filtros a lo largo del carril (7.4.3). El otro camino hacia
el mismo espectro pasa el registro procesado por filtros digitales de bandas de
tercio de octava y toma el valor cuadrático medio de lo que sale de cada uno.
Un filtro arranca en reposo al principio del registro y tarda en asentarse,
así que se descartan 2 m de cada salida en cada extremo; un registro necesita
5 m para dejar el metro que pide un espectro (NOTA 1), y los registros de una
línea necesitan al menos 15 m analizados en total una vez quitados esos
extremos. Los filtros «shall comply with EN 61260», la edición de 1995 que la
EN 15610 fecha en sus referencias. El banco es el de la propia biblioteca,
filters.OctaveFilterBank, que funciona con las muestras por metro del
registro, de modo que sus frecuencias son números de onda y sus bandas son las
de base diez que da el método A (roughness_filter_bank). Evaluado con
filters.verify_filter_class frente a esa edición es de clase 0, la más
estricta, y su respuesta integrada (4.5.3) y la suma de sus salidas (4.9)
también quedan dentro de la clase 0. Cada banda funciona a la frecuencia de
muestreo del propio registro, sin el diezmado banda a banda que los bancos de
la biblioteca usan por defecto. El apartado 4.8 pide a los filtros antialias
de un sistema muestreado que los números de onda que se pliegan sobre una
banda no saquen al filtro de la tabla 1; sin diezmar, una banda no tiene
ningún alias, y la evaluación llega hasta el número de onda de Nyquist del
registro y cubre exactamente lo que atraviesa un registro.
El banco es de orden 4, el más bajo que es de clase 0, por una razón que la
norma no dice: el filtro tarda en asentarse más cuanto más larga es la
longitud de onda de su banda, y el apartado 7.4.3 concede 2 m sea cual sea la
banda. Una banda solo se da cuando, sobre la longitud analizada, su filtro ha
llegado a menos de 0,15 dB de su salida estacionaria, la tolerancia de la
clase 0 en 4.5.3; por eso un registro de 5 m da bandas desde la de 0,25 m, la
cuarta parte del metro que analiza (7.5), y los registros de 20 m de este
ejemplo desde la de 0,5 m. El listado del anexo B pasa sus filtros hacia
delante y hacia atrás con filtfilt, lo que eleva al cuadrado su respuesta y
los saca de todas las clases de la EN 61260 (apartado 7).
from phonometry import filters
bank = environment.roughness_filter_bank(sample_spacing_m=1.0e-3)print(bank.order, bank.num_bands, filters.verify_filter_class(bank, edition="1995").overall_class)# 4 24 0 orden, bandas de 0,5 m a 2,5 mm, clase según la EN 61260:1995filtered = [ environment.filtered_roughness_spectrum(r, sample_spacing_m=1.0e-3) for r in (left, right)]print(filtered[0].method, filtered[0].record_length_m, filtered[0].wavelengths_m[0])# B 16.0 0.5 20 m menos 2 m en cada extremo, y la banda más larga cuyo filtro se asientaprint(round(filtered[0].level_at(0.0315), 1), round(spectra[0].level_at(0.0315), 1))# -2.5 -2.6 dB re 1 um en la banda de 3,15 cm, método B y método ASobre un registro estacionario los dos métodos coinciden con la precisión que
permiten sus estimaciones. Un tono que el método A lee exactamente lo lee el
método B dentro de los límites de la clase 0 para la atenuación relativa de su
filtro, y un registro repartido por igual a lo largo de una banda queda dentro
de los 0,15 dB de su respuesta integrada; en estos carriles los dos espectros
se separan unas décimas de decibelio, la dispersión de promediar unos pocos
metros de rugosidad aleatoria. check_reference_track exige sus 15 m a cada
línea analizada con el método B: los dos carriles de arriba, con 16 m cada
uno, los cumplen.
Un registro, dos análisis: el método B llega a la banda de 0,5 m con 16 m de registro, el método A se queda en la cuarta parte de sus segmentos de 1 m, y donde los dos dan banda coinciden dentro de la dispersión de la estimación.
4.2 Con qué rapidez decae la vibración a lo largo del carril (EN 15461)
Sección titulada «4.2 Con qué rapidez decae la vibración a lo largo del carril (EN 15461)»La tasa de decaimiento de la vía es la atenuación de la vibración a lo
largo del carril, en decibelios por metro, un valor por banda de tercio de
octava (EN 15461, 3.6). Un acelerómetro se fija al carril en el centro de un
vano entre traviesas y un martillo golpea el carril en las posiciones de la
figura 2, cada cuarto de vano hasta dos vanos y medio y luego más espaciadas,
hasta 66 vanos (6.7, track_decay_excitation_positions). A partir de las
magnitudes por banda de las respuestas, con la directa en
primer lugar, la fórmula 1 estima la tasa a partir de la integral de la
respuesta al cuadrado y no de una pendiente ajustada,
donde es la longitud de carril que representa cada posición (anexo A). Una malla que se detiene en no puede medir una tasa por debajo de (fórmula 2), y una banda cuya tasa no llega al menos al doble de ese valor no es apta; además la respuesta más lejana tiene que quedar 10 dB por debajo de la directa (6.7).
bands = [100.0, 125.0, 160.0, 200.0, 250.0, 315.0, 400.0, 500.0, 630.0, 800.0, 1000.0, 1250.0, 1600.0, 2000.0, 2500.0, 3150.0, 4000.0, 5000.0]# Las tasas que podría tener una vía con balasto y traviesas de hormigón, dB/m.vertical = [9.0, 8.0, 6.0, 4.0, 3.0, 3.5, 7.0, 8.0, 7.0, 3.0, 1.2, 0.9, 0.9, 1.0, 1.1, 1.3, 1.5, 1.8]lateral = [6.0, 5.0, 4.0, 3.0, 3.0, 2.2, 1.2, 0.9, 0.7, 0.6, 0.5, 0.5, 0.6, 0.8, 0.9, 1.0, 1.2, 1.4]x_hammer = environment.track_decay_excitation_positions(sleeper_spacing_m=0.6)
def responses(rates_db_per_m): """Magnitudes por banda que decaen exponencialmente en la malla del martillo, una fila por posición.""" beta = np.asarray(rates_db_per_m) / (20.0 * np.log10(np.e)) return np.exp(-np.outer(x_hammer, beta))
decay = [ environment.track_decay_rate(responses(vertical), frequencies_hz=bands, direction="vertical"), environment.track_decay_rate(responses(lateral), frequencies_hz=bands, direction="lateral"),]print(x_hammer[-1], round(decay[0].minimum_measurable_db_per_m, 3), decay[1].far_field_sufficient)# 39.6 0.11 Trueprint(round(decay[0].rate_at(1000.0), 2), round(decay[1].rate_at(1000.0), 2))# 1.19 0.5La fórmula 1 da 1,19 dB/m para una respuesta que decae exactamente a
1,2 dB/m: en la malla de la figura 2 la suma hace las veces de la integral, y
lee una exponencial alrededor de un 1 % baja. Los límites son la figura 3 de la
ISO 3095, que los imprime en una tabla junto a sus curvas, catorce bandas de
250 Hz a 5 kHz para cada dirección (REFERENCE_TRACK_DECAY_LIMITS_DB_PER_M);
por debajo de 250 Hz no fija ninguno.
Las dos tasas de decaimiento por encima de los límites inferiores de la figura 3, la vertical por poco en las bandas de 1,25 kHz y 1,6 kHz.
4.3 El veredicto
Sección titulada «4.3 El veredicto»check_reference_track reúne las dos mitades con la geometría de 6.2.2 y
devuelve un único veredicto, cuyo passes es la respuesta y cuyas
conditions son todos los requisitos que ha juzgado, cada uno con el apartado
del que sale y los números con los que se ha juzgado. Cuando las tasas de
decaimiento vienen con su malla, se juzgan también el suelo de la fórmula 2 y
la caída de 10 dB de la EN 15461. El veredicto no tiene valor de verdad propio,
así que no se puede usar en un if por descuido; la respuesta es .passes.
check = environment.check_reference_track( spectra, decay, speed_kmh=160.0, curve_radius_m=6000.0, track_gradient_ratio=0.002)print(check.passes)# Falsefor condition in check.failed: print(condition.clause, "|", condition.requirement, "|", condition.detail)# 6.2.5 | roughness at or below the limit of Figure 2 | exceeds by 2.4 dB at 0.0315 mEl apartado 8 de la EN 15610 no admite ninguna banda por encima del límite, y el 6.2.5 por sí solo tampoco. Añade una salida.
4.4 Pequeñas desviaciones: el anexo C
Sección titulada «4.4 Pequeñas desviaciones: el anexo C»El anexo C acepta una vía cuya rugosidad supera el límite cuando el exceso cambia el nivel de paso en no más de 1 dB, juzgado a cada velocidad sobre un espectro de paso medido. Los carriles se promedian en valores cuadráticos medios; el espectro justo conforme es el medido rebajado hasta el límite (fórmula C.1); los dos se llevan de longitud de onda a frecuencia a la velocidad del tren, , y sus energías por banda se reparten entre las bandas de tercio de octava normalizadas, la síntesis del anexo C de la EN 15610 adaptada a bandas de anchura desigual; su diferencia es la corrección (fórmula C.2). El espectro de ruido medido menos esa corrección es el espectro revisado (fórmula C.3), lo menos que se habría podido medir sobre una vía conforme, y el efecto es la suma energética del espectro medido menos la del revisado (fórmula C.4):
noise = [68.0, 69.5, 71.0, 72.5, 74.0, 76.0, 78.0, 80.5, 83.0, 85.5, 87.0, 87.5, 86.5, 84.5, 82.0, 79.0, 75.5, 72.0] # L_pAeq,Tp(f) a 160 km/h, dBaverage = environment.average_roughness_spectra(spectra)small = environment.check_small_roughness_deviations( average, noise, frequencies_hz=bands, speed_kmh=160.0)print(round(small.impact_db, 2), small.passes)# 0.57 Truecheck = environment.check_reference_track( spectra, decay, speed_kmh=160.0, curve_radius_m=6000.0, track_gradient_ratio=0.002, small_deviations=small,)print(check.passes)# TrueA 160 km/h las bandas de 5 cm a 2,5 cm caen entre 890 Hz y 1,8 kHz, que es
donde está el máximo de este espectro de paso, así que la corrección es de
0,7 dB a 1,6 dB en las tres bandas de 1 kHz a 1,6 kHz y el efecto sobre el nivel
es de 0,57 dB: la vía se acepta para este vehículo a esta velocidad. El mismo
exceso a otra velocidad cae sobre otras frecuencias y hay que juzgarlo de
nuevo, y check_reference_track rechaza un veredicto del anexo C calculado a
otra velocidad, sobre algo que no sea el promedio cuadrático de los carriles
que juzga (C.2.1), o frente a un límite que no sea aquel con el que los juzga
(fórmula C.1).
Lo que la rugosidad por encima del límite podría haber añadido, banda a banda, y en total menos del 1 dB que admite el anexo C.
Mostrar el código de estas figuras
import matplotlib.pyplot as plt
passby.plot(language="es") # la historia del nivel y el intervalo T_pcheck.plot(panel="roughness", language="es") # los carriles frente a la figura 2check.plot(panel="decay", language="es") # las tasas de decaimiento frente a la figura 3small.plot(language="es") # los espectros del anexo Cplt.show()El anexo E responde a una pregunta vecina, si dos emplazamientos de ensayo son
comparables en rugosidad: roughness_comparability forma las envolventes
mínima y máxima de sus dos espectros de rugosidad (fórmula E.1), lleva cada uno
por la cadena del anexo C frente al espectro de ruido de cada emplazamiento y
acota la diferencia que la rugosidad sola podría producir en el nivel de paso
(fórmulas E.4 y E.5).
5. La incertidumbre del anexo G
Sección titulada «5. La incertidumbre del anexo G»El anexo G trata el resultado como la lectura más correcciones no correlacionadas, así que todos los coeficientes de sensibilidad valen 1 (fórmulas G.1 y G.4); una entrada de la que solo se conocen sus límites tiene (fórmula G.2), la incertidumbre típica combinada es la raíz de la suma de cuadrados (fórmula G.5) y la incertidumbre expandida es el doble (fórmula G.6). La tabla G.2 resuelve el balance de una medición a vehículo parado, y es el oráculo numérico del módulo:
from phonometry import metrology
rows = [ # tabla G.2: entrada, corrección del valor medio e incertidumbre típica, dB ("calibrador, referencia", 0.0, 0.14), ("calibrador, largo plazo", 0.0, 0.04), ("calibrador, alimentación", 0.0, 0.06), ("calibrador, distorsión", 0.105, 0.06), ("sonómetro, dirección", 0.0, 0.25), ("sonómetro, frecuencia", 0.0, 0.25), ("sonómetro, linealidad", 0.0, 0.46), ("calibrador, meteorología", 0.0, 0.14), ("sonómetro, pantalla antiviento", 0.06, 0.03), ("trípode", 0.0, 0.35), ("distancia", 0.0, 0.06), ("nivel del terreno", 0.515, 0.30), ("redondeo", 0.0, 0.29),]budget = environment.pass_by_uncertainty( 55.0, [metrology.Quantity(v, u, name=n) for n, v, u in rows])print(round(budget.level_db, 2), round(budget.combined_uncertainty_db, 2), round(budget.expanded_uncertainty_db, 2))# 55.68 0.83 1.66 la tabla G.2 imprime 55,68, 0,83 y 1,66print(round(metrology.rectangular(0.0, 0.8).uncertainty, 2))# 0.46 la fila de linealidad de la tabla G.1, +/-0,8 dB entre la raíz de 3La figura G.1 dibuja la fracción de la varianza de cada entrada, de mayor a menor, y el resultado dibuja las mismas barras en el mismo orden; la batería de conformidad comprueba el orden con las etiquetas de la figura.
El balance de la tabla G.2 como lo dibuja la figura G.1: la linealidad del sonómetro, el trípode y el terreno se llevan tres quintas partes de la varianza.
Mostrar el código de esta figura
budget.plot(language="es")plt.show()6. El resto de la norma
Sección titulada «6. El resto de la norma»Tres piezas menores completan los ensayos. El anexo A caracteriza el ruido impulsivo por la subida más rápida de en los tramos que suben sin interrupción al menos 10 dB (fórmula A.1). El apartado 6.3.4 acepta un vehículo acoplado a la unidad ensayada cuando añade no más de 2,0 dB al nivel de paso, con los dos niveles redondeados a un decimal. El anexo D corrige un nivel por un ruido de fondo estable al que supera en más de 3 dB (fórmula D.1).
times = np.arange(0.0, 3.0, 0.01) # una historia L_pAF cada 10 mslevels = np.full(times.size, 70.0)levels[100:121] = 70.0 + 0.6 * np.arange(21) # 12 dB en 0,2 s, desde 1 slevels[121:] = 82.0print(round(environment.impulsiveness_rise_speed(times, levels).rise_speed_db_per_s, 1))# 60.0 dB/sneutral = environment.check_adjacent_vehicle_neutrality(83.04, 81.06)print(neutral.difference_db, neutral.passes)# 1.9 Trueprint(round(environment.background_level_increase(78.0, 72.0), 2))# 1.26 dB que el fondo añade a los 78 dB medidos7. Donde el texto impreso se contradice
Sección titulada «7. Donde el texto impreso se contradice»Las filas de oráculo de las tablas G.1 y G.2 no concuerdan todas, y el
registro de erratas tiene la aritmética de
cada una: la incertidumbre típica de la distancia del micrófono de 25 m se
imprime como 0,004 dB donde su intervalo da 0,04 dB; el nivel del terreno a
7,5 m es de 0,55 dB en la tabla G.1 y de 0,30 dB en la tabla G.2, que es lo que
da la fórmula G.2; y el intervalo de la pantalla antiviento se imprime con sus
extremos al revés. Ninguna cambia un número que calcule la biblioteca: las
filas de conformidad leen la tabla G.2 tal como está impresa y fijan las filas
de la tabla G.1 que reproduce la fórmula G.2. En la EN 15610, el bucle de
eliminación de picos del listado del anexo B se repite mientras alguna segunda
derivada esté por debajo del umbral, sin el cambio de signo que el apartado
7.2 c) también pide a un pico, así que nunca acaba en un cambio brusco de
pendiente del carril que no es ningún pico. Ni él ni el «until no further spike
is detected» del apartado, leído al pie de la letra, acaban con un pico que se
detecta y que la prueba de altura conserva; la biblioteca termina la pasada
cuando una vuelta no elimina nada, que es como lee el apartado. El mismo
listado hace el método B con filtros de Butterworth de tercer orden pasados
hacia delante y hacia atrás (filtfilt), lo que eleva al cuadrado su
respuesta: 6,02 dB de caída justo dentro de los bordes de banda, donde la
tabla 1 de la EN 61260:1995 admite como mucho 5,5 dB para la clase 2, y una
respuesta integrada del filtro de dB a dB, donde 4.5.3 admite
dB. El apartado 7.4.3 pide filtros conformes con la EN 61260; los
del listado no lo son en ninguna banda ni en ninguna clase, y leen unos 0,6 dB
de menos una banda de espectro plano. El banco de la biblioteca es de clase 0
en ambas cosas.
Qué cubre esta guía
Sección titulada «Qué cubre esta guía»Cubierto
Los cálculos de la ISO 3095:2013 a partir de registros y niveles medidos:
pass_by_measurement(el nivel equivalente sobre cualquier intervalo, el máximo con ponderación temporal F, los márgenes del registro de 6.6.3 y el nivel de exposición al tránsito de la ISO 3095:2005 o la fórmula B.1),transit_exposure_level,pass_by_time,stationary_unit_levelystationary_test(fórmulas 1 a 3 y 5.8.1),rolling_stock_testpara los ensayos a velocidad constante, de arranque y de frenado con la dispersión de 9.3,type_test_speeds,minimum_curve_radius,acceleration_test_positions,impulsiveness_rise_speed(anexo A),check_adjacent_vehicle_neutrality(6.3.4),background_level_increase(anexo D),check_small_roughness_deviations(anexo C),roughness_comparability(anexo E),check_reference_track(6.2) ypass_by_uncertainty(anexo G). De la EN 15610:2009, la eliminación de picos, el procesado por curvatura, el método A con la síntesis por bandas del anexo C, el método B con su banco de filtros evaluado frente a la EN 61260:1995 (filtered_roughness_spectrum,roughness_filter_bank) y los 15 m que pide a cada línea, el promedio de 7.6 y las líneas de 6.4.3; de la EN 15461:2008+A1:2010, la tasa de decaimiento de la fórmula 1 en la malla de la figura 2 con el suelo de la fórmula 2 y la caída de 10 dB. Los límites de las figuras 2 y 3 son tablas de solo lectura, y todos los resultados se dibujan con.plot().No cubierto
La medición en sí: el trazado de la malla a vehículo parado, la localización de y dentro de un tren, las comprobaciones del emplazamiento y de la meteorología, que corresponden a quien ensaya, y los casos especiales del anexo B más allá de la fórmula B.1. La normalización a una velocidad de referencia que menciona 6.7.1, para la que la norma no da fórmula; la diferencia tonal, que 6.7.2 remite a la ISO 1996-2 o a la DIN 45681; las mediciones en andenes, paradas y puentes del anexo F. En la EN 15610, la supresión de juntas, soldaduras y defectos (el anexo A muestra cómo son; lo hace el operador), y la unión de registros de 7.5. Un registro da longitudes de onda hasta la cuarta parte de su longitud, y eso la biblioteca lo aplica; para evaluar longitudes mayores, 7.5 manda concatenar los registros medidos solapándolos, dispone que «the overlap shall not be used for spectral components of 0,1 m or less» y pide que el método de concatenación se describa en el informe. No fija la longitud del solape, ni cómo alinear dos registros o casar sus alturas, ni cómo se combinan las muestras que comparten, ni cómo comprobar que una unión es válida (su nota solo pide atención a ello), así que la norma deja el método de unión a quien ensaya, que debe describirlo en el informe. En la EN 15461, la medición de las funciones de respuesta en frecuencia: las tasas se calculan a partir de sus magnitudes por banda. La rugosidad de las ruedas, que las normas del carril no cubren.
Referencias
Sección titulada «Referencias»- European Committee for Standardization. (2009). Railway applications — Noise emission — Rail roughness measurement related to rolling noise generation (EN 15610:2009). La rugosidad del carril con la que se juzga la vía de referencia del apartado 6.2.5 de la ISO 3095: la eliminación de picos de 7.2, el procesado por curvatura de 7.3, el método A de 7.4.2 con la síntesis por bandas del anexo C, el método B de 7.4.3 con sus filtros sujetos a la EN 61260:1995, el promedio de 7.6 y las líneas de medida de 6.4.3. Leída de la BS EN 15610:2009, idéntica a ella.
- European Committee for Standardization. (2010). Railway applications — Noise emission — Characterisation of the dynamic properties of track sections for pass by noise measurements (EN 15461:2008+A1:2010). Las tasas de decaimiento con las que se juzga la vía de referencia del apartado 6.2.6 de la ISO 3095: la malla de la figura 2, la caída de 10 dB de 6.7, la fórmula 1 y el suelo de la fórmula 2, con el anexo A. Leída de la BS EN 15461:2008+A1:2010, idéntica a ella.
- International Organization for Standardization. (2005). Railway applications — Acoustics — Measurement of noise emitted by railbound vehicles (ISO 3095:2005). La segunda edición, leída de la BS EN ISO 3095:2005, idéntica a ella: el nivel de exposición al tránsito de 3.14 y sus fórmulas 8 a 10, que la edición de 2013 suprimió.
- International Organization for Standardization. (2013). Acoustics — Railway applications — Measurement of noise emitted by railbound vehicles (ISO 3095:2013). La edición implementada (tercera edición, 2013-08-01): el ensayo a vehículo parado del apartado 5 y las fórmulas 1 a 3, el ensayo a velocidad constante del apartado 6 con la vía de referencia de 6.2 y los límites que imprimen las figuras 2 y 3, los ensayos de arranque del apartado 7 con las posiciones de la figura 10, el ensayo de frenado del apartado 8, la dispersión de 9.3, la velocidad de subida del anexo A, la fórmula B.1, las pequeñas desviaciones del anexo C, la corrección por ruido de fondo del anexo D, la comparabilidad del anexo E y el balance de incertidumbre del anexo G con su ejemplo, la tabla G.2.