Unidad 4 / 9

Procesamiento de señales y análisis de datos.

Ganancias:

  • Capacidad para establecer con precisión parámetros de procesamiento de señales, como la frecuencia de muestreo, el tipo de filtro y las ventanas con IA.
  • Capacidad para generar código Python para FFT, diseño de filtros y análisis de ruido y verificar Nyquist y aliasing
  • Capacidad para verificar la interpretación del espectro generado por IA comparándolo con la medición y las expectativas físicas.

Los datos sin procesar de un sensor, micrófono o línea eléctrica por sí solos a menudo no tienen sentido; Es necesario procesarlo e interpretarlo en el eje de frecuencia, amplitud y tiempo. Extraer espectro con FFT, filtrar ruido, reconocer una firma de vibración... Todo esto es procesamiento de señales y la IA genera código Python rápido en esta área, explica conceptos y calcula el coeficiente de filtro. Pero un pequeño error de parámetro en el procesamiento de la señal (frecuencia de muestreo incorrecta, ventana incorrecta, control de Nyquist omitido) arruina silenciosamente todo el análisis; El código no da errores, sólo da resultados incorrectos. En esta unidad, cubriremos la configuración de los parámetros correctos con IA, la verificación del código generado en términos de Nyquist y aliasing, y la verificación de la interpretación del espectro con la realidad física.

Parámetros básicos: muestreo, Nyquist, alias

La primera regla del procesamiento de señales digitales es el teorema de Nyquist-Shannon: para representar con precisión una señal, la frecuencia de muestreo debe ser al menos el doble del componente de frecuencia más alto de la señal. De lo contrario, las frecuencias altas aparecerán como frecuencias bajas (aliasing) y esto no se puede revertir.

Frecuencia más alta en la señal: f_max = 2 kHzFrecuencia de muestreo mínima: f_s ≥ 2 · f_max = 4 kHzPara dejar margen en la práctica: se selecciona f_s ≈ 5 · f_max = 10 kHzAdemás, es IMPRESCINDIBLE ANTES del muestreo un filtro analógico anti-aliasing.

Precaución: cuando la IA sugiera una frecuencia de muestreo, asegúrese de verificar si proporciona Nyquist en función del componente más alto de su señal. El código se ejecuta sin errores incluso con una frecuencia de muestreo baja; pero el resultado es incorrecto debido al alias. Además, ningún software puede deshacer este error sin un filtro antialiasing en el hardware.

Resolución y ventanas para FFT

La resolución de frecuencia de la FFT depende de la frecuencia de muestreo y del número de muestras: Δf = f_s / N. Para una resolución más fina, puede recolectar más muestras o elegir f_s más bajas (sin romper Nyquist). Además, la discontinuidad entre el principio y el final de la señal crea una "fuga espectral"; Para reducir esto, se aplican funciones de ventana como Hann y Hamming.

f_s = 10 kHz, N = 1024 muestras Resolución de frecuencia: Δf = 10000 / 1024 ≈ 9,77 Hz Tiempo total de grabación: T = N / f_s = 1024 / 10000 ≈ 102,4 ms

Generación y verificación de FFT y código de filtro

Especifique explícitamente la frecuencia de muestreo, el tipo de ventana y la escala del eje al solicitar el código FFT de la IA. El siguiente código genera el espectro de amplitud unilateral de una señal:

importe numpy como npfs = 10000 # frecuencia de muestreo (Hz) - verifique Nyquist!N = 1024t = np.arange(N) / fs# señal de muestra: 500 Hz + 1500 Hzx = np.sin(2*np.pi*500*t) + 0.5*np.sin(2*np.pi*1500*t)w = np.hanning(N) # ventanas: reduce la fuga espectral normalizada por ganancia# verificar frecuencias máximaspeaks = f[np.argsort(mag)[-2:]]print("Frecuencias dominantes (Hz):", np.sort(peaks))

Al verificar este código, se le preguntará: ¿El eje de frecuencia es realmente Hz o es el índice de muestra (se usa rfftfreq)? ¿Está la amplitud normalizada a la ganancia de la ventana? ¿Se producen realmente los picos esperados de 500 y 1500 Hz en esos puntos? Si verifica el código con una señal de prueba conocida (seno de frecuencia única), confirmará con confianza el eje y la normalización.

Aviso débil / Aviso fuerte

DÉBIL: "Aplique FFT a estos datos". (Resultado: la frecuencia de muestreo, la escala del eje y las ventanas no están claras; lo más probable es que el gráfico esté trazado en el eje incorrecto.) FUERTE: "Aplique FFT a una señal muestreada de 10 kHz. Proporcione: - Trace el eje de frecuencia en Hz (use rfftfreq). - Aplique la ventana de Hann y normalice la amplitud mediante la ganancia de la ventana. - Imprima las dos frecuencias dominantes digitalmente. - Marque el límite de Nyquist (5 kHz) en el Tenga en cuenta que el eje se desplazará si la frecuencia de muestreo es incorrecta."

Diseño de filtros y análisis de ruido.

La IA puede generar coeficientes de filtro de paso de banda bajo/alto (FIR/IIR). Pero se debe comprobar la frecuencia de corte, el orden y la estabilidad del filtro. Puede causar inestabilidad de alto orden y distorsión de fase, especialmente en filtros IIR. Después de diseñar el filtro, trace la respuesta de frecuencia (tipo Bode) para ver que el corte esté en el lugar correcto y que no haya ondulaciones no deseadas en la banda de paso.

La tarea típica en el análisis de ruido es separar la señal real del ruido. Aquí, evalúe el umbral o filtro sugerido por la IA con respecto al ancho de banda físico de la señal: si su señal real está en 0-500 Hz, lo más probable es que un componente a 2 kHz sea ruido o interferencia. La IA proporciona estadísticas; Tú haces la interpretación física.

Validación de la interpretación del espectro con la realidad física

Al interpretar un espectro, la IA hace inferencias razonables, pero no siempre precisas, como "Hay un pico a 50 Hz, esto es interferencia de la red". Compare estos comentarios con la expectativa física: ¿Tiene realmente el sistema una conexión a la red de 50 Hz? ¿La frecuencia de rotación y los armónicos esperados están casi presentes en el espectro de vibración de un motor? Si es posible, repita la medición con un segundo método (sensor diferente, software diferente) y observe los mismos picos.

Pista: Para cada interpretación del espectro, "¿a qué fenómeno físico corresponde este pico?" Haz la pregunta. La red de 50/100/150 Hz y sus armónicos, la frecuencia de rotación y sus múltiplos en máquinas rotativas y la frecuencia de conmutación en fuentes de alimentación conmutadas son firmas conocidas. Un pico desconocido es un evento real o un error de medición/procesamiento; Investiga ambos.

Mini caso

Un ingeniero de I+D mide la vibración de un ventilador y hace que la IA interprete el espectro. "Hay un pico dominante a 1200 Hz, lo que puede deberse a un fallo del rodamiento", afirma AI. El ingeniero controla la velocidad del ventilador: 1800 rpm = 30 Hz. Se espera que las frecuencias de transición de los rodamientos y las palas estén en ciertos valores compatibles con este ciclo; 1200 Hz no corresponde a ninguno de estos. Controla la frecuencia de muestreo: la señal transporta contenido hasta 2 kHz, pero solo se muestrean 2 kHz, por lo que se trata de una violación de Nyquist. El pico a 1200 Hz es una frecuencia fantasma resultante del aliasing. Cuando aumento la frecuencia de muestreo a 8 kHz, el pico falso desaparece. Lección: siempre pruebe la interpretación del espectro con la expectativa de ciclo físico/frecuencia y el muestreo correcto.

Errores comunes

  • Elegir la frecuencia de muestreo sin comprobar el criterio de Nyquist; Pasando por alto el alias.
  • Dejando el eje de frecuencia FFT en el índice de muestra en lugar de Hz.
  • Confundir la fuga espectral con una señal sin ventana.
  • No normalizar la amplitud por número de ventanas/muestras.
  • No comprobar la estabilidad del filtro IIR y la distorsión de fase.
  • Interpretar los picos del espectro sin probarlos en anticipación de las rpm/frecuencia físicas.

En resumen

  • La frecuencia de muestreo debe ser al menos el doble del componente más alto de la señal; De lo contrario, el alias interrumpirá todo el análisis.
  • resolución FFT Δf = f_s/N; Elija N y f_s según su necesidad.
  • Las ventanas reducen la fuga espectral; normalizar la amplitud según la ganancia de la ventana.
  • Verifique el código AI con una señal de prueba conocida para confirmar el eje y la normalización.
  • Verifique la estabilidad del filtro y la respuesta de frecuencia graficándola.
  • Pruebe siempre la interpretación del espectro con la expectativa de la frecuencia física.

Tarea de aplicación

Genere una señal de prueba de frecuencia conocida (por ejemplo, 500 Hz + 1500 Hz sinusoidal). Solicite FFT y filtre código de AI. Luego: (1) verifique que se cumpla el criterio de Nyquist, (2) verifique que los picos de FFT realmente aparezcan a 500 y 1500 Hz, (3) reduzca deliberadamente la frecuencia de muestreo por debajo de Nyquist y observe cómo el aliasing crea un pico espurio. Anote sus observaciones y el parámetro que corrigió.