Introducción (planteamiento)
Dado el siguiente modelo de tiempo discreto (se conoce el diagrama de Bode exacto), obtener la respuesta frecuencial experimental con diferentes tipos de entrada y adicionarle un pequeño ruido (obteniendo así los "datos experimentales"), y aplicar el método espectral para la estimación de la respuesta frecuencial en forma de diagrama de Bode:
G(z)=0.2z−0.7z2+0.5z+0.8Ts=0.1 seg
Método (plan de solución)
Pasos: (i) generar los "datos experimentales" con MATLAB con diferentes tipos de entradas (ruido blanco, PRBS, ruido coloreado), algunas de las cuales se explican en el libro; (ii) obtener el filtro de blancura y filtrar los "datos experimentales"; (iii) aplicar el método espectral con datos sin y con filtrado, sin y con ventana de retraso; (iv) utilizar la función spa sin filtrado (para analizar el filtrado utilizado en el código de abajo), la cual siempre incluye una ventana de retraso; (v) validar los resultados (dado que es un ejercicio teórico y se conoce la función de transferencia, comparar con la respuesta frecuencial teórica); (vi) analizar los resultados.
Resultados (solución)
En el código de MATLAB de este enlace se implementa el método espectral y las tareas requeridas (en el código se observa cada tarea).
Figura 1 con datos experimentales (N = 200) y respuesta frecuencial por tres métodos (fórmula del libro, función spa de MATLAB y a partir de la función de transferencia teórica), con una entrada tipo ruido blanco (con PRBS los resultados son similares) sin filtrado (tipo_entrada = 1, filtrado = 0) y sin ventana de retraso (ventana = 0):
Figura 2 con datos experimentales (N = 200) y respuesta frecuencial por tres métodos (fórmula del libro, función spa de MATLAB y a partir de la función de transferencia teórica), con una entrada tipo ruido blanco (con PRBS los resultados son similares) sin filtrado (tipo_entrada = 1, filtrado = 0) y con ventana de retraso de Hann con M = 30 (ventana = 2):
Figura 3 con datos experimentales (N = 2000) y respuesta frecuencial por tres métodos (fórmula del libro, función spa de MATLAB y a partir de la función de transferencia teórica), con una entrada tipo ruido coloreado sin filtrado (tipo_entrada = 3, filtrado = 0) y sin ventana de retraso (ventana = 0):
Figura 4 con datos experimentales (N = 200) y respuesta frecuencial por tres métodos (fórmula del libro, función spa de MATLAB y a partir de la función de transferencia teórica), con una entrada tipo ruido coloreado con filtrado (tipo_entrada =3, filtrado = 1) y con ventana de retraso (ventana = 1):
Se utiliza una ventana de retraso solo en la función spa.
Análisis y verificación
En este ejercicio se estudian tres casos, uno con una entrada ruido blanco y otros dos con un ruido coloreado (del cual se esperan malos resultados) sin y con filtrado de la entrada y la salida. No se muestran los resultados con una entrada PRBS, dado que son similares a los del ruido blanco. Se utilizan pocos datos (N = 200) con la idea de mostrar la eficiencia del método, exceptuando el caso 2 donde se recogen 2000 datos para ilustrar que la mala estimación no es un problema de consistencia (con 20000 o más datos el problema persiste).
Cuando la entrada es un ruido blanco se obtiene una respuesta frecuencial similar a la teórica y al resultado con la función spa de MATLAB. Al utilizar una ventana de Hann la respuesta frecuencial es más suave, aunque la curva de magnitud difiere en su máximo (con M = 60 se obtiene un mejor ajuste, aunque con un poco más de ruido). Sin embargo, si se utiliza un ruido no blanco los resultados no son correctos así se aumente el número de datos experimentales (la estimación no es consistente), pero el problema se resuelve utilizando un filtro de blancura.
El código de MATLAB presentado permite estudiar diferentes casos.
Comentarios