Pregunta

Tengo una señal en MATLAB y qué calcular la fase instantánea para una banda específica. Quiero filtrar la señal en este rango (usando un filtro de paso de banda) y luego obtener la fase instantánea. Sé que hay problemas para usar algunos filtros con respuestas de fase no lineales, ¿hay alguna forma de evitar esto? He encontrado información en línea sobre el filtrado de la señal, pero todavía no está claro. Me gustaría evitar el uso de wavelets (probablemente estén exageradas aquí). Gracias.

¿Fue útil?

Solución

A menos que recurra a técnicas no casuales (como la filtfilt sugerido en el comentario de Nibot), siempre tener alguna distorsión de fase. Los FIR de fase lineal con un retraso D agregarán una fase de 2*PI*F*D, mientras que los IIR de fase no lineales agregarán fase que no depende linealmente de f.

En ambos casos, es fácil calcular la distorsión de fase (por ejemplo, usar freqz(num, den) para IIR) y explican esa distorsión al interpretar la medición resultante. Por supuesto, tendrá resultados sin sentido cuando la fase cambie significativamente en el rango de frecuencia que le interesa, pero ese es un problema diferente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top