Tengo un sistema de 2 entradas y 2 salidas que he grabado en respuesta a 1. pasos (en realidad cuasi pasos, con 50 ms de tiempo de subida + un poco de sobreimpulso), y 2. ondas sinusoidales de 0,5 a 50 Hz, en Bucle abierto y cerrado. En la configuración de bucle abierto , puedo inferir los parámetros internos basados en el conocimiento de la estructura del sistema. En la configuración de bucle cerrado , un controlador con un retraso de ~ 60 ms acerca la salida a un objetivo determinado (que está separado de la señal de entrada), pero no puedo averiguar cuáles son los parámetros del controlador . He intentado modelarlo como un controlador PID usando simulaciones numéricas (euler), pero parece que se vuelve rápidamente inestable cuando aumentan los componentes I o D. En contraste, puedo crear el modelo en forma de función de transferencia y predecir la respuesta de frecuencia, pero no sé cómo predecir la respuesta a entradas arbitrarias (como los cuasi pasos, o las ondas sinusoidales en las que la señal de control puede diferir de la entrada).
El sistema (u2 es el "objetivo / punto de ajuste", F es la retroalimentación del controlador con un retardo de 60 ms, y2 es solo una segunda salida que uso para comparar con los datos para inferir H):
Porejemplo,aquíestálasalidadelafuncióndetransferencia(sólido)v.simulaciónnumérica(discontinua)detodoelmodeloenbuclecerrado,paraunaentradade0.5Hz:
Mipreguntaes:1.¿HayunamejormaneradeinferirlosparámetrosPIDdeFqueutilizandounenfoquedesimulaciónnumérica+fminsearch(matlab)?