Ir al contenido

Promediado síncrono en el tiempo

Referencias: McFadden 1987

Una máquina rotativa repite su firma una vez por revolución. Enterrada en el ruido de banda ancha y en los tonos del resto de los ejes, esa forma de onda repetitiva es difícil de leer directamente. El promediado síncrono en el tiempo (TSA) la recupera: dado el periodo de una revolución, trocea el registro en bloques sucesivos de longitud y los promedia. Toda componente síncrona con se refuerza; todo lo asíncrono, el ruido y los armónicos de ejes no relacionados, se promedia hasta desaparecer. time_synchronous_average implementa el modelo de P. D. McFadden, A revised model for the extraction of periodic waveforms by time domain averaging (1987).

Figura de dos paneles. Izquierda: un periodo ruidoso de una señal en gris tenue oscila muy por encima y por debajo de una curva suave; el promedio de cuarenta periodos, en azul, se sitúa casi exactamente sobre la forma de onda verdadera en rojo discontinuo, de modo que el ruido asíncrono se ha eliminado. Derecha: la magnitud del filtro peine entre los órdenes 31 y 33, con dientes de altura unidad en los órdenes enteros; para N = 20 un nodo profundo cae exactamente sobre el tono interferente marcado en 32,05 órdenes, mientras que la potencia de dos N = 32 deja allí un lóbulo lateral y deja pasar el tono.Figura de dos paneles. Izquierda: un periodo ruidoso de una señal en gris tenue oscila muy por encima y por debajo de una curva suave; el promedio de cuarenta periodos, en azul, se sitúa casi exactamente sobre la forma de onda verdadera en rojo discontinuo, de modo que el ruido asíncrono se ha eliminado. Derecha: la magnitud del filtro peine entre los órdenes 31 y 33, con dientes de altura unidad en los órdenes enteros; para N = 20 un nodo profundo cae exactamente sobre el tono interferente marcado en 32,05 órdenes, mientras que la potencia de dos N = 32 deja allí un lóbulo lateral y deja pasar el tono.

Dos cosas que conviene leer por separado. A la izquierda, la ley de haciendo su trabajo: el ruido de un solo periodo tiene un valor eficaz de 0,83 y, tras 40 promedios, la forma de onda promediada se aparta de la verdadera 0,138 en valor eficaz, un factor 6,0 frente al que predice la ley. A la derecha, la elección que no cuesta nada: en el orden 32,05 el peine de vale 6×10⁻¹⁴, mientras que la potencia de dos habitual, , todavía deja pasar 0,19 del tono interferente. Aquí veinte promedios le ganan a treinta y dos, y solo por dónde cae el nodo.

Ver el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
from phonometry import (
comb_filter_response,
noise_signal,
time_synchronous_average,
)
fs = 8192.0
period = 1.0 / 32.0 # una revolución: 256 muestras a esta frecuencia
m, n_avg = 256, 40
phase = np.arange((n_avg + 1) * m) / m
periodic = (
np.cos(2.0 * np.pi * phase)
+ 0.5 * np.cos(2.0 * np.pi * 3.0 * phase + 0.4)
- 0.3 * np.cos(2.0 * np.pi * 6.0 * phase)
)
recording = periodic + noise_signal(fs, phase.size / fs, rms=0.9, seed=11)
res = time_synchronous_average(recording, fs, period, n_averages=n_avg)
fig, (ax0, ax1) = plt.subplots(1, 2, figsize=(11, 4.6))
t_ms = 1e3 * res.times
ax0.plot(t_ms, recording[:m], color="#cccccc", label="Un periodo ruidoso")
ax0.plot(t_ms, res.period_waveform, color="#1f77b4", lw=1.8,
label=f"Promedio de N = {n_avg} periodos")
ax0.plot(t_ms, periodic[:m], "--", color="#d62728", label="Forma verdadera")
ax0.set_xlabel("Tiempo [ms]"); ax0.set_ylabel("Amplitud"); ax0.legend()
orders = np.linspace(31.0, 33.0, 4000)
freqs = orders / period
ax1.plot(orders, comb_filter_response(freqs, period, 32), color="#2ca02c",
label="N = 32 (potencia de dos)")
ax1.plot(orders, comb_filter_response(freqs, period, 20), color="#1f77b4",
label="N = 20 (nodo en 32,05)")
ax1.axvline(32.05, color="#d62728", ls=":", label="Tono interferente")
ax1.set_xlabel("Frecuencia [órdenes]"); ax1.set_ylabel("Magnitud del filtro peine")
ax1.set_ylim(0, 1.05); ax1.legend()
plt.show()

El método .plot() dibuja la forma de onda promediada y el filtro peine en una sola llamada:

res.plot() # etiquetas en inglés; res.plot(language="es") en español

Antes del álgebra, el procedimiento en sí: un disparo marca cada revolución, el registro se trocea en cada disparo, y los bloques alineados se promedian: lo que se repite con el periodo sobrevive intacto mientras el contenido asíncrono se atenúa.

Diagrama de bloques del promediado síncrono temporal: un tacómetro entrega un pulso de disparo por revolución con periodo T igual a 1 entre 32 segundos, 256 muestras a 8192 hercios, el registro ruidoso se trocea en cada disparo en N bloques alineados de un periodo, y su promedio coherente, aquí N igual a 40, conserva la parte periódica con ganancia unidad del filtro peine en cada orden k entre T; una nota discontinua cuantifica que la potencia del ruido asíncrono cae 10 log N igual a 16 decibelios con N igual a 40, una ganancia en amplitud de 6,3, mientras una caja de residual guarda el registro menos el promedio repetido; el pie recuerda la regla de McFadden de que N igual a 20 pone un nodo del peine exactamente sobre un tono interferente de orden 32,05 mientras el habitual N igual a 32 noDiagrama de bloques del promediado síncrono temporal: un tacómetro entrega un pulso de disparo por revolución con periodo T igual a 1 entre 32 segundos, 256 muestras a 8192 hercios, el registro ruidoso se trocea en cada disparo en N bloques alineados de un periodo, y su promedio coherente, aquí N igual a 40, conserva la parte periódica con ganancia unidad del filtro peine en cada orden k entre T; una nota discontinua cuantifica que la potencia del ruido asíncrono cae 10 log N igual a 16 decibelios con N igual a 40, una ganancia en amplitud de 6,3, mientras una caja de residual guarda el registro menos el promedio repetido; el pie recuerda la regla de McFadden de que N igual a 20 pone un nodo del peine exactamente sobre un tono interferente de orden 32,05 mientras el habitual N igual a 32 no

Promediar periodos sucesivos (McFadden Ec. 5),

es, en el dominio de la frecuencia, la multiplicación del espectro de la señal por un filtro peine (Ec. 8). Su magnitud (Ec. 9) es el núcleo de Dirichlet

El peine tiene un diente de altura unidad en cada armónico (los órdenes ), independiente de : las componentes síncronas con el periodo pasan intactas. Entre los dientes tiene nodos en para todo que no sea múltiplo de , donde la respuesta es exactamente cero. comb_filter_response evalúa esta forma cerrada directamente:

import numpy as np
from phonometry import comb_filter_response
period = 1.0 / 32.0
comb_filter_response(np.array([16.0 / period]), period, 8) # 1.0 en un diente
comb_filter_response(np.array([0.25 / period]), period, 2) # 1/sqrt(2)
comb_filter_response(np.array([0.5 / period]), period, 2) # 0.0 en un nodo

SynchronousAverageResult lleva la respuesta sobre los primeros armónicos en comb_frequencies y comb_response, de modo que la forma del filtro que el promedio aplicó está disponible junto a la forma de onda recuperada.

2. El ruido cae como la raíz cuadrada del número de promedios

Sección titulada «2. El ruido cae como la raíz cuadrada del número de promedios»

El ruido asíncrono de varianza promediado sobre periodos tiene varianza residual : la desviación típica residual cae como , y la relación señal-ruido en amplitud mejora en . Eso es una reducción de potencia de dB, declarada como noise_reduction_db, con la ganancia en amplitud como amplitude_snr_gain:

res = time_synchronous_average(recording, fs, period, n_averages=100)
res.noise_reduction_db # 20.0 dB = 10*log10(100)
res.amplitude_snr_gain # 10.0 = sqrt(100)
res.plot(language="es") # forma de onda promediada + el peine aplicado
Gráfica log-log del error RMS del promedio síncrono frente al número de promedios de 1 a 128: los marcadores del error medido caen a lo largo de la línea discontinua ideal de uno entre raíz de N, bajando desde aproximadamente 1 con un solo periodo hasta menos de 0,1 con 128 promediosGráfica log-log del error RMS del promedio síncrono frente al número de promedios de 1 a 128: los marcadores del error medido caen a lo largo de la línea discontinua ideal de uno entre raíz de N, bajando desde aproximadamente 1 con un solo periodo hasta menos de 0,1 con 128 promedios

La ley medida de principio a fin: el error RMS de la forma de onda promediada de una firma de engranaje de tres armónicos en ruido de varianza unidad cae a lo largo de la línea ideal a medida que el número de periodos promediados crece de 1 a 128.

Mostrar el código de esta figura
import matplotlib.pyplot as plt
import numpy as np
from phonometry import time_synchronous_average
fs = 8192.0
samples = 256
period = samples / fs
m = np.arange(samples) / fs
true = (np.cos(2 * np.pi * m / period)
+ 0.5 * np.cos(2 * np.pi * 3 * m / period + 0.7)
+ 0.25 * np.cos(2 * np.pi * 5 * m / period + 1.1))
rng = np.random.default_rng(5)
recording = np.tile(true, 128) + rng.standard_normal(128 * samples)
counts = [1, 2, 4, 8, 16, 32, 64, 128]
errors = []
for n in counts:
res = time_synchronous_average(recording[:n * samples], fs, period,
n_averages=n)
errors.append(np.sqrt(np.mean((res.period_waveform - true) ** 2)))
# Una línea: la forma de onda promediada y el peine que aplicó:
res.plot(language="es")
plt.show()
# La ley sqrt(N) a mano: error medido contra la línea ideal:
fig, ax = plt.subplots()
ax.loglog(counts, errors, "o-", label="error RMS medido")
ax.loglog(counts, 1 / np.sqrt(np.array(counts)), "r--",
label="sigma/sqrt(N) ideal")
ax.set(xlabel="Número de promedios N", ylabel="Error RMS")
ax.legend()
plt.show()

Esta ley es la ideal: se cumple cuando el ruido no está correlacionado de un periodo al siguiente, de modo que el ruido de color o síncrono correlacionado entre periodos no tiene por qué seguirla. El residual (entrada menos la reconstrucción periódica sobre el tramo analizado) y su residual_rms indican, por tanto, el ruido realmente restante una vez eliminada la componente síncrona.

3. Elegir N para rechazar un orden interferente

Sección titulada «3. Elegir N para rechazar un orden interferente»

Como hay un diente sobre todos los órdenes enteros, el TSA deja pasar los armónicos del eje objetivo pero también cualquier tono que caiga en un orden entero. Un tono en un orden no armónico solo es atenuado por el peine, no eliminado, y cuánto depende de dónde caiga el nodo más cercano. El resultado del modelo revisado de McFadden es que tal interferente se rechaza mejor eligiendo de modo que un nodo caiga exactamente sobre él, es decir, el menor con entero, en vez de con el número de promedios potencia de dos habitual. Un nodo exacto solo existe cuando el orden es racional, de modo que algún finito hace entero; para un orden irracional o solo estimado, elige el cuyo nodo caiga más cerca del orden interferente.

Su propio ejemplo es un tono en 32,05 órdenes. Con el producto es entero, así que un nodo del peine cae sobre el tono y lo rechaza en más de 100 dB. La elección común da , que se sitúa en un lóbulo lateral: el tono apenas se toca. La figura de arriba muestra ambos peines en torno al orden 32; el promedio de extremo a extremo lo confirma:

# 8.º orden verdadero más un interferente fuerte en 32,05 órdenes
phase = np.arange(41 * 256) / 256
recording = np.cos(2 * np.pi * 8.0 * phase) + 0.7 * np.cos(2 * np.pi * 32.05 * phase)
leak_20 = time_synchronous_average(recording, fs, period, n_averages=20)
leak_32 = time_synchronous_average(recording, fs, period, n_averages=32)
# leak_20.period_waveform coincide con el 8.º orden limpio; leak_32 no

Así que un número de promedios potencia de dos, por conveniente que sea, no es en general la elección óptima: los órdenes interferentes presentes en la máquina deberían fijar .

De dónde sale el periodo, y cuán estable tiene que ser

Sección titulada «De dónde sale el periodo, y cuán estable tiene que ser»

Todo lo anterior da por sabido. En una medición real hay que medir , y la suposición escondida detrás de un period escalar es que el eje mantiene ese periodo durante todo el registro, que es el modo de fallo dominante de la técnica y falla en silencio.

Conseguir el periodo. Instrumenta el eje con un pulso por revolución: un sensor óptico apuntando a una única tira de cinta reflectante, una sonda inductiva sobre un chavetero, o la salida de índice de un encóder. Registra ese canal a la vez que la vibración y toma como el intervalo medio entre pulsos a lo largo del tramo analizado. No lo tomes de la velocidad de placa: una placa de características es un valor nominal, no una medida, y una máquina en carga no está en su placa.

Cuán estable tiene que ser. El álgebra del peine del §1 lo responde con exactitud. Un error relativo de periodo mueve el -ésimo armónico del diente del peine en el orden al orden , donde el mismo núcleo de Dirichlet lo atenúa en

de modo que la pérdida crece con el número de armónico y con el número de promedios, justo las dos cosas que uno quiere grandes. Mantener esa pérdida por debajo de 1 dB pide aproximadamente . Promediar 40 revoluciones y esperar el 10.º armónico intacto exige por tanto que el periodo sea correcto con un error menor que , es decir, una estabilidad de velocidad del 0,06 %; el orden 20 con exige el 0,03 %. Una máquina que mantiene la velocidad al 1 % pierde todo lo que hay por encima del primer orden o el segundo, de forma progresiva, y la forma de onda resultante parece suave, que es lo que se lee como un engranaje sano.

Los remedios, por orden. Toma el periodo del tacómetro y no de la placa; trocea sobre los intervalos de pulso medidos (un promedio por meseta de velocidad si la velocidad va a saltos); remuestrea angularmente el registro contra el tacómetro (seguimiento de órdenes) antes de promediar cuando la velocidad deriva de forma continua; y si fallan los tres, promedia menos revoluciones y asume la penalización de , porque un promedio corto al periodo correcto vale más que uno largo al periodo equivocado.

La comprobación de aceptación. residual_rms debería caer como . Si deja de caer, o la velocidad ha derivado, o lo que queda es síncrono y ningún número de promedios lo va a eliminar.

Alzado a escala de un reductor de una etapa: el eje de entrada a 1800 revoluciones por minuto con una única tira de cinta reflectante y un cabezal de tacómetro óptico apuntándole a 20 mm, un piñón de 37 dientes que arrastra una rueda de 89 dientes, un acelerómetro atornillado sobre el soporte del rodamiento más cercano al piñón con su eje en la dirección de la carga, y ambos cables llegando a un frontal de dos canales con un solo reloj a 25,6 kHz; un recuadro muestra el tren de pulsos del tacómetro sobre el registro de vibración con las fronteras de troceado alineadasAlzado a escala de un reductor de una etapa: el eje de entrada a 1800 revoluciones por minuto con una única tira de cinta reflectante y un cabezal de tacómetro óptico apuntándole a 20 mm, un piñón de 37 dientes que arrastra una rueda de 89 dientes, un acelerómetro atornillado sobre el soporte del rodamiento más cercano al piñón con su eje en la dirección de la carga, y ambos cables llegando a un frontal de dos canales con un solo reloj a 25,6 kHz; un recuadro muestra el tren de pulsos del tacómetro sobre el registro de vibración con las fronteras de troceado alineadas
  • Transductor y montaje. Un acelerómetro atornillado o pegado sobre el soporte del rodamiento más cercano al engranaje que interesa, con su eje en la dirección de la carga. Una base magnética hunde la banda útil a un par de kilohercios y esconde los armónicos de engrane que el promedio existe para enseñar.
  • La frecuencia de muestreo sale del contenido que quieres conservar. Un piñón de 37 dientes a 1800 r/min engrana a Hz, así que conservar cinco armónicos de engrane pide kHz: 16 kHz en la práctica, 25,6 kHz en un analizador que lo ofrezca.
  • Longitud de registro de revoluciones, con elegido por la regla de los órdenes interferentes del §3 y no por costumbre.
  • Los dos canales en un mismo frontal de muestreo simultáneo, con la ganancia fija durante toda la tirada: un desfase entre canales desplaza cada frontera de bloque y gira la forma de onda promediada.
  • Anota el punto de funcionamiento (velocidad, carga, temperatura del aceite), porque una forma de onda TSA solo es comparable con otra tomada en el mismo punto.

Cuando es entero, las fronteras de periodo caen sobre muestras, los bloques se trocean directamente y una señal periódica sin ruido se recupera con precisión de máquina (interpolated es False). Cuando no es entero las fronteras caen entre muestras; cada bloque se alinea entonces a una malla entera común mediante el retardo fraccionario de banda limitada de fractional_delay, y la forma de onda se recupera dentro de ese error de interpolación (interpolated es True):

fs = 8192.0
period = 1.0 / 31.7 # fs * period no es entero
t = np.arange(int(40 * period * fs)) / fs
recording = np.cos(2.0 * np.pi * t / period) # un ciclo por revolución
res = time_synchronous_average(recording, fs, period)
res.interpolated # True: alineación por retardo fraccionario
res.samples_per_period # muestras enteras de un periodo

Por defecto el promedio usa tantos periodos completos como contenga el registro; pasa n_averages para fijar el número (para la elección de nodo del §3), y n_harmonics para fijar cuántos armónicos de abarca la respuesta del peine devuelta.

La alineación de banda limitada comparte su núcleo con la alineación submuestral de respuestas al impulso de la página de señales de prueba, y la forma de onda recuperada, al ser exactamente un periodo, puede repetirse para reconstruir la parte síncrona de la señal, para restarla o para análisis de órdenes.

El promediado síncrono, el cepstrum y el espectro de la envolvente responden preguntas distintas sobre una máquina rotativa, y se componen en lugar de competir:

  • El promediado síncrono necesita el periodo (un pulso de tacómetro o una velocidad de eje fiable) y devuelve la forma de onda misma, una revolución completa: la herramienta cuando quieres ver qué hace un eje o un engranaje concreto por vuelta, diente a diente.
  • El cepstrum no necesita referencia y detecta cualquier familia periódica del espectro (armónicos, bandas laterales): la herramienta cuando el periodo es desconocido o varias familias se solapan y hay que separarlas.
  • El espectro de la envolvente encuentra periodicidades de la amplitud: la herramienta para los fallos de rodamiento, cuya tasa de repetición modula una resonancia de alta frecuencia en lugar de aparecer como un tono grave.

La composición es práctica habitual: promedia síncronamente primero y resta después; el campo residual es el registro con la parte síncrona eliminada, exactamente sobre lo que conviene ejecutar el espectro de la envolvente cuando las componentes fuertes del engranaje ya no enmascaran la modulación.

Lo que sale de esa cadena es un conjunto de rayas, y el diagnóstico lo lleva su frecuencia, no su amplitud. Las familias cinemáticas de la máquina (las frecuencias de paso de bola por la pista exterior y por la interior, el giro de la bola, la jaula, la frecuencia de engrane y sus bandas laterales a la frecuencia de eje, el paso de pala, el deslizamiento del motor y el paso de polos) se calculan a partir de la geometría y la velocidad de eje, y se dibujan sobre el espectro de la envolvente medido en frecuencias de fallo de máquinas. Como esas familias se expresan en órdenes del eje, la misma señal de tacómetro que fija el periodo de promediado fija también las frecuencias de las familias: un error de velocidad corrompe a la vez el promediado y la identificación.

  • Cubierto

    El modelo revisado de McFadden para el promediado en el dominio del tiempo (Mechanical Systems and Signal Processing, 1987): la descripción por filtro peine del promedio (Ec. 8, magnitud Ec. 9) implementada por comb_filter_response, la ley de reducción de ruido en raíz cuadrada expuesta como noise_reduction_db y amplitude_snr_gain, y la elección de que sitúa un nodo del peine sobre un orden interferente, siguiendo el propio ejemplo del artículo con el orden 32,05. time_synchronous_average también implementa la alineación de banda limitada por retardo fraccionario usada cuando no es entero.

  • No cubierto

    El TSA necesita un periodo conocido; encontrar ese periodo, o detectar familias periódicas sin conocerlo, es tarea del cepstrum, no de esta página. Localizar periodicidades de modulación de amplitud, como los fallos de rodamiento, es el espectro de la envolvente, también fuera de esta página. El artículo de McFadden no es una norma de certificación, así que no hay ningún apartado de cumplimiento contra el que comprobar la implementación.

  • McFadden, P. D. (1987). A revised model for the extraction of periodic waveforms by time domain averaging. Mechanical Systems and Signal Processing, 1(1), 83-95. https://doi.org/10.1016/0888-3270(87)90085-9El modelo de filtro peine del promediado síncrono (Ec. 8, magnitud Ec. 9), el modelo revisado de registro finito que produce un resultado exactamente periódico, y la observación de que un orden interferente no armónico se rechaza mejor eligiendo el número de promedios de modo que un nodo del peine caiga sobre él, no con la potencia de dos habitual.