PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... ·...

149
PROYECTO FIN DE CARR PROYECTO FIN DE CARR PROYECTO FIN DE CARR PROYECTO FIN DE CARRERA: ERA: ERA: ERA: CONTROL INVERSO CONTROL INVERSO CONTROL INVERSO CONTROL INVERSO ADAPTATIVO ADAPTATIVO ADAPTATIVO ADAPTATIVO AUTOR: AUTOR: AUTOR: AUTOR: JOSÉ JULIO HERNÁNDEZ JOSÉ JULIO HERNÁNDEZ JOSÉ JULIO HERNÁNDEZ JOSÉ JULIO HERNÁNDEZ FERNÁNDEZ FERNÁNDEZ FERNÁNDEZ FERNÁNDEZ

Transcript of PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... ·...

Page 1: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

PROYECTO FIN DE CARRPROYECTO FIN DE CARRPROYECTO FIN DE CARRPROYECTO FIN DE CARRERA:ERA:ERA:ERA:

CONTROL INVERSOCONTROL INVERSOCONTROL INVERSOCONTROL INVERSO

ADAPTATIVOADAPTATIVOADAPTATIVOADAPTATIVO

AUTOR:AUTOR:AUTOR:AUTOR:

JOSÉ JULIO HERNÁNDEZJOSÉ JULIO HERNÁNDEZJOSÉ JULIO HERNÁNDEZJOSÉ JULIO HERNÁNDEZ FERNÁNDEZFERNÁNDEZFERNÁNDEZFERNÁNDEZ

Page 2: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:
Page 3: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

iii

A Indie y Gin, in memoriam

Page 4: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

iv

AGRADECIMIENTOSAGRADECIMIENTOSAGRADECIMIENTOSAGRADECIMIENTOS

Llegar hasta este momento no ha resultado fácil... más bien, por momentos, se me antojó

cercano a la utopía...

Muchas cosas han cambiado desde aquel lejano momento en que pisé por primera vez la

Escuela, y muchos son los recuerdos que se acumulan. Ya han quedado atrás los malos ratos, las

horas desperdiciadas o el absurdo de ciertas situaciones... El tiempo es un bálsamo eficaz para el

alma y la memoria... de modo que sólo deseo en este instante rendir un humilde homenaje a

todos los que han hecho posible que llegara hasta aquí, a todos los que a lo largo de estos años

han formado parte del camino y del viaje...

En primer lugar quiero agradecerle a mi familia... pues... simplemente, todo... Mis padres, mi

hermana, saben que de no ser por su apoyo y su cariño nada hubiera sido posible. Fui

afortunado desde el mismo momento en que nací por teneros a mi alrededor... Conoceros y

amaros, y ser amado por vosotros, ha sido el mejor regalo de mi vida...

A Elena tengo que decirle... gracias... infinitas gracias... no por haberme dado el último

empujoncillo de mi carrera (que también :D), sino por haber aceptado unir tu vida a la mía...

En cuanto a los amigos, bueno, ellos saben quienes son y lo que han significado para mí estos

años... aunque debo hacer especial mención a Manuel Ruiz Arahal, amigo antes que profesor,

sin cuya ayuda este proyecto no existiría...

También ha habido compañeros de viaje que se han quedado en el camino, y otros que se han

alejado por avatares de la vida... Añoro a los primeros, y extraño a los segundos... no acabo de

acostumbrarme a tener que conformarme con no poder tener cerca a los seres queridos... Por

ejemplo, me gustaría poder volver a decir: ¡abuelo, mira lo que he inventado hoy!

José Julio Hernández Fernández

Sevilla, Diciembre 2005

Page 5: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

v

TABLA DE CONTENIDO

PREFACIOPREFACIOPREFACIOPREFACIO............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................ XIIXIIXIIXII

CAPÍTULO 1: EL CONCECAPÍTULO 1: EL CONCECAPÍTULO 1: EL CONCECAPÍTULO 1: EL CONCEPTO DE CONTROL INVERPTO DE CONTROL INVERPTO DE CONTROL INVERPTO DE CONTROL INVERSO ADAPTATIVOSO ADAPTATIVOSO ADAPTATIVOSO ADAPTATIVO............................................................................................................................................................................ 1111

1.1.1.1.1.1.1.1. INTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓN........................................................................................................................................................................................................................................................................................................................................................................................................................ 2222

1.2.1.2.1.2.1.2. CONTROL INVERSOCONTROL INVERSOCONTROL INVERSOCONTROL INVERSO.................................................................................................................................................................................................................................................................................................................................................................................................... 4444

1.3.1.3.1.3.1.3. MEMORIA DESCRIPTIVAMEMORIA DESCRIPTIVAMEMORIA DESCRIPTIVAMEMORIA DESCRIPTIVA ........................................................................................................................................................................................................................................................................................................................................................................ 9999

CAPÍTULO 2: FILTROSCAPÍTULO 2: FILTROSCAPÍTULO 2: FILTROSCAPÍTULO 2: FILTROS ADAPTATIVOSADAPTATIVOSADAPTATIVOSADAPTATIVOS ............................................................................................................................................................................................................................................................................................................................................ 11111111

2.1.2.1.2.1.2.1. FILTROS DE WIENERFILTROS DE WIENERFILTROS DE WIENERFILTROS DE WIENER ........................................................................................................................................................................................................................................................................................................................................................................................ 12121212

2.2.2.2.2.2.2.2. FILTROS LMS ADAPTATIVOSFILTROS LMS ADAPTATIVOSFILTROS LMS ADAPTATIVOSFILTROS LMS ADAPTATIVOS ........................................................................................................................................................................................................................................................................................................................................ 15151515

2.3.2.3.2.3.2.3. APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOSAPLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOSAPLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOSAPLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS ................................................................................................................................................................................................ 19191919

CAPÍTULO 3: MODELADOCAPÍTULO 3: MODELADOCAPÍTULO 3: MODELADOCAPÍTULO 3: MODELADO ADAPTATIVOADAPTATIVOADAPTATIVOADAPTATIVO ........................................................................................................................................................................................................................................................................................................................ 24242424

3.1.3.1.3.1.3.1. INTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓN................................................................................................................................................................................................................................................................................................................................................................................................................ 25252525

3.2.3.2.3.2.3.2. DESARROLLO DEL MODELO IDEALIZADODESARROLLO DEL MODELO IDEALIZADODESARROLLO DEL MODELO IDEALIZADODESARROLLO DEL MODELO IDEALIZADO ............................................................................................................................................................................................................................................................ 28282828

3.3.3.3.3.3.3.3. DESAJUSTE DEBIDO AL USO DE MODELOS FIRDESAJUSTE DEBIDO AL USO DE MODELOS FIRDESAJUSTE DEBIDO AL USO DE MODELOS FIRDESAJUSTE DEBIDO AL USO DE MODELOS FIR................................................................................................................................................................................................................................ 30303030

3.4.3.4.3.4.3.4. DESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO ADECUADA: USO DE UNA SEÑALDESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO ADECUADA: USO DE UNA SEÑALDESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO ADECUADA: USO DE UNA SEÑALDESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO ADECUADA: USO DE UNA SEÑAL

DE EXCITACIÓNDE EXCITACIÓNDE EXCITACIÓNDE EXCITACIÓN........................................................................................................................................................................................................................................................................................................................................................................................................................................................................ 32323232

3.5.3.5.3.5.3.5. SIMULACIONES DE MODELADO ADAPTATIVOSIMULACIONES DE MODELADO ADAPTATIVOSIMULACIONES DE MODELADO ADAPTATIVOSIMULACIONES DE MODELADO ADAPTATIVO................................................................................................................................................................................................................................ 36363636

CAPÍTULO 4: MODELADOCAPÍTULO 4: MODELADOCAPÍTULO 4: MODELADOCAPÍTULO 4: MODELADO DE PLANTAS INVERSASDE PLANTAS INVERSASDE PLANTAS INVERSASDE PLANTAS INVERSAS ................................................................................................................................................................................................................................................................ 53535353

4.1.4.1.4.1.4.1. INTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓN................................................................................................................................................................................................................................................................................................................................................................................................................ 54545454

4.2.4.2.4.2.4.2. INVERSAS DE PLANTAS DE FASE MÍNIMAINVERSAS DE PLANTAS DE FASE MÍNIMAINVERSAS DE PLANTAS DE FASE MÍNIMAINVERSAS DE PLANTAS DE FASE MÍNIMA ............................................................................................................................................................................................................................................................ 55555555

Page 6: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

vi

4.3.4.3.4.3.4.3. INVERSAS DE PLANTAS DE FASE NO MÍNIMINVERSAS DE PLANTAS DE FASE NO MÍNIMINVERSAS DE PLANTAS DE FASE NO MÍNIMINVERSAS DE PLANTAS DE FASE NO MÍNIMAAAA .................................................................................................................................................................................................................................... 57575757

4.4.4.4.4.4.4.4. INVERSAS DE MODELOS DE REFERENCIAINVERSAS DE MODELOS DE REFERENCIAINVERSAS DE MODELOS DE REFERENCIAINVERSAS DE MODELOS DE REFERENCIA................................................................................................................................................................................................................................................................ 62626262

4.5.4.5.4.5.4.5. INVERSAS DE PLANTAS CON PERTURBACIONESINVERSAS DE PLANTAS CON PERTURBACIONESINVERSAS DE PLANTAS CON PERTURBACIONESINVERSAS DE PLANTAS CON PERTURBACIONES........................................................................................................................................................................................................................ 65656565

CAPÍTULO 5: CONTROLCAPÍTULO 5: CONTROLCAPÍTULO 5: CONTROLCAPÍTULO 5: CONTROL INVERSO ADAPTATIVOINVERSO ADAPTATIVOINVERSO ADAPTATIVOINVERSO ADAPTATIVO................................................................................................................................................................................................................................................................................ 69696969

5.1.5.1.5.1.5.1. INTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓNINTRODUCCIÓN................................................................................................................................................................................................................................................................................................................................................................................................................ 70707070

5.2.5.2.5.2.5.2. ANÁLISISANÁLISISANÁLISISANÁLISIS ........................................................................................................................................................................................................................................................................................................................................................................................................................................................ 73737373

5.3.5.3.5.3.5.3. SIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO ADAPTATIVO ................................................................................................ 77777777

5.3.1 Simulación sin perturbaciones ...................................................................................77

5.3.2 Simulación con perturbaciones en el entrenamiento ..................................................82

5.3.3 Simulación con perturbaciones en el seguimiento......................................................86

5.3.4 Simulación con perturbaciones tanto en el entrenamiento como en el seguimiento de

referencias ..............................................................................................................................90

CAPÍTULO 6: CONCLUSICAPÍTULO 6: CONCLUSICAPÍTULO 6: CONCLUSICAPÍTULO 6: CONCLUSIONESONESONESONES .................................................................................................................................................................................................................................................................................................................................................................................... 94949494

CAPÍTULO 7: APÉNDICECAPÍTULO 7: APÉNDICECAPÍTULO 7: APÉNDICECAPÍTULO 7: APÉNDICE ........................................................................................................................................................................................................................................................................................................................................................................................................................ 96969696

7.1.7.1.7.1.7.1. LISTADOS DE LOS SCRIPTS DE LAS SIMULACIONES REALIZADASLISTADOS DE LOS SCRIPTS DE LAS SIMULACIONES REALIZADASLISTADOS DE LOS SCRIPTS DE LAS SIMULACIONES REALIZADASLISTADOS DE LOS SCRIPTS DE LAS SIMULACIONES REALIZADAS .................................................................................................................... 97979797

7.1.1 Capítulo 3.................................................................................................................97

7.1.2 Capítulo 4...............................................................................................................112

7.1.3 Capítulo 5...............................................................................................................117

Page 7: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

vii

LISTA DE TABLAS Y FIGURAS

FIGURA 1: SISTEMA CONVENCIONAL DE CONTROL POR REALIMENTACIÓN HACIA ATRÁS ..................................4

FIGURA 2: CONCEPTO BÁSICO DE CONTROL INVERSO ADAPTATIVO ............................................................5

FIGURA 3: CONTROL INVERSO ADAPTATIVO CON MODELO DE REFERENCIA ...................................................6

FIGURA 4: CANCELACIÓN DEL RUIDO Y LAS PERTURBACIONES DE LA PLANTA ................................................7

FIGURA 5: SISTEMA DE CONTROL INVERSO CON CONTROL DE REFERENCIA Y CANCELACIÓN DEL RUIDO................8

FIGURA 6: FILTRO DE WIENER DIGITAL ..............................................................................................12

FIGURA 7: MODELANDO UN SISTEMA DESCONOCIDO MEDIANTE UN FILTRO DISCRETO ADAPTATIVO..................15

FIGURA 8: COMBINADOR ADAPTATIVO LINEAL ....................................................................................16

FIGURA 9: SEPARACIÓN DE SEÑAL Y RUIDO: (A) CLÁSICA; (B) CON FILTRO ADAPTATIVO ................................20

FIGURA 10: CANCELACIÓN DE LA INTERFERENCIA DE 60 HZ EN ELECTROCARDIOGRAMAS .............................22

FIGURA 11: RESULTADOS DE LA CANCELACIÓN DE RUIDO EN EL EXPERIMENTO: (A) ENTRADA PRIMARIA, (B)

ENTRADA DE REFERENCIA, (C) SALIDA DE LA CANCELACIÓN DE RUIDO.......................................................22

FIGURA 12: CANCELACIÓN DEL LATIDO DE LA MADRE EN EL ELECTROCARDIOGRAMA DEL FETO.......................23

FIGURA 13: RESULTADOS DEL ELECTROCARDIOGRAMA DEL FETO: (A) ENTRADA DE REFERENCIA (CABLE DEL PECHO),

(B) ENTRADA PRIMARIA (CABLE DEL ABDOMEN), (C) SALIDA DEL CANCELADOR DE RUIDO...............................23

FIGURA 14: MODELO ADAPTATIVO DE UNA PLANTA RUIDOSA ................................................................25

FIGURA 15: USO DE UNA SEÑAL DE EXCITACIÓN EN EL PROCESO DE MODELADO (ESQUEMA A).......................33

FIGURA 16: USO DE UNA SEÑAL DE EXCITACIÓN EN EL PROCESO DE MODELADO (ESQUEMA B) .......................33

FIGURA 17: USO DE UNA SEÑAL DE EXCITACIÓN EN EL PROCESO DE MODELADO (ESQUEMA C).......................34

FIGURA 18: USO DE UNA SEÑAL DE EXCITACIÓN EN EL PROCESO DE MODELADO (ESQUEMA C, ALTERNATIVO)....35

FIGURA 19: ESTABILIZACIÓN DE UNA PLANTA INESTABLE DE FASE NO MÍNIMA.............................................36

FIGURA 20: LUGAR DE LAS RAÍCES DEL LAZO DE ESTABILIZACIÓN DE LA PLANTA (K=21)................................37

FIGURA 21: LUGAR DE LAS RAÍCES DEL LAZO DE ESTABILIZACIÓN DE LA PLANTA (K=24)................................37

Page 8: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

viii

FIGURA 22: MODELADO ADAPTATIVO DE LA PLANTA ESTABILIZADA .........................................................38

FIGURA 23: RESPUESTA IMPULSIVA DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=21) ..39

FIGURA 24: ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y

DISCRETIZADA (K=21) ..................................................................................................................40

FIGURA 25: EVOLUCIÓN DEL ERROR (SEMILOGY) EN EL ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA PLANTA

DE FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=21) ..................................................................40

FIGURA 26: EVOLUCIÓN DEL ERROR EN EL ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO

MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=21)..................................................................................41

FIGURA 27: EVOLUCIÓN DEL CUADRADO DEL ERROR EN EL ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA

PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=21) .......................................................41

FIGURA 28: RESPUESTA IMPULSIVA DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y

DISCRETIZADA (K=21) ..................................................................................................................42

FIGURA 29: DIFERENCIA ENTRE LA RESPUESTA IMPULSIVA DE LA PLANTA Y LA DE SU MODELO ADAPTATIVO (K=21)

...............................................................................................................................................43

FIGURA 30: DIFERENCIA CUADRÁTICA ENTRE LA RESPUESTA IMPULSIVA DE LA PLANTA Y LA DE SU MODELO

ADAPTATIVO (K=21) ....................................................................................................................43

FIGURA 31: RESPUESTA IMPULSIVA DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=24) ..44

FIGURA 32: ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y

DISCRETIZADA (K=24) ..................................................................................................................45

FIGURA 33: EVOLUCIÓN DEL ERROR (SEMILOGY) EN EL ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA PLANTA

DE FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=24) ..................................................................45

FIGURA 34: EVOLUCIÓN DEL ERROR EN EL ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO

MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=24)..................................................................................46

FIGURA 35: EVOLUCIÓN DEL CUADRADO DEL ERROR EN EL ENTRENAMIENTO DEL MODELO ADAPTATIVO DE LA

PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=24) .......................................................46

Page 9: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

ix

FIGURA 36: RESPUESTA IMPULSIVA DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y

DISCRETIZADA (K=24) ..................................................................................................................47

FIGURA 37: DIFERENCIA ENTRE LA RESPUESTA IMPULSIVA DE LA PLANTA Y LA DE SU MODELO ADAPTATIVO (K=24)

...............................................................................................................................................48

FIGURA 38: DIFERENCIA CUADRÁTICA ENTRE LA RESPUESTA IMPULSIVA DE LA PLANTA Y LA DE SU MODELO

ADAPTATIVO (K=24) ....................................................................................................................48

FIGURA 39: RESPUESTA IMPULSIVA DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y

DISCRETIZADA, SOMETIDA A PERTURBACIONES (K=24)..........................................................................49

FIGURA 40: MODELADO DE LA PLANTA EMPLEANDO EL ESQUEMA C........................................................50

FIGURA 41: RESPUESTA IMPULSIVA DEL MODELO ADAPTATIVO DE LA PLANTA DE FASE NO MÍNIMA, ESTABILIZADA Y

DISCRETIZADA (K=21), OBTENIDO MEDIANTE EL ESQUEMA C .................................................................51

FIGURA 42: RESPUESTA IMPULSIVA, SOMETIDA A PERTURBACIONES, DEL MODELO ADAPTATIVO DE LA PLANTA DE

FASE NO MÍNIMA, ESTABILIZADA Y DISCRETIZADA (K=21), OBTENIDO MEDIANTE EL ESQUEMA C .....................52

FIGURA 43: FORMANDO LA INVERSA DE UNA PLANTA...........................................................................55

FIGURA 44: EJEMPLO DE DISEÑO DE SHANNON-BODE DE UNA PLANTA INVERSA CAUSAL DE WIENER................58

FIGURA 45: FORMANDO UNA PLANTA INVERSA RETRASADA ...................................................................60

FIGURA 46: BUSCANDO UNA PLANTA INVERSA CON MODELO DE REFERENCIA.............................................62

FIGURA 47: RESPUESTA AL ESCALÓN DE LA PLANTA USADA EN EL CONTROL CON MODELO DE REFERENCIA.........63

FIGURA 48: RESPUESTA DE LA PLANTA CONTROLADA (*), SUPERPUESTA SOBRE LA RESPUESTA AL ESCALÓN

DESEADA DEL MODELO DE REFERENCIA, ILUSTRANDO LA CORRECTA ADAPTACIÓN ........................................63

FIGURA 49: MÉTODO INCORRECTO DE MODELADO INVERSO DE UNA PLANTA CON PERTURBACIONES................65

FIGURA 50: MÉTODO ADECUADO PARA EL MODELADO INVERSO DE UNA PLANTA CON PERTURBACIONES ..........66

FIGURA 51: PROCESO OFFLINE PARA EL MODELADO INVERSO DE UNA PLANTA CON PERTURBACIONES ...............68

FIGURA 52: UN SISTEMA DE CONTROL ADAPTATIVO QUE TRABAJA BIEN, PERO ADAPTA LENTAMENTE ...............70

Page 10: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

x

FIGURA 53: SISTEMA DE CONTROL INVERSO ADAPTATIVO. TRABAJA BIEN SÓLO CUANDO EL RUIDO DE LA PLANTA ES

BAJO ........................................................................................................................................71

FIGURA 54: SISTEMA DE CONTROL INVERSO CON MODELADO INVERSO ‘OFFLINE’.........................................72

FIGURA 55: SISTEMA DE CONTROL INVERSO ADAPTATIVO CON MODELO DE REFERENCIA................................74

FIGURA 56: SIMULACIÓN #1: PROCESO DE ADAPTACIÓN DEL MODELO DE LA PLANTA ..................................78

FIGURA 57: SIMULACIÓN #1: EVOLUCIÓN DE LOS PESOS DE WIENER DEL MODELO DEL CONTROLADOR INVERSO.79

FIGURA 58: SIMULACIÓN #1: ÚLTIMA ITERACIÓN DEL PROCESO OFFLINE ...................................................79

FIGURA 59: SIMULACIÓN #1: PRUEBA DE SEGUIMIENTO DE REFERENCIAS CON EL CONTROLADOR INVERSO

OBTENIDO..................................................................................................................................80

FIGURA 60: SIMULACIÓN #1: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #1) ................................81

FIGURA 61: SIMULACIÓN #1: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #1) ................................81

FIGURA 62: SIMULACIÓN #2: PROCESO DE ADAPTACIÓN DEL MODELO DE LA PLANTA ..................................82

FIGURA 63: SIMULACIÓN #2: EVOLUCIÓN DE LOS PESOS DE WIENER DEL MODELO DEL CONTROLADOR INVERSO.83

FIGURA 64: SIMULACIÓN #2: ÚLTIMA ITERACIÓN DEL PROCESO OFFLINE ...................................................83

FIGURA 65: SIMULACIÓN #2: PRUEBA DE SEGUIMIENTO DE REFERENCIAS CON EL CONTROLADOR INVERSO

OBTENIDO..................................................................................................................................84

FIGURA 66: SIMULACIÓN #2: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #1) ................................85

FIGURA 67: SIMULACIÓN #2: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #2) ................................85

FIGURA 68: SIMULACIÓN #3: PROCESO DE ADAPTACIÓN DEL MODELO DE LA PLANTA ..................................86

FIGURA 69: SIMULACIÓN #3: EVOLUCIÓN DE LOS PESOS DE WIENER DEL MODELO DEL CONTROLADOR INVERSO.87

FIGURA 70: SIMULACIÓN #3: ÚLTIMA ITERACIÓN DEL PROCESO OFFLINE ...................................................87

FIGURA 71: SIMULACIÓN #3: PRUEBA DE SEGUIMIENTO DE REFERENCIAS CON EL CONTROLADOR INVERSO

OBTENIDO..................................................................................................................................88

FIGURA 72: SIMULACIÓN #3: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #1) ................................89

Page 11: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

xi

FIGURA 73: SIMULACIÓN #3: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #2) ................................89

FIGURA 74: SIMULACIÓN #4: PROCESO DE ADAPTACIÓN DEL MODELO DE LA PLANTA ..................................90

FIGURA 75: SIMULACIÓN #4: EVOLUCIÓN DE LOS PESOS DE WIENER DEL MODELO DEL CONTROLADOR INVERSO.91

FIGURA 76: SIMULACIÓN #4: ÚLTIMA ITERACIÓN DEL PROCESO OFFLINE ...................................................91

FIGURA 77: SIMULACIÓN #4: PRUEBA DE SEGUIMIENTO DE REFERENCIAS CON EL CONTROLADOR INVERSO

OBTENIDO..................................................................................................................................92

FIGURA 78: SIMULACIÓN #4: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #1) ................................93

FIGURA 79: SIMULACIÓN #4: PRUEBA DE SEGUIMIENTO DE REFERENCIAS (DETALLE #2) ................................93

Page 12: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

xii

Prefacio

El control inverso adaptativo es una nueva aproximación al diseño de sistemas de control. Tras

un desarrollo de más de veinte años en el laboratorio del Dr. Bernard Widrow en la Universidad

de Stanford, la idea que ha ido evolucionando propone el control en lazo abierto de la dinámica

de un sistema mediante el uso de un controlador en serie cuya función de transferencia sea la

inversa de la planta que se desea controlar. El controlador será adaptativo, y se auto-regulará

para optimizar la dinámica de la respuesta de la planta y su controlador. Se emplea

realimentación, pero sólo en el propio proceso adaptativo. Al contrario de lo que ocurre en el

control tradicional, el control inverso adaptativo no emplea la realimentación para controlar

señales que fluyen por el sistema, sino para controlar parámetros variables del mismo. Sin

embargo, ambos emplean la realimentación para minimizar el error a la salida de la planta.

Dado que los cambios en los parámetros de la planta tienen lugar mucho más lentamente que

los cambios en las señales que circulan por él, la realimentación en un sistema de control inverso

adaptativo puede actuar de forma relativamente lenta, aunque suficientemente rápido como

para manipular los cambios en los parámetros de la planta. El resultado es que la estabilización

de un sistema y su regulación mediante control inverso adaptativo son, en muchos casos, más

sencillos de conseguir que con controles por realimentación convencionales.

La consecución de determinadas respuestas dinámicas es a menudo más fácil de obtener

empleando técnicas de control inverso adaptativo; incluso se pueden conseguir repuestas

extrañas, si se desea. Por ejemplo, una planta estable oscilatoria puede ser controlada de modo

que la respuesta dinámica del sistema ante un escalón de entrada sea un escalón perfecto, con

una subida brusca y sin sobredisparo. Este tipo de respuesta es complicado obtenerlo con

medios convencionales.

El control en lazo abierto de la dinámica de una planta, sin embargo, no ayuda a limitar o a

atenuar los efectos de las perturbaciones internas de la planta. Si la planta está sujeta a

perturbaciones se pueden emplear, para minimizar sus efectos, técnicas de cancelación

adaptativa de ruido. Para este escenario se ha desarrollado un tipo especial de configuración de

Page 13: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

xiii

realimentación, que cancela las perturbaciones de la planta sin afectar su dinámica. De esta

manera, el control de la respuesta de la planta y el de sus perturbaciones se convierten en dos

procesos separados, y la optimización de uno no compromete la optimización del otro.

El presente proyecto fin de carrera no alcanza, por supuesto, a tratar todos los posibles

problemas de control. Sí que se expondrá la problemática que se debe afrontar al aplicar el

diseño y análisis de sistemas de control adaptativo. El control inverso adaptativo trabaja de forma

natural para proveer un modelo de referencia de control para una amplia variedad de tipos de

planta.

Page 14: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 1: EL CONCEPTO DE CONTROL

INVERSO ADAPTATIVO

Page 15: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

2

1.1. INTRODUCCIÓN

Las técnicas de filtrado adaptativo han sido aplicadas con éxito a los sistemas de antenas

adaptativas, a problemas de comunicaciones como ecualizaciones de canal y cancelaciones de

eco en telefonía a larga distancia, a cancelaciones de interferencias, a estimación espectral, a

análisis y síntesis de voz, y a muchos otros problemas de procesos de señal. El propósito del

presente estudio es mostrar cómo los algoritmos de filtrado adaptativo pueden ser usados para

lograr el control adaptativo de sistemas desconocidos y que posiblemente varíen en el tiempo.

El sistema que va a ser controlado, generalmente llamado la planta, puede ser ruidoso, esto es,

sujeto a perturbaciones, y además de un tipo desconocido. La planta y su perturbación interna

pueden ser variables en el tiempo de un modo desconocido. En algunos casos, la planta podría

ser inestable. El sistema de control adaptativo para dichas plantas podría tener ventajas sobre

sistemas fijos, ya que los parámetros de los sistemas adaptativos pueden ser ajustados a los

requerimientos, desconocidos y variables, de la planta que va a ser controlada. La adaptatividad

encuentra un área natural de aplicación en el campo de control.

En este campo ha habido dos líneas de trabajo, el control adaptativo y el proceso de señal

adaptativa, y se han desarrollado casi independientemente. En la parte de control se ha

estudiado el control adaptativo usando una variable de estado, enganchada por realimentación

a través de parámetros variables de redes para regular plantas desconocidas y controlar su

perturbación. En la de señal han estado trabajando en problemas que implican en su mayoría

pesos adaptativos de filtros transversales mediante el método del gradiente, y empleando el

resultado de los filtros adaptativos a sistemas sin realimentación.

La meta de este trabajo no es acortar la distancia entre las dos líneas de trabajo, sino atacar

ciertos problemas del control adaptativo desde un punto de vista alternativo, usando la

metodología del proceso de señal adaptativo. El resultado es lo que se denomina control inversocontrol inversocontrol inversocontrol inverso

adaptatiadaptatiadaptatiadaptativovovovo.

Se comenzará con una discusión del modelo directo (o identificador) de las características de una

planta desconocida usando los métodos del filtrado adaptativo simple. Luego se mostrará cómo

métodos similares, con algunas modificaciones en una configuración diferente, pueden ser

usados para el modelo inverso (ecualizador o deconvolución). Los modelos inversos de las

Page 16: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

3

plantas pueden ser usados para controlar plantas dinámicas. Después se podrá ver cómo ambos,

el modelo directo y el inverso pueden ser usados en el mismo proceso adaptativo para minimizar

los efectos de la perturbación de la planta. En este desarrollo se asumirá que la planta es

observable y controlable, que puede ser representada en términos de una función de

transferencia entrada-salida, y que la planta es estable (si es inestable, se habrá estabilizado

previamente usando realimentación). La planta podrá ser de fase mínima o no.

Page 17: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO CONTROL INVERSO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

4

1.2. CONTROL INVERSO

Un sistema de control convencional, como el de la Figura 1, usa la realimentación, midiendo la

respuesta de la planta que va a ser controlada, comparando esta respuesta con una respuesta

deseada, y usando la diferencia para excitar a un controlador cuya salida, que es la entrada de la

planta, haga que la salida de la planta siga más cerca a la señal deseada.

-

+Controlador Planta

EntradaplantaΣ

Comandode entrada

(señal deseada)Salida plantaError

Figura 1: Sistema convencional de control por realimentación hacia atrás

El objetivo de este sistema es que la salida de la planta siga a la señal de entrada. Cualquier

diferencia entre la salida de la planta y la señal de entrada se recoge en la señal de error, que es

medida por el controlador, y es filtrada y amplificada por éste para conducir a la planta de forma

que minimice este error.

El uso de la realimentación debe ser hecho con mucho cuidado para prevenir la inestabilidad y

lograr una respuesta dinámica satisfactoria. Cuando las características de la planta son variables

en el tiempo o no estacionarias, es a veces necesario diseñar el controlador para que varíe con la

planta. Un objetivo común de hacer esto suele ser minimizar el error cuadrático medio, aunque

alcanzar este objetivo generalmente es difícil.

Una solución podría ser parametrizar el controlador y variar sus parámetros para minimizar

directamente el error cuadrático medio. La dificultad con este enfoque es que, sin tener en

cuenta cómo se parametriza el controlador, el error cuadrático medio en función de los

parámetros podría ser una función que no tuviera un único extremo.

El objetivo del presente trabajo es tomar una alternativa en el tema del control adaptativo. El

enfoque que va a ser desarrollado, el control inverso adaptativo, en algunos sentidos implica un

control en lazo abierto, y es bastante diferente del control por realimentación de la Figura 1. Se

intentará desarrollar una forma del control inverso adaptativo que sea simple, robusta y precisa.

Page 18: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO CONTROL INVERSO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

5

Con algunos conocimientos de filtros adaptativos, el control inverso adaptativo es fácil de

entender y usar en la práctica.

La idea básica del control adaptativo es conducir a la planta con una señal de un controlador

cuya función de transferencia es la inversa de la planta misma. El objetivo de este sistema es que

la salida de la planta siga al comando de entrada. Como la planta es generalmente desconocida,

es necesario adaptar o ajustar los parámetros del controlador para crear una planta inversa

verdadera. Una señal de error, la diferencia entre la salida de la planta y el comando de entrada,

es usada por el algoritmo adaptativo para ajustar los parámetros del controlador y minimizar el

error cuadrático medio.

Controlador PlantaEntradaplantaComando

de entrada Salida planta

Algoritmoadaptativo

Error

+

-

Σ

Figura 2: Concepto básico de control inverso adaptativo

Haciendo referencia a la Figura 2, el controlador en este diagrama puede ser visto como un filtro

con una entrada y una salida. Este controlador tiene parámetros ajustables. El control de estos

parámetros es hecho por medio de un algoritmo adaptativo, el cual es conducido a través de

una señal de error.

Comparando los dos esquemas mostrados, la minimización del error cuadrático medio se realiza

en el primer caso mediante el empleo de la señal de error directamente en el lazo de

realimentación, para conformar la señal de entrada; mientras que en el segundo caso la señal de

error se emplea en un proceso de realimentación en el que se ajustan los parámetros del

controlador, sin que la señal de error se envíe hacia atrás para modificar directamente la señal de

entrada. En el primer caso tenemos control por realimentación (feedback), y en el segundo caso

control por alimentación hacia delante (feedforward). En ambos casos se emplea la

realimentación para asegurar una correcta respuesta del sistema.

Page 19: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO CONTROL INVERSO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

6

Si el control adaptativo de la Figura 2 se realiza para minimizar el error, el controlador se

convierte en la inversa de la planta. La cascada del controlador y la planta tendrían, de este

modo, una función de transferencia combinada de una ganancia unidad.

Se asume que la planta es lineal y que varía lentamente, de modo que es estadísticamente

estacionaria. Asimismo se asume que el controlador converge y es también lineal y

estadísticamente estacionario.

A veces, lo que se quiere no es seguir exactamente a la señal de entrada, sino una versión más

relajada de ésta. Para ello se añade el modelo de referencia, así la señal de salida de la planta

debe asemejarse a la señal de salida del modelo de referencia. Un diagrama de bloques de esta

situación se muestra en la Figura 3

Controlador PlantaEntradaplantaComando

de entrada Salida planta

Algoritmoadaptativo

Error

+

-

Σ

Modelo dereferencia

Figura 3: Control inverso adaptativo con modelo de referencia

El ruido y las perturbaciones de la planta son un problema en el desarrollo del control inverso

adaptativo. La falta de realimentación de la salida a la entrada permite que haya un ruido interno

a la salida de la planta. Se han desarrollado varios esquemas para la cancelación de este ruido. El

esquema básico aparece en la Figura 4.

Page 20: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO CONTROL INVERSO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

7

+PlantaComando

de entrada Salida planta

Modeloplanta

+

-

Σ

Modelo deplantainverso

-

++

Σ

Ruido sensor

Σ

Perturbacionesde la planta

Ruido y perturbaciónde la planta

filtrados para su cancelación

Ruido y perturbacióna la salida

de la planta

Figura 4: Cancelación del ruido y las perturbaciones de la planta

En control, el ruido de la planta se suele representar como un ruido aditivo a la entrada de la

planta. El sensor con el que se mide la salida también podría ser ruidoso, y se representa como

un ruido aditivo a la salida de la planta. En la Figura 4 el ruido de la planta y del sensor están

separados de la respuesta dinámica de la planta. La entrada de la planta conduce a ésta y a su

modelo (que está libre de ruido). La diferencia entre la salida de la planta y la salida de su

modelo es que el ruido aparece sólo a la salida de la planta. La diferencia entre estas dos salidas

da sólo la componente de ruido del sistema, que sirve como entrada al modelo inverso para

poder eliminar este ruido de la señal de entrada.

Un sistema de control inverso que une los conceptos de modelo de referencia de la Figura 3 y

cancelación de ruido de la Figura 4, se muestra en la Figura 5. En la práctica, un sistema de este

estilo necesitará procesos adaptativos separados para obtener el modelo de la planta, el modelo

inverso de la planta y el controlador.

Page 21: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO CONTROL INVERSO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

8

+ControladorComando

de entrada

Algoritmoadaptativo

+

-

Σ

Modelo dereferencia

Planta Salida planta

Modeloplanta

+

-

Σ

Modelo deplantainverso

-

++

Σ

Ruido sensor

Σ

Ruidode laplanta

Error

Figura 5: Sistema de control inverso con control de referencia y cancelación del ruido

La dinámica de la planta es alterada debido a la realimentación para el control del ruido, por lo

que en general hará falta una solución de compromiso para obtener una buena respuesta

dinámica y un buen control del ruido al mismo tiempo.

Page 22: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO MEMORIA DESCRIPTIVA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

9

1.3. MEMORIA DESCRIPTIVA

A continuación se describe el contenido del resto de capítulos del proyecto:

• Capítulo 2: Filtros adaptativos.

Dentro de este capítulo se presentan los fundamentos de los filtros de Wiener y los filtros

LMS adaptativos. Los filtros de Wiener constituyen los mejores filtros de mínimos

cuadrados, siendo muy útiles en predicción, interpolación y filtrado de señal y de ruido.

Los filtros LMS adaptativos constituyen la base esencial para el control inverso adaptativo,

por lo que se revisará con cierto detalle su desarrollo teórico.

• Capítulo 3: Modelado adaptativo.

Se analizará el desallorro de métodos para la obtención adaptativa del modelo directo de

una planta, así como sus posibles fuentes de error, tales como los efectos del ruido en los

pesos, el uso de una señal de entrada inadecuada, el ruido de la planta, etc.

• Capítulo 4: Modelado de plantas inversas.

El modelo directo de una planta, obtenido en el capítulo anterior, tiene una función de

transferencia similar a la de la planta que está siendo modelada. El modelo inverso tiene

una función de transferencia similar a la recíproca de la función de transferencia de la

planta. Obtener una función de transferencia inversa estable es fácil cuando se parte de

una planta de fase mínima. Hacerlo desde una planta de fase no mínima requiere que la

inversa sea retrasada para obtener una solución óptima. Se verá la resolución de este

problema, así como de situaciones en las que se empleen modelos de referencia, o

plantas sujetas a perturbaciones.

• Capítulo 5: Control inverso adaptativo.

En este capítulo se presentarán los modelos propuestos para conjugar las piezas

obtenidas en los capítulos anteriores, para diseñar un sistema de control inverso

adaptativo, tanto para plantas libres de ruido como sujetas a perturbaciones. Como

aplicación práctica del sistema de control diseñado, se ofrecen los resultados de las

Page 23: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

EL CONCEPTO DE CONTROL INVERSO ADAPTATIVO MEMORIA DESCRIPTIVA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

10

simulación del seguimiento de una señal de referencia en una determinada planta,

sometida a diversas condiciones de contorno.

• Capítulo 6: Conclusiones.

Por último, se presentarán las conclusiones a las que se ha llegado después del estudio de

este método de control.

Adicionalmente, a modo de apéndice, se adjunta al final de este proyecto el listado de todas las

simulaciones empleadas en su desarrollo.

Page 24: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 2: FILTROS ADAPTATIVOS

Page 25: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS DE WIENER

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

12

2.1. FILTROS DE WIENER

Los filtros de Wiener son los mejores filtros lineales de mínimos cuadrados que pueden ser usan

para predicción, estimación, interpolación, filtrado de señal y ruido, etc. Para diseñarlos se

necesita tener un conocimiento previo apropiado de las propiedades estadísticas de la señal de

entrada. El problema reside en que este conocimiento generalmente no se puede obtener. En su

lugar se usan filtros adaptativos, que hacen uso de los datos de entrada para aprender los datos

estadísticos requeridos. En cualquier caso, la teoría de Wiener es importante para el presente

estudio porque los filtros adaptativos que serán empleados convergen asintóticamente (en

media) en las soluciones de Wiener.

Obsérvese el esquema de la Figura 6:

Entrada fk h*k = ?

Filtro digital

Salida gk

+

-ΣError ek

Respuesta deseada dk

Figura 6: Filtro de Wiener digital

El filtro digital tiene una señal de entrada y produce una señal de salida. El filtro será un filtro de

Wiener si su respuesta impulsiva se elige para minimizar el error cuadrático medio. El error se

define como la diferencia entre la salida del filtro y la respuesta deseada:

kkk gde −=

Cuando se trabaja con filtros de Wiener, generalmente la respuesta deseada existe sólo de

forma conceptual. Las propiedades estadísticas de la respuesta deseada y sus relaciones

Page 26: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS DE WIENER

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

13

estadísticas con la señal de entrada al filtro se asume que son conocidas por el diseñador. La

situación es bastante diferente cuando se trata con filtros adaptativos. En éstos, la respuesta

deseada existe como una señal que puede ser obtenida como entrada en tiempo real al

algoritmo adaptativo, para conseguir aprender y adaptarse. Los filtros de Wiener no aprenden.

Su diseño es fijo, basado en un primer conocimiento estadístico.

La respuesta impulsiva del filtro de Wiener se obtiene encontrando una expresión para el error

cuadrático medio y minimizándola con respecto a la respuesta impulsiva. Elevando al cuadrado

en ambas partes, se obtiene:

kkkkk gdgde 2222 −+=

Sabiendo que:

∑∞

=−=

0lllkk hfg

se puede sustituir:

∑ ∑ ∑∞

−∞=

−∞=

−∞=−−− −+=

l m lklklklklkk dfhffhhde 222

µµ

Si tomamos valor medio en ambos lados, encontramos una expresión para el error cuadrático

medio (MSE, mean square error):

[ ] [ ] [ ] [ ] =−+= ∑ ∑ ∑∞

−∞=

−∞=

−∞=−−−

l m lklklklklkk dfEhffEhhdEeE 222

µµ

∑ ∑ ∑∞

−∞=

−∞=

−∞=−−+=

l m lfdlffldd lhlhh )(2)()0( φµφφ µ

siendo φmm la autocorrelación y φmn la correlación cruzada de dos señales m y n. Si derivamos

respecto a h, que es la respuesta impulsiva del filtro, e igualamos a cero para minimizar el error:

∑∞

−∞=

=−l

fdffl jljh )()(* φφ

Page 27: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS DE WIENER

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

14

Esta es la ecuación de Wiener-Hopf, que en forma de convolución queda:

)()(** kkh fdffl φφ =

Tomando transformada z en ambas partes:

)()(

)()()()( **

zz

zHózzzHff

fdfdff Φ

Φ=Φ=Φ

Con la solución de Wiener se puede encontrar la función de transferencia del filtro H*(z) a partir

de la transformada z de la función de autocorrelación de la señal de entrada, de la correlación

cruzada de la señal de entrada, y de la respuesta deseada. Si se sustituye esta ecuación en la

expresión del error se obtiene el valor del mínimo MSE:

[ ] )()0( *2 lheE fdl

lddmínk φφ ∑∞

−∞=

−=

Page 28: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS LMS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

15

2.2. FILTROS LMS ADAPTATIVOS

La teoría de filtrado adaptativo es fundamental para el control inverso adaptativo. Los filtros

adaptativos se usan para modelado de plantas, modelado inverso de plantas, y para hacer

cancelaciones de ruido de la planta. Se va a tratar de presentar el filtro adaptativo como un

bloque, que tiene una señal de entrada, una de salida, y una señal de entrada especial llamada

‘el error’, que se usa en el proceso de aprendizaje. El propósito de este apartado es ofrecer una

introducción a la teoría de filtrado digital adaptativo.

El filtro adaptativo que aquí se va a considerar tiene la siguiente forma:

Filtro adaptativo

Sistema dinámico desconocidoque va a ser modelado

-1Z -1Z -1Z

Σ

Σ-

+

� coeficientes ajustables

Salida del filtroadaptativo yk

Error ek

Respuestadeseada dk

Señal de entrada f(t) Señal de salida d(t)

Figura 7: Modelando un sistema desconocido mediante un filtro discreto adaptativo

La Figura 7 ilustra el filtro adaptativo como sería usado en el modelado de una planta

desconocida. Este filtro es causal y tiene una respuesta impulsiva finita (FIR).

Page 29: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS LMS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

16

Además de las señales ya comentadas, hay que utilizar una más: la señal deseada, para poder

generar la señal de error. La salida de la planta desconocida nos da el valor de la señal deseada.

El filtro adaptativo de la Figura 7 es un filtro digital. El sistema desconocido que va a ser

modelado es un filtro analógico. Las entradas al filtro adaptativo son, por tanto, versiones

muestreadas de las señales de entrada y salida del sistema desconocido. Los coeficientes del

filtro adaptativo se ajustan automáticamente mediante un algoritmo que minimiza el error

cuadrático medio. Cuando los coeficientes convergen y el error se hace pequeño, la respuesta

impulsiva del filtro adaptativo es muy parecida a la del sistema desconocido.

El análisis del filtro adaptativo puede ser desarrollado considerando primero el combinador lineal

adaptativo de la Figura 8, un subsistema de la Figura 7.

Σ

Σ-

+

señaldeseada dk

Error ek = dk - yk

Señal desalida yk

Coeficientes W

Señal deentrada xk

x1k

x1k

x1k

x1k

w1

w4

w3

w2

Figura 8: Combinador adaptativo lineal

Se tienen las siguientes señales:

• La señal de entrada, que es un conjunto de n señales. La k-ésima señal de entrada es:

[ ]Tnklkkkk xxxxX ,...,,...,, 21=

• El conjunto de coeficientes o pesos se designan con el vector:

Page 30: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS LMS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

17

[ ]nlT wwwwW ,...,,...,, 21=

• La señal de salida k-ésima será:

∑=

==n

lk

Tlklk XWxwy

1

Si se denota la señal deseada como dk, el error en el instante k-ésimo es:

kT

kkkk XWdyde −=−=

El error cuadrático medio es el valor esperado de ek2:

[ ] [ ] [ ] [ ] [ ] RVWWPdEWXXEWWXdEdEeEMSE TTk

Tkk

TTkkkk +−=+−== 22 222

siendo P la correlación cruzada entre la señal de entrada x y la señal deseada d, y R la

autocorrelación de la señal de entrada E[xkxkT]. Se puede observar que el MSE es una función

cuadrática de los coeficientes, con lo que tendrá la forma de una parábola. El proceso adaptativo

estará continuamente ajustando los coeficientes, buscando la parte más baja de la parábola.

Para obtener los coeficientes óptimos, habrá que derivar el MSE e igualarlo a cero.

El algoritmo LMS utiliza el método del steepest descent para la actualización de los coeficientes

del vector de pesos. Este algoritmo realiza los cambios de forma proporcional al gradiente, tal

como se puede ver en la siguiente ecuación:

∇−+=∧

+ kkk WW µ1

siendo ∇ la estimación del gradiente:

kk N+∇=∇∧

y Nk el ruido del gradiente.

El gradiente se define como la derivada del cuadrado del error respecto a cada uno de los

coeficientes. Si se hace esa derivada, se obtiene como conclusión que el gradiente tiene el valor:

Page 31: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS FILTROS LMS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

18

kkk Xe2−=∇∧

Sustituyendo en la ecuación anterior, se obtiene la ecuación que rige al algoritmo LMS:

kkkk XeWW µ21 +=+

Page 32: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

19

2.3. APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS

Existen muchas aplicaciones prácticas para el modelo de filtros FIR adaptativos descritos en este

capítulo. Uno de los más interesantes es la cancelación de ruido adaptativa. La idea es sustraer el

ruido de una señal ruidosa. Cuando se hace empleando técnicas de filtrado adaptativo se puede

obtener una mejora sustancial de la tasa de señal a ruido.

La separación de una señal de un ruido aditivo, incluso cuando sus respectivos espectros de

potencia se solapan, es un problema común en proceso de señal. La Figura 9 (a) muestra un

esquema típico para solucionar este problema usando filtros de Wiener o Kalman. El propósito

del filtro óptimo es pasar la señal s sin distorsión. En general esto no se puede hacer

perfectamente; incluso con el mejor de los filtros se distorsiona la señal, y parte del ruido pasa a

la señal de salida.

La Figura 9 (b) muestra otro desarrollo para este problema, usando cancelación de ruido

adaptativa. La señal primaria contiene la señal de interés, s, y un ruido aditivo. Se asume que se

puede obtener un ruido de entrada de referencia, n1, que está correlado con el ruido original n0.

En la Figura 9 (b), el filtro adaptativo recibe la referencia de ruido, la filtra y sustrae el resultado

de la señal primaria. Desde el punto de vista del filtrado adaptativo, la señal primaria actúa como

señal deseada y la salida del sistema como error. La salida del sistema se obtiene sustrayendo el

ruido de referencia filtrado de la señal primaria.

Page 33: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

20

Σ-

+salida delsistema

Filtroóptimo salidas + no

entrada

(a)

Filtroadaptativo

Fuentede ruido

Fuentede señal

error e

entrada dereferencia

entradaprimaria

s + n0

n1

cancelador de ruido adaptativo

(b)

Figura 9: Separación de señal y ruido: (a) clásica; (b) con filtro adaptativo

Para hacer la cancelación de ruido adaptativa se podría esperar que el filtro necesitara algún

conocimiento sobre la señal s o sobre los ruidos n0, n1, antes de que pudiera adaptarse para

producir la señal y. Pero no hace falta. Tan sólo hay que saber que n0 está correlada con n1, y

que y está incorrelada con ambas.

Asumiendo ésto, y que las señales son estadísticamente estacionarias y de media 0, se tiene:

ynse −+= 0

Elevando al cuadrado se obtiene:

( ) ( )ynsynse −+−+= 02

022 2

Tomando el valor esperado y haciendo uso de que la señal s está incorrelada con n0 y con y, se

obtiene que el valor mínimo del error es:

Page 34: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

21

[ ]( ) [ ] [ ]( )mínmín ynEsEeE 20

22 −+=

Cuando el filtro es ajustado de forma que E[e2] es minimizado, E[(n0 - y)2] es también

minimizado. En ese momento, y es la mejor estimación del ruido primario n0. Además, cuando

E[(n0 - y)2] es minimizada, E[(e - s)2] es también minimizada, ya que

( ) ( )ynse −=− 0

Ajustar o adaptar el filtro para minimizar la potencia total de salida es hacer que e sea la mejor

estimación de la señal s.

La cancelación de ruido adaptativa es una técnica muy potente en proceso de señal. La primera

aplicación que tuvo fue la cancelación de la interferencia de 60 Hz (o 50 Hz) en

electrocardiogramas. Las causas de la interferencia son las inducciones magnéticas y las

corrientes desplazadas de la potencia de línea y los lazos de tierra. El filtrado convencional se ha

usado para combatir dicha interferencia, pero la mejor solución parece ser la cancelación de

ruido adaptativa.

La Figura 10 muestra la aplicación de esta cancelación a los electrocardiogramas. La señal

primaria se toma de un preamplificador de electro (ECG); la entrada de referencia de los 60 Hz

se toma de una salida de la pared. El filtro adaptativo contiene dos coeficientes variables, uno

aplicado a la entrada de referencia directamente y el otro a una versión de ésta desfasada 90º.

La salida del filtro se sustrae de la entrada primaria. Un resultado típico del experimento se

muestra en la Figura 11. La Figura 11 (a) muestra la señal primaria, un electro con una cantidad

excesiva de interferencia de 60 Hz, y la Figura 11 (b) muestra la señal de referencia de la salida

de la pared. La Figura 11 (c) es la salida del cancelador de ruido. Se llama la atención del lector

sobre la ausencia de interferencia y la claridad de los detalles una vez que el proceso adaptativo

converge.

Page 35: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

22

Figura 10: Cancelación de la interferencia de 60 Hz en electrocardiogramas

Figura 11: Resultados de la cancelación de ruido en el experimento: (a) entrada primaria, (b) entrada de

referencia, (c) salida de la cancelación de ruido

Otra aplicación útil de la cancelación de ruido adaptativa es la eliminación de interferencia del

corazón de una madre cuando se quiere hacer un electrocardiograma a un feto. La Figura 12

muestra la localización de los corazones del feto y de la madre, y el lugar de los cables de

Page 36: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

FILTROS ADAPTATIVOS APLICACIÓN PRÁCTICA DE FILTROS ADAPTATIVOS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

23

entrada. El cable abdominal nos da la señal de entrada (conteniendo el electro del feto con la

interferencia de la madre), y el cable del pecho nos da el electro de la madre puro.

Figura 12: Cancelación del latido de la madre en el electrocardiograma del feto

La configuración del cancelador de ruido adaptativo está basada en el esquema mostrado en la

Figura 8, en el cual la señal deseada será la tomada por el electrodo del abdomen, y la señal de

entrada la tomada por el electrodo del pecho. Esta configuración constituye un cancelador de

ruido de referencia múltiple, que trabaja como un cancelador de un sólo canal. La Figura 13

muestra los resultados. El electro maternal del cable del pecho es filtrado adaptativamente y

sustraído de la señal abdominal, dejando el electro del feto totalmente puro. Esto es un

problema interesante ya que los electros del feto y de la madre tienen espectros superpuestos.

Los dos corazones son eléctricamente aislados y trabajados independientemente. La frecuencia

del segundo armónico del electro materno está cerca del armónico fundamental del ECG del

feto, por lo que las técnicas de filtrado ordinarias tendrían mucha dificultad con este problema.

Figura 13: Resultados del electrocardiograma del feto: (a) entrada de referencia (cable del pecho), (b)

entrada primaria (cable del abdomen), (c) salida del cancelador de ruido.

Page 37: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 3: MODELADO ADAPTATIVO

Page 38: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

25

3.1. INTRODUCCIÓN

El modelado de plantas adaptativas o identificación de plantas es una función importante para

todos los sistemas de control. En el mundo real, la planta que va a ser controlada podría ser

desconocida y posiblemente variable en el tiempo. Si la planta es inestable, primero tiene que ser

estabilizada con realimentación. Esto podría no ser fácil de hacer, especialmente cuando la

dinámica de la planta se conoce poco. Un sistema de modelado adaptativo discreto en el tiempo

muestrea la entrada y salida de la planta, y ajusta automáticamente sus parámetros internos para

producir una salida muestreada que está muy cerca de la salida de la planta cuando las muestras

de la señal de entrada a la planta se usan como entrada al modelo adaptativo. Cuando la planta

y su modelo producen salidas similares, la respuesta impulsiva adaptativa es una buena

representación de la respuesta impulsiva de la planta.

La idea básica se muestra en la Figura 14:

Modeloadaptativo

P’(z)

PlantaP(z)

-

+

++

Ruido de la plantan(k)

Σ

y'(k)

Salida de la plantaz(k)

respuesta deseada

Error e(k)

Entrada de la plantau(k)

y(k)Σ

Figura 14: Modelo adaptativo de una planta ruidosa

El sistema adaptativo descrito sólo trabaja con la entrada y salida de la planta. Para el control

inverso adaptativo, la planta aparece como un sistema discreto en el tiempo de función de

transferencia P(z). P(z) es modelada y controlada.

Page 39: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

26

El ruido de la planta y del sensor pueden unirse ambos por conveniencia como un ruido único

aditivo a la salida de la planta. La respuesta dinámica de la planta es yk. La salida total zk viene

dada por:

kkk nyz +=

La función de transferencia de la planta es P(z). Su respuesta impulsiva en forma de vector es:

[ ]TlppppP ......321=

La entrada de la planta es uk, así que:

kkk puy *=

Tomando transformada z, se tiene:

)()()( zPzUzY =

Los parámetros del modelo adaptativo de la Figura 14 son generalmente ajustados por un

algoritmo adaptativo, para que así el error ek sea minimizado en el sentido de mínimos

cuadrados. La señal deseada para el modelo adaptativo es zk.

Una forma muy útil y común de modelo adaptativo o filtro adaptativo es el filtro transversal,

cuyos coeficientes son controlados por un algoritmo adaptativo. En la Figura 14 lo que se hace

es converger hasta desarrollar la función de transferencia P’(z), que es una estimación de P(z):

[ ]Tnkkkkk ppppP '...'''' 321=

Hay n pesos (coeficientes) y cada peso es función de k, adaptándose iterativamente. Otras

formas de filtros adaptativos también pueden ser usadas. Se pueden generar modelos

adaptativos que son representaciones muy cercanas de plantas desconocidas. Para cualquier

tiempo k, de todas formas, habrá diferencias entre P’k y P. Estas diferencias se pueden llamar

desajustes. Hay tres fuentes de desajustes:

Page 40: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

27

1. Una fuente de desajuste viene de la representación de la planta, cuya respuesta impulsiva es

realmente de longitud infinita, en términos de un modelo cuya respuesta impulsiva es de

longitud finita.

2. Otra fuente de desajuste es debida a que la señal de entrada puede ser que no excite a todos

los modos importantes de la planta. Esto se puede subsanar usando una señal oscilante que

sea una “excitación permanente” añadida a la señal de entrada. La oscilación ayuda a hacer

el proceso de modelado seguro y sólido, pero tiene la desventaja de introducir un ruido

adicional en el sistema de control.

3. Una tercera fuente es el ruido en los pesos del modelo debido al proceso adaptativo.

Cantidades finitas de datos son usados por el proceso adaptativo para determinar estos

coeficientes. Sólo si el proceso adaptativo fuera hecho infinitamente lento, usando una

cantidad infinita de datos, no habría ruido. La adaptación rápida causa ruido en los pesos de

P’k.

Page 41: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO DESARROLLO DEL MODELO IDEALIZADO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

28

3.2. DESARROLLO DEL MODELO IDEALIZADO

El siguiente análisis de modelo adaptativo está idealizado en el sentido de que el modelo

adaptativo se asume que es de longitud infinita como la misma planta, y se asume que todos los

modos de las plantas se excitan con señales estadísticamente estacionarias. El proceso adaptativo

es convergente y no presenta ruido en los coeficientes.

El modelo adaptativo tiene una entrada uk, y una salida y’k que es la estimación de la salida de la

planta yk. Cuando converja, la función de transferencia del modelo adaptativo será P’*(z). Su

respuesta impulsiva en forma de vector será designada por P’*. La fórmula para P’*(z) puede ser

obtenida de la teoría de Wiener como sigue:

)()()'*(

zzzP

uu

uz

ΦΦ=

donde φuz(z) es la transformada z de la correlación cruzada φuz(k),

[ ]kjjuz zuEk +=Φ )(

∑∞

−∞=

−=Φk

kuzuz zkz )()( φ

y donde Φuu(z) es la transformada z de la autocorrelación de la función φuu(k), que se definiría

igual que la anterior, cambiando el sufijo z por u. Asumiendo que el ruido de la planta nk está

incorrelado con la entrada de la planta uk y con la salida de ésta yk, se tiene:

[ ] )()()( kuyuEk uykjkjjuz Φ=+=Φ ++

Transformando ambos lados:

)()( zz uyuz Φ=Φ

Sustituyendo,

)()(

)'*(zz

zPuu

uy

ΦΦ

=

Page 42: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO DESARROLLO DEL MODELO IDEALIZADO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

29

Además, por definición, Φuy(z) = Φuu(z)P(z), por lo que

)()'*( zPzP =

Se concluye que, a pesar de la presencia del ruido de la planta, el modelo de mínimos cuadrados

desarrollará una función de transferencia igual a la de la planta. Este resultado se puede sostener

mientras que el ruido de la planta no esté correlado con la señal de entrada.

Page 43: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO DESAJUSTE DEBIDO AL USO DE MODELOS FIR

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

30

3.3. DESAJUSTE DEBIDO AL USO DE MODELOS FIR

En la práctica, la planta P(z) tiene generalmente un comportamiento exponencial transitorio, por

lo que su respuesta impulsiva es infinita (IIR). Por otra parte el filtro adaptativo generalmente

usado tiene una respuesta impulsiva finita (FIR). El resultado es un desajuste, una diferencia entre

P’* y P. La teoría de Wiener se puede usar para estudiar este desajuste.

Sabiendo que:

)()()'*(

zzzP

uu

uz

ΦΦ=

se puede escribir:

[ ] [ ]uzuuP ΦΦ= −1'*

Asumiendo que el ruido de la planta nk es incorrelado con la señal de entrada uk, φuz puede ser

reemplazada por φuy:

[ ] [ ]uyuuP ΦΦ= −1'* (1)

Un caso especial es que la señal de entrada sea blanca. En este caso:

[ ] Iuu

uu )0(11

Φ=Φ − (2)

Teniendo en cuenta que la correlación cruzada entrada-salida de un sistema se puede poner:

)()()( zzHz xxxy Φ=Φ

siendo x la entrada, y la salida, y H la función de transferencia, para este sistema se tiene:

[ ] )0(2

1

uu

n

uy

P

PP

Φ

=Φ (3)

Page 44: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO DESAJUSTE DEBIDO AL USO DE MODELOS FIR

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

31

Usando las ecuaciones (1), (2) y (3) se concluye que:

Φ=

n

uu

n

uu

P

PP

P

PP

P 2

1

2

1

)0()0(

1'*

Por lo tanto, la mejor implementación de un modelo IIR mediante uno FIR se hace cuando la

señal de entrada es blanca. Cuando esta señal es coloreada pero excita permanentemente a la

planta, el proceso trabajará de forma similar.

El desajuste será menor cuanto mayor sea el parámetro n, que es el número de coeficientes del

filtro. Pero cuanto mayor sea n más ruidoso será el vector de pesos, por lo que hay que tener

cuidado a la hora de elegir n.

Page 45: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVODESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO

ADECUADA: USO DE UNA SEÑAL DE EXCITACIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

32

3.4. DESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO

ADECUADA: USO DE UNA SEÑAL DE EXCITACIÓN

Para lograr una realización de filtro adaptativo lo más parecida posible al sistema desconocido

sobre un conjunto de frecuencias, es necesario que la señal de entrada tenga un espectro de

energía que cubra todo este rango de frecuencias. Si no es así habrá un desajuste, una

diferencia entre P’* y P.

Otra dificultad sería que la señal de entrada, uk, no fuera estacionaria, porque el proceso de

modelado adaptativo se desarrolla mejor si la entrada es estacionaria. Por ejemplo, si la señal de

entrada es cero durante un largo periodo de tiempo, el modelo obtenido no sería bueno.

Una posible solución supone añadir a la señal de entrada una señal de excitación. Esta señal

ofrece la ventaja de proveer de una señal de entrada conocida con propiedades estadísticas

fáciles de controlar, pero ofrece la desventaja de añadir más ruido al proceso de control. Será

importante, por tanto, elegir un espectro con un nivel de potencia adecuado de esta señal.

Añadiendo la señal de excitación, la salida del controlador no será tan larga como la entrada de

la planta. Para distinguirlas se continuará designando a la entrada de la planta como uk, y de

ahora en adelante se denotará como u’k a la salida del controlador.

Hay varias formas de usar una señal de excitación en el proceso de modelado, de las que se

mostrarán cuatro. La primera, que se designará como esquema A, es una forma muy sencilla de

hacer modelado de plantas. La señal de excitación δk es añadida simplemente a la salida del

controlador para formar la señal de entrada a la planta uk. Este es un esquema efectivo cuando

la salida del controlador es un proceso estocástico estacionario y la señal de excitación se añade

para lograr una característica espectral deseada para uk.

Page 46: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVODESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO

ADECUADA: USO DE UNA SEÑAL DE EXCITACIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

33

uk

Modeloadaptativo

P’k(z)

PlantaP(z)

-

+

++

Ruido dela planta

nk

Σ

Salidaplanta

Señaldeseada

Error ek

Entradaplanta

++

Señaloscilante

δk

Salidacontrolador

u’kΣ Σ

Figura 15: Uso de una señal de excitación en el proceso de modelado (esquema A)

Como la señal de excitación es una señal aleatoria independiente, su espectro se suma a la salida

del controlador para componer el espectro de uk. Hay aquí una analogía con la técnica

fotográfica que emplea el flash a plena luz del día, para rellenar las sombras.

En oposición a esto, los esquemas B y C usan la señal de excitación exclusivamente para el

efecto del proceso de modelado adaptativo de la planta. El propósito es asegurar propiedades

estadísticamente estacionarias conocidas para la señal de entrada.

uk

Modeloadaptativo

P’k(z)

PlantaP(z)

-

+

++

Ruido dela planta

nk

Σ

Salidaplanta

Señaldeseada

Error ek

Entradaplanta

+

+

Salidacontrolador

u’k

Señal oscilanteδk

Σ Σ

Figura 16: Uso de una señal de excitación en el proceso de modelado (esquema B)

Page 47: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVODESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO

ADECUADA: USO DE UNA SEÑAL DE EXCITACIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

34

Usando el esquema B con una señal de excitación blanca, el error cuadrático medio será

minimizado cuando la respuesta impulsiva del modelo adaptativo iguale exactamente al de la

planta.

En este esquema el error es mayor que en el esquema A, ya que aquí será igual a la potencia del

ruido de la planta más la potencia de la salida del controlador u’k después de propagarse a

través de la planta. Sin embargo, con el esquema A, el error cuadrático medio será igual a la

potencia del ruido de la planta.

Modeloadaptativo

P’k(z)

PlantaP(z)

-

+

++

Ruido dela planta

nk

Salidaplanta

Señal deseada

Error ek

Entradaplanta

uk

+

+

Salidacontrolador

u’k

Señal oscilanteδk

-+

CopiaP’k(z)

Σ Σ

Σ

Σ

Figura 17: Uso de una señal de excitación en el proceso de modelado (esquema C)

La diferencia entre el esquema C y el esquema B es que el primero incorpora una técnica para

eliminar los efectos de la propagación de u’k a través de la planta en la señal de error ek. Se usa

un filtro que es una copia digital exacta de P’k (z). Su entrada es la salida del controlador u’k , y la

salida se sustrae de la salida de la planta obteniendo una señal deseada para la adaptación de

P’k(z), la cual no contiene componentes dinámicas de u’k . La inclusión de esta copia no afecta a

la solución de Wiener, ya que la salida es incorrelada con la señal oscilante δk. Con esta copia de

P’k(z) se reduce el error cuadrático medio. Cuando P’k(z) converge para ser lo más parecida a P(z),

el error ek del proceso adaptativo es casi exactamente igual a la salida del ruido de la planta sólo.

Page 48: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVODESAJUSTE DEBIDO A UNA SEÑAL DE ENTRADA NO

ADECUADA: USO DE UNA SEÑAL DE EXCITACIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

35

El esquema C se puede redibujar de la siguiente forma:

Modeloadaptativo

P’k(z)

PlantaP(z)

++

Ruido dela planta

nk

Salidaplanta

Error ek

Entradaplanta

uk

+

+

Salidacontrolador

u’k

Señal oscilanteδk

-+

CopiaP’k(z)

Σ Σ

Σ

Figura 18: Uso de una señal de excitación en el proceso de modelado (esquema C, alternativo)

Page 49: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

36

3.5. SIMULACIONES DE MODELADO ADAPTATIVO

Para demostrar el proceso de modelado adaptativo de una planta desconocida, se han realizado

experimentos de simulación y los resultados serán descritos aquí. Para el propósito de la

experimentación, la planta será conocida para nosotros, pero desconocida para el algoritmo

adaptativo.

Se empleará una planta inestable de fase no mínima:

)1)(1(5.0)(−+

−=ss

ssH

Conociendo la planta, es fácil estabilizarla. Se utiliza un compensador y una realimentación

negativa. Se muestra en la siguiente figura:

+

-k (s + 1)

(s+7)(s-2)(s - 0.5)

(s+1)(s-1)Σ

Figura 19: Estabilización de una planta inestable de fase no mínima

Trabajamos con dos valores de la ganancia k, uno k=21 y otro k=24. Con ambos valores se

estabiliza el sistema. Para k= 21, la función de transferencia G(s) de todo el sistema viene dada

por:

)9601.01424.0)(9601.01424.0)(7152.3()5.0(21)(

jsjssssG

−++++−=

y para k=24,

)2()1()5.0(24)( 2 ++

−=ss

ssG

El lugar de las raíces de la función de transferencia para k=21 es:

Page 50: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

37

-6 -4 -2 0 2 4 6-6

-4

-2

0

2

4

6Lugar de las raíces

Eje real

Eje

imag

inar

io

Figura 20: Lugar de las raíces del lazo de estabilización de la planta (k=21)

Y para k=24,

-6 -4 -2 0 2 4 6-6

-4

-2

0

2

4

6Lugar de las raíces

Eje real

Eje

imag

inar

io

Figura 21: Lugar de las raíces del lazo de estabilización de la planta (k=24)

Page 51: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

38

Encontrar un compensador y una ganancia para estabilizar la planta es algo fácil si se sabe cómo

es la planta y dónde tiene los polos y los ceros. Sin este conocimiento, habría que hacer un gran

número de experimentos para estabilizar la planta con éxito.

En un sistema de control inverso adaptativo el controlador será discreto. Será necesario por tanto

un convertidor digital analógico que tome la señal de control y la use para conducir la planta.

Para este experimento se ha escogido un DAC de orden cero. Se modelará la planta estabilizada

incluyendo el DAC. El modelo de la planta estabilizada será discreto, así que se necesitará

muestrear la salida de la planta para el proceso de modelado adaptativo.

La idea básica se ilustra en el esquema siguiente:

+

-

k (s + 1)(s+7)(s-2)

(s - 0.5)(s+1)(s-1)

1 - z-1

s

Modeloadaptativo

G’(z)

-

DAC

G(s)

Σ

Figura 22: Modelado adaptativo de la planta estabilizada

La función discretizada para los valores de k son, para k=21:

)6897.0)(0945.09813.0)(0945.09813.0()8609.0)(0513.1(906.0)(

−−−+−+−=

zjzjzzzzG

y para k=24:

)8187.0()9048.0()8608.0)(0513.1(1032.0)( 2 −−

+−=zz

zzzG

Page 52: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

39

La respuesta impulsiva para G(z) con k=21 se muestra en la Figura 23.

0 50 100 150 200 250 300 350 400-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Salida del sistema

Tiempo (0.1 s)

Figura 23: Respuesta impulsiva de la planta de fase no mínima, estabilizada y discretizada (k=21)

El modelo adaptativo del sistema se puede hallar empleando como entrada una señal de

excitación. El entrenamiento para hallar dicho modelo, y la evolución de su error, se muestran en

las siguientes figuras:

Page 53: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

40

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-10

-8

-6

-4

-2

0

2

4

6

8

10Salida del sistema

Muestras

Sal

ida

real

(rojo

)yes

timad

a(a

zul)

Figura 24: Entrenamiento del modelo adaptativo de la planta de fase no mínima, estabilizada y

discretizada (k=21)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010-5

10-4

10-3

10-2

10-1

100

101

Evolución del error

Muestras

Val

orde

lerro

r

Figura 25: Evolución del error (semilogy) en el entrenamiento del modelo adaptativo de la planta de fase

no mínima, estabilizada y discretizada (k=21)

Page 54: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

41

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-6

-4

-2

0

2

4

6Evolución del error

Muestras

Val

orde

lerro

r

Figura 26: Evolución del error en el entrenamiento del modelo adaptativo de la planta de fase no mínima,

estabilizada y discretizada (k=21)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

5

10

15

20

25

30

35

40Evolución del error cuadrático

Muestras

Val

orde

lerro

r

Figura 27: Evolución del cuadrado del error en el entrenamiento del modelo adaptativo de la planta de

fase no mínima, estabilizada y discretizada (k=21)

Page 55: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

42

El aprendizaje del modelo queda demostrado con estas últimas gráficas mostradas, en la que se

puede observar cómo el error llega a hacerse muy pequeño, de modo que el modelo adaptativo

resultante es capaz de proporcionar una salida muy similar a la ideal (mostrada en la Figura 23).

Esto puede comprobar viendo la respuesta impulsiva del modelo adaptativo, obtenido según el

esquema de la Figura 22, que se muestra en la Figura 28, y el error entre la respuesta impulsiva

del sistema original y de su modelo adaptativo de la Figura 30.

0 50 100 150 200 250 300 350 400-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Salida del sistema

Tiempo (0.1 s)

Figura 28: Respuesta impulsiva del modelo adaptativo de la planta de fase no mínima, estabilizada y

discretizada (k=21)

Page 56: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

43

0 50 100 150 200 250 300 350 400-0.06

-0.04

-0.02

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14Evolución del error

Muestras

Val

orde

lerro

r

Figura 29: Diferencia entre la respuesta impulsiva de la planta y la de su modelo adaptativo (k=21)

0 50 100 150 200 250 300 350 4000

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

0.018Evolución del error cuadrático

Muestras

Val

orde

lerro

r

Figura 30: Diferencia cuadrática entre la respuesta impulsiva de la planta y la de su modelo adaptativo

(k=21)

Page 57: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

44

El error cometido entre el modelo real y su adaptado es muy pequeño. Lo mismo se puede

calcular para el sistema con k=24. Las figuras se muestran a continuación:

0 50 100 150

-0.2

-0.1

0

0.1

0.2

0.3

Salida del sistema

Tiempo (0.1 s)

Figura 31: Respuesta impulsiva de la planta de fase no mínima, estabilizada y discretizada (k=24)

Page 58: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

45

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-6

-4

-2

0

2

4

6Salida del sistema

Muestras

Sal

ida

real

(rojo

)yes

timad

a(a

zul)

Figura 32: Entrenamiento del modelo adaptativo de la planta de fase no mínima, estabilizada y

discretizada (k=24)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 1000010-5

10-4

10-3

10-2

10-1

100

101Evolución del error

Muestras

Val

orde

lerro

r

Figura 33: Evolución del error (semilogy) en el entrenamiento del modelo adaptativo de la planta de fase

no mínima, estabilizada y discretizada (k=24)

Page 59: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

46

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 10000-4

-3

-2

-1

0

1

2

3Evolución del error

Muestras

Val

orde

lerro

r

Figura 34: Evolución del error en el entrenamiento del modelo adaptativo de la planta de fase no mínima,

estabilizada y discretizada (k=24)

0 1000 2000 3000 4000 5000 6000 7000 8000 9000 100000

2

4

6

8

10

12

14Evolución del error cuadrático

Muestras

Val

orde

lerro

r

Figura 35: Evolución del cuadrado del error en el entrenamiento del modelo adaptativo de la planta de

fase no mínima, estabilizada y discretizada (k=24)

Page 60: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

47

0 50 100 150

-0.2

-0.1

0

0.1

0.2

0.3

Salida del sistema

Tiempo (0.1 s)

Figura 36: Respuesta impulsiva del modelo adaptativo de la planta de fase no mínima, estabilizada y

discretizada (k=24)

Page 61: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

48

0 50 100 150-3.5

-3

-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5x 10-3 Evolución del error

Muestras

Val

orde

lerro

r

Figura 37: Diferencia entre la respuesta impulsiva de la planta y la de su modelo adaptativo (k=24)

0 50 100 1500

0.2

0.4

0.6

0.8

1

1.2x 10-5 Evolución del error cuadrático

Muestras

Val

orde

lerro

r

Figura 38: Diferencia cuadrática entre la respuesta impulsiva de la planta y la de su modelo adaptativo

(k=24)

Page 62: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

49

Si se añade una señal de ruido a la salida de la planta para testar la habilidad del esquema de la

Figura 22, se observa una perturbación en la respuesta impulsiva del modelo adaptativo, la cual

se puede mejorar disminuyendo el factor µ en un orden de magnitud. La respuesta impulsiva en

este caso para la función de transferencia con k=24 se muestra en la figura siguiente.

0 50 100 150

-0.2

-0.1

0

0.1

0.2

0.3

Salida del sistema con ruido

Tiempo (0.1 s)

Figura 39: Respuesta impulsiva del modelo adaptativo de la planta de fase no mínima, estabilizada y

discretizada, sometida a perturbaciones (k=24)

Page 63: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

50

El modelo de la Figura 22 confía en que la señal de entrada sea suficientemente buena para

excitar a la planta. Se puede hacer un experimento usando una señal de excitación, como en el

esquema C explicado anteriormente, que se muestra en la Figura 40.

G’(z)-

Error

Entrada+

+

Señal oscilanteδk

-+

ΣCopiaG’(z)

+

-

k (s + 1)(s+7)(s-2)

(s - 0.5)(s+1)(s-1)

1 - z-1

s

DAC

G(s)

ΣΣ

Figura 40: Modelado de la planta empleando el esquema C

Page 64: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

51

La respuesta impulsiva ‘aprendida’ se muestra en la Figura 41. Es muy cercana a la respuesta

impulsiva de la Figura 23.

0 50 100 150 200 250 300 350 400-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Salida del sistema

Tiempo (0.1 s)

Figura 41: Respuesta impulsiva del modelo adaptativo de la planta de fase no mínima, estabilizada y

discretizada (k=21), obtenido mediante el esquema C

Page 65: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO ADAPTATIVO SIMULACIONES DE MODELADO ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

52

Como se comentó anteriormente, el esquema C trabaja muy bien en presencia de

perturbaciones en la planta. Como ejemplo se muestra la misma respuesta impulsiva del sistema

anterior, ante la presencia de perturbaciones en la planta:

0 50 100 150 200 250 300 350 400-0.5

-0.4

-0.3

-0.2

-0.1

0

0.1

0.2

0.3

0.4Salida del sistema con ruido

Tiempo (0.1 s)

Figura 42: Respuesta impulsiva, sometida a perturbaciones, del modelo adaptativo de la planta de fase no

mínima, estabilizada y discretizada (k=21), obtenido mediante el esquema C

Estos experimentos muestran cómo las plantas estabilizadas pueden ser modeladas con filtros

adapatativos FIR. Cuando la señal de entrada es suficientemente buena, se puede usar el modelo

de la Figura 22. Si es necesario una señal oscilante se pueden usar los esquemas A, B, o C.

Page 66: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 4: MODELADO DE PLANTAS

INVERSAS

Page 67: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

54

4.1. INTRODUCCIÓN

Los conceptos de control mostrados en el primer capítulo implican el uso de plantas inversas

adaptativas como controladores en configuraciones de control por realimentación hacia

adelante. A continuación se van a desarrollar las técnicas generales necesarias para encontrar las

inversas de las plantas que van a ser controladas. Se aplicará sólo a plantas estables. Si la planta

de interés es inestable, se deberá realizar una realimentación hacia atrás convencional para

estabilizarla.

La planta generalmente tiene polos y ceros. La inversa de la planta, por lo tanto, debería tener

ceros y polos. Si la planta es de fase mínima, tiene todos sus ceros dentro del círculo unidad. Si

la planta es de fase no mínima, entonces los polos de la inversa estarán fuera del círculo unidad

y la inversa será inestable. En general, no conociendo si la planta es de fase mínima o no, no se

sabe si se podrá realizar la inversa. Esta incertidumbre puede ser superada y fabricar excelentes

inversas usando las técnicas de modelado inverso adaptativo apropiadas.

Se empezará con una discusión sobre el modelado inverso de plantas de fase mínima, y luego las

de fase no mínima. El modelo de referencia del modelado inverso será descrito después, y los

efectos del ruido de la planta.

Page 68: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

55

4.2. INVERSAS DE PLANTAS DE FASE MÍNIMA

La planta se representa por P(z). La inversa de la planta, que será usada como el controlador, se

designará por C(z) si es ideal, o por C’(z) si se obtiene por un camino práctico, y no es

suficientemente perfecta. Se asume que la planta P(z) es de fase mínima, teniendo todos sus

ceros dentro del círculo unidad en el plano z. Entonces, podría existir una inversa perfecta:

)(1)(zP

zC =

Ésta sería estable y causal.

-

+

Inversa plantaC’(z)

PlantaP(z)

Señal demodelado

u

Σ

Salida plantay

error

Figura 43: Formando la inversa de una planta

Un algoritmo adaptativo como el de la Figura 43 proporciona una inversa C’(z) que se

aproximará a C(z), dando al algoritmo suficiente flexibilidad, esto es, suficiente número de

grados de libertad.

Ajustando C’(z) para minimizar el error cuadrático medio, el error será próximo a cero, y C’(z)

será casi igual a C(z).

Si, por ejemplo, se supone que la planta tiene una función de transferencia:

21

1

431

211

)(−−

++

+=

zz

zzP

Page 69: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

56

Esta planta es causal y estable, ya que todos sus polos están dentro del círculo unidad en el

plano z. Es de fase mínima porque sus ceros están también dentro del círculo unidad. La

recíproca de esta planta es una inversa perfecta:

1

21

211

431

)(1)(

−−

+

++==

z

zz

zPzC

Esta función de transferencia se puede expandir en fracciones simples:

...83

43

23

231)( 4321 ++−+−= −−−− zzzzzC

Se puede ver que C(z) es causal. Tomando como referencia la Figura 43, si el filtro inverso

adaptativo C’(z) tuviera una respuesta impulsiva infinita, podría perfectamente ser C(z). Si tuviera

una respuesta impulsiva finita pero muy larga, la diferencia entre C(z) y C‘(z) sería insignificante.

Se va a hacer un inciso en este punto demostrar que la solución de Wiener para la función de

transferencia del filtro adaptativo C’(z) será igual a la inversa de P(z). La señal de entrada de la

Figura 43 será blanca, con potencia unidad. La transformada de la autocorrelación de esta señal

es por tanto la unidad. La transformada z de la autocorrelación de la salida de la planta es:

)()()( 1−=Φ zPzPzyy

Esto es también la transformada de la autocorrelación de la entrada del filtro adaptativo C’(z). La

respuesta deseada para C’(z) es la señal de entrada. La transformada z de la correlación cruzada

entre la entrada de C’(z) y la respuesta deseada es:

)()( 1−=Φ zPzyu

La solución de Wiener para este caso es:

)()(

1)()(

)()()(

)(' 1

1

zCzPzPzP

zPzz

zCyy

yd ===ΦΦ

= −

Minimizando el error cuadrático medio se encuentra la inversa correcta.

Page 70: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE NO MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

57

4.3. INVERSAS DE PLANTAS DE FASE NO MÍNIMA

Ahora se va a considerar el ejemplo de la planta cuya función de transferencia es:

21

1

431

21)(−−

+−

+=zz

zzP

Esta planta es causal y estable, pero no es de fase mínima, ya que su cero cae fuera del círculo

unidad. La inversa de esta planta es:

1

21

21431

)(1)( −

−−

+

+−==

z

zz

zPzC

Es evidente que C(z) es inestable, ya que su polo cae fuera del círculo unidad. Usar C(z) como un

controlador en lazo abierto puede ser desastroso. Pero hay una forma de aliviar esta situación

que está basada en la teoría de la transformada de Laplace por dos lados. C(z) se puede

expandir de dos formas:

...27227

42731)( 4321 ++−+−= −−−− zzzzzC

...12827

6427

3227

1611

83)( 321 ++−+−= − zzzzzC

La primera expansión corresponde a una inversa causal pero inestable. La segunda a una no

causal, pero al menos estable. C(z) en cualquiera de las dos formas podría no resultar de la

optimización de Wiener. La primera forma podría hacer que el error cuadrático medio fuera

infinito. La segunda es no causal, y por tanto no es realizable por un filtro causal C’(z). De todas

formas, los dos primeros términos en esta segunda expansión son causales. Si la repercusión de

los demás términos son muy pequeños, la serie se podría aproximar por estos dos primeros

términos y se podría realizar un filtro causal útil que se aproximara a la inversa. Este no es el caso

del ejemplo actual de todas formas, pero la idea es sugestiva.

Seguidamente se muestra cómo sería la solución de Wiener para este ejemplo particular. Se

empleará la aproximación de Shanon-Bode. La Figura 44 ilustra cómo se hace . La señal de

Page 71: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE NO MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

58

modelado se asume que es blanca, de media cero y varianza unidad. La inversa causal de la

planta es, de acuerdo con Shanon-Bode, un compromiso entre un filtro blanqueador y un filtro

causal optimizado.

Filtro blanqueador

error

-

+

Señal demodelado

u

Σ

( )zz

zz

21431

1

21

+

+−−

−−( )

+−

++

1

1

2121

zzz

Planta

21

1

431

21−−

+−

+

zz

z

Filtro causal optimizado

Planta causal inversa

Figura 44: Ejemplo de diseño de Shannon-Bode de una planta inversa causal de Wiener

Para este ejemplo, usando una señal de modelado blanca, la transformada z de la

autocorrelación de la salida de la planta es:

( )( )

+−

+−

++=−−

−−

221

11

431

431

2121)()(zzzz

zzzPzP

Tras multiplicar y factorizar, la función de transferencia del filtro blanqueador apropiado resulta:

( )

+

+−=

+

+−

−−

−−

1

21

1

21

211

83

21

21

21431

z

zz

zz

zz

Sin considerar la causalidad, la función de transferencia del filtro optimizado se puede obtener

como la inversa del producto de la función de transferencia de la planta y el filtro blanqueador,

esto es:

1

1

21)21(

++z

zz

Page 72: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE NO MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

59

El próximo paso es encontrar una respuesta impulsiva estable correspondiente a esta última

función y luego borrar la porción no causal. Expandiendo:

...163

83

43

21

21)21( 32

1

1

−+−+=+

+−

zzzz

zz

La expansión es estable, pero cada término corresponde a una respuesta impulsiva no causal,

excepto el primero. Borrando la parte no causal, queda:

21

21)21(

1

1

=

++

+−

zzz

La solución causal de Wiener, finalmente, tiene una función de transferencia:

+

+−

−−

1

21

2114

431

z

zz

Con esto, el mínimo error cuadrático medio será H. Esto es un error cuadrático medio muy

grande comparado con la unidad, que es el valor cuadrático medio de la señal modeladora. El

filtro causal de Wiener no constituirá un buen controlador. La dificultad viene de intentar forzar

la planta de fase no mínima a responder instantáneamente a los comandos de entrada. En tales

casos, las respuestas retrasadas pueden ser utilizadas, con un error mucho más bajo.

Las plantas que tienen retraso la propagación de señales, u otras características que caen bajo la

descripción general de fase no mínima, no pueden ser forzadas a responder de forma

instantánea a cambios bruscos en las señales de control. Lo mejor que se puede hacer es adaptar

el controlador para que dé una respuesta impulsiva retrasada ante la señal modeladora. La idea

se ilustra en la Figura 45. La planta inversa retrasada se busca adaptativamente, así que cuando

su función de transferencia se multiplica por la función de transferencia de la planta P(z), el

producto tendrá una función de transferencia retrasada ∆ unidades.

Page 73: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE NO MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

60

-

+

Planta inversaretrasada

C’∆(z)

PlantaP(z)

Señal demodelado

Σ

Retrasoz-∆

Figura 45: Formando una planta inversa retrasada

Se puede reformular el ejemplo anterior, considerando un retraso según el esquema de la Figura

45. La planta es la misma, la entrada de la planta y la salida también, por lo que el filtro

blanqueador será el mismo. Ignorando los requerimientos de causalidad por el momento, la

función de transferencia del filtro optimizado se obtiene como la inversa del producto de la

planta y el filtro blanqueador, multiplicado por z-∆. El resultado es:

−−+−+=+

+ ∆−−

−∆− ...

323

163

83

43

21

21)21( 432

1

1

zzzzzz

zzz

Ahora se puede buscar una solución causal. El número de términos causales será igual a ∆+1. Si,

por ejemplo, se toma ∆=4:

323

163

83

43

21

21)21( 1234

1

5

−+−+=

++ −−−−

+−

zzzzz

zz

La función de transferencia para el nuevo filtro de Wiener causal, una planta inversa retrasada,

es:

+−

+∆−

−−

++

+

+−1

)1(

1

21

21)21(·

)21(

)431

zzz

zz

zz

El error cuadrático medio para ∆=4 es aproximadamente 0.003. Esto representa un error muy

bajo. Este nuevo filtro de Wiener sí podría ser un controlador muy bueno. Cuanto más grande

Page 74: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS DE FASE NO MÍNIMA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

61

sea ∆, más términos se podrían incluir y resultaría una inversa retrasada más perfecta. Pero el

retraso en la respuesta de todo el sistema de control podría ser mayor si el filtro inverso se usa

como controlador. Con un retraso infinito, la inversa retrasada podría ser perfecta, pero inútil

desde un punto de vista práctico. Es claro que aumentando ∆ se reduce el error cuadrático

medio. Este será el caso general para cualquier planta de fase no mínima. Si la planta es de fase

mínima, un ∆ igual a 0 será suficiente, excepto cuando la planta tenga más polos que ceros. En

ese caso se utilizará ∆=1.

El análisis anterior se basa en que se asume el hecho de que el filtro inverso adaptativo C’∆(z) es

causal y tiene una respuesta impulsiva infinita (IIR). Si la respuesta impulsiva es finita (FIR),

incrementar ∆ más allá del límite de cualquier necesidad razonable podría llegar a ser dañino,

puesto que se podría llegar a “empujar” la respuesta impulsiva “fuera de la ventana de tiempo”

de C’∆(z).

Del estudio analítico simple del ejemplo anterior, se pueden ver las posibilidades de encontrar

excelentes inversas retrasadas para plantas de fase mínima y no mínima. Se ha usado la

aproximación de Shanon-Bode para determinar la función de transferencia óptima y causal IIR

para C’∆(z) y para determinar los valores del error cuadrático medio. Esta teoría sólo se puede

usar cuando existe una representación de la planta en la forma polo-cero. En el mundo real, P(z)

podría no ser conocida. En lugar de usar la teoría de Shanon-Bode, se podría usar un algoritmo

adaptativo simple para determinar el mejor C’∆(z). La solución adaptativa se podría aproximar al

resultado de Shanon-Bode. Aunque Shanon-Bode trabaja con filtros IIR, el filtro inverso

adaptativo podría ser un filtro FIR. La arquitectura de filtros FIR permite la adaptación con el

algoritmo LMS y, no habiendo polos, no habría problemas de inestabilidad.

Page 75: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE MODELOS DE REFERENCIA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

62

4.4. INVERSAS DE MODELOS DE REFERENCIA

En la Figura 46 se ilustra un proceso adaptativo para buscar una planta inversa con modelo de

referencia, C’M(z). El propósito de este proceso es obtener un controlador C’M(z) que cuando se

use para conducir la planta, resulte un sistema de control cuya función de transferencia pueda

seguir de forma muy cerca a la función de transferencia M(z) del modelo de referencia dado. El

esquema de modelado de una inversa retrasada de la Figura 45 es un caso particular, en el que

el modelo de referencia es un retraso simple con una función de transferencia de z-∆.

-

+

Inversa de plantacon modelo de

referenciaC’Μ(z)

PlantaP(z)

Señalmodeladora

ΣModelo dereferencia

M(z)

Figura 46: Buscando una planta inversa con modelo de referencia

Para demostrar como trabaja la inversa del modelo de referencia, se hace el siguiente

experimento: la Figura 47 muestra la respuesta al escalón de una planta P(z). Es estable, tiene un

retraso, y tiene una respuesta oscilatoria amortiguada. La Figura 48 muestra la respuesta del

modelo de referencia M(z), diseñado para tener el mismo retraso y una respuesta

sobreamortiguada. La Figura 48 también muestra la respuesta al escalón de la cascada de la

inversa con modelo de referencia C’M(z) y la planta P(z), mediante asteriscos. Se puede observar

que la respuesta del modelo de la cascada es muy parecida a la respuesta del modelo de

referencia, por lo que se ilustra la efectividad del proceso del modelo de referencia inverso.

Page 76: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE MODELOS DE REFERENCIA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

63

0 2 4 6 8 10 12 14 16 18 200

0.5

1

1.5

2

2.5Salida del sistema

Muestras

Am

plitu

d

Figura 47: Respuesta al escalón de la planta usada en el control con modelo de referencia

0 2 4 6 8 10 12 14 16 18 200

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Salida del sistema

Muestras

Am

plitu

d

Figura 48: Respuesta de la planta controlada (*), superpuesta sobre la respuesta al escalón deseada del

modelo de referencia, ilustrando la correcta adaptación

Page 77: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE MODELOS DE REFERENCIA

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

64

Para este experimento la función de transferencia era:

)7.01)(6.01()8.01(4.2)( 11

1

−−

−+−=

zzzzzP

y el modelo de referencia:

21

1

)5.01(25.0)( −

−=

zzzM

Para que la inversa fuera correcta, era necesario que el modelo de referencia tuviera un retraso al

menos tan grande como el de la planta, o que tuviera una respuesta al escalón lenta. Como esta

condición se cumple, la respuesta al escalón del controlador y de la planta siguen de forma muy

cercana a la del modelo de referencia.

Page 78: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS CON PERTURBACIONES

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

65

4.5. INVERSAS DE PLANTAS CON PERTURBACIONES

El proceso de modelado inverso llega a ser un poco más complicado cuando la planta está sujeta

a alteraciones. El esquema de modelado inverso se muestra en la Figura 49, en su aproximación

más simple:

Error ek

dk

zkyk

-

+

Inversa de plantacon modelo de

referenciaC’Μ(z)

PlantaP(z)uk

Modelo dereferencia

M(z)

++

Ruido dela planta

nk

Σ

Σ

Figura 49: Método incorrecto de modelado inverso de una planta con perturbaciones

Desafortunadamente, esta aproximación no trabaja muy bien con una planta sujeta a

perturbaciones. La razón es que la alteración, yendo directamente a la entrada del filtro inverso

adaptativo C’(z), distorsiona la solución convergente de Wiener e impide la formación apropiada

de la inversa.

Sin perturbaciones en la planta, la solución de Wiener sería:

)()(

)()(

)('zPzM

zz

zCyy

yd =ΦΦ

=

Este es el resultado que se debe buscar. Se hace notar que yk es la salida de la planta sin

alteración (como en la Figura 46) y dk es la salida del modelo de referencia.

La situación es diferente en presencia de la distorsión de la planta. En la Figura 49, la salida de la

planta distorsionada es zk . La solución de Wiener se puede escribir:

Page 79: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS CON PERTURBACIONES

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

66

)()(

)('zz

zCzz

zd

ΦΦ

=

Teniendo en cuenta que la distorsión de la planta nk no está correlada con dk y zk, la ecuación

anterior se puede escribir como:

)()()(

)('zz

zzC

nnyy

yd

Φ+ΦΦ

=

El segundo término en el denominador hace que C’(z) sea distinta a)()(

zPzM

.

y'k

Error ek

dk

zkyk

-

+

Inversa delmodelo dereferencia

C’(z)

PlantaP(z)uk

Σ

Modelo dereferencia

M(z)

++

Ruido dela planta

nk

ΣModelo de la

plantaP’k(z)

+

-

Σ

Figura 50: Método adecuado para el modelado inverso de una planta con perturbaciones

El esquema de modelado inverso mostrado en la Figura 50 supera el problema anterior haciendo

uso de un modelo adaptativo de la planta. En lugar de encontrar una inversa del modelo de

referencia de la planta P(z), la inversa del modelo de referencia se toma de P’(z). La idea es que

P’(z) tiene esencialmente la misma respuesta dinámica de P(z), pero está libre de alteraciones.

Page 80: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS CON PERTURBACIONES

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

67

La distorsión de la planta no afecta a la solución de Wiener cuando la planta se modela

directamente para obtener P’(z). Sí afecta en el caso de utilizar el esquema de la Figura 49.

El esquema de la Figura 50 ha sido probado con plantas distorsionadas y trabaja muy bien. Se

debe tener en cuenta, de todos modos, que la existencia de niveles altos de perturbación en la

planta obliga a una adaptación de P’(z) más lenta, para tratar de mantener bajo el nivel de ruido

en los pesos. Y es importante mantener bajo el ruido en los pesos de P’(z) para que los pesos de

C’(z) también permanezcan bajos.

El sistema de la Figura 50 adapta los pesos de C’(z) online. La entrada de P’(z) es uk, la entrada

actual de la planta. La salida de P’(z) guía la entrada de C’(z). El proceso adaptativo para la

obtención de C’(z) siempre vendrá retrasado tras la obtención de P’(z). Ambos procesos

adaptativos trabajan en cascada. Para permitir que el proceso adaptativo de C’(z) siga los

cambios de P’(z) sin retardo, se propone un esquema offline, mostrado en la Figura 51.

Este esquema emplea uno de los métodos vistos en el capítulo anterior para obtener P’(z). Una

copia digital exacta de P’(z) se usa en un proceso offline para obtener C’(z). Una señal

modeladora sirve de entrada a la copia de P’(z), y su salida pasa por C’(z). La misma señal

modeladora sirve como referencia para el modelo de referencia M(z), y su salida se compara con

C’(z) para obtener una señal de error. C’(z) se adapta para minimizar la media cuadrática de este

error.

El proceso de modelado inverso offline puede ser ejecutado de forma mucho más rápida que el

de tiempo real. Tan rápido, en principio, que para valores instantáneos de P’(z) obtenidos por el

proceso directo de modelado, el proceso offline de modelado inverso proporciona los

correspondientes valores de C’(z), básicamente de forma instantánea.

La señal modeladora empleada para dirigir el proceso offline de modelado inverso podría ser

blanco, o mejor aún, podría ser espectralmente ajustado y diseñado para obtener mejores

resultados.

Page 81: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

MODELADO DE PLANTAS INVERSAS INVERSAS DE PLANTAS CON PERTURBACIONES

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

68

uk

Error

Error ek

ykPlantaP(z)

++

Ruido dela planta

nk

ΣModelo dereferencia

de la plantaP’k(z)

+

-

Σ Salida dela planta zk

-

+

C’k(z)CopiaP’k(z)

Señalmodeladora

ΣModelo dereferencia

M(z)

Figura 51: Proceso offline para el modelado inverso de una planta con perturbaciones

Page 82: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 5: CONTROL INVERSO

ADAPTATIVO

Page 83: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

70

5.1. INTRODUCCIÓN

Un sistema de control inverso adaptativo se muestra en la Figura 52. Si el controlador fuese

ideal, su función de transferencia sería:

)()()(

zPzMzC =

uk

Error ek

yk

-

+

ControladorC’(z)

PlantaP(z)

Entrada dela planta ik

Σ

Modelo dereferencia

M(z)

++

Ruido dela planta

nk

Σ Salida dela planta zk

Algoritmoadaptativo

Figura 52: Un sistema de control adaptativo que trabaja bien, pero adapta lentamente

El controlador adaptativo no será ideal generalmente; su función de transferencia puede ser

formulada como:

)()()(' zCzCzC ∆+=

El vector de coeficientes del controlador se puede expresar por tanto:

CCC ∆+='

El algoritmo LMS no se puede usar para adaptar el controlador de la Figura 52. Se pueden usar

otros muchos algoritmos adaptativos, de todas formas, para ajustar automáticamente los

coeficientes de C’(z). Sin embargo estos algoritmos son muy lentos. Sería deseable usar el LMS

porque es mucho más rápido, pero no se puede usar directamente porque el error ek de la

Figura 52 está referido a la salida de la planta.

Page 84: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

71

El LMS necesita un error referido a la entrada de la planta, es decir, a la salida del controlador

adaptativo. Para obtener un error apropiado para la implementación del LMS, se necesitaría

aplicar ek a la inversa de la planta P(z). El sistema de la Figura 52 no es el apropiado para este

objetivo.

Para poder utilizar el algoritmo LMS, se puede emplear la configuración de la Figura 53. Se

cambia la posición de la planta y su modelo inverso, por lo que el error se puede tomar

directamente de la adaptación de C’(z). Una vez que se obtiene C’(z), una copia digital exacta se

usa como controlador de la planta.

uk

Error ek

yk

-

+

CopiaC’(z)

PlantaP(z)

Entrada dela planta ik

Σ

Modelo dereferencia

M(z)

++

Ruido dela planta

nk

Σ

Salida dela planta zk

C’(z)

Figura 53: Sistema de control inverso adaptativo. Trabaja bien sólo cuando el ruido de la planta es bajo

El sistema de la Figura 53 trabaja bien mientras no haya perturbación en la planta. La

perturbación que aparece en la salida de la planta añade una componente a la varianza de la

señal de entrada del modelo inverso adaptativo, que afecta directamente a la solución de

Wiener. ¿Qué se podría hacer? Existen un cierto número de alternativas, y la aproximación

propuesta en la Figura 54 ofrece la capacidad de rápida adaptación y un control apropiado

incluso en presencia de perturbaciones en la planta.

El sistema de la Figura 54 se basa en el esquema de modelado inverso de Figura 51. Trabaja de

la siguiente forma: se forma un modelo P’k(z) de la planta P(z), usando en este caso una señal de

excitación como en el esquema A. Se utiliza un proceso offline para obtener el controlador

C’k(z), de una copia digital de P’k(z), y el modelo de referencia M(z). El proceso offline adapta

C’k(z), de modo que la salida de la cascada de P’k(z) y C’k(z) es la mejor aproximación de M(z).

Page 85: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO INTRODUCCIÓN

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

72

uk

Error

u'k

Error ek

ykPlantaP(z)

++

Ruido dela planta

nk

ΣModelo dereferencia

de la plantaP’k(z)

+

-

Σ Salida dela planta zk

++ΣCopia

C’(z)Entrada dela planta ik

Señaloscilante

δk

-

+

C’k(z)CopiaP’k(z)

Señalmodeladora

ΣModelo dereferencia

M(z)

Figura 54: Sistema de control inverso con modelado inverso ‘offline’

Hay que observar que en la adaptación de C’k(z) en el proceso offline se utiliza P’k(z). Se ha

empleado P’k(z) y no P(z) porque la salida de la planta real está generalmente corrompida por las

perturbaciones. Como P’(z) no sigue perfectamente a P(z) todo el tiempo, el uso de P’(z) en la

determinación de C’(z) provoca errores en C’(z).

Page 86: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO ANÁLISIS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

73

5.2. ANÁLISIS

La Figura 55 muestra un diagrama de bloques de un sistema de control inverso adaptativo. El

método de modelado de planta que se emplea aquí es el esquema C con señal de excitación.

Un proceso offline se muestra en la Figura 55 para el cálculo del controlador C’k(z) a partir de un

modelo de la planta P’k(z). Como se comentó anteriormente, el proceso offline se puede basar

en un algoritmo adaptativo que use una señal modeladora (puede ser ruido blanco o coloreado).

Una copia de C’k(z) se utiliza como controlador de la planta.

El modelo de referencia M(z) se usa en el proceso de modelado inverso offline. Otra copia de

este modelo de referencia puede ser usada simbólicamente para la monitorización del error del

sistema. La porción punteada del diagrama de bloques mostrado en la figura sugiere esta

posibilidad.

Page 87: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO ANÁLISIS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

74

Modeloadaptativo

P’k(z)

PlantaP(z)

-

+

++

Ruido dela planta

nk

Σ

Salida delsistema de control

+

+

Señal oscilante(ruido blanco)

δk

-+

ΣCopia dela planta

P’k(z)

CopiaC’(z)

Entrada dela planta ik

Modelo dereferencia

M(z)Σ

Error delsistema total

E(z)

+

-

Error

-

+

C’k(z)CopiaP’k(z)

Señalmodeladora

ΣModelo dereferencia

M(z)

Σ Σ

Figura 55: Sistema de control inverso adaptativo con modelo de referencia

El error total del sistema es E(z), y este consiste en la suma de cuatro componentes:

a. Ruido de la planta.

b. Ruido de la señal de excitación, filtrado a través de la planta.

c. Error del sistema debido al truncamiento de P’(z) y/o C’(z).

Page 88: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO ANÁLISIS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

75

d. Error dinámico del sistema.

La componente (a) es el ruido de la salida de la planta, cuyo valor cuadrático medio es:

)( 2knE

plantaladesalidalaaruidodelpotencia

=

La componente (b) es ruido a la salida de la planta debido a la señal de excitación el cual, si es

blanca, vendrá dado por:

∑∞

=

=

=

0

222 )()(

·)(i

ikk pEzPdeimpulsivarespuesta

ladeimpulsoslosdecuadradoslosdesuma

Eplantalade

salidalaaoscilanteseñalladeruido

δδ

La tercera componente es el error del sistema a la salida de la planta debido a los efectos de

truncamiento, y se asume que este error es despreciable, ya que se elige un número apropiado

de coeficientes n para P’k(z) y m pesos para C’k(z), y un modelo de referencia apropiado.

La componente (d) es el error dinámico del sistema, y su potencia viene dada por:

( ))0(··),( BBnmmínsistemadeldinámicoerror

Φ=

β

La potencia del error de todo el sistema es la suma de todos ellos:

( ))0(··),()()(0

222BB

iikk nmmínpEnE

sistemaeltododeerrordelpotencia

Φ++=

∑∞

=

βδ

El primer término es la potencia del ruido de la planta, E(nk2), que es independiente del diseño de

los parámetros del sistema de control. Son de especial interés los dos últimos términos de la

ecuación anterior, que hacen juntos referencia a la potencia del exceso de error debido a las

imperfecciones del sistema de control.

( ))0(··),()(0

22BB

iik nmmínpE

sistemaeltododeerrordelpotencia

Φ+=

∑∞

=

∆βδ

Page 89: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVO ANÁLISIS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

76

La minimización de este exceso de error es el próximo objetivo. El sistema de control de la Figura

55 tiene un número pequeño de parámetros ajustables, una vez que se fija la tasa de muestreo y

el número de coeficientes m y n se eligen. Los que quedan por ajustar son el valor de µ en el

algoritmo LMS usado para obtener P‘k(z) y la potencia de la señal de excitación E(δk2).

La constante de tiempo del proceso de modelado adaptativo para P‘k(z), es la de mayor tiempo

para todo el sistema, y supone la constante de tiempo del aprendizaje del sistema. Debe ser tan

grande como sea posible, sin sobrepasar el valor que incapacitaría al proceso adaptativo de

cambiar con las variaciones de las características de la planta. Algunos conocimientos de la tasa

de cambio de las características de la planta podrían ayudar a encontrar el valor de la constante

de tiempo adaptativa τ para P’(z).

Con τ fijada, encontrar un valor específico para la potencia de la señal oscilante es un simple

problema de optimización. Se puede demostrar que:

( ))(2

)(·)0(··),()( 2

2

0

22

k

kBB

iik E

nEnmmínpEsistemaeltodode

errordelpotenciaδτ

βδ Φ+=

∑∞

=

Para encontrar el mejor valor de E(δk2), se deriva la ecuación anterior respecto a E(δk

2) y se iguala

a cero. Entonces:

( )

∑∞

=

Φ=

0

2

22

2

)0(),()()(

ii

BBkoptk

p

nmmínnEEτ

δ

Usando este valor para la potencia de la señal oscilante, el error mínimo queda:

( )∑∞

=Φ=

0

22 )0(),()(2i

iBBkmín

pnmmínnEsistemaeltodode

errordelpotenciaτ

Page 90: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

77

5.3. SIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Hasta este momento se han ido presentando los diferentes elementos constructivos de un

sistema de control inverso adaptativo. Es ahora cuando se van a poner todos juntos para

elaborar una simulación que demuestre el comportamiento de los controladores en lazo abierto

desarrollados.

Se empleará un esquema como el de la Figura 54, en el que habrá un proceso offline para la

caraterización en cada instante de la inversa de la planta, incluyendo las perturbaciones a que

esté sometida. La planta empleada para todas las simulaciones será de fase mínima, con la

siguiente representación en el plano z:

21

1

431

211

)(−−

+−

+=

zz

zzP

Con este montaje se va a obtener un cierto controlador, que será puesto a prueba en un

proceso independiente, en serie con la planta, para comprobar su respuesta mientras se trata de

hacer el seguimiento de unos escalones. En este último montaje podrá existir o no algún tipo de

ruido añadido a la salida de la planta.

5.3.1 SIMULACIÓN SIN PERTURBACIONES

La primera de las simulaciones realizadas está libre de perturbaciones. La planta es sometida a un

proceso de caracterización mediante el uso de una señal de entrada formada en su mayor parte

por ruido blanco, aunque en su parte final se incluyen unos escalones.

En la Figura 56 se puede observar el proceso de adaptación: en color rojo se puede ver la salida

real de la planta, y en color azul la salida del modelo adaptativo de la misma. Se puede apreciar

como tras un entrenamiento de algo menos de 1000 muestras ambas salidas son prácticamente

indistinguibles.

Page 91: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

78

En la Figura 57 se muestra el proceso de adaptación de los pesos de Wiener del modelo del

controlador inverso adaptativo que se va generando a lo largo del proceso. Se puede apreciar

como a partir de unas 500 muestras aproximadamente los pesos permanecen prácticamente

constantes.

En la Figura 58 se muestra la última iteración del proceso offline de adaptación del controlador

inverso. En verde se muestra la salida tras el controlador inverso, y en negro la señal modeladora

(ruido blanco). Se puede observar el completo solapamiento de ambas gráficas, signo indicativo

de que el controlador constituye una inversa apropiada del modelo de la planta.

0 200 400 600 800 1000 1200 1400 1600 1800 2000-8

-6

-4

-2

0

2

4

6

8

10Salida del sistema

Muestras

Sal

ida

real

(rojo

)yes

timad

a(a

zul)

dela

plan

ta

Figura 56: Simulación #1: proceso de adaptación del modelo de la planta

Page 92: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

79

0 200 400 600 800 1000 1200 1400 1600 1800 2000-40

-30

-20

-10

0

10

20

30

40Pesos del filtro de Wiener

Muestras

Pes

os

Figura 57: Simulación #1: evolución de los pesos de Wiener del modelo del controlador inverso

0 20 40 60 80 100 120 140 160 180 200-1.5

-1

-0.5

0

0.5

1

1.5Salida del sistema

MuestrasSal

ida

mod

elo

cont

rol(

verd

e)y

seña

lmod

elad

ora

(neg

ro)d

ela

plan

ta

Figura 58: Simulación #1: última iteración del proceso offline

Page 93: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

80

En las siguientes figuras se muestra el resultado de una simulación realizada para poner a prueba

el controlador obtenido en el paso anterior, realizando el seguimiento de una serie de

referencias en forma de escalón (representadas en color negro). Se puede observar como la

salida del sistema (en color rojo) realiza un seguimiento prácticamente perfecto de las

referencias, con rampas de subida y bajada muy abruptas, y sin sobredisparo en las transiciones.

0 50 100 150 200 250 300 350 400-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5Salida del sistema

Muestras

Sal

ida

plan

ta(ro

jo)y

entra

da(n

egra

)del

sist

ema

Figura 59: Simulación #1: prueba de seguimiento de referencias con el controlador inverso obtenido

Además, se adjuntan dos detalles de esta misma gráfica, para poder observar el error cometido

en el seguimiento de la señal de entrada. Se llama la atención sobre la magnitud de ese error.

Dado que el control se realiza en lazo abierto, en el permanente existen diferencias mínimas con

las referencias debido a los errores acumulados en el proceso (en los pesos de los modelos, los

introducidos por los métodos matemáticos empleados, etc.).

Page 94: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

81

190 200 210 220 230 240 250 260

1.88

1.9

1.92

1.94

1.96

1.98

2

2.02

2.04

2.06

2.08

Salida del sistema

Muestras

Sal

ida

plan

ta(ro

jo)y

entra

da(n

egra

)del

sist

ema

Figura 60: Simulación #1: prueba de seguimiento de referencias (detalle #1)

350 355 360 365 370 375 380 385 390 395 400

-8

-6

-4

-2

0

2

4

6

8

10x 10-3 Salida del sistema

Muestras

Sal

ida

plan

ta(ro

jo)y

entra

da(n

egra

)del

sist

ema

Figura 61: Simulación #1: prueba de seguimiento de referencias (detalle #1)

Page 95: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

82

5.3.2 SIMULACIÓN CON PERTURBACIONES EN EL ENTRENAMIENTO

La segunda simulación realizada presenta una variación con respecto a la anterior, que consiste

en la adición de ruido a la salida de la planta, aunque sólo en el proceso de adaptación. Debido

a la presencia de este ruido dicho proceso de adaptación resulta ligeramente más lento, así

como el proceso de convergencia de los pesos de Wiener del controlador inverso (aunque se

consigue alcanzar una inversa apropiada). Estos extremos se pueden apreciar en las siguientes

figuras:

0 200 400 600 800 1000 1200 1400 1600 1800 2000-8

-6

-4

-2

0

2

4

6

8

10Salida del sistema

Muestras

Sal

ida

real

ruid

osa

(rojo

)yes

timad

a(a

zul)

dela

plan

ta

Figura 62: Simulación #2: proceso de adaptación del modelo de la planta

Page 96: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

83

0 200 400 600 800 1000 1200 1400 1600 1800 2000-40

-30

-20

-10

0

10

20

30

40Pesos del filtro de Wiener

Muestras

Pes

os

Figura 63: Simulación #2: evolución de los pesos de Wiener del modelo del controlador inverso

0 20 40 60 80 100 120 140 160 180 200-1.5

-1

-0.5

0

0.5

1

1.5Salida del sistema

MuestrasSal

ida

mod

elo

cont

rol(

verd

e)y

seña

lmod

elad

ora

(neg

ro)d

ela

plan

ta

Figura 64: Simulación #2: última iteración del proceso offline

Page 97: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

84

La presencia de ruido provoca la generación de un controlador inverso adaptativo que incorpora

algunas de las características del ruido al que se ha sometido a la planta. Si generamos una

simulación para comprobar el desempeño del controlador inverso en ausencia de este ruido, se

puede apreciar como la salida del sistema sigue realizando un muy buen seguimiento de la

referencia, con rampas abruptas y sin sobredisparo, aunque en los tramos de referencia

constante existe un poco menos de estabilidad en los valores que en la simulación realizada en

ausencia de ruido.

0 50 100 150 200 250 300 350 400-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5Salida del sistema

Muestras

Sal

ida

plan

ta(ro

jo)y

entra

da(n

egra

)del

sist

ema

Figura 65: Simulación #2: prueba de seguimiento de referencias con el controlador inverso obtenido

Page 98: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

85

200 205 210 215 220 225 230 235 240 245 250

1.92

1.94

1.96

1.98

2

2.02

2.04

2.06

2.08

2.1

Salida del sistema

Muestras

Sal

ida

plan

ta(ro

jo)y

entra

da(n

egra

)del

sist

ema

Figura 66: Simulación #2: prueba de seguimiento de referencias (detalle #1)

350 355 360 365 370 375 380 385 390 395 400

-8

-6

-4

-2

0

2

4

6

8

x 10-3 Salida del sistema

Muestras

Sal

ida

plan

ta(ro

jo)y

entra

da(n

egra

)del

sist

ema

Figura 67: Simulación #2: prueba de seguimiento de referencias (detalle #2)

Page 99: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

86

5.3.3 SIMULACIÓN CON PERTURBACIONES EN EL SEGUIMIENTO

La tercera simulación realizada también va a presentar ruido a la salida de la planta, aunque sólo

en el momento de poner a prueba el controlador obtenido. De este modo, en la primera parte

de la simulación se obtendrán valores muy similares a los obtenidos y representados en el

apartado 5.3.1. Se muestran a continuación los resultados:

0 200 400 600 800 1000 1200 1400 1600 1800 2000-10

-8

-6

-4

-2

0

2

4

6

8

10Salida del sistema

Muestras

Sal

ida

real

(rojo

)yes

timad

a(a

zul)

dela

plan

ta

Figura 68: Simulación #3: proceso de adaptación del modelo de la planta

Page 100: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

87

0 200 400 600 800 1000 1200 1400 1600 1800 2000-40

-30

-20

-10

0

10

20

30

40Pesos del filtro de Wiener

Muestras

Pes

os

Figura 69: Simulación #3: evolución de los pesos de Wiener del modelo del controlador inverso

0 20 40 60 80 100 120 140 160 180 200-1.5

-1

-0.5

0

0.5

1

1.5Salida del sistema

MuestrasSal

ida

mod

elo

cont

rol(

verd

e)y

seña

lmod

elad

ora

(neg

ro)d

ela

plan

ta

Figura 70: Simulación #3: última iteración del proceso offline

Page 101: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

88

Como se ha comentado anteriormente, en esta simulación va a existir un ruido añadido a la

salida de la planta en el proceso de comprobación del controlador inverso adaptativo obtenido

en el entrenamiento previo. En ausencia de ruido (representado en color rojo) la respuesta del

sistema es muy buena. La presencia de dicho ruido (la salida ruidosa del sistema está

representada en color azul) afectará directamente a la salida del sistema, dado que no existe

ningún mecanismo de control ni de compensación en el esquema de control en lazo abierto

empleado. Esto se puede apreciar en las siguientes gráficas:

0 50 100 150 200 250 300 350 400-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5Salida del sistema

MuestrasSal

ida

plan

ta(ro

jo),

plan

taru

idos

a(a

zul)

yen

trada

(neg

ra)d

elsi

stem

a

Figura 71: Simulación #3: prueba de seguimiento de referencias con el controlador inverso obtenido

Page 102: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

89

205 210 215 220 225 230 235 240 245 250

1.92

1.94

1.96

1.98

2

2.02

2.04

2.06

2.08

2.1Salida del sistema

MuestrasSal

ida

plan

ta(ro

jo),

plan

taru

idos

a(a

zul)

yen

trada

(neg

ra)d

elsi

stem

a

Figura 72: Simulación #3: prueba de seguimiento de referencias (detalle #1)

355 360 365 370 375 380 385 390 395 400

-8

-6

-4

-2

0

2

4

6

8

x 10-3 Salida del sistema

MuestrasSal

ida

plan

ta(ro

jo),

plan

taru

idos

a(a

zul)

yen

trada

(neg

ra)d

elsi

stem

a

Figura 73: Simulación #3: prueba de seguimiento de referencias (detalle #2)

Page 103: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

90

5.3.4 SIMULACIÓN CON PERTURBACIONES TANTO EN EL ENTRENAMIENTO

COMO EN EL SEGUIMIENTO DE REFERENCIAS

En esta cuarta y última simulación se van a incorporar efectos perturbadores tanto en el proceso

adaptativo de caracterización de la planta y de su controlador inverso, como en la prueba de

seguimiento de referencias del controlador obtenido. Los comentarios realizados en el apartado

5.3.2 tienen completa validez aquí. Seguidamente se muestran las gráficas con los resultados de

la primera parte de esta simulación:

0 200 400 600 800 1000 1200 1400 1600 1800 2000-10

-8

-6

-4

-2

0

2

4

6

8

10Salida del sistema

Muestras

Sal

ida

real

ruid

osa

(rojo

)yes

timad

a(a

zul)

dela

plan

ta

Figura 74: Simulación #4: proceso de adaptación del modelo de la planta

Page 104: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

91

0 200 400 600 800 1000 1200 1400 1600 1800 2000-40

-30

-20

-10

0

10

20

30

40Pesos del filtro de Wiener

Muestras

Pes

os

Figura 75: Simulación #4: evolución de los pesos de Wiener del modelo del controlador inverso

0 20 40 60 80 100 120 140 160 180 200-1.5

-1

-0.5

0

0.5

1

1.5Salida del sistema

MuestrasSal

ida

mod

elo

cont

rol(

verd

e)y

seña

lmod

elad

ora

(neg

ro)d

ela

plan

ta

Figura 76: Simulación #4: última iteración del proceso offline

Page 105: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

92

En la simulación de comprobación del desempeño del controlador inverso adaptativo obtenido

se puede observar como la suma de efectos perturbadores no impide que la respuesta dinámica

global del sistema siga siendo muy buena, con las mismas respuestas rápidas y enérgicas ante los

escalones de referencia, y sin sobredisparo, aunque los efectos de los distintos ruidos quedan

claramente reflejados en las gráficas.

0 50 100 150 200 250 300 350 400-2.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

2.5Salida del sistema

MuestrasSal

ida

plan

ta(ro

jo),

plan

taru

idos

a(a

zul)

yen

trada

(neg

ra)d

elsi

stem

a

Figura 77: Simulación #4: prueba de seguimiento de referencias con el controlador inverso obtenido

Page 106: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONTROL INVERSO ADAPTATIVOSIMULACIÓN DE UN SISTEMA DE CONTROL INVERSO

ADAPTATIVO

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

93

200 205 210 215 220 225 230 235 240 245 250

1.92

1.94

1.96

1.98

2

2.02

2.04

2.06

2.08

2.1Salida del sistema

MuestrasSal

ida

plan

ta(ro

jo),

plan

taru

idos

a(a

zul)

yen

trada

(neg

ra)d

elsi

stem

a

Figura 78: Simulación #4: prueba de seguimiento de referencias (detalle #1)

350 355 360 365 370 375 380 385 390 395-10

-8

-6

-4

-2

0

2

4

6

8

x 10-3 Salida del sistema

MuestrasSal

ida

plan

ta(ro

jo),

plan

taru

idos

a(a

zul)

yen

trada

(neg

ra)d

elsi

stem

a

Figura 79: Simulación #4: prueba de seguimiento de referencias (detalle #2)

Page 107: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 6: CONCLUSIONES

Page 108: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

CONCLUSIONES

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

95

A lo largo de este proyecto se han ido presentando una serie de resultados, de los cuales los más

representativos pueden resumirse como:

1) Se pueden desarrollar controladores inversos precisos para plantas de fase mínima y, con

una respuesta retrasada de cierta manera, también para plantas de fase no mínima. Las

respuestas de las plantas empleando estos controladotes pueden ser difíciles de alcanzar

mediante otras técnicas de control, como es el caso del seguimiento de escalones sin

sobredisparo mostrado en las simulaciones.

2) El mismo efecto de una respuesta en bucle cerrado se puede obtener en un sistema de

control en lazo abierto con propagación hacia adelante, empleando la realimentación

inherente del filtrado adaptativo para encontrar el controlador inverso adaptativo.

3) Las variaciones en el tiempo de los parámetros de la planta pueden ser canceladas de

forma óptima mediante mecanismos, offline por ejemplo, que caractericen dichos

cambios.

4) Alcanzar una respuesta global de un sistema que sea una estimación de mínimos

cuadrados de la respuesta de un modelo de referencia es, generalmente, un proceso

directo y natural empleando control inverso adaptativo.

5) Si la planta es inestable, debe ser primero estabilizada mediante realimentación. Después,

tanto la planta como su realimentación pueden ser sometidas a control inverso

adaptativo, siendo el conjunto planta+realimentación tratados como una planta

equivalente. La capacidad de cancelación de la perturbación de la planta no se ve

afectada por la elección de la realimentación estabilizadora. La capacidad de alcanzar una

respuesta dinámica global deseada del sistema tampoco se ve afectada por la elección de

la realimentación estabilizadora. Si la inversa necesita un retardo para su realización, el

retardo requerido no dependerá de la elección de la realimentación estabilizadora.

A partir del punto alcanzado en el presente proyecto se pueden seguir desarrollando escenarios

de aplicación del control inverso adaptativo, como puede ser el caso de la cancelación adaptativa

de ruido en la planta, o la aplicación a sistemas MIMO o a sistemas no lineales.

Page 109: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

Capítulo 7: APÉNDICE

Page 110: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

97

7.1. LISTADOS DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

7.1.1 CAPÍTULO 3

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capítulo 3%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%clear all;close all;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% H(s) = (s+0.5) / (s+1)(s-1)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%num1=[1 -0.5]; den1=[1 0 -1];sys1=tf(num1,den1)num2=[1 1]; den2=[1 5 -14];sys2=tf(num2,den2)sys3=tf([1],[1]);series(sys1,sys2)num4=[1 -0.5]; den4=[1 4 -19 14];sys4=tf(num4,den4)sys5=feedback(21*sys4,sys3)num5=[21 -10.5]; den5=[1 4 2 3.5];roots(den5)sys6=feedback(24*sys4,sys3)num6=[24 -12]; den6=[1 4 5 2];roots(den6)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis([-6 6 -6 6])rlocus(sys5)xlabel('Eje real')ylabel('Eje imaginario')title('Lugar de las raíces')pause%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis([-6 6 -6 6])rlocus(sys6)xlabel('Eje real')ylabel('Eje imaginario')title('Lugar de las raíces')pause%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% DISCRETIZAMOS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 111: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

98

[num5d,den5d]=c2dm(num5,den5,0.1,'zoh')roots(num5d)roots(den5d)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% respuesta al escalón%step(numc5,denc5),grid;%pause;% respuesta al impulso%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close ally5d=dimpulse(num5d,den5d);hold onaxis ([0 400 -0.5 0.4])bar(y5d,0.1)gridtitle('Salida del sistema')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Creamos la respuesta del modelo adaptativo% con una señal de entrada aleatoria, de media 0% y la comparamos con la respuesta del sistema original (discretizado)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=10000; L=400; mu=0.1; alpha=0.1;sigma=1;w5=zeros(1,L+1);modeladora=sqrt(12)*(rand(1,N)-0.5);px=0;%if(den5d(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (den5d(1)~=1)

den5d=den5d/den5d(1);num5d=num5d/den5d(1);

endfor k=0:N-1,

sum=0;for n=0:length(num5d)-1,

valor=0;if (k-n)>=0,

valor=modeladora(min([k-n+1,length(modeladora)]));endsum=sum+num5d(n+1)*valor;

endfor n=1:length(den5d)-1,

valor=0;if (k-n)>=0,

valor=y5d_sim(k-n+1);endsum=sum-den5d(n+1)*valor;

endy5d_sim(k+1)=sum;

end%NN=length(modeladora); LL=length(w5)-1;if NN~=length(y5d_sim),

error('SPNLMS: lengths of x and d row vectors not equal.');

Page 112: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

99

endif (mu<=0)|(mu>=1)|(sigma<=0)|(alpha<0)|(alpha>=1),

error('SPNLMS: mu, sigma, or alpha out of range.');endy5d_adapt=zeros(1,NN);if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:NN,

px(1)=modeladora(k);y5d_adapt(k)=w5*px';if abs(y5d_adapt(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_adapt(k+1:NN)=zeros(1,NN-k);return

ende(k)=y5d_sim(k)-y5d_adapt(k);ee=e(k);e2(k)=ee^2;sigma=alpha*(px(1)^2)+(1-alpha)*sigma;tmp=2*mu/((LL+1)*sigma);w5=w5+tmp*ee*px;px(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onplot(y5d_sim,'r')plot(y5d_adapt,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real (rojo) y estimada (azul)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot((e2))gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;

Page 113: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

100

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=400;impulso=[0 1 zeros(1,N-2)];e=zeros(1,N);e2=zeros(1,N);for k=length(y5d)+1:N,

y5d(k)=0;endpx=0;if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:N,

px(1)=impulso(k);y5d_sim2(k)=w5*px';if abs(y5d_sim2(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_sim2(k+1:N)=zeros(1,N-k);return

ende(k)=y5d(k)-y5d_sim2(k);ee=e(k);e2(k)=ee^2;px(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis ([0 400 -0.5 0.4])bar(y5d_sim2,0.1)gridtitle('Salida del sistema')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot((e2))gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;

Page 114: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

101

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%[num6d,den6d]=c2dm(num6,den6,0.1,'zoh')roots(num6d)roots(den6d)%% respuesta al impulsoclose all%y6d=dimpulse(num6d,den6d);N=150;if(den6d(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (den6d(1)~=1)

den6d=den6d/den6d(1);num6d=num6d/den6d(1);

endfor k=0:N-1,

sum=0;for n=0:length(num6d)-1,

valor=0;if (k-n)>=0,

valor=impulso(min([k-n+1,length(impulso)]));endsum=sum+num6d(n+1)*valor;

endfor n=1:length(den6d)-1,

valor=0;if (k-n)>=0,

valor=y6d(k-n+1);endsum=sum-den6d(n+1)*valor;

endy6d(k+1)=sum;

endhold onaxis ([0 150 -0.3 0.4])bar(y6d,0.1)gridtitle('Salida del sistema')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Creamos la respuesta del modelo adaptativo% con una señal de entrada aleatoria, de media 0% y la comparamos con la respuesta del sistema original (discretizado)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=10000; L=400; mu=0.1; alpha=0.1;sigma=1;w6=zeros(1,L+1);modeladora=sqrt(12)*(rand(1,N)-0.5);px=0;%if(den6d(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (den6d(1)~=1)

Page 115: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

102

den6d=den6d/den6d(1);num6d=num6d/den6d(1);

endfor k=0:N-1,

sum=0;for n=0:length(num6d)-1,

valor=0;if (k-n)>=0,

valor=modeladora(min([k-n+1,length(modeladora)]));endsum=sum+num6d(n+1)*valor;

endfor n=1:length(den6d)-1,

valor=0;if (k-n)>=0,

valor=y6d_sim(k-n+1);endsum=sum-den6d(n+1)*valor;

endy6d_sim(k+1)=sum;

end%NN=length(modeladora); LL=length(w6)-1;if NN~=length(y6d_sim),

error('SPNLMS: lengths of x and d row vectors not equal.');endif (mu<=0)|(mu>=1)|(sigma<=0)|(alpha<0)|(alpha>=1),

error('SPNLMS: mu, sigma, or alpha out of range.');endy6d_adapt=zeros(1,NN);if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:NN,

px(1)=modeladora(k);y6d_adapt(k)=w6*px';if abs(y6d_adapt(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y6d_adapt(k+1:NN)=zeros(1,NN-k);return

ende(k)=y6d_sim(k)-y6d_adapt(k);ee=e(k);e2(k)=ee^2;sigma=alpha*(px(1)^2)+(1-alpha)*sigma;tmp=2*mu/((LL+1)*sigma);w6=w6+tmp*ee*px;px(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onplot(y6d_sim,'r')plot(y6d_adapt,'b')gridtitle('Salida del sistema')

Page 116: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

103

xlabel('Muestras')ylabel('Salida real (rojo) y estimada (azul)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e2)gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=150;impulso=[0 1 zeros(1,N-2)];e=zeros(1,N);e2=zeros(1,N);%for k=length(y6d)+1:N,% y6d(k)=0;%endpx=0;if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:N,

px(1)=impulso(k);y6d_sim2(k)=w6*px';if abs(y6d_sim2(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y6d_sim2(k+1:N)=zeros(1,N-k);return

ende(k)=y6d(k)-y6d_sim2(k);ee=e(k);e2(k)=ee^2;px(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis ([0 150 -0.3 0.4])bar(y6d_sim2,0.1)grid

Page 117: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

104

title('Salida del sistema')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e2)gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=10000; L=400; mu=0.1; alpha=0.1;sigma=1;w6=zeros(1,L+1);modeladora=sqrt(12)*(rand(1,N)-0.5);perturbacion=sqrt(0.5)*(rand(1,N)-0.5);;px=0;%if(den6d(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (den6d(1)~=1)

den6d=den6d/den6d(1);num6d=num6d/den6d(1);

endfor k=0:N-1,

sum=0;for n=0:length(num6d)-1,

valor=0;if (k-n)>=0,

valor=modeladora(min([k-n+1,length(modeladora)]));endsum=sum+num6d(n+1)*valor;

endfor n=1:length(den6d)-1,

valor=0;if (k-n)>=0,

valor=y6d_sim3(k-n+1);endsum=sum-den6d(n+1)*valor;

end

Page 118: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

105

y6d_sim3(k+1)=sum;endfor k=1:N,

y6d_sim3(k)=y6d_sim3(k)+perturbacion(k);end%NN=length(modeladora); LL=length(w6)-1;if NN~=length(y6d_sim3),

error('SPNLMS: lengths of x and d row vectors not equal.');endif (mu<=0)|(mu>=1)|(sigma<=0)|(alpha<0)|(alpha>=1),

error('SPNLMS: mu, sigma, or alpha out of range.');endy6d_adapt=zeros(1,NN);if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:NN,

px(1)=modeladora(k);y6d_adapt2(k)=w6*px';if abs(y6d_adapt2(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y6d_adapt2(k+1:NN)=zeros(1,NN-k);return

ende(k)=y6d_sim3(k)-y6d_adapt2(k);ee=e(k);e2(k)=ee^2;sigma=alpha*(px(1)^2)+(1-alpha)*sigma;tmp=2*mu/((LL+1)*sigma);w6=w6+tmp*ee*px;px(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onplot(y6d_sim3,'r')plot(y6d_adapt2,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real con ruido (rojo) y estimada (azul)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')

Page 119: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

106

ylabel('Valor del error')pause;close all;plot((e2))gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=150;impulso=[0 1 zeros(1,N-2)];e=zeros(1,N);e2=zeros(1,N);px=0;if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:N,

px(1)=impulso(k);y6d_sim4(k)=w6*px';if abs(y6d_sim4(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y6d_sim4(k+1:N)=zeros(1,N-k);return

endpx(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis ([0 N -0.3 0.4])bar(y6d_sim4,0.1)gridtitle('Salida del sistema con ruido')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Comienzo esquema C% Planta con k=21% Entrenamiento previo% 10000 muestras%N1=10000;L1=400;modeladora=sqrt(12)*(rand(1,N1)-0.5);impulso=[zeros(1,9000) 1 zeros(1,N1-9001)];entrada=modeladora+impulso;px1=0;if(length(px1)<L1),

px1=[px1,zeros(1,L1-length(px1))];endpx1=[0,px1];

Page 120: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

107

%N2=1000;L2=400;mu=0.1; alpha=0.1;sigma=1;px2=0;if(length(px2)<L2),

px2=[px2,zeros(1,L2-length(px2))];endpx2=[0,px2];%for k=1:N1,% planta discretizada

sum=0;for n=0:length(num5d)-1,

valor=0;if (k-n-1)>=0,

valor=entrada(min([k-n,length(entrada)]));endsum=sum+num5d(n+1)*valor;

endfor n=1:length(den5d)-1,

valor=0;if (k-n-1)>=0,

valor=y5d_sim3(k-n);endsum=sum-den5d(n+1)*valor;

endy5d_sim3(k)=sum;

% y5d_sim3(k)=y6d_sim3(k)+perturbacion(k);% salida de la copia del modelo adaptativo de la planta

px1(1)=impulso(k);y5d_sim4(k)=w5*px1';if abs(y5d_sim4(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_sim4(k+1:N)=zeros(1,N-k);return

endpx1(LL+1:-1:2)=px1(LL:-1:1);

% bucle de entrenamiento del modelo adaptativo de la plantasalida_deseada(k)=y5d_sim3(k)-y5d_sim4(k);

% for k=1:NN,px2(1)=modeladora(k);y5d_adapt2(k)=w5*px2';if abs(y5d_adapt2(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_adapt2(k+1:NN)=zeros(1,NN-k);return

ende(k)=salida_deseada(k)-y5d_adapt2(k);ee=e(k);e2(k)=ee^2;sigma=alpha*(px2(1)^2)+(1-alpha)*sigma;tmp=2*mu/((L2+1)*sigma);w5=w5+tmp*ee*px2;px2(L2+1:-1:2)=px2(L2:-1:1);

% end

Page 121: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

108

%end%px1=px1(2:L1+1);%px2=px2(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onaxis ([8950 9350 -10 10])plot(y5d_adapt2,'g')plot(y5d_sim3,'r')plot(y5d_sim4,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real (rojo), impulsiva de la copia del modelo (azul) y estimada(verde)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Respuesta impulsiva del modelo adaptativo%N=400;LL=400;impulso=[0 1 zeros(1,N-2)];e=zeros(1,N);e2=zeros(1,N);px=0;if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:N,

px(1)=impulso(k);y5d_adapt2(k)=w5*px';if abs(y5d_adapt2(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_adapt2(k+1:N)=zeros(1,N-k);return

endpx(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis ([0 N -0.5 0.4])bar(y5d_adapt2,0.1)gridtitle('Salida del sistema')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Comienzo esquema C% Planta con k=21, con perturbaciones% Entrenamiento previo

Page 122: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

109

% 10000 muestras%N1=10000;L1=400;modeladora=sqrt(12)*(rand(1,N1)-0.5);impulso=[zeros(1,9000) 1 zeros(1,N1-9001)];entrada=modeladora+impulso;perturbacion=sqrt(5e-5)*(rand(1,N1)-0.5);px1=0;if(length(px1)<L1),

px1=[px1,zeros(1,L1-length(px1))];endpx1=[0,px1];%N2=N1;L2=L1;mu=0.1; alpha=0.1;sigma=1;w5=zeros(1,L2+1);px2=0;if(length(px2)<L2),

px2=[px2,zeros(1,L2-length(px2))];endpx2=[0,px2];%for k=1:N1,% planta discretizada

sum=0;for n=0:length(num5d)-1,

valor=0;if (k-n-1)>=0,

valor=entrada(min([k-n,length(entrada)]));endsum=sum+num5d(n+1)*valor;

endfor n=1:length(den5d)-1,

valor=0;if (k-n-1)>=0,

valor=y5d_sim5(k-n);endsum=sum-den5d(n+1)*valor;

endy5d_sim5(k)=sum+perturbacion(k);

% salida de la copia del modelo adaptativo de la plantapx1(1)=entrada(k);y5d_sim6(k)=w5*px1';if abs(y5d_sim6(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_sim6(k+1:N1)=zeros(1,N1-k);return

endpx1(L1+1:-1:2)=px1(L1:-1:1);

% bucle de entrenamiento del modelo adaptativo de la plantasalida_deseada(k)=y5d_sim5(k)-y5d_sim6(k);

% for k=1:NN,px2(1)=modeladora(k);y5d_adapt3(k)=w5*px2';if abs(y5d_adapt3(k))>1e10,

Page 123: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

110

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_adapt3(k+1:N1)=zeros(1,N1-k);return

ende(k)=salida_deseada(k);ee=e(k);e2(k)=ee^2;sigma=alpha*(px2(1)^2)+(1-alpha)*sigma;tmp=2*mu/((L2+1)*sigma);w5=w5+tmp*ee*px2;px2(L2+1:-1:2)=px2(L2:-1:1);

% end%end%px1=px1(2:L1+1);%px2=px2(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold on%axis ([8950 9350 -10 10])plot(y5d_adapt3,'g')plot(y5d_sim5,'r')plot(y5d_sim6,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real (rojo), impulsiva de la copia del modelo (azul) y estimada(verde)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e2)gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Respuesta impulsiva del modelo adaptativo%N=400;LL=L1;

Page 124: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

111

impulso=[0 1 zeros(1,N-2)];e=zeros(1,N);e2=zeros(1,N);px=0;if(length(px)<LL),

px=[px,zeros(1,LL-length(px))];endpx=[0,px];for k=1:N,

px(1)=impulso(k);y5d_adapt3(k)=w5*px';if abs(y5d_adapt3(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y5d_adapt3(k+1:N)=zeros(1,N-k);return

endpx(LL+1:-1:2)=px(LL:-1:1);

endpx=px(2:LL+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onaxis ([0 N -0.5 0.4])bar(y5d_adapt3,0.1)gridtitle('Salida del sistema con ruido')xlabel('Tiempo (0.1 s)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 125: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

112

7.1.2 CAPÍTULO 4

% Se va calcular la inversa de una planta causal y estable, y de fase% mínima. La recíproca es una inversa perfecta.

% Señales:% x= señal de entrada a la planta.% d= respuesta del modelo de referencia y señal deseada.% s= salida de la planta y entrada al lms.% y= salida del algoritmo, será igual a la señal deseada,d% w= coeficientes del filtro hallado% Datos:% a,b= vectores con los coeficientes de la planta% ar,br= coeficientes del modelo de referencia% N= longitud de las señales empleadas% mu,sigma,alpha= parámetros del LMS%%N=3000; L=50; mu=0.05; sigma=1; alpha=0; w=zeros(1,L+1);%x=sqrt(12)*(rand(1,N)-0.5); % entrada a la planta%x=[1 1];%num1d=[0 2.4 -1.92]; den1d=[1 -0.1 -0.42]; % coeficientes de la planta%br=[0 0.25]; ar=[1 -1 0.25]; % coeficientes del modelo de referencia%s=resp(x,N,b,a); % salida de la planta y entrada al lms%d=resp(x,N,br,ar); % señal deseada, salida del modelo de referencia%[y,w,px]=lms(s,d,w,mu,sigma,alpha,0);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;clear all;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=20;num1d=[0 2.4 -1.92]; den1d=[1 -0.1 -0.42];entrada=[ones(1,N)];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(den1d(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (den1d(1)~=1)

den1d=den1d/den1d(1);num1d=num1d/den1d(1);

endfor k=0:N-1,

sum=0;for n=0:length(num1d)-1,

valor=0;if (k-n)>=0,

valor=entrada(min([k-n+1,length(entrada)]));endsum=sum+num1d(n+1)*valor;

endfor n=1:length(den1d)-1,

valor=0;if (k-n)>=0,

valor=y1d(k-n+1);end

Page 126: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

113

sum=sum-den1d(n+1)*valor;endy1d(k+1)=sum;

end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onplot(y1d,'r')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Amplitud')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=20;num2d=[0 0.25]; den2d=[1 -1 0.25];entrada=[ones(1,N)];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(den2d(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (den2d(1)~=1)

den2d=den2d/den2d(1);num2d=num2d/den2d(1);

endfor k=0:N-1,

sum=0;for n=0:length(num2d)-1,

valor=0;if (k-n)>=0,

valor=entrada(min([k-n+1,length(entrada)]));endsum=sum+num2d(n+1)*valor;

endfor n=1:length(den2d)-1,

valor=0;if (k-n)>=0,

valor=y2d(k-n+1);endsum=sum-den2d(n+1)*valor;

endy2d(k+1)=sum;

end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onplot(y2d,'r')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Amplitud')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=3000; L=50; mu=0.05; sigma=1; alpha=0; w=zeros(1,L+1);modeladora=sqrt(12)*(rand(1,N)-0.5);%px=0;if(length(px)<L),

Page 127: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

114

px=[px,zeros(1,L-length(px))];endpx=[0,px];%for k=1:N,% planta discretizada

sum=0;for n=0:length(num1d)-1,

valor=0;if (k-n-1)>=0,

valor=modeladora(min([k-n,length(modeladora)]));endsum=sum+num1d(n+1)*valor;

endfor n=1:length(den1d)-1,

valor=0;if (k-n-1)>=0,

valor=y3d(k-n);endsum=sum-den1d(n+1)*valor;

endy3d(k)=sum;

% modelo de referenciasum=0;for n=0:length(num2d)-1,

valor=0;if (k-n-1)>=0,

valor=modeladora(min([k-n,length(modeladora)]));endsum=sum+num2d(n+1)*valor;

endfor n=1:length(den2d)-1,

valor=0;if (k-n-1)>=0,

valor=y4d(k-n);endsum=sum-den2d(n+1)*valor;

endy4d(k)=sum;

% bucle de entrenamiento del modelo adaptativo de la plantapx(1)=y3d(k);y1d_adapt(k)=w*px';if abs(y1d_adapt(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y1d_adapt(k+1:NN)=zeros(1,NN-k);return

ende(k)=y4d(k)-y1d_adapt(k);ee=e(k);e2(k)=ee^2;sigma=alpha*(px(1)^2)+(1-alpha)*sigma;tmp=2*mu/((L+1)*sigma);w=w+tmp*ee*px;px(L+1:-1:2)=px(L:-1:1);

end%px=px(2:L+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;

Page 128: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

115

hold onplot(y4d,'r')plot(y1d_adapt,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real (rojo) y estimada (azul)')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;semilogy(abs(e))gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot(e)gridtitle('Evolución del error')xlabel('Muestras')ylabel('Valor del error')pause;close all;plot((e2))gridtitle('Evolución del error cuadrático')xlabel('Muestras')ylabel('Valor del error')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=20;entrada=[ones(1,N)];e=zeros(1,N);e2=zeros(1,N);px=0;if(length(px)<L),

px=[px,zeros(1,L-length(px))];endpx=[0,px];for k=1:N,%

sum=0;for n=0:length(num1d)-1,

valor=0;if (k-n-1)>=0,

valor=entrada(min([k-n,length(entrada)]));endsum=sum+num1d(n+1)*valor;

endfor n=1:length(den1d)-1,

valor=0;if (k-n-1)>=0,

valor=y5d(k-n);endsum=sum-den1d(n+1)*valor;

endy5d(k)=sum;

Page 129: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

116

%px(1)=y5d(k);y6d(k)=w*px';if abs(y6d(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10.\n');y6d(k+1:N)=zeros(1,N-k);return

endpx(L+1:-1:2)=px(L:-1:1);

end%px=px(2:L+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allhold onplot(y2d,'r')plot(y6d,'r*')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Amplitud')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;clear all;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 130: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

117

7.1.3 CAPÍTULO 5

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capítulo 5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sistema de fase no mínima, estabilizado con k=24%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sin ruido añadido%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Sistema discretonc=[1 1/2]; dc=[1 -1 3/4];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrenamiento=1700;N2=200;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%base=ones(1,50);usr=[zeros(1,entrenamiento) -base base base*(-2) base*2 base*(-0.5) base*0.5];N1=length(usr);ucr=usr+[(rand(1,entrenamiento)-0.5)*sqrt(12) (rand(1,N1-entrenamiento)-0.5)*0.05];entrada_sistema=ucr;ruido=zeros(1,N1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(dc(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (dc(1)~=1)

dc=dc/dc(1);nc=nc/dc(1);

endsalida_planta=zeros(1,N1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L1=40; mu_planta=0.1; alpha_planta=0.1;sigma_planta=1;w_planta=zeros(1,L1+1);px_planta=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L2=40; mu_control=0.1; alpha_control=0.1;sigma_control=1;w_control=zeros(1,L2+1);px_control=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N1~=length(entrada_sistema),

error('SPNLMS: lengths of x and d row vectors not equal (entrada_planta).');endif(mu_planta<=0)|(mu_planta>=1)|(sigma_planta<=0)|(alpha_planta<0)|(alpha_planta>=1),

error('SPNLMS: mu, sigma, or alpha out of range (planta).');endsalida_modelo_planta=zeros(1,N1);

Page 131: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

118

if(length(px_planta)<L1),px_planta=[px_planta,zeros(1,L1-length(px_planta))];

endpx_planta=[0,px_planta];px_planta_copia=px_planta;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(12)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N2~=length(entrada_modeladora),

error('SPNLMS: lengths of x and d row vectors not equal(salida_modelo_planta_copia).');endif(mu_control<=0)|(mu_control>=1)|(sigma_control<=0)|(alpha_control<0)|(alpha_control>=1),

error('SPNLMS: mu, sigma, or alpha out of range (control).');end

salida_modelo_control=zeros(1,N2);if(length(px_control)<L1),

px_control=[px_control,zeros(1,L2-length(px_control))];endpx_control=[0,px_control];px_control_copia=px_control;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for k=1:N1,

k%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (k-1-n)>=0,

valor=entrada_sistema(min([k-n,length(entrada_sistema)]));endsum=sum+nc(n+1)*valor;

endfor n=1:length(dc)-1,

valor=0;if (k-1-n)>=0,

valor=salida_planta(k-n);endsum=sum-dc(n+1)*valor;

endsalida_planta(k)=sum;salida_planta_ruidosa(k)=salida_planta(k)+ruido(k);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% estimación de la planta directa%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta(1)=entrada_sistema(k);salida_modelo_planta(k)=w_planta*px_planta';if abs(salida_modelo_planta(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10 (salida_modelo_planta).\n');salida_modelo_planta(k+1:N1)=zeros(1,N1-k);close all;clear all;

Page 132: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

119

returnende_planta(k)=salida_planta_ruidosa(k)-salida_modelo_planta(k);ee=e_planta(k);sigma_planta=alpha_planta*(px_planta(1)^2)+(1-alpha_planta)*sigma_planta;tmp_planta=2*mu_planta/((L1+1)*sigma_planta);w_planta=w_planta+tmp_planta*ee*px_planta;px_planta(L1+1:-1:2)=px_planta(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(7)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BUCLE DE ENTRENAMIENTO OFFLINE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia=zeros(1,L1+1);px_control=zeros(1,L2+1);for i=1:N2,

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia(1)=entrada_modeladora(i);salida_modelo_planta_copia(i)=w_planta*px_planta_copia';px_planta_copia(L1+1:-1:2)=px_planta_copia(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta inversa, en serie con la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control(1)=salida_modelo_planta_copia(i);salida_modelo_control(i)=w_control*px_control';if abs(salida_modelo_control(i))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10(salida_modelo_control).\n');

salida_modelo_control(i+1:N2)=zeros(1,N2-i);close all;clear all;return

ende_control(i)=entrada_modeladora(i)-salida_modelo_control(i);ee=e_control(i);sigma_control=alpha_control*(px_control(1)^2)+(1-

alpha_control)*sigma_control;tmp_control=2*mu_control/((L2+1)*sigma_control);w_control=w_control+tmp_control*ee*px_control;for l=1:8

w_ctrl(k,l)=w_control(l);endpx_control(L2+1:-1:2)=px_control(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end

% px_planta_copia=px_planta_copia(2:L1+1);% px_control=px_control(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del controlador (=salida del sistema)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% px_control_copia(1)=salida_planta_ruidosa(k);% salida_sistema(k)=w_control*px_control_copia';% px_control_copia(L2+1:-1:2)=px_control_copia(L2:-1:1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end%px_planta=px_planta(2:L1+1);

Page 133: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

120

%px_control_copia=px_control_copia(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold on%axis ([4200 4300 -2.2 -1.8])plot(salida_planta_ruidosa,'r')plot(salida_modelo_planta,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real (rojo) y estimada (azul) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onaxis([0 N1 -40 40])plot(w_ctrl)gridtitle('Pesos del filtro de Wiener')xlabel('Muestras')ylabel('Pesos')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold on%axis ([0 N2 -2 2])plot(salida_modelo_control,'g')plot(entrada_modeladora,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida modelo control (verde) y señal modeladora (negro) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N3=400;usr2=[zeros(1,50) -base base base*(-2) base*2 base*(-0.5) base*0.5 zeros(1,50)];ruido2=zeros(1,N3);px_control_copia2=zeros(1,L2+1);salida_planta2=zeros(1,N3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for j=1:N3

j%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle controlador%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control_copia2(1)=usr2(j);salida_control_copia2(j)=w_control*px_control_copia2';px_control_copia2(L2+1:-1:2)=px_control_copia2(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;

Page 134: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

121

if (j-1-n)>=0,valor=salida_control_copia2(min([j-n,length(salida_control_copia2)]));

endsum=sum+nc(n+1)*valor;

endfor n=1:length(dc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_planta2(j-n);endsum=sum-dc(n+1)*valor;

endsalida_planta2(j)=sum;salida_planta_ruidosa2(j)=salida_planta2(j)+ruido2(j);

end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;close allhold onplot(salida_planta2,'r')%plot(salida_planta_ruidosa2,'b')plot(usr2,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida planta (rojo) y entrada (negra) del sistema')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%

Page 135: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

122

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capítulo 5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sistema de fase no mínima, estabilizado con k=24%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% con ruido a la entrada del sistema%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Sistema discretonc=[1 1/2]; dc=[1 -1 3/4];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrenamiento=1700;N2=200;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%base=ones(1,50);usr=[zeros(1,entrenamiento) -base base base*(-2) base*2 base*(-0.5) base*0.5];N1=length(usr);ucr=usr+[(rand(1,entrenamiento)-0.5)*sqrt(12) (rand(1,N1-entrenamiento)-0.5)*0.05];entrada_sistema=ucr;ruido=0.05*(rand(1,N1)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(dc(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (dc(1)~=1)

dc=dc/dc(1);nc=nc/dc(1);

endsalida_planta=zeros(1,N1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L1=40; mu_planta=0.1; alpha_planta=0.1;sigma_planta=1;w_planta=zeros(1,L1+1);px_planta=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L2=40; mu_control=0.1; alpha_control=0.1;sigma_control=1;w_control=zeros(1,L2+1);px_control=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N1~=length(entrada_sistema),

error('SPNLMS: lengths of x and d row vectors not equal (entrada_planta).');endif(mu_planta<=0)|(mu_planta>=1)|(sigma_planta<=0)|(alpha_planta<0)|(alpha_planta>=1),

error('SPNLMS: mu, sigma, or alpha out of range (planta).');endsalida_modelo_planta=zeros(1,N1);if(length(px_planta)<L1),

px_planta=[px_planta,zeros(1,L1-length(px_planta))];endpx_planta=[0,px_planta];

Page 136: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

123

px_planta_copia=px_planta;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(12)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N2~=length(entrada_modeladora),

error('SPNLMS: lengths of x and d row vectors not equal(salida_modelo_planta_copia).');endif(mu_control<=0)|(mu_control>=1)|(sigma_control<=0)|(alpha_control<0)|(alpha_control>=1),

error('SPNLMS: mu, sigma, or alpha out of range (control).');end

salida_modelo_control=zeros(1,N2);if(length(px_control)<L1),

px_control=[px_control,zeros(1,L2-length(px_control))];endpx_control=[0,px_control];px_control_copia=px_control;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for k=1:N1,

k%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (k-1-n)>=0,

valor=entrada_sistema(min([k-n,length(entrada_sistema)]));endsum=sum+nc(n+1)*valor;

endfor n=1:length(dc)-1,

valor=0;if (k-1-n)>=0,

valor=salida_planta(k-n);endsum=sum-dc(n+1)*valor;

endsalida_planta(k)=sum;salida_planta_ruidosa(k)=salida_planta(k)+ruido(k);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% estimación de la planta directa%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta(1)=entrada_sistema(k);salida_modelo_planta(k)=w_planta*px_planta';if abs(salida_modelo_planta(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10 (salida_modelo_planta).\n');salida_modelo_planta(k+1:N1)=zeros(1,N1-k);close all;clear all;return

ende_planta(k)=salida_planta_ruidosa(k)-salida_modelo_planta(k);ee=e_planta(k);

Page 137: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

124

sigma_planta=alpha_planta*(px_planta(1)^2)+(1-alpha_planta)*sigma_planta;tmp_planta=2*mu_planta/((L1+1)*sigma_planta);w_planta=w_planta+tmp_planta*ee*px_planta;px_planta(L1+1:-1:2)=px_planta(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(7)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BUCLE DE ENTRENAMIENTO OFFLINE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia=zeros(1,L1+1);px_control=zeros(1,L2+1);for i=1:N2,

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia(1)=entrada_modeladora(i);salida_modelo_planta_copia(i)=w_planta*px_planta_copia';px_planta_copia(L1+1:-1:2)=px_planta_copia(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta inversa, en serie con la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control(1)=salida_modelo_planta_copia(i);salida_modelo_control(i)=w_control*px_control';if abs(salida_modelo_control(i))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10(salida_modelo_control).\n');

salida_modelo_control(i+1:N2)=zeros(1,N2-i);close all;clear all;return

ende_control(i)=entrada_modeladora(i)-salida_modelo_control(i);ee=e_control(i);sigma_control=alpha_control*(px_control(1)^2)+(1-

alpha_control)*sigma_control;tmp_control=2*mu_control/((L2+1)*sigma_control);w_control=w_control+tmp_control*ee*px_control;for l=1:8

w_ctrl(k,l)=w_control(l);endpx_control(L2+1:-1:2)=px_control(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end

% px_planta_copia=px_planta_copia(2:L1+1);% px_control=px_control(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del controlador (=salida del sistema)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% px_control_copia(1)=salida_planta_ruidosa(k);% salida_sistema(k)=w_control*px_control_copia';% px_control_copia(L2+1:-1:2)=px_control_copia(L2:-1:1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end%px_planta=px_planta(2:L1+1);%px_control_copia=px_control_copia(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 138: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

125

close all;hold on%axis ([4200 4300 -2.2 -1.8])plot(salida_planta_ruidosa,'r')plot(salida_modelo_planta,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real ruidosa (rojo) y estimada (azul) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onaxis([0 N1 -40 40])plot(w_ctrl)gridtitle('Pesos del filtro de Wiener')xlabel('Muestras')ylabel('Pesos')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold on%axis ([0 N2 -2 2])plot(salida_modelo_control,'g')plot(entrada_modeladora,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida modelo control (verde) y señal modeladora (negro) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N3=400;usr2=[zeros(1,50) -base base base*(-2) base*2 base*(-0.5) base*0.5 zeros(1,50)];ruido2=zeros(1,N3);px_control_copia2=zeros(1,L2+1);salida_planta2=zeros(1,N3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for j=1:N3

j%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle controlador%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control_copia2(1)=usr2(j);salida_control_copia2(j)=w_control*px_control_copia2';px_control_copia2(L2+1:-1:2)=px_control_copia2(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_control_copia2(min([j-n,length(salida_control_copia2)]));endsum=sum+nc(n+1)*valor;

Page 139: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

126

endfor n=1:length(dc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_planta2(j-n);endsum=sum-dc(n+1)*valor;

endsalida_planta2(j)=sum;salida_planta_ruidosa2(j)=salida_planta2(j)+ruido2(j);

end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;close allhold onplot(salida_planta2,'r')%plot(salida_planta_ruidosa2,'b')plot(usr2,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida planta (rojo) y entrada (negra) del sistema')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%

Page 140: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

127

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capítulo 5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sistema de fase no mínima, estabilizado con k=24%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% con ruido a la salida de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Sistema discretonc=[1 1/2]; dc=[1 -1 3/4];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrenamiento=1700;N2=200;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%base=ones(1,50);usr=[zeros(1,entrenamiento) -base base base*(-2) base*2 base*(-0.5) base*0.5];N1=length(usr);ucr=usr+[(rand(1,entrenamiento)-0.5)*sqrt(12) (rand(1,N1-entrenamiento)-0.5)*0.05];entrada_sistema=ucr;ruido=zeros(1,N1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(dc(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (dc(1)~=1)

dc=dc/dc(1);nc=nc/dc(1);

endsalida_planta=zeros(1,N1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L1=40; mu_planta=0.1; alpha_planta=0.1;sigma_planta=1;w_planta=zeros(1,L1+1);px_planta=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L2=40; mu_control=0.1; alpha_control=0.1;sigma_control=1;w_control=zeros(1,L2+1);px_control=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N1~=length(entrada_sistema),

error('SPNLMS: lengths of x and d row vectors not equal (entrada_planta).');endif(mu_planta<=0)|(mu_planta>=1)|(sigma_planta<=0)|(alpha_planta<0)|(alpha_planta>=1),

error('SPNLMS: mu, sigma, or alpha out of range (planta).');endsalida_modelo_planta=zeros(1,N1);if(length(px_planta)<L1),

px_planta=[px_planta,zeros(1,L1-length(px_planta))];endpx_planta=[0,px_planta];

Page 141: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

128

px_planta_copia=px_planta;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(12)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N2~=length(entrada_modeladora),

error('SPNLMS: lengths of x and d row vectors not equal(salida_modelo_planta_copia).');endif(mu_control<=0)|(mu_control>=1)|(sigma_control<=0)|(alpha_control<0)|(alpha_control>=1),

error('SPNLMS: mu, sigma, or alpha out of range (control).');end

salida_modelo_control=zeros(1,N2);if(length(px_control)<L1),

px_control=[px_control,zeros(1,L2-length(px_control))];endpx_control=[0,px_control];px_control_copia=px_control;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for k=1:N1,

k%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (k-1-n)>=0,

valor=entrada_sistema(min([k-n,length(entrada_sistema)]));endsum=sum+nc(n+1)*valor;

endfor n=1:length(dc)-1,

valor=0;if (k-1-n)>=0,

valor=salida_planta(k-n);endsum=sum-dc(n+1)*valor;

endsalida_planta(k)=sum;salida_planta_ruidosa(k)=salida_planta(k)+ruido(k);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% estimación de la planta directa%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta(1)=entrada_sistema(k);salida_modelo_planta(k)=w_planta*px_planta';if abs(salida_modelo_planta(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10 (salida_modelo_planta).\n');salida_modelo_planta(k+1:N1)=zeros(1,N1-k);close all;clear all;return

ende_planta(k)=salida_planta_ruidosa(k)-salida_modelo_planta(k);ee=e_planta(k);

Page 142: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

129

sigma_planta=alpha_planta*(px_planta(1)^2)+(1-alpha_planta)*sigma_planta;tmp_planta=2*mu_planta/((L1+1)*sigma_planta);w_planta=w_planta+tmp_planta*ee*px_planta;px_planta(L1+1:-1:2)=px_planta(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(7)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BUCLE DE ENTRENAMIENTO OFFLINE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia=zeros(1,L1+1);px_control=zeros(1,L2+1);for i=1:N2,

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia(1)=entrada_modeladora(i);salida_modelo_planta_copia(i)=w_planta*px_planta_copia';px_planta_copia(L1+1:-1:2)=px_planta_copia(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta inversa, en serie con la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control(1)=salida_modelo_planta_copia(i);salida_modelo_control(i)=w_control*px_control';if abs(salida_modelo_control(i))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10(salida_modelo_control).\n');

salida_modelo_control(i+1:N2)=zeros(1,N2-i);close all;clear all;return

ende_control(i)=entrada_modeladora(i)-salida_modelo_control(i);ee=e_control(i);sigma_control=alpha_control*(px_control(1)^2)+(1-

alpha_control)*sigma_control;tmp_control=2*mu_control/((L2+1)*sigma_control);w_control=w_control+tmp_control*ee*px_control;for l=1:8

w_ctrl(k,l)=w_control(l);endpx_control(L2+1:-1:2)=px_control(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end

% px_planta_copia=px_planta_copia(2:L1+1);% px_control=px_control(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del controlador (=salida del sistema)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% px_control_copia(1)=salida_planta_ruidosa(k);% salida_sistema(k)=w_control*px_control_copia';% px_control_copia(L2+1:-1:2)=px_control_copia(L2:-1:1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end%px_planta=px_planta(2:L1+1);%px_control_copia=px_control_copia(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 143: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

130

close all;hold on%axis ([4200 4300 -2.2 -1.8])plot(salida_planta_ruidosa,'r')plot(salida_modelo_planta,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real (rojo) y estimada (azul) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onaxis([0 N1 -40 40])plot(w_ctrl)gridtitle('Pesos del filtro de Wiener')xlabel('Muestras')ylabel('Pesos')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold on%axis ([0 N2 -2 2])plot(salida_modelo_control,'g')plot(entrada_modeladora,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida modelo control (verde) y señal modeladora (negro) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N3=400;usr2=[zeros(1,50) -base base base*(-2) base*2 base*(-0.5) base*0.5 zeros(1,50)];ruido2=0.01*(rand(1,N3)-0.5); % ruido añadidopx_control_copia2=zeros(1,L2+1);salida_planta2=zeros(1,N3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for j=1:N3

j%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle controlador%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control_copia2(1)=usr2(j);salida_control_copia2(j)=w_control*px_control_copia2';px_control_copia2(L2+1:-1:2)=px_control_copia2(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_control_copia2(min([j-n,length(salida_control_copia2)]));endsum=sum+nc(n+1)*valor;

Page 144: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

131

endfor n=1:length(dc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_planta2(j-n);endsum=sum-dc(n+1)*valor;

endsalida_planta2(j)=sum;salida_planta_ruidosa2(j)=salida_planta2(j)+ruido2(j);

end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;close allhold onplot(salida_planta2,'r')plot(salida_planta_ruidosa2,'b')plot(usr2,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida planta (rojo), planta ruidosa (azul) y entrada (negra) delsistema')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%

Page 145: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

132

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capítulo 5%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% sistema de fase no mínima, estabilizado con k=24%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% con ruido en la entrada y perturbaciones en la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Sistema discretonc=[1 1/2]; dc=[1 -1 3/4];%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrenamiento=1700;N2=200;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%base=ones(1,50);usr=[zeros(1,entrenamiento) -base base base*(-2) base*2 base*(-0.5) base*0.5];N1=length(usr);ucr=usr+[(rand(1,entrenamiento)-0.5)*sqrt(12) (rand(1,N1-entrenamiento)-0.5)*0.05];entrada_sistema=ucr;ruido=0.05*(rand(1,N1)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if(dc(1)==0),

error('RESP: dc(1) no debe ser cero.');endif (dc(1)~=1)

dc=dc/dc(1);nc=nc/dc(1);

endsalida_planta=zeros(1,N1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L1=40; mu_planta=0.1; alpha_planta=0.1;sigma_planta=1;w_planta=zeros(1,L1+1);px_planta=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%L2=40; mu_control=0.1; alpha_control=0.1;sigma_control=1;w_control=zeros(1,L2+1);px_control=0;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N1~=length(entrada_sistema),

error('SPNLMS: lengths of x and d row vectors not equal (entrada_planta).');endif(mu_planta<=0)|(mu_planta>=1)|(sigma_planta<=0)|(alpha_planta<0)|(alpha_planta>=1),

error('SPNLMS: mu, sigma, or alpha out of range (planta).');endsalida_modelo_planta=zeros(1,N1);if(length(px_planta)<L1),

px_planta=[px_planta,zeros(1,L1-length(px_planta))];endpx_planta=[0,px_planta];

Page 146: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

133

px_planta_copia=px_planta;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(12)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%if N2~=length(entrada_modeladora),

error('SPNLMS: lengths of x and d row vectors not equal(salida_modelo_planta_copia).');endif(mu_control<=0)|(mu_control>=1)|(sigma_control<=0)|(alpha_control<0)|(alpha_control>=1),

error('SPNLMS: mu, sigma, or alpha out of range (control).');end

salida_modelo_control=zeros(1,N2);if(length(px_control)<L1),

px_control=[px_control,zeros(1,L2-length(px_control))];endpx_control=[0,px_control];px_control_copia=px_control;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for k=1:N1,

k%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (k-1-n)>=0,

valor=entrada_sistema(min([k-n,length(entrada_sistema)]));endsum=sum+nc(n+1)*valor;

endfor n=1:length(dc)-1,

valor=0;if (k-1-n)>=0,

valor=salida_planta(k-n);endsum=sum-dc(n+1)*valor;

endsalida_planta(k)=sum;salida_planta_ruidosa(k)=salida_planta(k)+ruido(k);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% estimación de la planta directa%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta(1)=entrada_sistema(k);salida_modelo_planta(k)=w_planta*px_planta';if abs(salida_modelo_planta(k))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10 (salida_modelo_planta).\n');salida_modelo_planta(k+1:N1)=zeros(1,N1-k);close all;clear all;return

ende_planta(k)=salida_planta_ruidosa(k)-salida_modelo_planta(k);ee=e_planta(k);

Page 147: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

134

sigma_planta=alpha_planta*(px_planta(1)^2)+(1-alpha_planta)*sigma_planta;tmp_planta=2*mu_planta/((L1+1)*sigma_planta);w_planta=w_planta+tmp_planta*ee*px_planta;px_planta(L1+1:-1:2)=px_planta(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%entrada_modeladora=sqrt(7)*(rand(1,N2)-0.5);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% BUCLE DE ENTRENAMIENTO OFFLINE%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia=zeros(1,L1+1);px_control=zeros(1,L2+1);for i=1:N2,

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_planta_copia(1)=entrada_modeladora(i);salida_modelo_planta_copia(i)=w_planta*px_planta_copia';px_planta_copia(L1+1:-1:2)=px_planta_copia(L1:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta inversa, en serie con la copia del modelo de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control(1)=salida_modelo_planta_copia(i);salida_modelo_control(i)=w_control*px_control';if abs(salida_modelo_control(i))>1e10,

fprintf('\nSPNLMS warning: |y| output > 1e10(salida_modelo_control).\n');

salida_modelo_control(i+1:N2)=zeros(1,N2-i);close all;clear all;return

ende_control(i)=entrada_modeladora(i)-salida_modelo_control(i);ee=e_control(i);sigma_control=alpha_control*(px_control(1)^2)+(1-

alpha_control)*sigma_control;tmp_control=2*mu_control/((L2+1)*sigma_control);w_control=w_control+tmp_control*ee*px_control;for l=1:8

w_ctrl(k,l)=w_control(l);endpx_control(L2+1:-1:2)=px_control(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end

% px_planta_copia=px_planta_copia(2:L1+1);% px_control=px_control(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% salida de la copia del controlador (=salida del sistema)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% px_control_copia(1)=salida_planta_ruidosa(k);% salida_sistema(k)=w_control*px_control_copia';% px_control_copia(L2+1:-1:2)=px_control_copia(L2:-1:1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%end%px_planta=px_planta(2:L1+1);%px_control_copia=px_control_copia(2:L2+1);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 148: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

135

close all;hold on%axis ([4200 4300 -2.2 -1.8])plot(salida_planta_ruidosa,'r')plot(salida_modelo_planta,'b')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida real ruidosa (rojo) y estimada (azul) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold onaxis([0 N1 -40 40])plot(w_ctrl)gridtitle('Pesos del filtro de Wiener')xlabel('Muestras')ylabel('Pesos')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;hold on%axis ([0 N2 -2 2])plot(salida_modelo_control,'g')plot(entrada_modeladora,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida modelo control (verde) y señal modeladora (negro) de la planta')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% COMIENZO DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N3=400;usr2=[zeros(1,50) -base base base*(-2) base*2 base*(-0.5) base*0.5 zeros(1,50)];ruido2=0.01*(rand(1,N3)-0.5); % ruido añadidopx_control_copia2=zeros(1,L2+1);salida_planta2=zeros(1,N3);%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%for j=1:N3

j%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle controlador%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

px_control_copia2(1)=usr2(j);salida_control_copia2(j)=w_control*px_control_copia2';px_control_copia2(L2+1:-1:2)=px_control_copia2(L2:-1:1);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% bucle de la planta%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

sum=0;for n=0:length(nc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_control_copia2(min([j-n,length(salida_control_copia2)]));endsum=sum+nc(n+1)*valor;

Page 149: PROYECTO FIN DE CARRERA: CONTROL INVERSO …bibing.us.es/proyectos/abreproy/11284/fichero... · proyecto fin de carrera:proyecto fin de carrera: control inverso adaptativo autor:

APÉNDICELISTADO DE LOS SCRIPTS DE LAS SIMULACIONES

REALIZADAS

Proyecto fin de carrera: ControlControlControlControl inversoinversoinversoinverso adaptativoadaptativoadaptativoadaptativo

Autor: JoséJoséJoséJosé JulioJulioJulioJulio HernándezHernándezHernándezHernández FernándezFernándezFernándezFernández

136

endfor n=1:length(dc)-1,

valor=0;if (j-1-n)>=0,

valor=salida_planta2(j-n);endsum=sum-dc(n+1)*valor;

endsalida_planta2(j)=sum;salida_planta_ruidosa2(j)=salida_planta2(j)+ruido2(j);

end%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN DEL SISTEMA 2 --------------------------------------%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close all;close allhold onplot(salida_planta2,'r')plot(salida_planta_ruidosa2,'b')plot(usr2,'k')gridtitle('Salida del sistema')xlabel('Muestras')ylabel('Salida planta (rojo), planta ruidosa (azul) y entrada (negra) delsistema')pause;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%close allclear all%