103
MODELADO E IDENTIFICACIÓN DE SISTEMAS 5º INGENIERÍA INDUSTRIAL PRÁCTICA 1 Filtrado de Señales: Análisis y diseño de filtros continuos Curso 2004-2005 OBJETIVOS Diseño de filtros analógicos de Butterworth, Chebyshev y Bessel. Estudio de las características más importantes de los filtros anteriormente citados por medio de diagramas de Bode. Utilización en simulación de los filtros propuestos ante señales con ruidos de distintas frecuencias. 1.- DIAGRAMAS DE BODE. El diagrama de Bode es una herramienta potente a la hora de interpretar y analizar el comportamiento en frecuencia de un determinado sistema o filtro. Dicho diagrama se compone de dos partes: el diagrama de magnitud y el de fase. En el primero se representa el módulo de la función de transferencia asociada a un determinado sistema, y en el segundo el argumento de dicha función. En Matlab, el comando que nos permite obtener un diagrama de Bode de una función de transferencia de un sistema continuo dado es el comando bode. Este comando tiene la siguiente sintaxis: bode(num,den) donde num y den contienen los coeficientes en orden descendiente de potencias de s del numerador y denominador de la función de transferencia. Como se puede apreciar, no es necesario especificar el rango de frecuencias sobre el cual queremos que se trace el diagrama, esto se realiza automáticamente. No

Prácticas identificación de sistemas

Embed Size (px)

DESCRIPTION

Os presento unas prácticas de la asignatura de Modelado e Identificación de Sistemas (concretamente de la parte de identificación) que realicé durante mi carrera de Ing. Industrial. Entre otras cosas, en esta asignatura estudié se estudian técnicas de filtrado y acondicionamiento de señales para permitir a los distintos algoritmos de identificación operar de forma óptima. Las prácticas son las cinco siguientes: - Práctica 1: Análisis y diseño de filtros analógicos - Práctica 2: Diseño de filtros digitales - Práctica 3: Filtrado Digital. Aplicación a imagen. - Práctica 4: Identificación de un sistema mediante el algoritmo LS. - Práctica 5:Identificación de un sistema real mediante el algoritmo RLS. Con estas prácticas aprenderás a: - Aplicar técnicas de filtrado de señales para mejorar el proceso de identificación experimental de sistemas (eliminación de ruidos y perturbaciones). - Utilizar las técnicas de identificación paramétrica de sistemas más usuales tanto para sistemas lineales como para sistemas no lineales. - Conocer los métodos matemáticos e informáticos necesarios para realizar una identificación paramétrica. Los bloques de la asignatura que están vinculados con las prácticas son: BLOQUE I: ACONDICIONAMIENTO Y FILTRADO DE SEÑALES 1. Análisis de Filtros Analógicos 2. Diseño de Filtros Analógicos 3. Análisis de Filtros Digitales 4. Diseño de Filtros Digitales por discretización de filtros analógicos 5. Diseño de Filtros Digitales no recursivos BLOQUE II: IDENTIFICACIÓN DE SISTEMAS 6. Introducción a la Identificación 7. Identificación en línea. Algoritmo LS 8. Propiedades del Algoritmo LS BLOQUE I: ACONDICIONAMIENTO Y FILTRADO DE SEÑALES. En él se introduce al alumno en el área de filtrado de señales. Este aspecto es importante ya que se suele emplear en casi la totalidad de las aplicaciones de captura de datos y/ control de sistemas y porque es necesario que los datos experimentales obtenidos para una identificación sean lo más correcto posibles. BLOQUE II: IDENTIFICACIÓN DE SISTEMAS. En este bloque se estudia la identificación experimental de sistemas físicos. Para ello se parte del estudio y análisis del algoritmo de identificación LS y a partir de él se estudian otros más completos y/o eficientes.

Citation preview

Page 1: Prácticas identificación de sistemas

MODELADO E IDENTIFICACIÓN DE SISTEMAS 5º INGENIERÍA INDUSTRIAL

PRÁCTICA 1

Filtrado de Señales: Análisis y diseño de filtros continuos

Curso 2004-2005

OBJETIVOS

• Diseño de filtros analógicos de Butterworth, Chebyshev y Bessel.

• Estudio de las características más importantes de los filtros anteriormente

citados por medio de diagramas de Bode.

• Utilización en simulación de los filtros propuestos ante señales con ruidos de

distintas frecuencias.

1.- DIAGRAMAS DE BODE.

El diagrama de Bode es una herramienta potente a la hora de interpretar y

analizar el comportamiento en frecuencia de un determinado sistema o filtro. Dicho

diagrama se compone de dos partes: el diagrama de magnitud y el de fase. En el primero

se representa el módulo de la función de transferencia asociada a un determinado

sistema, y en el segundo el argumento de dicha función.

En Matlab, el comando que nos permite obtener un diagrama de Bode de una

función de transferencia de un sistema continuo dado es el comando bode. Este

comando tiene la siguiente sintaxis:

bode(num,den)

donde num y den contienen los coeficientes en orden descendiente de potencias de s

del numerador y denominador de la función de transferencia.

Como se puede apreciar, no es necesario especificar el rango de frecuencias

sobre el cual queremos que se trace el diagrama, esto se realiza automáticamente. No

Page 2: Prácticas identificación de sistemas

obstante se puede especificar dicho rango empleando el comando con la siguiente

sintaxis:

bode(num,den,w)

donde w es un vector que contiene (en rad/seg) las frecuencias para las que queremos

que se trace el diagrama.

NOTA: En Matlab, podemos crear vectores de datos de la siguiente forma:

nomvar=v_ini:incr:v_fin

donde v_ini es el valor inicial, incr el incremento de un valor a otro y v_fin el

valor final.

Además, es posible obtener los valores de la magnitud, la fase y la frecuencia

empleada con el fin de analizarlos numéricamente. Para esto basta con utilizar el

comando bode con la siguiente sintaxis:

[mag,phase,w]= bode(num,den)

De esta forma obtenemos en mag la magnitud en escala decimal, en phase la fase en

grados y en w las frecuencias empleadas en rad/seg.

Veamos un ejemplo:

Se quiere obtener el diagrama de bode de la siguiente función de transferencia:

G s ss

( ) = ++102

Para obtener el diagrama de bode correspondiente a esta función de transferencia

haremos:

» bode([1 10],[1 2])

con lo cual se obtiene la siguiente gráfica:

2

Page 3: Prácticas identificación de sistemas

10-1

100

101

102

0

5

10

15

Frequency (rad/sec)

Gain (dB)

10-1

100

101

102

-30

0

Frequency (rad/sec)

Phase(deg)

Para obtener diagramas de bode de sistemas discretos, el comando a utilizar es :

dbode(num,den,T)

donde num y den contienen los coeficientes en orden descendiente de potencias de z

del numerador y denominador de la función de transferencia, y T el periodo de muestreo

de dicho sistema discreto. El resto de opciones (especificación del rango de frecuencias

y obtención de los valores numéricos de magnitud fase y rango de frecuencias) es

idéntico al caso continuo.

2.- Diseño de Filtros Analógicos con Matlab.

El paquete Matlab posee una librería denominada Signal Processing Toolbox.

Dicha librería incluye gran cantidad de funciones que permiten tanto diseñar como

estudiar la mayoría de los elementos relacionados con el procesamiento de señales,

entre ellos los filtros. Nos vamos a centrar pues en cómo diseñar filtros polinomiales

(Butterworth, Bessel y Chebyshev) mediante las funciones proporcionadas por dicha

librería.

2.1.- Diseño de filtros de Butterworth.

El diseño de un filtro de Butterworth continuo paso bajo en Matlab se realiza de

la siguiente forma : [b,a] = butter(N,Wc,’s’)

3

Page 4: Prácticas identificación de sistemas

Este comando crea un filtro de Butterworth continuo paso bajo de orden N con una

frecuencia de corte Wc rad./seg. y devuelve en b y en a los coeficientes (en orden

descendente de potencias de s) asociados al numerador y denominador de la función de

transferencia resultante.

Por ejemplo, si deseamos diseñar un filtro de Butterworth de segundo orden y

frecuencia de corte 1 rad/seg, el comando sería : » [b,a]=butter(2,1,'s')

b =

0 0 1

a =

1.0000 1.4142 1.0000

Es posible también diseñar filtros de Butterworth paso alto, pasa banda y rechaza

banda :

• Paso Alto : [b,a] = butter(N,Wc,’high’,’s’)

• Pasa Banda : [b,a] = butter(N, Wc,’s’) con Wc=[w1,w2], deja pasar frecuencias

comprendidas entre w1 y w2.

• Rechaza Banda : [b,a] = butter(N,Wc,’stop’,’s’) con Wc=[w1,w2], rechaza

frecuencias comprendidas entre w1 y w2.

2.2.- Diseño de filtros de Chebyshev.

Para diseñar un filtro de Chebyshev continuo paso bajo utilizamos :

[b,a] = cheby1(N,R,Wc,’s’)

Con dicho comado se calcula un filtro de Chebyshev de orden N, con una oscilación

máxima de R decibelios en la banda de paso y frecuencia de corte Wc rad./seg.,

obteniendo en b y en a el numerador y denominador de la función de transferencia

asociada. De la misma forma podemos diseñar filtros de Chebyshev paso alto, pasa

banda y elimina banda de la siguiente forma :

• Paso Alto : [b,a] = cheby1(N,R,Wc,’high’,’s’)

4

Page 5: Prácticas identificación de sistemas

• Pasa Banda : [b,a] = cheby1(N,R,Wc,’s’) con Wc=[w1,w2], deja pasar

frecuencias comprendidas entre w1 y w2.

• Rechaza Banda : [b,a] = chevy1(N,R,Wc,’stop’,’s’) con Wc=[w1,w2], rechaza

frecuencias comprendidas entre w1 y w2.

2.3.- Diseño de filtros de Bessel.

Para diseñar un filtro de Bessel continuo paso bajo utilizamos : [b,a] = besself(N,Wc)

Con este comando se calcula un filtro de Bessel continuo paso bajo de orden N y

frecuencia de corte Wc rad./seg., obteniendo en b y en a el numerador y denominador

de la función de transferencia del filtro calculado. Para calcular los restantes :

• Paso Alto : [b,a] = besself(N,Wc,’high’)

• Pasa Banda : [b,a] = besself(N,Wc) con Wc=[w1,w2], deja pasar frecuencias

comprendidas entre w1 y w2.

• Rechaza Banda : [b,a] = besself(N,Wc,’stop’) con Wc=[w1,w2], rechaza

frecuencias comprendidas entre w1 y w2.

Para más información tanto de estas funciones como de las restantes del Signal

Processing Toolbox se puede utilizar la ayuda en línea de Matlab (help signal o help

comando).

3.- Realización de la práctica.

Para realizar la práctica es necesario crear un esquema Simulink en el que se van a

probar por simulación los filtros que se diseñen. Este esquema es el siguiente :

5

Page 6: Prácticas identificación de sistemas

++Sum

s filtradaTo Workspace

senyal

ruido

Filtro

senyalTo Workspace2

s ruidoTo Workspace1

Como vemos, se dispone de dos generadores de señal, uno que proporciona la señal

propiamente dicha (p.e. senoidal de frecuencia 2 rad./seg. y amplitud 1) y otro que

genera un ruido (p.e. ruido de frecuencia 200 rad./seg. y amplitud 0.3) que se superpone

a la señal original. Esta señal con ruido (salida del sumador) es la entrada al filtro que

no es más que una función de transferencia continua con el numerador y el

denominador del filtro calculado. Se han añadido también variables del espacio de

trabajo de Matlab para recoger los resultados obtenidos.

Se pide :

1.- Diseñar filtros paso bajo de Butterworth, Chebyshev y Bessel de distintos órdenes

(p.e. N=2,4,8) que atenúe el ruido de la red eléctrica (50 Hz). Obtener sus diagramas de

Bode y simular el sistema anterior comentando los resultados obtenidos (para el filtro

de Chebyshev probar también con distinta amplitud máxima de oscilación en la banda

de paso).

2.- Diseñar un filtro de Butterworth pasa banda que elimine ruidos entre 8 y 12 Hz.

Comentar el diagrama de Bode y el resultado de la simulación obtenida.

6

Page 7: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 1

1.1. Introducción.

En principio, en esta práctica se pretendía introducir al alumno en el diseño de

filtros de Butterworth, Chebyshev y Bessel, aunque por recomendaciones del profesor

Rafael Puerto sólo estudiaremos los dos primeros. Para su análisis es necesario el

estudio de las características de los mismos por medio de sus respectivos Diagramas

de bode.

Otro de los objetivos de esta práctica reside en la simulación de cada filtro

diseñado. De hecho, se experimentará con cada uno de ellos bajo simulación para

diversos valores de frecuencias. Efectivamente, para realizar la simulación, es

necesario confeccionar un esquema Simulink como el de la figura siguiente, donde

ensayaremos los filtros diseñados:

Figura 1.1: Imagen sin filtrar.

1.2. Diseño de filtros pasa bajo.

Se van a diseñar filtros de Butterworth, Chebyshev y Bessel de distintos

órdenes (N = 2,4,8), que atenúen el ruido de una red eléctrica de 50 Hz. A pesar de que

deban trabajar para atenuar un ruido de 50 Hz, no se diseñarán para tal frecuencia.

Si deseamos una verdaderamente labor eficiente de los filtros, deberán

diseñarse para una frecuencia de corte de 40 Hz. Puesto que como trabajaremos a

frecuencias de 2 rad/s, la salida no se verá alterada debido a efectos de aliasing u

otros. A continuación, intentaremos responder a la siguiente pregunta:

1.- Diseñar filtros paso bajo de Butterworth, Chebyshev y Bessel de distintos órdenes

(p.e. N=2,4,8) que atenúe el ruido de la red eléctrica (50 Hz). Obtener sus diagramas

de Bode y simular el sistema anterior comentando los resultados obtenidos (para el

filtro de Chebyshev probar también con distinta amplitud máxima de oscilación en la

banda de paso).

Page 8: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 2

1.2.1. Filtro Butterworth.

Diagrama de Bode. Para el diseño del filtro de tipo Butterworth se han

empleado las siguientes líneas de código:

>> [num1,den1a]=butter(2,40*2*pi,'s')

num1 =

1.0e+004 *

0 0 6.31654681669719

den1 =

1.0e+004 *

0.00010000000000 0.03554306350527 6.31654681669719

>> tf(num1,den1)

Transfer function:

6.317e004

-------------------------

s^2 + 355.4 s + 6.317e004

>> [num1,den2]=butter(4,40*2*pi,'s')

num2 =

1.0e+009 *

0 0 0 0 3.98987636875273

den2 =

1.0e+009 *

0.00000000100000 0.00000065675018 0.00021566039809 0.04148393245613

3.98987636875273

>> tf(num2,den2)

Transfer function:

3.99e009

--------------------------------------------------------

s^4 + 656.8 s^3 + 2.157e005 s^2 + 4.148e007 s + 3.99e009

>> [num3,den3]=butter(8,40*2*pi,'s')

num3 =

1.0e+019 *

Columns 1 through 5

0 0 0 0 0

Columns 6 through 9

0 0 0 1.59191134379316

den3 =

1.0e+019 *

Columns 1 through 5

0.00000000000000 0.00000000000000 0.00000000000008 0.00000000003468

0.00000001024934

Columns 6 through 9

0.00000219065622 0.00033108363240 0.03246708456760 1.59191134379316

>> tf(num3,den3)

Transfer function:

1.592e019

----------------------------------------------------------------------------------------

s^8 + 1288 s^7 + 8.298e005 s^6 + 3.468e008 s^5 + 1.025e011 s^4 + 2.191e013 s^3

+ 3.311e015 s^2 + 3.247e017 s + 1.592e019

Page 9: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 3

A continuación mostraremos los diagramas de bode de un filtro Butterworth

para N = 2 azul, 4 rojo y 8 verde.

Figura 1.2: Diagrama de Bode para el filtro de Butterworth.

Como se puede observar en el diagrama de Bode, conforme aumentamos el

orden del polinomio mejor y más fuertemente va a atenuarse el ruido de 50 Hz. De

hecho, para un orden N = 2 el ruido se atenúa en 5 decibelios, para N = 4 el ruido se

atenúa en 8 decibelios, y para N = 8 el ruido se atenúa en 16 decibelios.

Page 10: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 4

Simulación.

Figura 1.3.A: Salida simulada para un filtro de orden 2.

Figura 1.3.B: Salida simulada para un filtro de orden 4.

Page 11: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 5

Figura 1.3.C: Salida simulada para un filtro de orden 8.

Si nos fijamos en las tres anteriores gráficas 1.3.A, 1.3.B y 1.3.C podemos

comprobar cómo el rizado de la señal filtrada (señal de color más intenso) va

disminuyendo conforme aumenta el orden del filtro de Butterworth.

En efecto, podríamos decir que la amplitud del rizado del ruido que persiste en

la señal filtrada es inversamente proporcional al orden del filtro de Butterworth. Por

tanto, podemos afirmar que si aumenta el orden N, la salida de la señal filtrada va

corrigiéndose.

De un modo u otro, la simulación ha venido a ratificar lo que ya se había

observado en el diagrama de Bode.

Page 12: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 6

1.2.2. Filtro de Chebyshev.

Diagrama de Bode. Para el diseño del filtro de tipo Chebyshev se han empleado

las siguientes líneas de código:

>> [num1,den1] = cheby1(2,0.1,40*2*pi,'s')

num1 =

1.0e+005 *

0 0 2.06936491857243

den1 =

1.0e+005 *

0.00001000000000 0.00596238156135 2.09332703499408

>> tf(num1,den1)

Transfer function:

2.069e005

-------------------------

s^2 + 596.2 s + 2.093e005

>> [num2,den2] = cheby1(4,0.1,40*2*pi,'s')

num2 =

1.0e+009 *

0 0 0 0 3.26781009724838

den2 =

1.0e+009 *

0.00000000100000 0.00000045333748 0.00016592290165 0.03215525353257

3.30564955479950

>> tf(num2,den2)

Transfer function:

3.268e009

---------------------------------------------------------

s^4 + 453.3 s^3 + 1.659e005 s^2 + 3.216e007 s + 3.306e009

>> [num3,den3] = cheby1(8,0.1,40*2*pi,'s')

num3 =

1.0e+017 *

Columns 1 through 5

0 0 0 0 0

Columns 6 through 9

0 0 0 8.14884892786441

den3 =

1.0e+017 *

Columns 1 through 5

0.00000000000000 0.00000000000000 0.00000000000216 0.00000000056591

0.00000013639199

Columns 6 through 9

0.00002165211593 0.00268813766864 0.20676213291652 8.24320815129543

>> tf(num3,den3)

Transfer function:

8.149e017

----------------------------------------------------------------------------------------

s^8 + 422.5 s^7 + 2.156e005 s^6 + 5.659e007 s^5 + 1.364e010 s^4 + 2.165e012 s^3

+ 2.688e014 s^2 + 2.068e016 s + 8.243e017

Page 13: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 7

A continuación mostraremos los diagramas de bode de un filtro Chebyshev

para N = 2 azul, 4 rojo y 8 verde y una amplitud máxima de oscilación de 0.1 dB.

Figura 1.4.A: Diagrama de Bode para el filtro de Chebyshev de 0.1 dB.

En la siguiente figura veremos los diagramas de bode de un filtro Chebyshev

para N = 2 azul, 4 rojo y 8 verde y una amplitud máxima de oscilación de 1 dB.

Figura 1.4.B: Diagrama de Bode para el filtro de Chebyshev de 1 dB.

Page 14: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 8

En la siguiente gráfica se observa los diagramas de bode de un filtro Chebyshev

para N = 2 azul, 4 rojo y 8 verde y una amplitud máxima de oscilación de 5 dB.

Figura 1.4.C: Diagrama de Bode para el filtro de Chebyshev de 5 dB.

A continuación, se observa los diagramas de bode de un filtro Chebyshev N = 2

azul, 4 rojo y 8 verde y una amplitud máxima de oscilación de 10 dB.

Figura 1.4.D: Diagrama de Bode para el filtro de Chebyshev de 10 dB.

Page 15: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 9

Tal y como se observa en las figuras, a medida que aumentamos el valor de la

amplitud máxima de oscilación, las oscilaciones aumentan antes de haber llegado la

frecuencia ωc puesto que, con esto, estamos permitiendo mayor amplitud de la

oscilación.

Por lo contrario, y a diferencia con los filtros de Butterworth obtenidos en el

apartado anterior, al aumentar la amplitud máxima de oscilación se atenúa más

enérgicamente el ruido de 50 Hz.

En efecto, para un orden de N = 2 y una amplitud máxima de oscilación igual a

0.1 dB se atenúa el ruido en 0.5 dB mientras que, para una amplitud máxima de

oscilación de 1 dB, se atenúa el ruido en 3.5 dB.

En efecto, se tiene que para una amplitud máxima de oscilación elevada (10 dB)

se atenúa la señal a frecuencias bajas (10 dB).

Simulación.

En páginas posteriores, vienen representadas las simulaciones de los filtros

diseñados. Tal y como el lector puede comprobar, existe una relación entre el orden

del filtro y la atenuación del ruido puesto que con el aumento de N la salida de la señal

filtrada mejora su aspecto.

Por otro lado, si acrecentamos la amplitud máxima de oscilación el ruido se

atenuará más potentemente. No obstante, como contrapunto tenemos que el

aumento de la amplitud máxima de oscilación se traduce en una modificación de la

amplitud de la señal de salida.

El criterio que deberíamos seguir para determinar qué valores asignarle al

orden del polinomio N y a la amplitud máxima de oscilación dependen de las

utilizaciones que se quieran dar al filtro (sobre todo para el segundo parámetro).

De hecho, si fuera fundamental no modificar la amplitud la señal, debería

escogerse una amplitud máxima de oscilación de pequeño valor. Por otro lado, si lo

fundamental fuera eliminar el ruido acoplado a la señal, sería necesario escoger un

valor de la amplitud máxima de oscilación elevada.

Page 16: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 10

Figura 1.5.A: Salida simulada para un filtro de orden 2 y oscilación máxima de 0.1 dB.

Figura 1.5.B: Salida simulada para un filtro de orden 4 y oscilación máxima de 0.1 dB.

Page 17: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 11

Figura 1.5.C: Salida simulada para un filtro de orden 8 y oscilación máxima de 0.1 dB.

Figura 1.6.A: Salida simulada para un filtro de orden 2 y oscilación máxima de 1 dB.

Page 18: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 12

Figura 1.6.B: Salida simulada para un filtro de orden 4 y oscilación máxima de 1 dB.

Figura 1.6.C: Salida simulada para un filtro de orden 8 y oscilación máxima de 1 dB.

Rafael Puerto nos dijo que no era necesario diseñar el filtro de tipo Bessel por

lo que pasaremos directamente al segundo apartado de la práctica.

Page 19: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 13

2.- Diseñar un filtro de Butterworth pasa banda que elimine ruidos entre 8 y 12 Hz.

Comentar el diagrama de Bode y el resultado de la simulación obtenida.

Diagrama de Bode. Para el diseño del filtro de tipo Chebyshev se han empleado

las siguientes líneas de código:

>> Wc=[8*pi*2,12*pi*2]

Wc =

50.26548245743669 75.39822368615504

>> [b,a]=butter(2,Wc,'stop','s');

>> [d,c]=butter(4,Wc,'stop','s');

>> [f,e]=butter(8,Wc,'stop','s');

A continuación mostraremos los diagramas de bode de un filtro Butterworth

para N = 2 azul, 4 rojo y 8 verde.

Figura 1.7: Diagrama de Bode para el filtro de Butterworth rechaza badno.

Como se puede observar en el diagrama de Bode, conforme aumenta N más

ideal parece la respuesta en frecuencia y mejor se eliminaría el ruido.

Page 20: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 14

Simulación.

Para la simulación se han introducido 3 ruidos, uno a 8 Hz, otro a 10 Hz y un

último a 12 Hz; y la señal original posee una frecuencia de 2 rad/s.

Figura 1.8.A: Salida simulada para un filtro de orden 2.

Figura 1.6.B: Salida simulada para un filtro de orden 4.

Page 21: Prácticas identificación de sistemas

PRÁCTICA 1: FILTRADO DE SEÑALES

ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS

Identificación de

Sistemas

Jaime Martínez Verdú 15

Figura 1.6.C: Salida simulada para un filtro de orden 8 y oscilación máxima de 1 dB.

Obviamente, a medida que vamos aumentando el orden del filtro, se produce

una disminución progresiva del ruido acoplado a la señal.

Page 22: Prácticas identificación de sistemas

MODELADO E IDENTIFICACIÓN DE SISTEMAS 5º INGENIERÍA INDUSTRIAL

PRÁCTICA 2

Filtrado de Señales: Discretización de filtros analógicos

Curso 2004 - 2005

OBJETIVOS • Diseño de filtros digitales por discretización de los correspondientes analógicos mediante la

aplicación de diversas técnicas, atendiendo a la problemática existente en cada uno de los casos.

• Comparación de las características en el dominio frecuencial de los filtros analógicos y sus

correspondientes discretos en virtud de diferentes parámetros.

1.- Discretización de sistemas continuos con Matlab.

El paquete Matlab posee funciones que permiten discretizar un sistema continuo mediante

distintos métodos de discretización. El comando que realiza dicha tarea es c2dm. Dicho comando tiene la

siguiente sintaxis :

[numd,dend] = c2dm(num,den,Ts,'method')

de esta forma se convierte la función de transferencia continua G(s)=num(s)/den(s) en la función de

transferencia discreta G(z)=numd(z)/dend(z) a un periodo de muestreo Ts utilizando el método ‘method’,

donde num, den, numd y dend son los vectores cuyos elementos son los coeficientes en orden

decreciente de los polinomios del numerador y denominador de las funciones de transferencia continua y

discreta respectivamente.

Los distintos métodos de discretización que podemos utilizar son los siguientes :

• 'zoh' : discretiza asumiendo que existe un retenedor de orden cero a la entrada.

• 'foh' : discretiza asumiendo que existe un retenedor de orden uno a la entrada.

• 'tustin' : discretiza utilizando la transformación bilineal.

• 'prewarp' : discretiza utilizando la transformación bilineal con compensación de frecuencias

(prewarping). En este caso es necesario especificar la frecuencia de corte y el comando quedaría

[numd,dend]=c2dm(num,den,Ts,'prewarp',Wc), donde Wc es la frecuenca de corte en

rad./seg.

Page 23: Prácticas identificación de sistemas

• 'matched' : discretiza utilizando el método de asiganación de polos y ceros.

Por ejemplo, si queremos discretizar el filtro continuo G sss

( ) =++102

con un periodo de muestreo de

0.1 seg. por el método de emparejamiento de polos y ceros, se haría :

» [numd,dend]=c2dm([1 10],[1 2],0.1,'matched')

numd =

1.4338 -0.5275

dend =

1.0000 -0.8187

2.- Realización de la práctica.

Supongamos que se dispone de un sistema de control que presenta una perturbación de unos 10

Hz. y un ruido superpuesto de la frecuencia de la red (50 Hz.). Se pide:

1) Diseñar dos filtros analógicos de Butterworth de cuarto orden que atenuen cada uno de los efectos

indeseables antes expuestos. Considerar la atenuación del ruido de red para frecuencias mayores de

40 Hz. y un rechazo de banda entre 8 y 12 Hz.

2) Obtener el filtro digital correspondiente, considerando las siguientes técnicas de discretización:

• Bilineal

• Bilineal con precompensación de frecuencias

• Emparejamiento de polos y ceros.

3) Analizar mediante diagramas de bode el efecto del periodo de muestreo seleccionado, repitiendo el

apartado anterior para otro valor de dicho periodo (tomar un periodo correcto y otro incorrecto).

4) Comprobar el funcionamiento de los filtros diseñados con Simulink.

2

Page 24: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 1

2.1. Introducción.

En esta segunda práctica de Identificación de sistemas, se instruirá al alumno

en la obtención de filtros digitales por discretización de sus semejantes analógicos.

Para ello, emplearemos las diversas técnicas de discretización aprendidas en clase,

haciendo hincapié a las ventajas y desventajas de cada método.

También se tratará de realizar la comparación de las características en el

dominio frecuencial de los filtros analógicos y sus convenientes discretos en virtud de

diferentes parámetros.

2.2. Diseño de un filtro analógico (Realización de la práctica: Apartado 1).

Tal y como viene descrito en el enunciado, se considera un sistema de control

que presenta una perturbación de 10 Hz y un ruido superpuesto de la frecuencia de la

red (50 Hz).

Como parámetro fundamental del filtro pasa bajo deseado se va a seleccionar

una frecuencia de corte de ωc = 40 Hz (recomendado por el propio profesor Rafael

Puerto) que atenuará mejor el ruido de 50 Hz.

Para realizar el filtro pasa bajo se va a utilizar el comando butter() de MatLab©

.

De esta forma, se obtiene el siguiente filtro de orden cuarto:

>> [numc1,denc1]=butter(4,40*2*pi,'s')

numc1 =

1.0e+009 *

0 0 0 0 3.98987636875273

denc1 =

1.0e+009 *

0.00000000100000 0.00000065675018 0.00021566039809 0.04148393245613

3.98987636875273

>> tf(numc1, denc1)

Transfer function:

3.99e009

----------------------------------------------------------------------

s^4 + 656.8 s^3 + 2.157e005 s^2 + 4.148e007 s + 3.99e009

972534

9

10·99.310148.410157.28.656

10·99.3)(

+⋅+⋅++=

sssssF

BajoPaso

Page 25: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 2

Figura 2.1: Diagrama de Bode del filtro paso bajo continuo.

De igual modo, podemos calcular el filtro de Butterworth necesario para un

rechazo de banda entre 8 y 12 Hz:

>> [numc2,denc2]=butter(4,[8*2*pi,12*2*pi],'stop','s')

numc2 =

1.0e+014 *

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0022 0.0000 2.0631

denc2 =

1.0e+014 *

0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0025 0.0358 2.0631

>> tf(numc2,denc2)

Transfer function:

s^8 + 1.516e004 s^6 + 8.618e007 s^4 + 2.177e011 s^2 + 2.063e014

----------------------------------------------------------------------------------------------------------------------

s^8 + 65.68 s^7 + 1.732e004 s^6 + 7.882e005 s^5 + 1.029e008 s^4 + 2.987e009 s^3 + 2.487e011 s^2

+ 3.575e012 s + 2.063e014

1412211

3948556478

1421147648

10·063.210575.310487.2

10987.210029.110882.710732.1680.65

10·063.210177.210618.810516.1)(

+⋅+⋅++⋅+⋅+⋅+⋅++

+⋅+⋅+⋅+=

ss

ssssss

sssssF

BandaRechaza

Page 26: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 3

Figura 2.2: Diagrama de Bode del filtro rechaza banda continuo.

Para la simulación se va a utilizar el siguiente diagrama de bloques:

Figura 2.3: Esquema Simulink utilizado.

En esta figura se puede observar que partimos de una señal de entrada de 2

rad/seg y que, a esta, se le suman dos ruidos senoidales:

• Uno a 10 Hz y con una amplitud de 0.3.

• Otro a 50 Hz y una amplitud de 0.3.

Page 27: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 4

2.3. Diseño de un filtro digital (Realización de la práctica: Apartado 2-3-4).

A. Diseño de un filtro digital con transformación bilineal.

En este punto de la práctica se va a discretizar sendos filtros obtenidos en el

apartado anterior empleando el método de la transformación bilineal.

NOTA: La transformación bilineal.

Dado que en el plano z, la frecuencia aparece en la forma z = ejωT

, si se intenta

trazar la respuesta en frecuencia del plano z, desaparece la simplicidad de las trazas

logarítmicas. La dificultad, no obstante, se puede soslayar si se utiliza la siguiente

transformación bilineal:

1 2 2

⋯ 2

1 ! 2 2

⋯ !2

1 2

1 ! 2

donde T es el período de muestreo involucrado en el sistema de control de tiempo

discreto. Utilizando esta transformación se hace corresponder el interior del círculo unitario

en el plano z con el semiplano izquierdo del plano ω.

Figura 2.4: Diagramas que muestran las correspondencias del plano s con el plano z y del plano z con el plano ω.

De este modo, se consigue que el plano ω y el plano s sean similares sobre las

regiones de interés del plano s (las bajas frecuencias es el rango donde la transformación

bilineal es realmente provechosa). Dicho de otra manera, las actuaciones o características

del sistema discreto dentro del círculo unitario se pueden estudiar considerando el

semiplano izquierdo del plano ω.

Así, para representar según el diagrama de Bode la respuesta en frecuencia de un

sistema discreto, en primer lugar, se realizará la transformación bilineal obteniendo BG(ω)

para, a continuación, representar BG(jv) recurrir a las aproximaciones estudiadas para

sistemas continuos.

Im

Re

Im Im

Re

Plano s Plano z Plano ω

Re

Page 28: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 5

NOTA: El teorema de Nyquist-Shannon.

El teorema de muestreo de Nyquist-Shannon, también conocido como teorema de

muestreo de Whittaker-Nyquist-Kotelnikov-Shannon o simplemente criterio de Nyquist,

es un teorema fundamental de la teoría de la información, especialmente útil en las

telecomunicaciones. Este teorema fue formulado en forma de conjetura por primera vez

por Harry Nyquist en 1928 ("Certain topics in telegraph transmission theory"), y fue

probado formalmente por Claude E. Shannon en 1949 ("Communication in the presence of

noise").

Afirma que cuando se muestrea una señal, la frecuencia de muestreo debe ser

mayor que dos veces el ancho de banda de la señal de entrada, para poder reconstruir la

señal original de forma exacta a partir de sus muestras. Si B es el ancho de banda de la

señal y Fm es la frecuencia de muestreo, el teorema puede expresarse como Fm > B. Si el

criterio no es satisfecho, existirán frecuencias cuyo muestreo coincide con otras (el llamado

aliasing).

Está demostrado rigurosamente que para evitar el aliasing es necesario asegurarse

de que en la señal analógica a muestrear con una frecuencia s, no existen componentes

sinusoidales de frecuencia mayor a 2s. Esta condición es llamada el criterio de Nyquist, y es

equivalente a decir que la frecuencia de muestreo s debe ser al menos dos veces mayor que

el ancho de banda de la señal.

El Teorema de Nyquist indica que la frecuencia de muestreo mínima que tenemos

que utilizar debe ser mayor que 2·fmax, donde fmax es la frecuencia máxima de la señal

compleja. Si utilizamos esa frecuencia de muestreo, podremos reproducir posteriormente

la señal a partir de las muestras tomadas. Si utilizáramos una frecuencia más alta que la que

nos dice Nyquist obtendríamos una representación más exacta de la señal de entrada.

Puesto que debe verificarse el teorema de shannon-Nyquist se debe escoger un

periodo de muestreo ωs superior a 2·ωn. En el caso de escoger un valor por debajo del

recomendado, se produciría un indeseado solapamiento en frecuencia.

Para evitar un posible solapamiento, es recomendable escoger una ωs igual a

10· ωn, de modo que aseguremos con total certeza que no se origine un solapamiento

de frecuencias. En efecto,

ωn = 2·π·50 = 314.1593 ωs = 10·ωn = 3141.593 Ts = 2·π/ ws = 0.002 s

Finalmente, queda discretizar el sistema utilizando el comando de MatLab©

c2dm. De esta forma se obtiene la siguiente función de transferencia para el filtro:

0.2719 + z 1.4357 - z 2.9160 +z 2.7199- z

0.0021 + z 0.0083 + z 0.0125 + z 0.0083 + z 0.0021)(

2 34

234

=zFBajoPaso

0.88 + z 7.08 - z 25.05 + z 50.76 - z .4246 z 52.45 - z 26.74 + z 7.81 - z

0.94 + z 7.44 - z 25.89 + z 51.61 - z .4446 z 51.61 - z 25.89 + z 7.44 - z 0.94)(

2345678

2345678

++=zF

BandaRechaza

Page 29: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 6

>> [numd1,dend1] = c2dm(numc1,denc1,0.002,'tustin')

numd1 =

0.0021 0.0083 0.0125 0.0083 0.0021

dend1 =

1.0000 -2.7189 2.9160 -1.4357 0.2719

>> [numd2,dend2] = c2dm(numc2,denc2,0.002,'tustin')

numd2 =

0.9367 -7.4368 25.8886 -51.6100 64.4431 -51.6100 25.8886 -7.4368 0.9367

dend2 =

1.0000 -7.8098 26.7433 -52.4460 64.4233 -50.7581 25.0497 -7.0798 0.8774

>> tf(numd1,dend1,0.002)

Transfer function:

0.00208 z^4 + 0.008321 z^3 + 0.01248 z^2 + 0.008321 z + 0.00208

-----------------------------------------------------------------------------------------

z^4 - 2.719 z^3 + 2.916 z^2 - 1.436 z + 0.2719

Sampling time: 0.002

>> tf(numd2,dend2,0.002)

Transfer function:

0.9367 z^8 - 7.437 z^7 + 25.89 z^6 - 51.61 z^5 + 64.44 z^4 - 51.61 z^3 + 25.89 z^2 - 7.437 z

+ 0.9367

--------------------------------------------------------------------------------------------------------------------------

z^8 - 7.81 z^7 + 26.74 z^6 - 52.45 z^5 + 64.42 z^4 - 50.76 z^3 + 25.05 z^2 - 7.08 z + 0.8774

Sampling time: 0.002

NOTA: El teorema de Nyquist-Shannon.

El Sol tiene un movimiento aparente de este a oeste en la bóveda celeste, con 24

horas entre cada amanecer. Si tomásemos una fotografía del cielo cada 23 horas, el sol

parecería moverse de oeste a este, con 24·23=552 horas entre cada amanecer. El mismo

fenómeno causa que las aspas de un ventilador parezcan a veces girar en el sentido inverso

del que en realidad lo hacen, cuando se les filma o cuando son iluminadas por una fuente

de luz parpadeante, tal como una lámpara estroboscópica, un tubo de rayos catódicos o

una lámpara fluorescente. Cuando se obtienen muestras periódicas de una señal sinusoidal,

puede ocurrir que se obtengan las mismas muestras que se obtendrían de una señal

sinusoidal igualmente pero con frecuencia más baja. Específicamente, si una sinusoide de

frecuencia f Hz es muestreada s veces por segundo, y s ≤ 2·f, entonces las muestras

resultantes también serán compatibles con una sinusoide de frecuencia fm - f, donde fm es

la frecuencia de muestreo. En la jerga inglesa de procesamiento de señales, cada una de las

sinusoides se convierte en un "alias" para la otra.

Figura 2.5: Dos sinoidales diferentes que producen las mismas muestras.

Por tanto, si se muestrea a la frecuencia s una señal analógica que contiene las dos

frecuencias, la señal no podrá ser reconstruida con exactitud.

Page 30: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 7

Figura 2.6: Diagrama de Bode del filtro paso bajo.

Figura 2.7: Diagrama de Bode del filtro rechaza banda.

Tal y como podemos observar, el ruido de 50 Hz se atenúa en 9,4 dB y a una

frecuencia de 40 Hz se atenúa en 3.45 dB, lo que quiere decir que ha habido un

corrimiento de frecuencias al realizar la transformación.

Page 31: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 8

Figura 2.8: Magnitud del filtro Pasa Bajo.

Si se simula se tiene la siguiente salida:

Figura 2.9: Señal con ruido y señal filtrada.

Si se comparan ambas gráficas podemos observar claras diferencias.

Page 32: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 9

B. Diseño de un filtro digital con transformación bilineal con precompensación.

Procediendo de forma similar al apartado anterior, discretizaremos el filtro

continuao utilizando un periodo de muestreo de 0.002 seg y, con el comando de c2dm

de MatLab©

(utilizando como comando del método ‘prewarp’) se tienen los siguientes

los filtros discretizados:

0.2645 + z 1.403 - z 2.867 + z 2.693 - z

0.002235 + z 0.00894 + z 0.01341 + z 0.00894 + z 0.002235)(

234

234

=zFBajoPaso

0.88 + z 7.08 - z 25.05 + z 50.75 - z .4146 z 52.44 - z 26.74 + z 7.81 - z

0.94 + z 7.44 - z 25.89 + z 51.60 - z .4346 z 51.60 - z 25.89 + z 7.44 - z 0.94)(

2345678

2345678

++=zF

BandaRechaza

>> [numd1,dend1] = c2dm(numc1,denc1,0.002,'prewarp',2*pi*40)

numd1 =

0.0022 0.0089 0.0134 0.0089 0.0022

dend1 =

1.0000 -2.6926 2.8674 -1.4035 0.2645

>> [numd2,dend2] = c2dm(numc2,denc2,0.002,'prewarp',2*pi*(8+12)/2)

numd2 =

0.9366 -7.4360 25.8855 -51.6034 64.4346 -51.6034 25.8855 -7.4360 0.9366

dend2 =

1.0000 -7.8094 26.7413 -52.4404 64.4148 -50.7505 25.0456 -7.0785 0.8772

>> tf(numd1,dend1,0.002)

Transfer function:

0.002235 z^4 + 0.00894 z^3 + 0.01341 z^2 + 0.00894 z + 0.002235

---------------------------------------------------------------

z^4 - 2.693 z^3 + 2.867 z^2 - 1.403 z + 0.2645

Sampling time: 0.002

Page 33: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 10

El diagrama de Bode del filtro es el siguiente:

Figura 2.10: Diagrama de Bode del filtro paso bajo.

Figura 2.11: Diagrama de Bode del filtro rechaza banda.

Page 34: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 11

Para 40 Hz se tiene una atenuación de la señal de 3 dB y para 50 Hz se tiene una

atenuación de la señal de 8.75 dB, de esta forma se elimina el corrimiento de

frecuencias en el instante en que la frecuencia vale 40 Hz.

Figura 2.12: Magnitud del filtro Pasa Bajo.

Si se simula se tiene la siguiente salida:

Figura 2.13: Señal con ruido y señal filtrada.

Page 35: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 12

C. Diseño de un filtro digital mediante emparejamiento de polos y ceros.

Procediendo de forma similar al apartado anterior, discretizaremos el filtro

continuao utilizando un periodo de muestreo de 0.002 seg y, con el comando de c2dm

de MatLab©

(utilizando como comando del método ‘matched’) se tienen los siguientes

los filtros discretizados:

0.27 + z 1.42 - z 2.89 + z 2.71 - z

0.0041 + z 0.0124 + z 0.0124 + z 0.0041 )(

234

23

=zFBajoPaso

0.88 + z 7.08 - z 25.04 + z 50.74 - z .4046 z 52.43 - z 26.74 + z 7.81 - z

0.94 + z 7.44 - z 25.88 + z 51.59 - z .4246 z 51.59 - z 25.88 + z 7.44 - z 0.94)(

2345678

2345678

++=zF

BandaRechaza

>> [numd1,dend1] = c2dm(numc1,denc1,0.002,'matched')

numd1 =

0 0.0041 0.0124 0.0124 0.0041

dend1 =

1.0000 -2.7091 2.8959 -1.4226 0.2689

>> [numd2,dend2] = c2dm(numc2,denc2,0.002,'matched')

numd2 =

0.9364 -7.4348 25.8812 -51.5948 64.4239 -51.5948 25.8812 -7.4348 0.9364

dend2 =

1.0000 -7.8091 26.7390 -52.4338 64.4040 -50.7398 25.0393 -7.0765 0.8769

>> tf(numd1,dend1,0.002)

Transfer function:

0.004138 z^3 + 0.01241 z^2 + 0.01241 z + 0.004138

-------------------------------------------------

z^4 - 2.709 z^3 + 2.896 z^2 - 1.423 z + 0.2689

Sampling time: 0.002

>> tf(numd2,dend2,0.002)

Transfer function:

0.9364 z^8 - 7.435 z^7 + 25.88 z^6 - 51.59 z^5 + 64.42 z^4 - 51.59 z^3 + 25.88 z^2 - 7.435 z

+ 0.9364

---------------------------------------------------------------------------------------------------

z^8 - 7.809 z^7 + 26.74 z^6 - 52.43 z^5 + 64.4 z^4 - 50.74 z^3 + 25.04 z^2 - 7.076 z + 0.8769

Sampling time: 0.002

Page 36: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 13

El diagrama de Bode del filtro es el siguiente:

Figura 2.14: Diagrama de Bode del filtro paso bajo.

Figura 2.15: Diagrama de Bode del filtro rechaza banda.

Page 37: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 14

Si se simula se tiene la siguiente salida:

Figura 2.16: Señal con ruido y señal filtrada.

Page 38: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 15

2.4. Definir un Ts menor (Realización de la práctica: Apartado 3).

A. Diseño de un filtro digital con transformación bilineal.

A continuación, volveremos a discretizar pero, en este caso, emplearemos un

periodo de muestreo en el que no se cumpla el teorema de Nyquist-Shannon, por

ejemplo Ts = 0.02 segundos. Para este periodo de muestreo se tiene la siguiente

función de transferencia para el filtro:

>> [numd1,dend1] = c2dm(numc1,denc1,0.02,'tustin')

numd1 =

0.3610 1.4441 2.1661 1.4441 0.3610

dend1 =

1.0000 2.0398 1.8301 0.7760 0.1304

>> [numd2,dend2] = c2dm(numc2,denc2,0.02,'tustin')

numd2 =

0.6224 -2.2424 5.5193 -8.5464 10.2033 -8.5464 5.5193 -2.2424 0.6224

dend2 =

1.0000 -3.1794 6.8684 -9.4102 9.9517 -7.4283 4.2792 -1.5598 0.3874

>> tf(numd1,dend1,0.02)

Transfer function:

0.361 z^4 + 1.444 z^3 + 2.166 z^2 + 1.444 z + 0.361

---------------------------------------------------

z^4 + 2.04 z^3 + 1.83 z^2 + 0.776 z + 0.1304

Sampling time: 0.02

>> tf(numd2,dend2,0.02)

Transfer function:

0.6224 z^8 - 2.242 z^7 + 5.519 z^6 - 8.546 z^5 + 10.2 z^4 - 8.546 z^3 + 5.519 z^2 - 2.242 z

+ 0.6224

---------------------------------------------------------------------------------------------------

z^8 - 3.179 z^7 + 6.868 z^6 - 9.41 z^5 + 9.952 z^4 - 7.428 z^3 + 4.279 z^2 - 1.56 z + 0.3874

Sampling time: 0.02

0.13 + z 0.78 z 1.83 +z 2.04 z

0.361 + z 1.444 + z 2.166 + z 1.444 + z 0.361)(

2 34

234

++=zF

BajoPaso

0.39 + z 1.56 - z 4.28 + z 7.43 - z .959 z 9.41 - z 6.87 + z 3.18 - z

0.62 + z 2.244 - z 5.52 + z 8.55 - z .2010 z 8.55 - z 5.52 + z 2.24 - z 0.62)(

2345678

2345678

++=zF

BandaRechaza

Page 39: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 16

En las siguientes páginas vienen representados los diagramas de bode.

Figura 2.17: Diagrama de Bode del filtro paso bajo.

Figura 2.18: Diagrama de Bode del filtro rechaza banda.

Page 40: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 17

Si se observa detenidamente el diagrama de Bode se ve que para w = 157 rad/s

la señal se atenúa en 300 dB. Pero como se sabe que para ese periodo de muestreo se

produce aliasing, el diagrama obtenido no nos aporta información de interés.

Figura 2.19: Señal con ruido y señal filtrada.

Como se puede observar en la gráfica 2.18, para lo único que sirve el filtro es

para retrasar la salida. Esto es debido a que se produce aliasing y el ruido no se

atenúa.

Page 41: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 18

B. Diseño de un filtro digital con transformación bilineal con precompensación.

A continuación, volveremos a discretizar pero, en este caso, emplearemos un

periodo de muestreo en el que no se cumpla el teorema de Nyquist-Shannon, por

ejemplo Ts = 0.02 segundos. Para este periodo de muestreo se tiene la siguiente

función de transferencia para el filtro:

>> [numd1,dend1] = c2dm(numc1,denc1,0.02,'prewarp',2*pi*40)

numd1 =

1.5466 6.1865 9.2798 6.1865 1.5466

dend1 =

1.0000 -6.0652 22.5765 -25.9669 33.2018

>> [numd2,dend2] = c2dm(numc2,denc2,0.02,'prewarp',2*pi*(8+12)/2)

numd2 =

0.6056 -1.5861 3.9802 -5.4382 6.8604 -5.4382 3.9802 -1.5861 0.6056

dend2 =

1.0000 -2.2938 4.9902 -6.0004 6.6457 -4.6745 3.0295 -1.0798 0.3668

>> tf(numd1,dend1,0.02)

Transfer function:

1.547 z^4 + 6.187 z^3 + 9.28 z^2 + 6.187 z + 1.547

--------------------------------------------------

z^4 - 6.065 z^3 + 22.58 z^2 - 25.97 z + 33.2

Sampling time: 0.02

>> tf(numd2,dend2,0.02)

Transfer function:

0.6056 z^8 - 1.586 z^7 + 3.98 z^6 - 5.438 z^5 + 6.86 z^4 - 5.438 z^3 + 3.98 z^2 - 1.586 z + 0.6056

--------------------------------------------------------------------------------------------------

z^8 - 2.294 z^7 + 4.99 z^6 - 6 z^5 + 6.646 z^4 - 4.675 z^3 + 3.03 z^2 - 1.08 z + 0.3668

Sampling time: 0.02

33.202 + z .96752 z 22.577 +z 6.065 z

1.547 + z 6.187 + z 9.280 + z 6.187 + z 1.547)(

2 34

234

−−=zF

BajoPaso

0.37 + z 1.08 - z 3.03 + z 4.67 - z .656 z 6.00 - z 4.99 + z 2.29 - z

1.58 + z 1.58 - z 3.98 + z 5.44 - z .866 z 5.44 - z 3.98 + z 1.58 - z c)(

2345678

2345678

++=zF

BandaRechaza

En las siguientes páginas vienen representados los diagramas de bode.

Page 42: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 19

Figura 2.20: Diagrama de Bode del filtro paso bajo.

Figura 2.21: Diagrama de Bode del filtro rechaza banda.

Si se observa detenidamente el diagrama de Bode se ve que para w = 157 rad/s

la señal se atenúa en 300 dB. Pero como se sabe que para ese periodo de muestreo se

produce aliasing, el diagrama obtenido no nos aporta información de interés.

Page 43: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 20

Figura 2.22: Señal con ruido y señal filtrada.

Como se puede observar en la gráfica 2.18, para lo único que sirve el filtro es

para retrasar la salida. Esto es debido a que se produce aliasing y el ruido no se atenúa

sino que el sistema se vuelve inestable.

Page 44: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 21

C. Diseño de un filtro digital con emparejamiento de polos y ceros.

Procediendo de forma similar al apartado anterior, discretizaremos el filtro

continuao utilizando un periodo de muestreo de 0.02 seg y, con el comando de c2dm

de MatLab©

(utilizando como comando del método ‘matched’) se tienen los siguientes

los filtros discretizados:

6-234

23

1.975·10 + z 0.0001 z 0.0216 + z 0.0266 z

0.1310 + z 0.3931 + 0.3931z + z 0.1310 )(

++=zF

BajoPaso

0.27 + z 0.83 - z 2.39 + z 3.85 - z .655 z 5.35 - z 4.61 + z 2.24 - z

0.52 + z 1.38 - z 3.45 + z 4.76 - z .975 z 4.76 - z 3.45 + z 1.38 - z 0.52)(

2345678

2345678

++=zF

BandaRechaza

>> [numd1,dend1] = c2dm(numc1,denc1,0.02,'matched')

numd1 =

0 0.1310 0.3931 0.3931 0.1310

dend1 =

1.0000 0.0266 0.0216 0.0001 0.0000

>> [numd2,dend2] = c2dm(numc2,denc2,0.02,'matched')

numd2 =

0.5185 -1.3816 3.4546 -4.7579 5.9743 -4.7579 3.4546 -1.3816 0.5185

dend2 =

1.0000 -2.2419 4.6049 -5.3521 5.6543 -3.8552 2.3926 -0.8301 0.2689

>> tf(numd1,dend1,0.02)

Transfer function:

0.131 z^3 + 0.3931 z^2 + 0.3931 z + 0.131

---------------------------------------------------------------------------------

z^4 + 0.02663 z^3 + 0.02157 z^2 + 0.0001437 z + 1.975e-006

Sampling time: 0.02

>> tf(numd2,dend2,0.02)

Transfer function:

0.5185 z^8 - 1.382 z^7 + 3.455 z^6 - 4.758 z^5 + 5.974 z^4 - 4.758 z^3 + 3.455 z^2 - 1.382 z + 0.5185

------------------------------------------------------------------------------------------------------------------------------------

z^8 - 2.242 z^7 + 4.605 z^6 - 5.352 z^5 + 5.654 z^4 - 3.855 z^3 + 2.393 z^2 - 0.8301 z + 0.2689

Sampling time: 0.02

Page 45: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 22

El diagrama de Bode del filtro es el siguiente:

Figura 2.23: Diagrama de Bode del filtro paso bajo.

Figura 2.24: Diagrama de Bode del filtro rechaza banda.

Si se simula se tiene la siguiente salida:

Page 46: Prácticas identificación de sistemas

PRÁCTICA 2: FILTRADO DE SEÑALES DISCRETIZACIÓN DE FILTROS ANALÓGICOS

Identificación de Sistemas

Jaime Martínez Verdú 23

Figura 2.25: Señal con ruido y señal filtrada.

Page 47: Prácticas identificación de sistemas

1

8.1 Objetivo. En el presente capítulo se pretende que el alumno aplique los conocimientos sobre análisis y diseño de filtros adquiridos en los capítulos anteriores. En los capítulos 1 a 7 se han presentado las herramientas básicas para el procesamiento de señales, con una breve introducción teórica de los conceptos involucrados y haciendo especial énfasis en la forma de llevarlos a cabo de una forma práctica mediante las herramientas existentes en el toolbox de procesado de señal del paquete Matlab/Simulink. Como se verá en el transcurso de este capítulo, a veces es necesario tener ficheros de datos para realizar la práctica. Estos ficheros se pueden conseguir en la página Web asociada a las asignaturas que imparten los autores o bien solicitándolos directamente a éstos (ver prólogo).

8.2 Introducción. Tal y como se dijo en el capítulo 2 de introducción, las aplicaciones del procesamiento de señal son muy variadas, y precisamente debido a ello se ha producido el gran desarrollo que estas técnicas han experimentado en las tres últimas décadas. De entre todas las aplicaciones posibles se han seleccionado las referentes a: § Procesamiento de señales en el espectro audible. § Tratamiento de la imagen. § Transmisión de señales. § Ingeniería biomédica. § Automatización y control. § Exploración espacial. A pesar de la diversidad de campos de la ciencia enumerados, las técnicas asociadas a todos ellos son básicamente las mismas. En todas las aplicaciones que se verán, las señales, a pesar de que su origen físico es bien diferente, tienen la característica común de que todas ellas son una representación de un concepto físico medible con una información sobre el comportamiento de un proceso en el que las señales referidas o bien son entradas o bien son salidas del sistema. A veces se pretende analizar y/o controlar un sistema, otras se pretende diseñar un sistema que procese la señal para algún fin concreto y otras veces el objetivo es restaurar señales que han sido degradadas en algún sentido o simplemente se pretende mejorar un sonido o imagen.

8 APLICACIONES DEL PROCESAMIENTO

DE SEÑAL.

Page 48: Prácticas identificación de sistemas

2 Aplicaciones del Procesamiento de Señal. __________________________________

8.3 Tratamiento de Imagen.

Estimados señores: Les remitimos el presente escrito desde la Sede Central del Kennedy Space Center (KSC) (Cape Cañaveral, Florida, west Orlando) para solicitar su ayuda.

Como ustedes sabrán, actualmente, el vehículo Pathfinder se encuentra en Marte tomando muestras de la superficie del planeta. Cada 13,27 horas, el vehículo nos envía los resultados de las pruebas tanto de los análisis realizados en la superficie como imágenes tomadas a lo largo del periodo entre transmisiones. Además, Pathfinder es capaz de detectar cualquier movimiento que se produzca en su campo de visión con el fin de detectar indicios de posible vida extraterrestre, en este caso marciana. Cuando esto sucede, es decir, se detecta algún movimiento, el ordenador del Pathfinder entra en modo de máxima alerta y envía la imagen captada a la tierra junto con una señal de alarma.

El pasado Jueves 19 de Marzo, a las 3:07 AM (hora de cabo cañaveral) se recibió un mensaje de alarma junto con una imagen. Inmediatamente, los técnicos del KSC se pusieron a trabajar para analizar la imagen, pero cual fue nuestra sorpresa al comprobar que la imagen era completamente ininteligible. Comprobando las condiciones en que se realizó la transmisión desde Marte, comprobamos que a esa hora una enorme tormenta eléctrica azotaba la superficie del planeta, con lo cual las interferencias sobre el equipo de transmisión ocasionaron la distorsión de la señal. Para más desgracia, en estos momentos no nos encontramos operativos debido a una incursión en nuestro sistema del temido virus Melocomo acaecida horas después de la recepción del mensaje.

Siendo conscientes de la importancia de semejante hallazgo, necesitamos con la máxima premura posible analizar la imagen, y es por esto por lo que solicitamos de ustedes , dada su renombrada valía, su ayuda y cooperación en este asunto.

Les enviamos un fichero (imagen.mat) que contiene la imagen, el mapa de colores con el que se tomó la imagen, map y una variable Fs con la frecuencia de muestreo en Hertzios a la cual se envió la señal.

Sin otro particular, y agradeciéndoles de antemano su colaboración, se despide atentamente:

Austin Powers Director del KSC

Page 49: Prácticas identificación de sistemas

_________________________________________ Tratamiento de Imagen. 3

8.3.1 Tratamiento de Imagen con Matlab. Una imagen se trata numéricamente como una matriz cuyos elementos dan el valor del color de la imagen en dicho punto. En Matlab, una imagen viene representada como una matriz de valores reales donde cada una de los componentes se asocia a un color de la paleta de colores activa en ese momento. En Matlab, una imagen tiene dos parámetros asociados, uno es la matriz que representa la imagen y otro es el mapa de colores que se debe utilizar para representar la imagen. De esta forma, por ejemplo, si se trabaja con un mapa de colores de escala de grises y de 8 bits de profundidad, es decir, 256 tonos de grises, un 0 correspondería al color blanco, el 128 al gris y el 256 al negro.

Dada una matriz de imagen (en general cualquier matriz), la forma de representarla en Matlab es la siguiente: » image(imagen) donde image es el comando que representa en una ventana gráfica la imagen denotada por la matriz imagen. Una vez tenemos la imagen representada sólo resta asociarle el mapa de colores. Para ello utilizamos el siguiente comando: » colormap(map) donde colormap asigna a la ventana activa el mapa de colores map.

Cuando se captura una imagen, se suele suministrar el mapa de colores empleado, pero si esto no fuera sí, podemos utilizar cualquiera de los mapas que Matlab tiene predefinidos: hsv, hot, gray, bone, copper, pink, white, flag, lines, colorcube, jet, prism, cool, autumn, spring, winter, summer .

8.3.2 Realización de la Práctica. Para la realización de la práctica se suministran los siguientes elementos:

• La matriz imagen que es la señal recibida en la tierra. • La función m2v que convierte una matriz en un vector. • La función v2m que convierte un vector en una matriz. • La función espec que calcula el espectro de frecuencias de una señal.

Lo primero que se debe hacer es representar la imagen para ver si se puede extraer algo

de ella. Si no somos capaces de identificar la imagen, el siguiente paso consistiría en hallar el espectro de frecuencias para ver si existe alguna perturbación (ruido) que esté distorsionando la imagen. Para ello, primero debemos convertir esta imagen (matriz) en un vector mediante el comando m2v de la siguiente forma: >> [imvec,n] = m2v(imagen);

Page 50: Prácticas identificación de sistemas

4 Aplicaciones del Procesamiento de Señal. __________________________________

donde imagen es la matriz que define la imagen, imvec es la matriz transformada en vector y n es el número de columnas de la matriz original, necesario para la posterior reconstrucción de la matriz. Una vez expresada la matriz como un vector, debemos obtener su espectro de frecuencias (sólo es necesario el de magnitud) mediante la función espec cuya sintaxis es: >> [esf,esm]=espec(imvec,fs); donde esf y esm son los vectores de frecuencia y la magnitud asociada a cada frecuencia respectivamente y imvec y fs denotan el vector de la señal de imagen y la frecuencia de muestreo. Para representar el espectro de frecuencias de la señal: >> plot(esf,esm); Mediante el espectro obtenido veremos si existe alguna anomalía en alguna de sus componentes en frecuencia.

En el caso de ser así, debemos ser capaces de identificar el ruido que afecta a la señal y eliminarlo mediante un filtro. Probaremos filtros de Butterworth y Chebyshev discretos (del orden apropiado, y comprobando previamente su respuesta en frecuencia mediante un diagrama de Bode), y también filtros elípticos (consultar en la ayuda de Matlab ellipord y ellip) . Una vez diseñado el filtro debemos filtrar la señal mediante el comando filter:

>> imvf=filter(b,a,imvec); donde imvf el vector de la señal de imagen filtrada por los polinomios b y a correspondientes al numerador y denominador del filtro discreto obtenido en el paso anterior.

Una vez filtrada la señal, debemos comprobar si la imagen ha cambiado y somos capaces de identificarla. Para ello debemos primero expresar este vector en forma de matriz mediante el comando v2m como se muestra a continuación: >> [imagen1] = v2m(imvecf,n); donde imagen1 es la nueva imagen filtrada, imvecf es el vector filtrado y n el número de columnas de la imagen (matriz) original. Ahora sólo nos resta representar de nuevo la señal para ver el efecto del filtrado. Obviamente debemos repetir este paso para cada uno de los filtros que diseñemos hasta conseguir una imagen lo más nítida posible.

Esta es la práctica a realizar. El profesor suministrará en la sesión de prácticas los ficheros necesarios. Los filtros a realizar son filtros elípticos (ver documentación adjunta)

Page 51: Prácticas identificación de sistemas

_________________________________________ Ingeniería Biomédica. 5

Transmisión de señales. Se pretende construir en Simulink un esquema que permita la simulación de un sistema de transmisión de señales basado en la tecnología de modulación/demodulación FSK (Frequency Shift Keying). Este tipo de modulación ha sido empleada para la transmisión de datos en algunos modelos de módem. Su funcionamiento es relativamente sencillo en comparación con otros tipos de modulación, ya que tan solo consiste en conmutar entre dos frecuencias dependiendo de que el bit de la palabra binaria a emitir sea un cero o un uno lógico. Un esquema de este tipo de modulación se muestra en la figura 8.1.

Figura 8.1. Esquema de la modulación FS K.

En función de las distintas frecuencias de transmisión elegidas se deberá realizar la

apropiada conmutación entre ellas en función de los valores de la entrada, que será la palabra binaria. Por ejemplo, para una transmisión a 1200 baudios, el ancho de cada bit es de 1/1200 segundos. Se pueden elegir en este caso frecuencias de 12KHz cuando el bit está a uno lógico y de 120KHz cuando el bit esta a cero, con lo que se tendrán 10 periodos de ondas de 12KHz en cada bit a 1 lógico y 100 periodos de ondas de 120KHz en cada bit a 0 lógico. Para una transmisión en 2400 baudios el ancho de cada bit es de 1/2400 segundos y atendiendo al mismo criterio que en el caso de 1200 baudios se pueden seleccionar las frecuencias de 24KHz cuando el bit esta a 1 lógico y de 240 KHz cuando el bit esta a 0 lógico.

Se pretende construir un esquema en Matlab de un sistema de modulación-demodulación que permita la emisión tanto en 1200 baudios como en 2400 baudios. Con el fin de que el receptor pueda saber en que frecuencia se está emitiendo para demodular correctamente la información, se deberá añadir a la señal modulada una señal senoidal de 400 KHz dependiendo de la frecuencia de emisión. El receptor analizará la señal modulada y, si existe señal de 400 KHz, entenderá que la frecuencia de emisión es de 1200 baudios; si esta senoide no aparece en la señal modulada, se entenderá que la frecuencia de emisión es de 2400 baudios.

Page 52: Prácticas identificación de sistemas

6 Aplicaciones del Procesamiento de Señal. __________________________________

8.6 Ingeniería Biomédica.

8.6.1. Introducción. Uno de los registros que más información aporta sobre un órgano vital como es el corazón es el electrocardiograma, abreviadamente ECG. Dicha información puede resultar, por si sola, vital para multitud de diagnósticos clínicos, dado que de todos los potenciales que se registran, para tratamientos clínicos, el generado por el corazón, es el único que presenta unas pautas que no varían demasiado de un individuo a otro, permitiendo la detección de multitud de anomalías cardiacas, tales como arritmias, bloqueos, etc. Desde un punto de vista eléctrico un ECG no es sino la detección a nivel de la piel de las señales eléctricas extracelulares que se generan en las fibras de conducción y sobre todo, musculares del corazón. Para hacernos una idea de la magnitud de estas señales captadas en la piel, en comparación con las señales generadas en otros órganos, podemos observar la tabla 8.2. TIPO DE SEÑAL AMPLITUD BANDA TECNICA Potencial de acción 50 mV – 150 mV 0,1 Hz – 1 KHz Microelectrodos Electrocardiograma 0,5 mV – 4 mV 0,01 Hz – 250 Hz Electrodo de superficie Electroencefalograma 5 µV – 300 µV 0,01 Hz – 150 Hz Electrodo de superficie Electromiograma 100 µV – 5 mV 0,01 Hz – 10 KHz Electrodos de aguja

Tabla 8.2. Rangos de señales biomédicas.

8.6.2. El corazón El corazón es una bomba pulsatoria encargada de mantener el flujo sanguíneo a la presión y caudal necesarios. Este órgano se compone de cuatro cámaras dos superiores (aurículas) y dos inferiores (ventrículos) comunicadas por dos válvulas. Para mantener el flujo sanguíneo se contrae rítmicamente dando lugar al ciclo cardiaco, de este modo, es la contractilidad de las fibras cardiacas la responsable del mantenimiento del flujo sanguíneo. Podemos, por tanto, considerar al corazón como un automatismo, ya que ciertas células especializadas, las del nódulo sinoauricular, en condic iones normales generan impulsos eléctricos responsables de la contracción rítmica y organizada del músculo cardíaco. Estos impulsos son conducidos por unas fibras especializadas y poco contráctiles, encargadas de distribuir y acondicionar estas señales hasta el músculo cardiaco. Para entender la relación que existe entre los potenciales de acción generados en el corazón y el ECG, es necesario describir el ciclo cardiaco, por lo que haremos un brevísimo resumen.

Tradicionalmente el ciclo cardiaco se ha dividido en dos estados. Al comenzar la diástole las válvulas A-V se abren, fluyendo la sangre hacia los ventrículos, gracias a la diferencia de presión existente. Cuando el ventrículo esta casi lleno, fluye algo de sangre hacia el corazón directamente desde las venas (diástasis). La ultima fase de la diástole es la sístole auricular

Page 53: Prácticas identificación de sistemas

_________________________________________ Ingeniería Biomédica. 7

en la cual las aurículas se contraen, para que la sangre que aún queda en ellas pase a los ventrículos. La segunda fase del ciclo es la sístole, que comienza con una contracción ventricular isométrica (sin variación sensible de volumen) al mismo tiempo que se cierran las válvulas A-V, creciendo rápidamente la presión, hasta que alcanza un valor lo suficientemente alto como para abrir las válvulas aortica y pulmonar comenzando el vaciamiento, cuando la presión ya ha descendido la sangre sigue saliendo por contracción ventricular (protodiástole). Por ultimo tiene lugar la relajación isométrica, en la que se relajan las fibras ventriculares.

Para provocar la contracción de la aurícula y los ventrículos en las sístoles correspondientes, es necesaria la existencia de una fibras musculares en el corazón a las cuales llega el potencial de acción que provoca las contracciones, a este tipo de tejido se le denomina miocardio. Para provocar la contracción rítmica del corazón es necesario, también la existencia de fibras especializadas en la conducción de potenciales desde la zona donde se originan (nódulo sinoauricular) hasta la zona muscular (miocardio). El nódulo sinoauricular o nodo sinusal, localizado en la parte superior de la aurícula derecha, tiene la propiedad de ser autoexcitable, de tal forma que el potencial de acción generado en el nodo presenta el fenómeno de la despolarización diastólica, fenómeno que pasamos a describir. El potencial de acción disminuye durante la repolarización hasta alcanzar un valor negativo, el potencial se recupera en ese momento, aumentando de forma prácticamente lineal hasta valores menos negativos, alcanzándose en un determinado momento el umbral de disparo, generándose un nuevo potencial de acción, repitiéndose este ciclo aproximadamente con una frecuencia de 1 Hz. La secuencia de potenciales de acción generados en el nodo sinusal se propaga a las aurículas a través de fibras, provocando la contracción de estas. Además, los potenciales se desplazan hacia los ventrículos a través de las vías internodales hasta alcanzar el nodo aurico-ventricular, en el que se produce el retardo necesario para decalar temporalmente la sístole auricular de la ventricular, permitiendo las contracciones rítmicas del corazón.

8.6.3. Relación ECG y potencial de acción. Para poder establecer la relación entre el electrocardiograma y los potenciales de acción seria necesario modelizar el corazón, de tal forma que podamos obtener los potenciales extracelulares (medibles mediante electrodos en la piel) resultantes de los potenciales de acción cardiacos cuyo estudio permite la detección de anomalías cardiacas. Pero esto escapa a los propósitos de este trabajo, por lo que asumiremos el modelo de dipolo cardiaco sin justificar este modelo ni realizar una comparación con el resto de modelos. Realmente la relación que obtenemos es entre la parte del electrocardiograma correspondiente a la sístole y diástole ventricular y el potencial de acción del miocardio. En el electrocardiograma, es necesario distinguir entre la fase de despolarización del miocardio y la de repolarización. La despolarización dura aproximadamente 1 ms. en cada fibra y se propaga a una velocidad aproximada de 0.5 m/s, siendo por tanto la longitud de

Page 54: Prácticas identificación de sistemas

8 Aplicaciones del Procesamiento de Señal. __________________________________

onda resultante ser de 0.5 mm.; ello hace que el potencial recogido por un electrodo en la piel este lo suficientemente lejos de las células (epicardio) como para que no se vea apenas afectado por la forma exacta del potencial de acción. Dadas así las cosas cabe esperar que durante la fase de despolarización, en el electrocardiograma solo se refleje el valor máximo del potencial de acción que se presenta a nivel de la piel. En cuanto a la fase de repolarización sabemos que esta se produce en todo el miocardio, teniendo en cuenta además que la repolarización en cada fibra dura unos 100 ms., y asumiendo una velocidad de propagación similar a la de la despolarización, resulta una longitud de onda de unos 0.4 cm., por lo que los electrodos situados en el torso están lo suficientemente cerca de las fibras cardiacas como para registrar la forma exacta del potencial de acción. Así la señal que representa un ECG es una deflexión (la onda T) que dependerá de estos dos factores.

8.6.4. Derivaciones electrocardiograficas. La posición de los electrodos sobre la piel se denomina derivación, dando como consecuencia que señales de ECG de diferentes derivaciones presenten formas de onda distintas, podríamos pensar que existen infinitas derivaciones pero solo unas pocas presentan interés clínico. § Derivaciones de extremidades. Cronológicamente las más antiguas, existen tres derivaciones de este tipo; los puntos de medida son los que se indican en la tabla 8.3.

Terminal positivo

Terminal negativo

Derivación I Brazo izquierdo

Brazo derecho

Derivación II Pierna izquierda

Brazo derecho

Derivación III Pierna izquierda

Brazo izquierdo

Tabla 8.3. Derivaciones de extremidades.

§ Derivaciones de extremidades aumentadas.

Estas derivaciones de extremidades aumentadas, utilizan los tres mismos puntos que las anteriores, para los terminales positivos; mientras que como terminal negativo se emplea un punto promedio, existen tres derivaciones de este tipo, como se muestraen la tabla 8.4.

Terminal Positivo Terminal negativo Der aVR Brazo Derecho Intermedio entre Brazo y Pierna Izquierda Der aVL Brazo Izquierdo Intermedio ente Pierna Izq. y Brazo Der Der a VF Pierna Izquierda Intermedio entre Brazo Der e Izq.

Tabla 8.4. Derivaciones de extremidades aumentadas. § Derivaciones precordiales. En las derivaciones precordiales uno de los electrodos, llamado explorador, se sitúa en una zona del hemotorax cerca del corazón mientras que el otro se sitúa muy lejos del corazón.

Page 55: Prácticas identificación de sistemas

_________________________________________ Ingeniería Biomédica. 9

Al punto que situamos alejado, idealmente en el infinito, se le denomina punto central terminal de Wilson, este punto central es el punto común de tres resistencias de 5KΩ cuyos extremos opuestos se conectan a la pierna izquierda, brazo izquierdo y brazo derecho respectivamente.

8.6.5. Descripción del electrocardiograma standard. Para estudiar la forma de onda y el espectro frecuencial del ECG, deberemos elegir una de las derivaciones que hemos explicado como base de estudio, siendo los resultados extrapolables al resto de derivaciones dada la fuerte correlación que existe entre ellas. Elegiremos la derivación I dado que es una de las más empleada en cardiología.

§ Descripción del ECG normal. Podemos apreciar en la figura 8.5 un ciclo cardiaco completo correspondiente a una persona sin ninguna patología cardiaca. Cada una de las letras identifica a los lóbulos del ECG, que también reciben el nombre de ondas.

Figura 8.5. ECG de una persona sana.

La primera onda que aparece en un ECG normal es la onda P, que es consecuencia de la

actividad eléctrica que precede a la contracción de fibras de las aurículas durante la sístole auricular. Su amplitud tan baja se debe a que las fibras que la provocan existen en un número muy inferior a las del miocardio, responsables del resto de ondas; esta onda tiene una duración típica de 100 ms. Aproximadamente unos 100 ms después del final de la sístole auricular comienza la despolarización de las fibras del miocardio. Durante el periodo comprendido entre el final de la repolarización auricular y el principio de la despolarización ventricular (segmento P-R), la actividad eléctrica cardiaca se limita a un conjunto de fibras especializadas, no apreciándose potenciales al nivel de la piel.

La contracción de las fibras ventriculares produce tres ondas en el registro de derivación I

del ECG. La primera es la onda Q, de muy baja amplitud y polaridad negativa. La segunda es

S

0 0.2 0.4 0.6 0.8-0.2

0

0.2

0.4

0.6

0.8

Tiempo (s)

Amplitud (mV)

T

R

Q

P

Page 56: Prácticas identificación de sistemas

10 Aplicaciones del Procesamiento de Señal. __________________________________

la onda R de gran amplitud frente a las otras y de polaridad inversa a la anterior. La ultima, la onda S semejante a la onda Q pero de amplitud ligeramente mayor. Estas tres ondas forman el complejo QRS cuya duración total es aproximadamente de 70 ms. Tal y como se aprecia en la figura, aproximadamente 210 ms después de comenzar la despolarización ventricular tiene lugar la repolarización, esto provoca la aparición de una onda T de mayor amplitud que la onda P y de la misma polaridad que la onda R. Por último apreciamos que más de la mitad del ECG (final de la onda T a principio de la onda P) está formado por una línea horizontal, denominada línea base que se corresponde a las fases isoeléctricas del ciclo cardiaco. § Espectro de frecuencias del ECG standard. El ancho de banda de un ECG standard es de unas pocas decenas de Hz, la frecuencia fundamental es de un valor aproximado de 1 Hz y el contenido en armónicos va disminuyendo hasta ser despreciable a partir de los 60 Hz.

En condiciones normales podemos afirmar que el espectro de frecuencias de un ECG

normal se extiende hasta los 150 Hz aproximadamente. En cuanto a amplitud, el nivel captado en la piel del complejo QRS es del orden de 1 mV.

8.6.6. Objetivo de la práctica. Se pretende desarrollar un programa en MATLAB que tenga como entrada un registro cardiográfico cualquiera y sea capaz de discernir entre un registro de una persona sana y otro patológico, indicando el tipo de patología posible y una idea de su gravedad. Para ello, y con el fin de diseñar el programa y comprobar que funciona correctamente, se proporcionan los ficheros muestreados a 500 Hz: sano (ecg normal), arlev (arritmia leve), argrav (arritmia grave), isqlev (isquemia leve), isqgrav (isquemia grave), taqlev (taquicardia leve) y taqgrav (taquicardia grave).

Page 57: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 1

3.1. Introducción.

En MatLab®, se representa las imágenes en forma de matriz de datos con valor

de número real. A cada componente de dicha matriz se le asocia un paso referente a

un color de la paleta de colores activa en ese momento. Efectivamente, cualquier

imagen que podamos cargar en MatLab® tiene dos parámetros distintos asociados:

• Por un lado, la matriz que representa las posiciones de cada punto de la

imagen.

• El otro valor hace referencia al alcance dentro del mapa de colores que

se debe utilizar para representar la imagen.

De esta forma, por ejemplo, si se trabaja con un mapa de colores de escala de

grises y de 8 bits de profundidad, es decir, 256 tonos de grises (28

= 256), un 0

correspondería al color blanco, el 127 al gris y el 255 al negro.

Necesariamente tenemos que ver cómo es realmente la imagen, y ver si al

representarla podemos extraer algún tipo de información (útil y provechosa) de ella.

Si, por lo contrario, no somos capaces de identificar la imagen, precisaremos obtener

su espectro de frecuencias para comprobar si existe algún tipo de perturbación que

esté distorsionando la imagen.

3.2. Realización de la práctica.

Empleando los comandos image() y

colormap(), a la imagen imm y al valor map

respectivamente, se obtiene el resultado

mostrado en la imagen de la derecha.

Tal y como se puede observar en la

figura anterior, no podemos distinguir

ningún detalle de la imagen por lo que se

tratará de eliminar todo tipo de señal en

forma de perturbación ajena a la imagen original.

A continuación, obtendremos el espectro de frecuencias para buscar en que

rango de frecuencias se encuentra la perturbación que está distorsionando la imagen.

Para ello, primero debemos convertir esta imagen (almacenada como matriz) en un

vector mediante el comando m2v(). Una vez expresada la matriz como un vector,

debemos obtener su espectro de frecuencias (sólo es necesario el de magnitud)

empleando para ello la función espec():

>> [imvec,n] = m2v(imm);

>> [esf,esm]=espec(imvec,fs);

>> plot(esf,esm)

Figura 3.1: Imagen sin filtrar.

Page 58: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 2

donde esf y esm son los vectores de frecuencia y la magnitud asociada a cada

frecuencia respectivamente y imvec y fs denotan el vector de la señal de imagen y la

frecuencia de muestreo. Para representar el espectro de frecuencias de la señal. En la

siguiente gráfica se representa el espectro de frecuencias de la imagen:

Figura 3.2: Espectro en frecuencias de la imagen con ruido.

Page 59: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 3

En la figura 3.2.2 se observa que se tiene un pico a 5 Hz y otro a 95 Hz. Lo que

se tratará de hacer es obtener un filtro rechaza banda que elimine las frecuencias

entre 4.5 y 5.5 Hz. Puesto que las frecuencias se repiten cada ωs intervalos, y también

se repite en el semiplano negativo, con realizar sólo un filtro será más que suficiente.

3.A. Aplicación de un Filtro Butterworth.

A continuación intentaremos eliminar los picos de ruido diseñando un filtro

Butterworth elimina banda. Recordando los resultados obtenidos en prácticas

anteriores, sabemos que este tipo de filtro presentará un mejor comportamiento

conforme incrementemos el orden del filtro N. Comenzaremos probando con un filtro

de orden N = 2. El filtro calcula mediente el siguiente fragmento de código:

>> [b,a]=butter(2,[4.5/(fs/2),5.5/(fs/2)],'stop')

b =

0.9565 -3.6407 5.3773 -3.6407 0.9565

a =

1.0000 -3.7216 5.3754 -3.5598 0.9150

Su diagrama de bode, tal y como ya se ha comprobado en otras prácticas, es el

siguiente:

Figura 3.3: Diagrama de bode de un filtro de Butterworth de orden 2.

En la página siguiente se muestra la imagen obtenida una vez hemos filtrado la

imagen con ruido empleando un filtro de Butterworth de segundo orden. Tal y como

puede observarse, se ha obtenido una imagen más clara y carente de gran parte del

ruido que impedía identificarla correctamente.

Page 60: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 4

Figura 3.4: Imagen filtrada con un filtro Butterworth de orden 2.

Figura 3.5: Espectro en frecuencias de la imagen filtrada.

Si aumentamos, a continuación, el orden del polinomio del filtro, tenemos que

para un orden de N = 4 se obtiene el siguiente diagrama de bode para este tipo de

filtro de Butterworth:

>> [b,a]=butter(4,[4.5/(fs/2),5.5/(fs/2)],'stop')

b =

0.9212 -7.0121 23.7014 -46.4317 57.6426 -46.4317 23.7014 -7.0121 0.9212

a =

1.0000 -7.4560 24.6857 -47.3727 57.6139 -45.4670 22.7396 -6.5919 0.8486

Page 61: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 5

Figura 3.6: Diagrama de bode del filtro de orden 4.

Figura 3.7: Imagen filtrada con un filtro Butterworth de orden 4.

Como se ve en la gráfica 3.2.6 realmente se eliminará el ruido que está a una

frecuencia de 5 Hz, pero el que está 4.5 o 5.5 Hz no se atenuará lo suficiente.

Page 62: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 6

Finalmente, para N = 8 se obtiene el siguiente diagrama de bode para un filtro

Butterworth:

Figura 3.8: Diagrama de bode del filtro de orden 8.

Figura 3.9: Imagen filtrada con un filtro Butterworth de orden 8.

Tal y como podemos observar, no se puede identificar nada en la imagen

puesto que la utilización de un filtro de orden 8 presenta en este caso un peor

comportamiento que los anteriores filtros.

Page 63: Prácticas identificación de sistemas

PRÁCTICA 3: FILTRADO DE SEÑALES

PROCESAMIENTO DE IMÁGENES

Identificación de

Sistemas

Jaime Martínez Verdú 7

3.B. Filtro elíptico.

Para diseñar un nuevo filtro en esta práctica nos basamos en el comando

ellipord. Tenemos que los parámetros que debemos introducir en el filtr elíptico son

N = 5 y de ωn = [0,0907 0,11] mediante el comando ellipord. Como resultado

obtenemos la función de transferencia del filtro. El diagrama de Bode del filtro es:

Figura 3.10: Diagrama de bode del filtro elíptico.

Si se filtra la imagen se obtiene la siguiente imagen:

Figura 3.11: Imagen filtrada con un filtro elíptico.

Page 64: Prácticas identificación de sistemas

1

1. Objetivos En el desarrollo teórico del tema de identificación se ha estudiado el método de identificación paramétrica basado en el algoritmo de Mínimos Cuadrados. Este algoritmo es de gran importancia debido a que a partir de él se deducen otros de mayor complejidad que se adaptan a problemas concretos. Es por esto por lo que, por medio de esta práctica, se va a desarrollar los aspectos vistos en teoría dentro de un marco práctico que ayude a comprender el funcionamiento del mismo. Así, en esta práctica se pretenden alcanzar los siguientes objetivos:

• Comprensión práctica de la identificación de sistemas • Asociación teórico – práctica de los conceptos de “modelado” e

“identificación” • Conocimiento y aplicación de la técnica de Mínimos Cuadrados para la

obtención de modelos discretos • Utilización de la aplicación Matlab/Simulink para realizar los procesos de

identificación y de validación mediante simulación.

2. Identificación de Sistemas. Método de Mínimos Cuadrados Para el diseño de un regulador es importante, si no imprescindible, disponer de la función de transferencia de sistema a controlar. Por tanto, en el caso de no disponer del citado modelo, éste se deberá estimar a través de la identificación. Así pues, se podría decir que la identificación de sistemas e un planteamiento experimental para la construcción de modelos. Dicho planteamiento se puede estructurar en los siguientes apartados:

a) Planificación experimental: consiste en la excitación del sistema a identificar mediante una determinada señal de entrada y registrar para cada instante la entrada y la salida producida por la misma.

b) Selección de la estructura del modelo: Atendiendo a la salida del sistema

observada en el apartado anterior, se deduce el aspecto de la función de transferencia del sistema a identificar (primer orden, segundo, etc., retardos…)

MODELADO E IDENTIFICACIÓN DE SISTEMAS 5º INGENIERÍA INDUSTRIAL

PRÁCTICA 4

IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Curso 2002-2003

Page 65: Prácticas identificación de sistemas

2

c) Estimación de parámetros: Supuesta la estructura del modelo del sistema, se obtiene, a través de diversas técnicas de identificación el valor de los parámetros incógnitas.

d) Validación: Una vez obtenido el modelo es necesario comprobar si éste

responde, ante la misma señal de entrada (u otras), de un modo aceptablemente similar como el sistema original. Si la validación resulta insatisfactoria repetiríamos los pasos desde el apartado b), seleccionando una nueva estructura.

2.1 El principio de los Mínimos Cuadrados El principio de los Mínimos Cuadrados indica que los parámetros de un modelo se deben elegir de tal forma que

La suma de los cuadrados de las diferencias entre los valores de la salida observados (reales) y los estimados, multiplicada por factores que midan el grado de precisión sea un mínimo.

Así pues, considerando un modelo genérico

dn

n

mm zzaza

zbzbbzG −

−−

−−− ⋅

+++++

=LL

11

1101

1)(

la identificación del mismo consistirá en la estimación de los parámetros desconocidos a1, a2 ,…, an, b0, b1, …, bm. Para ello procederemos como se expone a continuación. Dados los k+1 valores de la entrada y los k de la salida, la siguiente salida estimada,

)1(ˆ +ky será

θTkxky 1)1(ˆ +=+

donde [ ]

[ ])1(,),(),1(),1(,),1(),(,,,,,,,

1

1021

dmkudkudkunkykykyxbbbaaa

k

mn

−+−−−++−−−−−==

+ LLLLθ

La discrepancia entre la salida real en el instante k+1, y(k+1) y la estimada

)1(ˆ +ky viene dada por la siguiente expresión de error

)1(ˆ)1()1( +−+=+ kykyke Repitiendo este planteamiento para N medidas sucesivas, las salidas correspondientes a esos N instantes se pueden expresar mediante la ecuación matricial siguiente

−+−−−+−+

−+−−+−+

−+−−−+

+−−−+−−+−

+−−−+−

+−−−−−

=

+

+

+

m

n

b

b

a

a

dNpkudNkudNku

dmkudkudku

dmkudkudku

NnkyNkyNky

nkykyky

nkykyky

Nky

ky

ky

M

M

L

MMML

L

L

MMML

L

M 0

1

)()1()(

)2()1()2(

)1()()1(

)()2()1(

)2()()1(

)1()1()(

)(

)2(

)1(

Page 66: Prácticas identificación de sistemas

3

Dicha ecuación (Y=Xθ) presenta infinitas soluciones. De todas ellas, elegiremos, utilizando el método de Mínimos Cuadrados, aquella que minimice el error. En otras palabras, el estimador de mínimos cuadrados será aquel que proporcione los valores de los parámetros que minimizan la suma de los cuadrados de los errores, Jk.

∑+

+=

=Nk

kik ieJ

1

2 )(21

Minimizando dicho índice, los parámetros que minimizan el error se obtienen resolviendo el siguiente producto matricial

YXXX TT 1)(ˆ −=θ La matriz (XTX) es cuadrada, y en determinadas condiciones, que se denominan de excitación permanente, es invertible. Como consecuencia de esta característica, para esta técnica de identificación no sirven las entradas usuales como escalón, impulso, etc., ya que no provocarán una excitación permanente y hacen que dicha matriz no sea invertible, lo cual hace impracticable la identificación.

3. Identificación de un sistema de primer orden En esta primera parte se identificará un sistema de primer orden utilizando la técnica de los mínimos cuadrados. La función de transferencia a encontrar tendrá pues la siguiente forma:

dzazb

zG −− ⋅

+= 11

)(

donde a y b son los parámetros a estimar y d es el retardo que presenta el sistema a identificar. Además el sistema en cuestión se está operando mediante computador a un periodo de muestreo de 1 segundo. Con estas consideraciones previas iniciaremos la identificación del sistema al cual se le proporciona las entradas expuestas a continuación.

a) La primera entrada proporcionada consiste en la secuencia uk=1,0,1,0,1,0,0,…

b) b) la segunda entrada utilizada para excitar al sistema a identificar corresponde a la secuencia uk=1,0,1,0,1,1,1,…

Con dichas entradas se excitó al sistema dos veces (una con cada entrada) y las salidas obtenidas para cada experiencia se muestran en la figura 1 y 2. Además, en la tabla 1 se presenta los datos numéricos más relevantes de la salida obtenida al realizar ambos experimentos.

Page 67: Prácticas identificación de sistemas

4

Figura 1. Salida del sistema con la entrada a)

Figura 2. Salida del sistema con la entrada b)

Tabla 1. Valores de la salida para las entradas a) y b)

Entrada a) Entrada b) Instante (k) Salida (y) Instante (k) Salida (y)

0 0.0000 0 0.0000 1 0.5000 1 0.5000 2 0.2500 2 0.2500 3 0.6250 3 0.6250 4 0.3125 4 0.3125 5 0.6562 5 0.6562 6 0.3281 6 0.8281 7 0.1641 7 0.9141 8 0.0820 8 0.9570 9 0.0410 9 0.9785 10 0.0205 10 0.9893 …. … …. … 30 0.0000 30 1.0000

Page 68: Prácticas identificación de sistemas

5

Una vez conocidas las medidas se procederá a la identificación de los parámetros a y b. Para ello, y según el desarrollo realizado en el apartado anterior, realizaremos el siguiente planteamiento:

−+−+−

−++−−+−

=

+

++

=ba

dNkuNky

dkukydkuky

Nky

kyky

Y

)()1(

)2()1()1()(

)(

)2()1(

MMM

donde k se corresponde con el instante en el que se produce la primera salida significativa del sistema, d es el retardo, N el número de medidas sucesivas empleadas para la estimación y a y b son los parámetros a estimar. La estimación de los parámetros se obtendrá como resultado de evaluar la expresión

YXXX TT 1)(ˆ −=θ Consideraremos para la identificación, un número de muestras N = 6. Este desarrollo se aplicará dos veces, una para cada una de las entradas y sus correspondientes salidas. Una vez identificado el sistema comprobaremos la validez del mismo mediante simulación. En dicha simulación se deberá obtener el mismo resultado que se presenta en las figuras 1 y 2 introduciendo como entrada al sistema las entradas a) y b). Para introducir dichas entradas al proceso utilizaremos en Simulink un bloque From Workspace cuyos parámetros serán (para cada entrada):

Ea = [0 1; 1 0; 2 1; 3 0; 4 1; 5 0; 6 0; 7 0; 8 0; 9 0] Eb = [0 1; 1 0; 2 1; 3 0; 4 1; 5 1; 6 1; 7 1; 8 1; 9 1]

4. Identificación de un sistema de segundo orden En este caso se tiene un sistema al cual se le ha proporcionado la entrada que en el apartado anterior hemos denominado b). Los valores numéricos de la salida obtenida se muestra en la tabla 2. En la figura 3 se muestra gráficamente la salida de dicho sistema para la entrada elegida.

Page 69: Prácticas identificación de sistemas

6

Tabla 2. Salida del sistema de segundo orden para la entrada b)

Instante (k) Salida (y) 0 0.0000 1 1.0000 2 1.1000 3 1.3200 4 0.9180 5 1.1020 6 1.8491 7 2.2348 8 2.2122 9 2.0675 10 1.9884 …. … 30 2.0270

Figura 3. Salida del sistema de segundo orden con entrada b)

En principio, cuando se realiza la identificación de un sistema, no se conoce la estructura de la función de transferencia del mismo. Se puede, a priori, establecer algún tipo de hipótesis, y si esto no es posible, se comienza asumiendo que el sistema corresponde a una función de transferencia de primer orden. Así, el método a seguir consiste en suponer una determinada estructura para la función de transferencia, estimar los parámetros y comprobar la validez del modelo obtenido. Si la respuesta obtenida es lo suficientemente similar a la del proceso, la tarea de identificación ha terminado; en caso contrario debemos modificar la hipótesis de partida (suponer otra estructura para la función de transferencia) y volver a estimar los parámetros de la misma.

Page 70: Prácticas identificación de sistemas

7

Así pues, suponiendo que desconocemos la estructura de la función de transferencia de este sistema, asumiremos en principio que se trata de un sistema de primer orden y si el resultado no es satisfactorio supondremos una estructura de segundo orden. Por tanto, aparte de la identificación para una función de transferencia de primer orden, las identificaciones para la función de transferencia de segundo orden corresponderán a las siguientes suposiciones sobre la estructura de la misma:

F.D.T. 1 F.D.T. 2 F.D.T. 3 dz

zazab

zG −−− ⋅

++= 2

21

1

0

1)(

dzzaza

zbbzG −

−−

⋅++

+= 2

21

1

110

1)(

dzzazazbzbb

zG −−−

−−

⋅++++

= 22

11

22

110

1)(

El proceso de identificación terminará cuando el modelo obtenido para una de las funciones de transferencia anteriores tenga un comportamiento equivalente a la salida real de proceso. En el caso más complejo (F.D.T. 3), el planteamiento matricia l para la identificación será:

−−+−−+−+−−−−+−

−−+−+−+−−−−−+−−−

=

+

++

2

1

0

2

1

)1()1()()2()1(

)()1()2()()1()1()()1()1()(

)(

)2()1(

b

bbaa

dNkudNkudNkuNkyNky

dkudkudkukykydkudkudkukyky

Nky

kyky

MMMMMM

La estimación de los parámetros se obtendrá resolviendo la ecuación matricial:

YXXX TT 1)(ˆ −=θ Se debe pues, calcular la función de transferencia correcta del modelo utilizando para ello la simulación como método de validación.

5. Identificación de un sistema con ruido Una vez identificado el sistema anterior, comprobaremos en este apartado, qué comportamiento presenta el método de Mínimos Cuadrados cuando el sistema a identificar se encuentra perturbado por un ruido. Para ello, al sistema del apartado anterior se ha superpuesto un ruido, por lo que para la entrada b) utilizada anteriormente, se ha obtenido la salida que se detalla en la tabla 3. La tarea a realizar, consiste en este caso en identificar el sistema con dicha combinación entrada – salida y utilizando la función de transferencia correcta deducida del apartado anterior.

Page 71: Prácticas identificación de sistemas

8

Tabla 3. Salida del sistema de segundo orden con ruido para entrada b)

Instante (k) Salida (y) 0 0.0000 1 0.9802 2 1.1098 3 1.3794 4 0.8979 5 1.0859 6 1.8955 7 2.3221 8 2.2904 9 2.0957 10 1.9207 …. … 30 2.0245

6. Informe a presentar Se debe entregar un informe que contenga los aspectos relatados a continuación:

• Identificación de un sistema de primer orden: Matrices X e Y y funciones de transferencia para ambas entradas así como las gráficas que se crean convenientes.

• Identificación de un sistema de segundo orden:

o Identificación como sistema de primer orden: matrices X, Y y función

de transferencia así como la gráfica de la salida del modelo. ¿Es válido el modelo obtenido? ¿Se podría haber obviado esta identificación? ¿Porqué?

o Identificación como sistema de segundo orden: matrices X, Y y funciones de transferencia obtenidas así como las gráficas de las salidas de los modelos.

• Identificación de un sistema con ruido : matrices X, Y, función de

transferencia y gráfica de la salida del modelo. ¿A qué conclusión se llega tras la simulación?

Aparte se puede incluir cualquier aspecto de la práctica que se quiera hacer notar.

Page 72: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 1

4.1. Introducción.

Uno de los objetivos fundamentales, que promueve el desarrollo de esta cuarta

práctica, es el de aprender e instruirse en el método de identificación de carácter

paramétrico basado en el algoritmo de mínimos cuadrados.

Nuestro estudio no será excesivamente intenso ni se realizará de forma

profunda, sino que tan sólo se trata de arañar la superficie de éste algoritmo, como si

de un mar de posibilidades se tratara. No obstante, a pesar de la levedad de nuestro

estudio, es conveniente recalcar la gran importancia de este algoritmo debido

fundamentalmente a que a partir de él, se deducen otros de mayor complejidad que se

adaptan a problemas concretos.

Así pues, considerando un modelo genérico como el que sigue:

n

n

m

m

zaza

zbzbbzG −−

−−−

++++++

=···1

···)(

11

1101

, la identificación del mismo consistirá en la estimación de los parámetros

desconocidos a1, a2 ,…, an, b0, b1, …, bm.

El vector Y de salida se puede expresar de la siguiente forma:

⋮ ⋯ ⋯ ⋯ ⋯ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋯ ⋯ ⋮⋮

En efecto, este sistema de ecuaciones Θ presenta infinitas

soluciones pues el sistema es compatible indeterminado. En cualquier caso, utilizando

el método de Mínimos Cuadrados, seleccionaremos aquella solución que minimice el

error cuadrático.

En otras palabras, el estimador de mínimos cuadrados será aquel que

proporcione los valores de los parámetros que minimizan la suma de los cuadrados de

los errores, Jk.

∑+

+=

=Nk

ki

kieJ

1

2 )(2

1

Minimizando dicho índice, los parámetros que minimizan el error se obtienen

resolviendo el siguiente producto matricial

YXXXTT 1)( −=θ

Page 73: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 2

4.2. Identificación de un sistema de primer orden.

En esta primera parte se identificará un sistema de primer orden utilizando la

técnica de los mínimos cuadrados. La función de transferencia a encontrar tendrá pues

la siguiente forma:

dz

az

bzG

−−+

=11

)(

donde a y b son los parámetros a estimar y d es el retardo estructural o

intrínseco que presenta el sistema a identificar, que en nuestro caso es uno.

Con estas consideraciones previas, iniciaremos la identificación del sistema al

cual se le proporciona las entradas expuestas a continuación:

a) La primera entrada proporcionada consiste en la secuencia uk = 1,0,1,0,1,0,0,….

b) La segunda entrada utilizada para excitar al sistema a identificar corresponde a la

secuencia uk = 1,0,1,0,1,1,1,….

En la siguiente tabla se expone los valores de la salida para distintas entradas:

Entrada a Entrada b

Instante (k) Salida (y) Instante (k) Salida (y)

0 0 0 0

1 0.5 1 0.5

2 0.25 2 0.25

3 0.625 3 0.625

4 0.3125 4 0.3125

5 0.6562 5 0.6562

6 0.3281 6 0.8281

7 0.1641 7 0.9141

8 0.082 8 0.9570

9 0.0410 9 0.9785

10 0.0205 10 0.9893

… … … …

30 0 30 1

Considerando para la identificación, un número de muestras N = 6, las matrices e para la entrada a y b son las siguientes:

−−−−−+

=

06562.013125.006250.012500.005000.010000.0

aX

=

3281.06562.03125.06250.02500.05000.0

aY

−−−−−+

=

06562.013125.006250.012500.005000.010000.0

bX

=

8281.06562.03125.06250.02500.05000.0

bY

Page 74: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 3

El código empleado ha sido el siguiente:

>> XA=[0,1;-0.5,0;-0.25,1;-0.625,0;-0.3125,1;-0.6562,0]

XA =

0 1.0000

-0.5000 0

-0.2500 1.0000

-0.6250 0

-0.3125 1.0000

-0.6562 0

>> YA=[0.5000;0.2500;0.6250;0.3125;0.6562;0.3281]

YA =

0.5000

0.2500

0.6250

0.3125

0.6562

0.3281

>> (XA'*XA)^(-1)*XA'*YA

ans =

-0.5000

0.5000

>> XB=[0,1;-0.5,0;-0.25,1;-0.625,0;-0.3125,1;-0.6562,0]

XB =

0 1.0000

-0.5000 0

-0.2500 1.0000

-0.6250 0

-0.3125 1.0000

-0.6562 1.0000

>> YB=[0.5000;0.2500;0.6250;0.3125;0.6562;0.8281]

YB =

0.5000

0.2500

0.6250

0.3125

0.6562

0.8281

>> (XB'*XB)^(-1)*XB'*YB

ans =

-0.5000

0.5000

En ambos casos se obtiene la misma función de transferencia:

115.01

5.0)( −

−−= z

zzG

a

115.01

5.0)( −

−−= z

zzG

b

Page 75: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 4

Figura 4.1: Salida del sistema simulada con la entrada a.

Figura 4.2: Salida del sistema simulada con la entrada b.

Las gráficas obtenidas en la simulación coinciden exactamente con las que se

deberían, por lo que se puede afirmar que la identificación ha sido correcta.

Page 76: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 5

4.3. Identificación de un sistema de segundo orden

En este caso, tenemos otra situación distinta de modo que los datos principales

vienen enumerados a continuación. En la siguiente tabla se expone los valores de la

salida para la entrada b:

Instante(k) Salida(k)

0 0

1 1

2 1.1

3 1.32

4 0.918

5 1.102

6 1.8491

7 2.2348

8 2.2122

9 2.0675

10 1.9884

… …

30 2.027

A. Identificación como sistema de primer orden.

Al igual que en el caso anterior, tomaremos para el proceso de identificación un

número de muestras N = 6. En efecto, las matrices e para nuestro algoritmo

son las siguientes:

−−−−−+

=

1102.11918.00320.11100.10000.11000.0

X

=

849.1102.1918.0320.1100.1000.1

Y

Luego la función de transferencia viene dada por:

1

10.75551

0.7285)( −

−−= z

zzG

El resultado obtenido no se parece a la salida deseada y ni siquiera cuando el

tiempo tiende a infinito toma el valor final deseado pues en lugar de tender a 2 tiene

una tendencia a 3 aproximadamente.

Page 77: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 6

>> X=[0,1;-1,0;-1.1,1;-1.32,0;-0.918,1;-1.102,1]

X =

0 1.0000

-1.0000 0

-1.1000 1.0000

-1.3200 0

-0.9180 1.0000

-1.1020 1.0000

>> Y=[1;1.1;1.32;0.918;1.102;1.849]

Y =

1.0000

1.1000

1.3200

0.9180

1.1020

1.8490

>> (X'*X)^(-1)*X'*Y

ans =

-0.7555

0.7285

Si se simula se obtiene la siguiente salida:

Figura 4.3: Salida del sistema simulada supuesto de primer orden.

Page 78: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 7

B. Identificación como sistema de segundo orden de Tipo 1.

La matriz es la misma que en el apartado anterior y la matriz es la

siguiente:

−−−−−−

−−−

=

1918.0102.11320.1918.00100.1320.111100.1001100

X

No volveremos a implementar el código puesto que es muy sencillo y no

proporciona información de interés. Después de escribir las líneas de código, la función

de transferencia obtenida ha sido la siguiente:

1

21 639.01.15761

0.9322)( −

−− +−= z

zzzG

Figura 4.4: Salida del sistema simulada supuesto de primer orden de Tipo 1.

La salida obtenida no es exactamente la salida propuesta por el enunciado. No

existe gran diferencia aunque, no obstante, podemos achacarle este error de similitud

a no haber escogido una buena aproximación.

Page 79: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 8

C. Identificación como sistema de segundo orden de tipo 2.

La matriz es la misma que en el apartado anterior y la matriz es la

siguiente:

−−−−−−

−−−

=

11918.0102.101320.1918.010100.1320.1011100.110010100

X

No volveremos a implementar el código puesto que es muy sencillo y no

proporciona información de interés. Después de escribir las líneas de código, la función

de transferencia obtenida ha sido la siguiente:

1

21

-1

34.06.01

0.5z1)( −

−− +−+= z

zzzG

Figura 4.5: Salida del sistema simulada supuesto de primer orden de Tipo 2.

Tal y como se puede observar en la gráfica, hemos obtenido un resultado muy

parecido a la propuesta por el enunciado; incluso, podríamos decir que es idéntica, lo

cual nos podría inducir a pensar que la estructura del sistema a identificar podría ser

de tipo 2. No obstante, tal y como sugiere el enunciado probaremos con uno de tipo 3.

Page 80: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 9

D. Identificación como sistema de segundo orden de tipo 3.

La matriz es la misma que en el apartado anterior y la matriz es la

siguiente:

−−−−−−

−−−

=

011918.0102.1101320.1918.0010100.1320.11011100.10100100100

X

La función de transferencia viene dada por:

1

21

26-1

34.06.01

10·83438.00.5z1)( −

−−

−−

+−++= z

zz

zzG

Se observa que la función de transferencia es semejante a la anterior puesto

que tan sólo se ha añadido un término cuyo coeficiente es insignificante. Si se simula

se obtiene la siguiente salida:

Figura 4.6: Salida del sistema simulada supuesto de primer orden de Tipo 3.

Llegamos a la conclusión de que la mejora obtenida pasando de un tipo 2 a uno

3 es imperceptible (tan sólo debemos comparar las gráficas 4.5 y 4.6).

Page 81: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 10

4.4. Identificación de un sistema con ruido.

Para finalizar con esta práctica, procederemos a identificar el sistema pero esta

vez, a partir de una salida con ruido. A continuación, en la siguiente tabla vienen

detallados los valores de la salida, perturbada por un ruido desconocido, para la

entrada:

Instante(k) Salida(k)

0 0

1 0.9802

2 1.1098

3 1.3794

4 0.8979

5 1.0859

6 1.8955

7 2.3221

8 2.2904

9 2.0957

10 1.9207

… …

30 2.0245

Considerando para la identificación, un número de muestras N = 6 y un sistema

de tipo 3, las matrices e para la entrada dada son las siguientes:

−−−−−−−−

−=

0118979.00859.11013794.18979.00101098.13794.11019802.01098.101009802.000100

X

=

8955.10859.18979.03794.11098.19802.0

Y

Luego la función de transferencia viene dada por:

1

21

-1

3810.06451.01

0.4273z1.0286)( −

−− +−+= z

zzzG

Tal y como podemos observar, la función de transferencia obtenida es similar a

la obtenida en el apartado c obteniendo un error máximo absoluto de

aproximadamente 0.07 en los coeficientes de las potencias negativas de z:

1

21

-1

34.06.01

0.5z1)( −

−− +−+= z

zzzG

1

21

-1

3810.06451.01

0.4273z1.0286)( −

−− +−+= z

zzzG

Page 82: Prácticas identificación de sistemas

PRÁCTICA 4: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS

Identificación de Sistemas

Jaime Martínez Verdú 11

Si se simula se obtiene la siguiente salida:

Figura 4.7: Salida del sistema simulada supuesto de primer orden de Tipo 2 con ruido.

Si comparamos la gráfica 4.5 con la gráfica 4.7 se observa que ambas salidas no

son exactamente iguales (aunque el parecido es altísimo), por lo que podemos afirmar

que el algoritmo empleado en la práctica es sensible al ruido y no es capaz de escapar

a su influencia.

El sistema identificado en este apartado corresponde a uno con ruido y, por esa

razón, al simular empleando Simulink, obviamente, se obtiene como salida aquella que

se obtenía utilizando el sistema original más el ruido.

Page 83: Prácticas identificación de sistemas

1

1. Objetivos En el desarrollo teórico del tema de identificación se ha estudiado el método de identificación paramétrica basado en el algoritmo de Mínimos Cuadrados Recursivo. Este algoritmo es de gran importancia debido a que permite realizar la identificación de los parámetros de un sistema “en línea” lo cual resulta imprescindible para abordar el estudio de estructuras de control adaptativo. Es por esto por lo que, por medio de esta práctica, se va a desarrollar los aspectos vistos en teoría dentro de un marco práctico que ayude a comprender el funcionamiento del mismo. Así, en esta práctica se pretenden alcanzar los siguientes objetivos:

• Comprensión práctica de la identificación de sistemas “en línea” mediante el algoritmo de Mínimos Cuadrados Recursivo.

• Conocimiento y aplicación de la técnica de Mínimos Cuadrados Recursivo para la obtención de modelos discretos

• Utilización de la aplicación Matlab/Simulink para realizar los procesos de identificación y de validación mediante simulación.

Aunque la práctica se realiza con un conjunto de datos suministrados por el profesor, el desarrollo de la misma debe permitir comprender cómo se realizaría una identificación en línea en tiempo real con un sistema físico real.

2. Identificación de Sistemas. Método de Mínimos Cuadrados Recursivo

El algoritmo de Mínimos Cuadrados Recursivo permite estimar en tiempo real los parámetros de un determinado sistema. Obviamente, esta variante del algoritmo de Mínimos Cuadrados está sujeta a las mismas restricciones que su homólogo iterativo (conocimiento a priori de la estructura de la función de transferencia del modelo, y de su retardo, etc.). El algoritmo de Mínimos Cuadrados Recursivo se puede resumir matemáticamente en las siguientes fórmulas:

MODELADO E IDENTIFICACIÓN DE SISTEMAS 5º INGENIERÍA INDUSTRIAL

PRÁCTICA 5

IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Curso 2002-2003

Page 84: Prácticas identificación de sistemas

2

1111

111

111

11

111

1

1

++++

+++

+++

++

+++

+=−=

+=

+−=

kkkkk

kT

kkk

kkT

k

kk

kkT

k

kT

kkkkk

exK

xye

xPxP

K

xPx

PxxPPP

θθθ

donde: θk+1 denota el vector de parámetros estimados en un instante θk denota el vector de parámetros estimados en el instante anterior Kk+1 es una matriz de ganancias xk+1 es el vector de regresión en ese instante ek+1 es el error de predicción Así pues, dadas las fórmulas expuestas anteriormente, los pasos a seguir para la utilización de este algoritmo se describen a continuación:

1. Definir los valores iniciales del vector θ y de la matriz P 2. Tomar medidas de las señales de entrada y salida 3. Formar el vector de regresión x 4. Calcular la matriz de ganancias K 5. Calcular el error de predicción e 6. Calcular los parámetros estimados 7. Calcular la matriz P para el instante siguiente 8. Volver al punto 2 en el siguiente muestreo

Como se puede observar, se necesita a priori dar un valor inicial a la matriz P y al vector de parámetros estimados. La matriz P se suele inicializar como P = a I(m+n)x(m+n) y θ, si no se tiene ningún tipo de conocimiento acerca de los parámetros, a 0. El problema que presenta este algoritmo es el apagado del mismo (incapacidad para detectar cambios en parámetros) a lo largo del tiempo debido a que la traza de la matriz P se hace muy pequeña. Esto se puede solucionar empleando el algoritmo de Mínimos Cuadrados Recursivo con Factor de Olvido. Este algoritmo introduce un factor de olvido, λ, de forma que se pondera más a las muestras más recientes, permitiendo así detectar un posible cambio de parámetros cuando el algoritmo lleva un tiempo considerable funcionando y la traza de la matriz P es muy pequeña. Matemáticamente, dicho algoritmo se puede resumir en las siguientes fórmulas, siendo su procedimiento de aplicación el mismo que en el caso anterior:

Page 85: Prácticas identificación de sistemas

3

1111

111

111

11

111

1

++++

+++

+++

++

+++

+=−=

+=

+−=

kkkkk

kT

kkk

kkT

k

kk

kkT

k

kT

kkkkk

exKxye

xPxP

K

xPxPxxP

PP

θθθ

λ

λλ

Dependiendo del valor de λ, 0 < λ <1, se obtienen los siguientes comportamientos:

• λ pequeño: Se descartan datos pasados demasiado pronto, los elementos de las matrices P y K se hacen grandes, lo cual supone la posibilidad de detección de posibles cambios en parámetros

• λ grande: (cercano a la unidad) se presentan problemas a la hora de detectar cambios de parámetros.

Normalmente se suele elegir λ entre 0.9 y 0.98 pero la elección depende bastante de los valores asociados a los parámetros del sistema.

3. Realización de la práctica La práctica a realizar consiste en:

• Identificar un modelo de segundo orden cuya función de transferencia corresponde a

dzzaza

zbbzG −

−−

⋅++

+= 2

21

1

110

1)(

mediante los datos de entrada salida que suministrará el profesor. El periodo de muestreo empleado ha sido de T = 0.1 seg.

• Realizar la experiencia anterior pero con un conjunto de datos de entrada –

salida donde se produce una variación de parámetros. Dicha experiencia va a permitir comprobar el apagado del algoritmo y cómo se evita éste mediante la utilización del Algoritmo de Mínimos Cuadrados Recursivo con Factor de Olvido.

Recordemos, por si puede servir de ayuda, que el modelo matricial de regresión para esta estructura de segundo orden viene dado por:

−−+−+−−−−+−

−+−+−+−−−+−−−

=

+

++

1

0

2

1

)1()()2()1(

)1()2()()1()()1()1()(

)(

)2()1(

b

baa

dNkudNkuNkyNky

dkudkukykydkudkukyky

Nky

kyky

MMMMM

Page 86: Prácticas identificación de sistemas

4

Notemos, que aunque la experiencia se va a realizar mediante el algoritmo recursivo fuera de línea, la mecánica del trabajo a realizar se adapta perfectamente a su realización en línea. Los datos para realizar ambas experiencias se suministran en el fichero Matlab datos.mat que contiene las siguientes variables: Variable Nº Datos Descripción U1 1001 Entrada para experiencia sin cambio de parámetros Y1 1001 Salida para experiencia sin cambio de parámetros Yesc1 1001 Salida ante entrada escalón para experiencia sin cambio de

parámetros (para validar el modelo obtenido) U2 1001 Entrada para experiencia con cambio de parámetros Y2 1001 Salida para experiencia con cambio de parámetros Yesc2 1001 Salida ante entrada escalón para experiencia con cambio de

parámetros (para validar el modelo obtenido) Lo primero que se debe hacer es un programa Matlab que implemente el algoritmo de Mínimos Cuadrados Recursivo. Dicho programa tendrá la siguiente forma: % Identificación mediante RLS % Inicialización de variables theta = ...; alpha = ...; % Para inicializar la matriz P. Por ejemplo 10 lambda = ...; % En el caso de tener factor de olvido % Ojo, en este caso también cambia la formulación % de las matricesP y K P = ...; % Puesto que los vectores en Matlab comienzan por % la componente 1, conviene realizar la primera % estimación antes de entrar en el bucle x = ...; % Vector de regresión de la primera estimación K = ...; % Matriz de ganancias de la primera estimación e = ...; % Error de predicción de la primera estimación theta = ...; % Primera estimación % Guardamos los parámetros estimados en cada iteración % así como la traza de la matriz P params = theta; traza = trace(P); % El valor final de este bucle depende de las medidas que tengamos for i=1:Nmuestras x = ...; % Calculamos el nuevo vector de regresión P = ...; % Calculamos la nueva matriz P K = ...; % Calculamos la nueva matriz K e = ...; % Calculamos el nuevo error de predicción theta = ...; % Estimamos los nuevos parámetros % Guardamos traza y parámetros params = [params theta]; traza = [traza trace(P)]; end

Page 87: Prácticas identificación de sistemas

5

% Representación gráfica de parámetros y traza figure; plot(params(1,:)); hold; plot(params(2,:),'--'); plot(params(3,:),'r'); plot(params(4,:),'r--'); figure; plot(traza); Obviamente, nuestro algoritmo utilizará las variables de entrada – salida que tenemos en el workspace de Matlab. Así pues, las tareas a realizar son:

a) Determinación del retardo que presenta el sistema. b) Identificación del modelo del proceso mediante Mínimos Cuadrados Recursivo

utilizando los datos Y1, U1. Utilizar a =10 y repetir la experiencia con a =50. c) Validación del los modelos obtenido en a) mediante simulación ante entrada

escalón y comparando con la salida Yesc1. d) Identificación del modelo del proceso mediante Mínimos Cuadrados Recursivo

utilizando los datos Y2, U2. e) Validación del modelo obtenido en d) mediante simulación ante entrada escalón

y comparando con la salida Yesc2. f) Identificación del modelo del proceso mediante Mínimos Cuadrados Recursivo

con Factor de Olvido utilizando los datos Y2, U2. g) Validación del modelo obtenido en f) mediante simulación ante entrada escalón

y comparando con la salida Yesc2. h) Repetir el apartado f) para distintos valores del factor de olvido comprobando el

efecto sobre la identificación obtenida y sobre la traza de la matriz P. ¿Qué sucede para valores pequeños del factor del olvido?

4. Informe de prácticas a entregar En el informe de prácticas se debe detallar:

• Procedimiento detallado de la identificación de los sistemas, comentando y justificando todos los aspectos y valores de parámetros empleados en el algoritmo.

• Gráficas de convergencia de parámetros y traza de la matriz P comentando los aspectos relevantes de éstas para cada identificación.

• Justificación de los distintos comportamientos del algoritmo para los distintos valores de parámetros del mismo (inicialización de P, factor de olvido, etc.).

• Suponiendo que se dispone de las funciones aplicar_entrada(), leer_salida() y retardo(t), esbozar el programa que permitiría realizar la identificación en línea.

• Cualquier aspecto relevante de la práctica que se quiera hacer notar.

Page 88: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 1

5.1. Introducción.

En el desarrollo teórico de los capítulos 6, 7 y 8 de Introducción a la

Identificación, Identificación en Línea (Algoritmo LS) y Propiedades del Algoritmo LS se

ha estudiado el método de identificación paramétrica basado en el algoritmo de

Mínimos Cuadrados y su vertiente recursiva.

La gran importancia de este algoritmo reside en la característica dinámica que

permite su utilización para realizar la identificación de los parámetros de un sistema

on-line. Esto resulta fundamental para abordar el estudio de estructuras de control

adaptativo. Es por esto por lo que, por medio de esta práctica, se van a desarrollar los

aspectos estudiados en clases de teoría dentro de un marco práctico que facilite la

comprensión del funcionamiento de ésta tan importante algoritmo.

A pesar de que el desarrollo de la práctica está basado en un conjunto de datos

suministrados por el profesor Rafael Puerto, la realización de la misma puede

permitirnos entender cómo se realizaría una identificación on-line en tiempo real con

un sistema físico real.

5.2. Realización.

Entrada 1 Entrada 2

Entrada (k) Salida (y) Entrada (k) Salida (y)

+0,35652 +0,00000 +0,97945 +0,00000

+2,38670 +0,04877 –0,26561 +0,13399

–0,85743 +0,43198 –0,54837 +0,25346

+1,28530 +0,69927 –0,09627 +0,14969

+0,19620 +0,74685 –1,38070 –0,02234

–0,38789 +0,76587 –0,72837 –0,31143

–0,91980 +0,55608 +1,88600 –0,65526

+0,13782 +0,13116 –2,94140 –0,50906

+0,57709 –0,22431 +0,98002 –0,48216

+0,25212 –0,26845 –1,19180 –0,56059

… … … …

a) Determinación del retardo que presenta el sistema.

Primeramente se debe de obtener el retardo del sistema. Si nos fijamos en la

tabla anterior, podemos observar que en el primer instante la entrada tiene un valor

no nulo mientras que la salida es nula; en el instante posterior tanto la entrada como

la salida tienen un valor no nulo. Además, podemos observar las salidas reales del

sistema ante entrada escalón (Yesc1 o Yesc2). De esta forma se concluye como resultado

que el sistema presenta un retardo de valor la unidad.

Page 89: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 2

Identificación con α = 10 y λ = 1 sin cambio de parámetros.

b) Identificación del modelo del proceso mediante Mínimos Cuadrados

Recursivo utilizando los datos Y1, U1. Utilizar α = 10 y repetir la

experiencia con α = 50.

El Para resolver este apartado necesitamos implementar el siguiente código:

% Inicialización de variables

theta = [0 0 0 0]';

alpha = 10; % Para inicializar la matriz P. Por ejemplo 10

lambda = 1; % En el caso de tener factor de olvido

P0 = alpha*eye(4);

P=P0;

X0=[-Y1(1) 0 U1(1) 0]';

K0=P/(lambda+X0'*P*X0);

e0=Y1(2)-(X0'*theta);

params = theta;

traza = trace(P);

% El valor final de este bucle depende de las medidas que tengamos

for i=1:900

X= [-Y1(i+1) –Y1(i) U1(1+i) U1(i)]'; % Calculamos el nuevo vector de regresión

K=P/(lambda+X'*P*X);

e=Y1(i+2)-(X'*theta);

theta=theta+(K*X*e);

P=(1/lambda)*(P-(P*X*X'*P)/(lambda+X'*P*X));

params = [params theta];

traza = [traza trace(P)];

end

% Representación gráfica de parámetros y traza

figure;

plot(params(1,:));

hold;

plot(params(2,:),'--');

plot(params(3,:),'r');

plot(params(4,:),'r--');

figure;

plot(traza);

donde las variables U1 y Y1 corresponden con los parámetros que se han

obtenido en el experimento y que viene mostrados en la tabla. Una vez ejecutado el

código, el algoritmo convergerá los siguientes valores:

+++−

=

=

1185.0

1367.0

5451.0

2963.1

1

0

2

1

b

b

a

a

θ

Page 90: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 3

A continuación, mostraremos la evolución de los parámetros a lo largo de la

estimación. Tal evolución se puede observar en la siguiente gráfica:

Figura 5.1: Evolución de los parámetros.

Observando la gráfica anterior, se puede comprobar que todos y cada uno de

los cuatro parámetros convergen a los valores reales. Por otro lado, tenemos que la

traza de la matriz P se puede observar en la siguiente gráfica:

Figura 5.2: Evolución de la traza de la matriz P.

Page 91: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 4

En la figura 5.2 se puede observar como los valores de la traza de la matriz P

sufren una depreciación conforme avanza la ejecución del algoritmo; este hecho viene

a decir que la matriz P sufre una pérdida de energía para poder detectar cambios en

los parámetros. En la siguiente gráfica se visualiza la salida real y la salida predicha

obtenida a partir de los parámetros dados por el algoritmo:

c) Validación del los modelos obtenido en a) mediante simulación ante

entrada escalón y comparando con la salida Yesc1.

Figura 5.3: Visualización de la salida real y la predicción.

Tal y como podemos comprobar en la gráfica de arriba, ambas salidas son

prácticamente iguales pues la diferencia entre ambas es prácticamente imperceptible.

De hecho, el error entre ambas es inferior a 0,0001, aproximadamente.

Identificación con α = 50 y λ = 1 sin cambio de parámetros.

b) Identificación del modelo del proceso mediante Mínimos Cuadrados

Recursivo utilizando los datos Y1, U1. Utilizar α =10 y repetir la

experiencia con α =50.

El algoritmo es el mismo que en el apartado anterior, solo que se cambia el

valor de α por 50. Una vez ejecutado el código, el algoritmo convergerá los siguientes

valores:

=

=

1181.0

1368.0

5481.0

2995.1

1

0

2

1

b

b

a

a

θ

La evolución de los parámetros a lo largo de la estimación y la de la traza de la

matriz P se pueden observar a continuación.

Page 92: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 5

Figura 5.4: Evolución de los parámetros.

Figura 5.5: Evolución de la traza de la matriz P.

Si se compara la gráfica 5.2 con la gráfica 5.5 se observa que, cuanto mayor

sean los valores iniciales de la matriz P, más aplaza el apagado del algoritmo y mejor

estimación se obtiene pues tarda más en perderse la energía pues disponíamos de

mayor energía inicial.

Page 93: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 6

Figura 5.6: Visualización de la salida real y la predicción.

c) Validación del los modelos obtenido en a) mediante simulación ante

entrada escalón y comparando con la salida Yesc1.

Figura 5.7: Visualización de la salida real y la predicción.

Se observa en la gráfica 5.7 que el error entre ambas gráficas es prácticamente

nulo.

Page 94: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 7

d) Identificación del modelo del proceso mediante Mínimos Cuadrados

Recursivo utilizando los datos Y2, U2 (Identificación mediante cambio de

parámetros).

Para llevar a cabo este apartado de la práctica, emplearemos el mismo código

utilizado anteriormente exceptuando que, en este caso, el algoritmo utilizado se

diferencia en que se debe sustituir el vector U1 por U2 y el vector Y1 por Y2. El código

es el siguiente:

% Inicialización de variables

theta = [0 0 0 0]';

alpha = 10; % Para inicializar la matriz P. Por ejemplo 10

lambda = 1; % En el caso de tener factor de olvido

P0 = alpha*eye(4);

P=P0;

X0=[-Y2(1) 0 U2(1) 0]';

K0=P/(lambda+X0'*P*X0);

e0=Y2(2)-(X0'*theta);

params = theta;

traza = trace(P);

% El valor final de este bucle depende de las medidas que tengamos

for i=1:900

X= [-Y2(i+1) -Y2(i) U2(1+i) U2(i)]'; % Calculamos el nuevo vector de regresión

K=P/(lambda+X'*P*X);

e=Y2(i+2)-(X'*theta);

theta=theta+(K*X*e);

P=(1/lambda)*(P-(P*X*X'*P)/(lambda+X'*P*X));

params = [params theta];

traza = [traza trace(P)];

end

% Representación gráfica de parámetros y traza

figure;

plot(params(1,:));

hold;

plot(params(2,:),'--');

plot(params(3,:),'r');

plot(params(4,:),'r--');

figure;

plot(traza);

Los valores a los que ha convergido el algoritmo son:

=

=

1921.0

2547.0

8626.0

8620.1

1

0

2

1

b

b

a

a

θ

La evolución de los parámetros estimados a lo largo de la ejecución del

algoritmo se pueden observar en la siguiente figura:

Page 95: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 8

Figura 5.8: Evolución de los parámetros.

Echando un vistazo a la gráfica anterior, podemos comprobar que a los 6

segundos de simulación, aproximadamente, se produce en un cambio en el sistema y

la evolución de los parámetros se altera convergiendo a otros nuevos valores que no

tiene porque ser los correctos. En la siguiente gráfica se puede ver como varía la traza

de la matriz P:

Figura 5.9: Evolución de la traza de la matriz P.

Page 96: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 9

Se puede ver en la anterior gráfica que se produce un “apagado” del algoritmo

y de modo ya no tiene energía para seguir estimando si se produce un cambio en los

valores. En la gráfica anterior podemos comprobar cómo la matriz P pierde energía

demasiado rápido por lo que cuando se produce el cambio en el sistema no existe

suficiente energía para detectar ese cambio en la estimación de los parámetros.

En la siguiente gráfica se visualiza la salida real y la salida obtenida con los

parámetros dados por el algoritmo:

e) Validación del modelo obtenido en d) mediante simulación ante

entrada escalón y comparando con la salida Yesc2.

Figura 5.10: Visualización de la salida real y la predicción.

Obviamente, los datos estimados no son los correctos puesto que ambas

salidas son diferentes. El sistema real es inestable mientras que el sistema estimado es

estable.

f) Identificación del modelo del proceso mediante Mínimos Cuadrados

Recursivo con Factor de Olvido (0.8) utilizando los datos Y2, U2.

Los valores de los parámetros para este factor de olvido son:

=

=

4.0

5.0

9.0

9.1

1

0

2

1

b

b

a

a

θ

Page 97: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 10

La evolución de los parámetros durante toda la estimación es la que sigue y se

puede observar en la siguiente figura:

Figura 5.11: Evolución de los parámetros.

Como se puede observar, se produce una explosión de parámetros. Este hecho

se contempla en el aumento de valor de los parámetros (en forma de pico) que se

produce a los 6 segundos. En la siguiente figura se puede observar como varía la traza

de la matriz P:

Figura 5.12: Evolución de la traza de la matriz P.

Page 98: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 11

Se observa como el valor de la traza va variando con el tiempo. La traza intenta

no perder la energía de la que dispone hasta el momento en el que se produce el

cambio y se apaga el algoritmo.

g) Validación del modelo obtenido en f) mediante simulación ante entrada

escalón y comparando con la salida Yesc2.

En la siguiente figura se observa la salida real y la salida obtenida con los

parámetros a los cuales converge el algoritmo:

Figura 5.13: Visualización de la salida real y la predicción.

Se ve claramente que ambas gráficas coinciden en su totalidad.

f) Identificación del modelo del proceso mediante Mínimos Cuadrados

Recursivo con Factor de Olvido (0.5) utilizando los datos Y2, U2.

Los valores de los parámetros para este factor de olvido son:

=

=

4.0

5.0

9.0

9.1

1

0

2

1

b

b

a

a

θ

Tal y como podemos observar, se obtiene como resultado los mismos

parámetros que en el apartado anterior.

Page 99: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 12

La evolución de los parámetros durante toda la estimación es la que sigue y se

puede observar en la siguiente figura:

Figura 5.14: Evolución de los parámetros.

En la siguiente gráfica se puede ver como varía la traza de la matriz P:

Figura 5.15: Evolución de la traza de la matriz P.

La explosión de parámetros se refleja claramente en esta gráfica al igual que en

el caso anterior.

Page 100: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 13

h) Repetir el apartado f) para distintos valores del factor de olvido

comprobando el efecto sobre la identificación obtenida y sobre la traza de

la matriz P. ¿Qué sucede para valores pequeños del factor del olvido?

Identificación mediante cambio de parámetros utilizando un factor de olvido (0.95).

Los valores de los parámetros para este factor de olvido son:

=

=

3999.0

4988.0

8994.0

8994.1

1

0

2

1

b

b

a

a

θ

La evolución de los parámetros estimados viene representados a continuación

en la siguiente gráfica:

Figura 5.16: Evolución de los parámetros.

En la gráfica de la página siguiente se puede ver como varía la traza de la matriz

P.

Page 101: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 14

Figura 5.17: Evolución de la traza de la matriz P.

En la siguiente gráfica se visualiza la salida real y la salida obtenida con los

parámetros dados por el algoritmo:

Figura 5.20: Visualización de la salida real y la predicción.

Se obtiene una salida semejante.

Page 102: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 15

Identificación mediante cambio de parámetros utilizando un factor de olvido (0.01).

Los valores de los parámetros para este factor de olvido

son vienen dados a la izquierda. La evolución de los parámetros a

lo largo de la estimación se pueden observar en la siguiente

gráfica:

Figura 5.21: Evolución de los parámetros.

Figura 5.22: Evolución de la traza de la matriz P.

Se observa como la explosión de parámetros es muy elevada. Se puede

comprobar que escogiendo un valor del factor de olvido menor va a llevar a que los

valores intermedios de los parámetros sean más elevados.

=

=

4.0

5.0

9.0

9.1

1

0

2

1

b

b

a

a

θ

Page 103: Prácticas identificación de sistemas

PRÁCTICA 5: IDENTIFICACIÓN DE SISTEMAS IDENTIFICACIÓN POR MÍNIMOS CUADRADOS RECURSIVO

Identificación de

Sistemas

Jaime Martínez Verdú 16

5.3. Programa para la identificación en línea.

Mediante la utilización de este código de programa se tratará de realizar un

proceso de identificación on-line. Para ello se emplearán tres funciones ya existentes:

una para obtener el retardo retardo(t), otra para aplicar la entrada al sistema

aplicar_entrada() y otra para leer la salida leer_salida().

% Inicialización de variables

theta = [0 0 0 0]';

alpha = 10; % Para inicializar la matriz P. Por ejemplo 10

lambda = 1; % En el caso de tener factor de olvido

P0 = alpha*eye(4);

P=P0;

Retardo=retardo(t);

params = theta;

traza = trace(P);

% bucle de obtención de parámetros

for i=1:900

if retardo < i

X = [0 0 0 0]';

aplicar_entrada(i);

K=P/(lambda+X'*P*X);

e=Y(i+2)-(X'*theta);

theta=theta+(K*X*e);

P=(1/lambda)*(P-(P*X*X'*P)/(lambda+X'*P*X));

params = [params theta];

traza = [traza trace(P)];

Y(i) = leer_entrada();

else if retardo == i

Y(i) = leer_entrada();

X = [-Y(i) 0 U(i + 1 - retardo) 0]';

K=P/(lambda+X'*P*X);

e=Y(i+2)-(X'*theta);

theta=theta+(K*X*e);

P=(1/lambda)*(P-(P*X*X'*P)/(lambda+X'*P*X));

params = [params theta];

traza = [traza trace(P)];

aplicar_entrada(i);

else

Y(i) = leer_entrada();

X = [-Y(i) 0 U(i + 1 - retardo) 0]';

K=P/(lambda+X'*P*X);

e=Y(i+2)-(X'*theta);

theta=theta+(K*X*e);

P=(1/lambda)*(P-(P*X*X'*P)/(lambda+X'*P*X));

params = [params theta];

traza = [traza trace(P)];

Aplicar_entrada(i);

end

% Representación gráfica de parámetros y traza

figure; hold;

plot(params(1,:)); plot(params(2,:),'--');bplot(params(3,:),'r'); plot(params(4,:),'r--');

figure; plot(traza);

An

tes

de

en

tra

r e

n e

l b

ucl

e s

e d

eb

e d

e o

bte

ne

r e

l re

tard

o d

el

sist

em

a,

ya

qu

e s

i n

o s

e s

up

iera

el

reta

rdo

no

se

po

drí

a s

ab

er

los

pri

me

ros

va

lore

s d

el ve

cto

r d

e r

eg

resi

ón

.

Las

est

ruct

ura

s co

nd

icio

na

les

se e

mp

lea

n p

ara

ase

gu

rars

e d

e

qu

e l

os

pri

me

ros

pa

rám

etr

os

sea

n c

orr

ect

os.