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.
Estudio de investigación sobre técnicas de calibración de cámaras
Prácticas identificación de sistemas
1. 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
2. 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:
s + 10
G ( s) =
s+2
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
3. 15
10
Gain
(dB) 5
0
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
0
Phase
(deg)
-30
-1 0 1 2
10 10 10 10
Frequency (rad/sec)
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
4. 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
5. • 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
6. senyal
To Workspace2
s ruido
To Workspace1
senyal + Filtro s filtrada
+
Sum To Workspace
ruido
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
7. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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).
Jaime Martínez Verdú 1
8. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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
Jaime Martínez Verdú 2
9. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 3
10. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 4
11. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 5
12. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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
Jaime Martínez Verdú 6
13. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 7
14. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 8
15. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 9
16. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 10
17. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 11
18. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 12
19. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 13
20. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 14
21. PRÁCTICA 1: FILTRADO DE SEÑALES Identificación de
ANÁLISIS Y DISEÑO DE FILTROS CONTINUOS Sistemas
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.
Jaime Martínez Verdú 15
22. 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.
23. • 'matched' : discretiza utilizando el método de asiganación de polos y ceros.
s + 10
Por ejemplo, si queremos discretizar el filtro continuo G ( s) = con un periodo de muestreo de
s+2
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
25. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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
s 8 + 1.516 ⋅ 10 4 s 6 + 8.618 ⋅ 10 7 s 4 + 2.177 ⋅ 1011 s 2 + 2.063·1014
FRechaza ( s ) =
Banda s 8 + 65.680 s 7 + 1.732 ⋅ 10 4 s 6 + 7.882 ⋅ 10 5 s 5 + 1.029 ⋅ 10 8 s 4 + 2.987 ⋅ 10 9 s 3 +
+ 2.487 ⋅ 1011 s 2 + 3.575 ⋅ 1012 s + 2.063·1014
Jaime Martínez Verdú 2
26. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 3
27. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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 ω.
Plano s Plano z Plano ω
Im Im Im
Re Re Re
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.
Jaime Martínez Verdú 4
29. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
>> [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.
Jaime Martínez Verdú 6
30. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 7
31. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 8
33. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 10
34. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 11
36. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 13
37. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
Si se simula se tiene la siguiente salida:
Figura 2.16: Señal con ruido y señal filtrada.
Jaime Martínez Verdú 14
38. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.361 z 4 + 1.444 z 3 + 2.166 z 2 + 1.444 z + 0.361
FPaso ( z ) =
Bajo z 4 + 2.04 z 3 + 1.83 z 2 + 0.78 z + 0.13
0.62 z 8 - 2.24 z 7 + 5.52 z 6 - 8.55 z 5 + 10.20 z 4 - 8.55 z 3 + 5.52 z 2 - 2.244 z + 0.62
FRechaza ( z ) =
Banda z 8 - 3.18 z 7 + 6.87 z 6 - 9.41 z 5 + 9.95 z 4 - 7.43 z 3 + 4.28 z 2 - 1.56 z + 0.39
Jaime Martínez Verdú 15
39. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 16
40. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 17
41. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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
1.547 z 4 + 6.187 z 3 + 9.280 z 2 + 6.187 z + 1.547
FPaso ( z ) =
Bajo z 4 − 6.065 z 3 + 22.577 z 2 − 25.967 z + 33.202
c z 8 - 1.58 z 7 + 3.98 z 6 - 5.44 z 5 + 6.86 z 4 - 5.44 z 3 + 3.98 z 2 - 1.58 z + 1.58
FRechaza ( z ) =
Banda z 8 - 2.29 z 7 + 4.99 z 6 - 6.00 z 5 + 6.65 z 4 - 4.67 z 3 + 3.03 z 2 - 1.08 z + 0.37
En las siguientes páginas vienen representados los diagramas de bode.
Jaime Martínez Verdú 18
42. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 19
43. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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.
Jaime Martínez Verdú 20
45. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
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:
Jaime Martínez Verdú 22
46. PRÁCTICA 2: FILTRADO DE SEÑALES Identificación de
DISCRETIZACIÓN DE FILTROS ANALÓGICOS Sistemas
Figura 2.25: Señal con ruido y señal filtrada.
Jaime Martínez Verdú 23
47. 8 APLICACIONES DEL PROCESAMIENTO
DE SEÑAL.
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.
1
48. 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 image n, 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
49. _________________________________________ 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);
50. 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)
51. _________________________________________ 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.
52. 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
Electroenc efalograma 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
53. _________________________________________ 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íc ula 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
54. 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 Terminal
positivo negativo
Derivación I Brazo Brazo derecho
izquierdo
Derivación II Pierna Brazo derecho
izquierda
Derivación III Pierna Brazo izquierdo
izquierda
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.
55. _________________________________________ 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.
0.8
R
0.6
Amplitud (mV) 0.4
T
0.2
P
0 S
Q
-0.2
0 0.2 0.4 0.6 0.8
Tiempo (s)
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
56. 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).
57. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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
Figura 3.1: Imagen sin filtrar.
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)
Jaime Martínez Verdú 1
58. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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.
Jaime Martínez Verdú 2
59. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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.
Jaime Martínez Verdú 3
60. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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
Jaime Martínez Verdú 4
61. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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.
Jaime Martínez Verdú 5
62. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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.
Jaime Martínez Verdú 6
63. PRÁCTICA 3: FILTRADO DE SEÑALES Identificación de
PROCESAMIENTO DE IMÁGENES Sistemas
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.
Jaime Martínez Verdú 7
64. MODELADO E IDENTIFICACIÓN DE SISTEMAS
5º INGENIERÍA INDUSTRIAL
PRÁCTICA 4
IDENTIFICACIÓN POR MÍNIMOS CUADRADOS
Curso 2002-2003
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 s eñ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…)
1