Você está na página 1de 5

Instituto Tecnologico de Costa Rica

Escuela de Ingeniera Electronica


Profesor: Dr.-Ing. Pablo Alvarado
Procesamiento Digital de Se
nales
I Semestre, 2007
Proyecto 2: Funciones de transferencia y respuestas de sistemas
I

Objectivo

Al finalizar este proyecto el estudiante estara familiarizado con el manejo numerico de


funciones de transferencia en sistemas LTI de variable discreta.
II

Objetivos Especficos
1. Enlazar los conceptos teoricos de funciones de transferencia con simulaciones por
computador.
2. Generar la respuesta en tiempo discreto para sistemas LTI descritos por ecuaciones
de diferencias o por funciones de transferencia.
3. Aplicar metodos numericos para estimar las funciones de transferencia de sistemas.
4. Mejorar las destrezas de programacion en software de simulacion numerica.
5. Incentivar el desarrollo de temas mas alla de los objetivos directos del proyecto.

III

Procedimiento

Para este laboratorio puede utilizar MatLab[4] u Octave[2]. Debe tomar en cuenta, que
algunas funciones pueden presentar leves diferencias entre ambos sistemas. Utilice las
fuentes de informacion en Internet para encontrar equivalencias (por ejemplo [3]).
III.1 Conceptos generales
1. MatLab permite modelar sistemas utilizando los coeficientes polinomiales de las
funciones de transferencia y por medio de los polos y ceros de la funcion de transferencia. Investigue como se utilizan los comandos tf2zpk, zp2tf, filter y zplane
con sus diferentes interfaces. (En Octave tf2zpk puede ser reemplazada por tf2zp).
2. Dada la funcion de transferencia de un sistema
H(z) =

z 1 + z 2
1 (p2 + 2r cos())z 1 + (2p2 r cos() + r2 )z 2 p2 r2 z 3

(1)

con p2 , r, IR. Encuentre la ecuacion de diferencias equivalente, y la ubicacion


de sus polos y ceros. Utilice la funcion de MatLab/Octave adecuada para mostrar
el diagrama de polos y ceros para algunos valores de |r| < 1, |p2 | < 1 y .
1

3. Encuentre la respuesta del sistema (1) ante un escalon unitario en el dominio z.


4. Elabore una funcion para MatLab con interfaz y=G1(n) que produzca la respuesta
al escalon unitario del sistema (1) para los n
umeros de muestra dados por n. Por
ejemplo, si n=[-10:60] entonces y contendra la salida para las muestras desde -10
hasta 60 si la se
nal de entrada cambia de cero a uno en la muestra 0. (Ayuda: utilice
la funcion filter)
III.2 Estimacion de funciones de transferencia
Una planta controlada digitalmente se puede considerar como subsistema de un concepto
mayor, tal y como lo muestra la figura 1. Una entrada digital de referencia, proveniente de
alg
un computador u otro sistema digital es convertida por un ADC a un formato analogico,
utilizado por la etapa de potencia para proveer la se
nal actuadora de la planta. Un sensor
se encarga de obtener una medicion de la magnitud de interes, la cual es adecuada al
rango de entradas validas del ADC.
SISTEMA DIGITAL

DAC

ETAPA
DE
POTENCIA

PLANTA

SENSOR

ADC

Figura 1: Planta como subsistema.

Las frecuencias de muestreo utilizadas a la entrada y salida se han elegido identicas y


con un valor mucho mayor al ancho de banda de la respuesta en frecuencia del sistema
analogico.
El archivo encontrado en http://www.ie.itcr.ac.cr/palvarado/PDS/planta.mat contiene una matriz, cuya primer columna representa el n
umero de muestra, su segunda
columna la entrada digital aplicada y la tercer columna el valor de la salida correspondiente al mismo instante en el tiempo discreto que la entrada.
Usted debe ahora implementar un programa en MatLab/Octave que permita extraer la
ecuacion de diferencias que describe el sistema.
1. Encuentre la relacion en el dominio z entre la funcion de transferencia del sistema,
la salida y la entrada (escalon unitario).
2. Investigue los comandos load y fread para leer datos externos, y los comandos
save y fwrite para escribir datos en archivos.
3. Como puede separar eficientemente las tres columnas de la matriz almacenada en
el archivo en tres vectores independientes?

4. Implemente un programa en MatLab/Octave para estimar los coeficientes ak y bk


de la ecuacion de diferencias que describe al sistema:
y(n) =

N
X

ak y(n k) +

k=1

M
X

bk x(n k)

(2)

k=0

Puesto que el orden N del sistema y el n


umero de entradas M + 1 a considerar
son inicialmente desconocidas, el usuario debera proveer al programa los valores
maximos de N y M , es decir, el programa podra utilizar esos valores en una estimacion inicial, pero, si los resultados indican que para un k > N 0 , con N 0 < N se
cumple ak 0 y para k > M 0 , con M 0 < M se cumple bk 0, entonces el programa
debera retornar solo N 0 coeficientes ak y M 0 + 1 coeficientes bk .
Para resolver esta tarea puede emplear el metodo de mnimos cuadrados. Si requiere
mas informacion sobre el procedimiento de estimacion puede referirse a las notas del
curso de Metodos Numericos, o el libro [5], captulo 15, que se encuentra disponible
en lnea. Puede ademas y como tarea opcional utilizar metodos robustos o redes
neuronales (seccion IV).
La idea general para la solucion es la siguiente: puesto que se conocen los valores
de entrada x(n) y de salida y(n), entonces es posible tomar suficientes valores de
n y plantear un sistema de ecuaciones lineales, con el que se pueden tratar como
incognitas a los coeficientes ak y bk . Puesto que el n
umero total de incognitas (en este
caso los coeficientes) es K = N + M + 1 entonces en principio es requerido plantear
tan solo K ecuaciones. Puesto que todo sistema analogico es susceptible al ruido,
si se utilizan exactamente K ecuaciones, los valores estimados de los coeficientes no
coincidiran con los del sistema real, al estar directamente alterados por dicho ruido.
El metodo de mnimos cuadrados permite plantear un sistema de ecuaciones sobredeterminado, con muchas mas ecuaciones que incognitas, con el cual se encontraran
los valores de ak y bk que ante la entrada dada, produciran la salida con el menor
error posible para todos los n considerados.
El programa elaborado por usted deber tener como interfaz
[b,a]=estimador(y,x,N,M),
donde el tama
no de b siempre sera menor o igual a M+1 y el tama
no de a menor o
igual a N.
Para la implementacion de los mnimos cuadrados puede utilizar la funcion de
MatLab lscov o en Octave ols. Note que su tarea consiste basicamente en preparar
sus datos para que puedan ser empleados por estas funciones.
5. Para comprobar que su programa funciona correctamente, utilice la respuesta del
sistema realizado en la seccion III.1 y compruebe que los coeficientes estimados son
los correctos.
3

6. Encuentre la diferencia entre las respuestas al escalon unitario del sistema estimado
y del sistema real. Grafique ambas respuestas en la misma figura. Implemente una
funcion que calcule el error cuadratico medio entre las dos se
nales.
7. Encuentre los polos y ceros de la funcion de transferencia estimada, y presente su
diagrama en el plano complejo z.
8. Implemente otro programa que encuentre automaticamente los n
umeros de N y
M . Para esto se puede seguir una estrategia iterativa en que usted comprueba las
estimaciones y calcula el error cuadratico medio para varios valores de N y M , y
elige el par que le entrega el menor error. La interfaz de esta nueva funcion debe ser
[b,a]=estimador(y,x).
9. El archivo http://www.ie.itcr.ac.cr/palvarado/PDS/canal.mat contiene la respuesta de un canal analogico ante un escalon unitario. Repita el procedimiento
anterior para encontrar la funcion de transferencia del canal.
10. Conociendo la funcion de transferencia del canal, cual sera la funcion de transferencia de un filtro que, en cascada con la salida del canal, produce una funcion de
transferencia total unitaria?
11. El archivo http://www.ie.itcr.ac.cr/palvarado/PDS/msg.wav contiene una se
nal
leda a la salida del canal en cuestion. Utilice el filtro del punto anterior para reconstruir la se
nal original.
IV

Puntos extra

IV.1 Metodos robustos


El metodo de mnimos cuadrados tiene el problema de que si hay muestras muy alteradas
por el ruido, estas influenciaran directamente los valores de los coeficientes. Para que esto
no ocurra deben ser descartadas todas muestras que estan muy lejos de una estimacion
valida para la mayora. Los puntos fuera de los rangos normales se conocen en la literatura
como outliers y los metodos que permiten ignorarlos en la estimacion se conocen como
metodos robustos ([5], seccion 15.7).
Como tarea opcional usted puede investigar que metodos robustos provee MatLab/Octave
y utilizarlos en vez de lscov o ols en su programa. Para demostrar la efectividad de
estos metodos, usted puede modificar considerablemente algunas cuantas muestras de la
salida y probar que tanto se alteran los coeficientes estimados por el metodo de mnimos
cuadrados y por el nuevo metodo. (15% extra)
IV.2 Redes neuronales
Otra posible solucion puede ser encontrada utilizando metodos de optimizacion de descenso de gradiente, encontrado en redes neuronales artificiales [1, 6]. Investigue como
4

funcionan estos metodos e implemente alguno de ellos. Compruebe su efectividad de la


manera indicada para el caso de los metodos robustos. (25% extra)
Sugerencia: para el u
ltimo caso utilice como funcion de activacion de la red neuronal:

1 si x < 1
(3)
f (x) = x
si 1 x 1

1
si x > 1
pero empleando como derivada f 0 (x) = 1. Este truco permite que la red neuronal pueda
aprender independientemente del valor de excitacion x. Notese que aqu se ha supuesto
que los valores de la salida estan normalizados y no superan en magnitud el valor 1.
Usted puede normalizar la salida (dividirla por su valor maximo), o alterar la funcion de
activacion para que pueda generar valores mayores a 1.
Palabras claves: back-propagation algorithms, gradient descent algorithms, delta rule.
Referencias
[1] C. M. Bishop. Neural Networks for Pattern Recognition. Oxford University Press,
1995.
[2] John W. Eaton. Octave [online]. 1998 [visitado el 6 de febrero de 2007]. URL
http://www.octave.org.
[3] John W. Eaton. Octave repository [online]. 1998 [visitado el 6 de febrero de 2007].
URL http://octave.sourceforge.net/afunclist.html.
[4] MathWorks. Matlab [online]. 1994 [visitado el 6 de febrero de 2007]. URL http:
//www.matlab.com.
[5] W. H. Press, S. A. Teukolsky, W. T. Vetterling, and B. P. Flannery. Numerical Recipes
in C: The art of scientific computing. Cambridge University Press, 2da edition, 1992.
URL http://www.nr.com.
[6] Wikimedia. Wikipedia [online]. Diciembre 2005 [visitado el 6 de febrero de 2007].
URL http://en.wikipedia.org/wiki.

Você também pode gostar