Estoy desarrollando un software que calcula la respuesta de un sistema comparando la FFT de las señales de entrada y salida. Las señales de entrada y salida se dividen en ventanas y, para cada ventana, las señales se restan a la mediana y se multiplican por una función de Hann. La respuesta del instrumento para esa ventana es entonces la relación de las FFT de los datos procesados.
Creo que lo anterior es un procedimiento estándar, aunque puedo estar describiéndolo mal. Mi problema viene en cómo combinar las respuestas de las ventanas múltiples.
Hasta donde puedo ver, el enfoque correcto es promediar los valores complejos, en todas las ventanas. La amplitud y la respuesta de fase son entonces la amplitud y la fase del valor complejo promedio en cada frecuencia:
av_response = sum_windows(response) / n
av_amplitude = sqrt(real(av_response)**2 + imag(av_response)**2)
av_phase = atan2(imag(av_response), real(av_response))
con bucles implícitos sobre bins de frecuencia.
Pero me han pedido que cambie esto para calcular primero la amplitud y la fase en cada ventana , y luego promediar las amplitudes y fases en todas las ventanas:
amplitude = sqrt(real(response)**2 + imag(response)**2)
av_amplitude = sum_windows(amplitude) / n
phase = atan2(imag(response), real(response))
av_phase = sum_windows(phase) / n
He argumentado que esto es incorrecto porque promediar ángulos es "simplemente incorrecto": el promedio de 0 y 360 grados es 180, por ejemplo, pero las personas con las que estoy trabajando respondieron diciendo "OK, solo mostraremos la amplitud".
Entonces mis preguntas son:
- ¿Estoy en lo cierto al pensar que el segundo enfoque generalmente también es incorrecto para las amplitudes?
- Si es así, ¿hay alguna excepción que pueda ser relevante y que explique por qué las personas con las que estoy trabajando prefieren el segundo método? Por ejemplo, parece que los dos enfoques estarán de acuerdo a medida que el ruido se vuelva pequeño, entonces, ¿tal vez esta sea una aproximación aceptada para poco ruido?
- Si el segundo enfoque es incorrecto, ¿hay alguna referencia convincente y autoritativa que pueda usar para mostrar esto?
- Si el segundo enfoque es incorrecto, ¿hay ejemplos buenos y fáciles de entender que muestren esto para la amplitud (como lo hace el promedio de 0 y 360 grados para la fase)?
- Alternativamente, si yo soy incorrecto, lo que sería un libro bueno para mí para educar mejor a mí mismo?
He tratado de argumentar que el promedio de -1 1 1 -1 1 -1 -1 debería ser cero en lugar de 1, pero eso no fue convincente. Y aunque creo que, con el tiempo, podría construir un argumento basado en la estimación de máxima probabilidad dado un modelo de ruido particular, no es el tipo de razonamiento que escucharán las personas con las que estoy trabajando. Entonces, si no estoy equivocado, necesito un argumento poderoso de la autoridad o una demostración "obvia".
[Intenté agregar más etiquetas, pero no puedo encontrar las relevantes y no puedo definir nuevas como un nuevo usuario, lo siento]
fuente
Respuestas:
La estimación de la función de transferencia generalmente se implementa de manera ligeramente diferente al método que usted describe.
Tu método calcula
Una implementación más típica calculará la densidad espectral cruzada de xey dividida por la densidad espectral de potencia de x:
Estimación incoherente
Su empleador le ha sugerido que calcule la función de transferencia utilizando
Esto funcionará , pero tiene dos grandes desventajas:
Su método y el método que describí evitan estos problemas mediante el uso de promedios coherentes .
Referencias
La idea general de usar segmentos superpuestos y promediados para calcular las densidades espectrales de potencia se conoce como el método de Welch . Creo que la extensión de usar esto para estimar las funciones de transferencia también se conoce a menudo como el método de Welch, aunque no estoy seguro de si se menciona en el documento de Welch. Buscar el artículo de Welch podría ser un recurso valioso. Una monografía útil sobre el tema es el libro de Bendat y Piersol, Datos aleatorios: procedimientos de análisis y medición .
Validación
Para validar su software, sugiero aplicar varios casos de prueba, donde genere ruido blanco gaussiano y lo alimente a través de un filtro digital con una función de transferencia conocida. Alimente las entradas y salidas en la rutina de estimación de la función de transferencia y verifique que la estimación converja con el valor conocido de la función de transferencia.
fuente
¡Bienvenido al procesamiento de señales!
Estás absolutamente en lo correcto. No puede simplemente promediar las magnitudes y fases de DFT por separado, especialmente las fases. Aquí hay una demostración simple:
En este caso,
También,
Ahora, para hacer lo que intenta hacer, sugiero lo siguiente. Teóricamente, puede encontrar una respuesta de impulso de un sistema dividiendo DFT de la salida por DFT de la entrada. Sin embargo, en presencia de ruido, obtendrá resultados muy extraños. Una forma ligeramente mejor de hacerlo sería utilizar la estimación de respuesta de impulso FFT de doble canal, que es la siguiente (derivación no proporcionada aquí, pero puede encontrarla en línea).
fuente
Esta es una diferencia entre el promedio coherente e incoherente de los espectros FFT. El promedio coherente es más probable que rechace el ruido aleatorio en el análisis. Incoherente tiene más probabilidades de acentuar magnitudes de ruido aleatorias. ¿Cuál de estos es más importante para su informe de resultados?
fuente