Sunteți pe pagina 1din 128

INSTITUTO POLITCNICO NACIONAL

CENTRO DE INVESTIGACIN Y DESARROLLO


DE TECNOLOGA DIGITAL

MAESTRA EN CIENCIAS CON ESPECIALIDAD EN
SISTEMAS DIGITALES

Identificacin de sistemas lineales e invariantes
usando un procesador digital de seales


TESIS QUE PARA OBTENER EL GRADO DE
MAESTRO EN CIENCIAS
PRESENTA:


Jos Jaime Esqueda Elizondo



Octubre de 2001 Tijuana, Baja California, Mxico

Dedicatorias y Agradecimientos

A mis padres Jaime Esqueda e Ivonne Elizondo quienes me ensearon a esforzarme por
alcanzar mis metas, a Ivonne y Laura con todo mi amor y cario, cuyo apoyo y aliento
en los momentos difciles me permiti llevar a cabo este trabajo. Para todos ustedes.
Gracias por su amor. TALJB
A mi familia y a aquellos amigos que confiaron incondicionalmente en mi.
Al Dr. Juan Garca Lpez por su paciencia y enseanzas, tanto acadmicas como
humanas y principalmente por predicar con el ejemplo. Gracias por permitirme trabajar a
su lado, Maestro. Todos sus alumnos nos llevamos un poco de usted.
Al Cap. Jos Berzunza, que se fue poco antes de concluir este trabajo.
A Jorge Loya y Oscar Ros, con quienes inici esta aventura.
A mis amigos y compaeros del laboratorio: Csar Ortega, Luis Palafox, Julio Mendoza,
Daniel Garca, Christhian Quiroz, Carlos Chvez, Hugo Torres, Marcos Ramrez, Rosala
Gutirrez, Sonia Osuna y Jos Conrado Velsquez (mi tocayo). A ellos por los nimos
que me infundieron y la ayuda que me brindaron. Gracias amigos.
A mis alumnos: Giovanna Andrs, Luis Gastelum, Joel Ayala, Julio Ramrez, quienes
me alentaron a continuar y contribuyeron con parte del Apndice C. Gracias muchachos.

Le agradezco al CONACYT y al IPN el apoyo brindado durante la realizacin de este
trabajo.
Le agradezco a los revisores: Dr. Luis Gonzlez, Dr. Sergio Herrera, Dr. Leonardo Acho,
M. C. Oscar Montiel y M. C. David Saucedo por su tiempo y sus valiosos comentarios.




RESUMEN

En este trabajo se presentan dos mtodos de identificacin de sistemas lineales e
invariantes con el tiempo. Primero se presenta un mtodo no paramtrico utilizando
anlisis espectral y posteriormente un mtodo paramtrico que utiliza un modelo ARMA.
Para el caso de la identificacin no paramtrica se expone la teora referente a ese
mtodo, se contina con simulaciones y finalmente se presenta la implementacin del
algoritmo de estimacin espectral en el DSK TMS320C6211. Esta aplicacin est basada
en una arquitectura de procesadores Anfitrin-Destino, donde el procesador Destino
(DSK) es el encargado de realizar el procesamiento y el procesador Anfitrin (PC)
ejecuta una interfaz grfica de usuario encargada de bajar el programa Destino, recibir
y desplegar el resultado del proceso de identificacin llevado a cabo por el procesador
Destino. El programa Destino se desarroll en la herramienta de programacin
proporcionada por el fabricante, el Code Composer Studio, mientras que el programa
Anfitrin se desarroll en Visual C++. Ambos programas se comunican por el puerto
paralelo gracias a una librera de enlace dinmica proporcionada tambin por el
fabricante. Se presenta la identificacin de tres sistemas fsicos usando esta aplicacin, y
se guardan las muestras experimentales capturadas al realizar dicha identificacin, las
cuales se utilizan para la identificacin paramtrica.






ABSTRACT

This work shows two system identification methods for linear and time invariant systems.
First a non parametric system identification method based on spectral analysis is
presented and then a parametric method using an ARMA model. The theory for the non
parametrical system identification is explained, then some simulations are shown and
finally this spectral analysis algorithm is implemented using the TMS320C6211 DSK.
This application is developed using a Host-Target processor architecture, where the
Target processor (DSK) makes the system identification process and the Host processor
(PC) runs a graphical users interface that downloads the Targets program and
displays the results. The target program was developed in the programming tool provided
by the manufacturer (Code Composer Studio) and the Host program was developed in
Visual C++. Both programs transfer data through the parallel port using a dynamic link
library also provided by the manufacturer. Three physical systems were identified using
this application and the data samples were stored in data files. The stored samples were
used for the parametric identification method.
i
Lista de acrnimos y smbolos.....................................................................................viii
CAPTULO I. CONCEPTOS GENERALES DE SEALES Y
SISTEMAS DISCRETOS
INTRODUCCIN.............................................................................................................. 1
I.1 Introduccin................................................................................................................... 2
I.2 Secuencias discretas....................................................................................................... 2
I.3 Sistemas discretos .......................................................................................................... 3
I.3.1 Propiedad de linealidad (L) ................................................................................ 4
I.3.2 Propiedad de invariancia al desplazamiento (ID) ............................................... 4
I.3.3 Estabilidad .......................................................................................................... 5
I.3.4 Causalidad........................................................................................................... 5
I.3.5 Convolucin discreta .......................................................................................... 5
I.3.6 Inversin de sistemas LID.................................................................................. 6
I.3.7 Conexin de sistemas ......................................................................................... 6
I.3.8. Sistemas FIR e IIR............................................................................................. 6
I.4 Correlacin.................................................................................................................... 7
I.5 Respuesta a la frecuencia de seales y sistemas discretos............................................. 9
I.6 Transformada discreta de Fourier y su obtencin.......................................................... 9
I.6.1 La transformada discreta de Fourier (TDF)...................................................... 10
I.6.2 Obtencin de los coeficientes ........................................................................... 11
I.6.3.1 Transformada rpida de Fourier .................................................................... 13
I.6.3.2 Nmero de operaciones ................................................................................. 17
I.6.3.3 Inversin de dgitos ....................................................................................... 20
I.6.4 Interpolacin en el dominio de la frecuencia.................................................... 22
I.7 Teorema de Wiener-Khinchine.................................................................................... 22
CAPTULO II. IDENTIFICACIN NO PARAMTRICA DE
UN SISTEMA LINEAL CON EL TIEMPO
II. 1. Introduccin.............................................................................................................. 24
ii
II.2 Identificacin no paramtrica..................................................................................... 25
II.3 Seales de excitacin. ................................................................................................. 27
II.4 Simulaciones .............................................................................................................. 27
II.4.1 Sistema 1 ......................................................................................................... 27
II.4.2 Sistema 2. ........................................................................................................ 28
II.4.3 Sistema 3 ......................................................................................................... 29
II.4.4 Observaciones de las simulaciones ................................................................. 30
II.5 Experimentos realizados con muestras reales. ........................................................... 30
II.5.1 Confiabilidad de la estimacin . ...................................................................... 33
II.6 Observaciones sobre las simulaciones realizadas con muestras reales .............. 39
II.7 Comentarios........................................................................................................ 40
CAPTULO III. IMPLEMENTACIN EN EL DSK
TMS320C6211
III. 1. Introduccin............................................................................................................ 41
III.2 Diagrama a bloques de la implementacin............................................................... 41
III.3 Configuracin Anfitrin-Destino .............................................................................. 42
III.4 Programa destino....................................................................................................... 42
III.4.1 Diagrama a bloques y descripcin del programa destino .............................. 43
III.4.2 Generacin del ruido blanco para la identificacin....................................... 43
III.4.3 Excitacin del sistema y captura de muestras ................................................ 45
III.4.4 Alineacin de las muestras de entrada-salida ................................................ 46
III.4.5.1 Autocorrelacin y correlacin cruzada ...................................................... 47
III.4.5.2 Validacin de la correlacin implementada en el PDS.............................. 48
III.4.6.1 Autoespectro y espectro cruzado ................................................................ 49
III.4.6.2 Transformada de Fourier de una secuencia de 2N muestras reales con N
muestras complejas. .................................................................................................. 49
III.4.7 Obtencin de la funcin de transferencia....................................................... 51
III.5 Programa Anfitrin................................................................................................... 52
III.5.1 Diagrama de flujo del programa Anfitrin.................................................... 52
III.5.2 Cartula del programa Anfitrin.................................................................... 54
iii
III.5.2.1 Descripcin de la cartula del programa Anfitrin..................................... 55
III.5.2.2 Botn Identificar...................................................................................... 55
III.5.3 Led de estado de la comunicacin.................................................................. 55
III.5.4 Botones Guardar y Ayuda....................................................................... 56
III.6 Resultados ................................................................................................................. 56
III.6.1 Ejemplo 1, filtro pasa banda activo................................................................ 56
III.6.2 Ejemplo 2, filtro pasa bajas pasivo ................................................................ 57
III.6.3 Ejemplo 3, filtro pasa altas activo .................................................................. 59
III.7 Comentarios .............................................................................................................. 61
CAPTULO IV. IDENTIFICACIN PARAMTRICA
USANDO UN MODELO ARMA
IV. 1. Introduccin............................................................................................................ 62
IV.2 Determinacin de los parmetros a
k
y b
k
.................................................................. 63
IV.3 Propiedades del estimador ........................................................................................ 66
IV.4 Seleccin del orden del modelo................................................................................ 67
IV.5 Resultados obtenidos ................................................................................................ 68
IV.5.1 Ejemplo 1, filtro pasa banda activo ............................................................... 69
IV.5.2 Ejemplo 2, filtro pasa bajas pasivo ................................................................ 72
IV.5.3 Ejemplo 3, filtro pasa altas activo.................................................................. 75
IV.6 Comentarios.............................................................................................................. 78
RESUMEN, CONCLUSIONES Y RECOMENDACIONES .......................................... 80
APNDICE A. SEALES DE EXCITACIN................................................................82
APNDICE B. PROGRAMA PARA LA IDENTIFICACIN NO PARAMTRICA...86
APNDICE C. EL DSK TMS320C6211.........................................................................88
C.1 Introduccin al DSK................................................................................................... 88
C.2 Caractersticas principales del DSK TMS320C6211................................................. 88
C.3 Diagrama a bloques del DSK TMS320C6211. .......................................................... 89
C.3.1.1 El procesador ................................................................................................ 90
C.3.1.2 Memoria interna .......................................................................................... 91
C.3.1.3 McBSP ......................................................................................................... 92
iv
C.3.1.4 Registros de control del PDS ...................................................................... 93
C.3.2 Relojes............................................................................................................. 94
C.3.3 Puertos de entrada y salida .............................................................................. 94
C.3.4 Interfaz de puerto anfitrin.............................................................................. 94
C.3.5 Interfaz analgica ............................................................................................ 95
C.3.6 Memoria externa.............................................................................................. 95
C.3.6.1 SDRAM........................................................................................................ 95
C3.6.2 Memoria FLASH........................................................................................... 96
APNDICE D. EL CODE COMPOSER STUDIO...........................................................97
D.1 Introduccin............................................................................................................... 97
D.2 Manejo de archivos en un proyecto. .......................................................................... 98
D.3 Desarrollo de un proyecto. ......................................................................................... 99
APNDICE E. COMUNICACIN ANFITRIN-DESTINO........................................106
E.1 Introduccin.............................................................................................................. 106
E.2 Librera de enlace dinmica...................................................................................... 106
E.3 Establecimiento de la comunicacin........................................................................ 108
E.4 Fin de la comunicacin............................................................................................. 111
APNDICE F. PROGRAMA PARA LA IDENTIFICACIN PARAMTRICA.........113
BIBLIOGRAFA Y REFERENCIAS............................................................................. 115
Lista de figuras
Fig. I.1. Secuencia discreta x(n) obtenida muestreando una seal continua x(t). ............... 3
Fig. I.2 Secuencia x(n) como suma de impulsos discretos escalados y desplazados.......... 3
Fig. I.3. Sistema discreto..................................................................................................... 3
Fig. I.4 Linealidad de un sistema discreto .......................................................................... 4
Fig. I.5 Conexin de sistemas, a) Serie, b) Paralelo, c) Serie-paralelo............................... 7
Fig. I.6 El problema del radar. ............................................................................................ 8
Fig. I.7. Secuencia peridica a partir de una secuencia finita, N = 4................................ 10
Fig. I.8 Muestras a procesar para obtener la TDF de x(t). ............................................... 12
Fig. I.9 Espectro en funcin del perodo de muestreo. ..................................................... 13
Fig. I.10 Mariposa para la TRF radix-4 de decimacin en frecuencia, forma 1. .............. 16
Fig I.11 Mariposa con datos complejos. ........................................................................... 17
v
Fig. I.12 Diagrama para obtener la TRF de 64 muestras.. ................................................ 18
Fig. I.13 Mariposa para la decimacin en frecuencia radix-4, forma 2. ........................... 19
Fig. I.14 Interpolacin de un espectro agregando ceros a x(n). ........................................ 23
Fig. II.1 Funciones y seales asociadas a un SLIT. .......................................................... 25
Fig. II.2 Diagrama a bloques del algoritmo de estimacin espectral................................ 27
Fig. II.3. Diagrama de Bode identificado y real del sistema 1.......................................... 28
Fig. II.4 Diagrama de Bode identificado y real del sistema 2........................................... 29
Fig. II.5 Red RC a identificar............................................................................................ 29
Fig. II.6 Diagrama de Bode identificado para el sistema 3............................................... 30
Fig. II.7 Esquema para la captura de los pares de muestras de entrada-salida. ................ 31
Fig. II.8 Filtro pasabanda usado como sistema a identificar............................................. 31
Fig. II.9. a) Salida terica producida al excitar el sistema con el RBG generado por el
procesador destino. b) Salida del sistema real capturada.................................................. 32
Fig. II.10 Sistema lineal con ruido presente en la entrada ................................................ 33
Fig. II.11 Coherencia de los pares de muestras de entrada-salida capturada.................... 34
Fig. II.12 Coherencia obtenida con pares de muestras alineadas. .................................... 34
Fig. II.13 R
xx
y R
xy
con 32 atrasos .................................................................................... 35
Fig. II.14 Correlaciones con ceros insertados para realizar la interpolacin. ................... 35
Fig. II.15 Autoespectro y espectro cruzado obtenidos...................................................... 36
Fig. II.16 Diagrama de Bode obtenido del sistema identificado en escala lineal. ............ 37
Fig. II.17. Diagrama de Bode ideal en escala lineal del sistema a identificar. ................. 37
Fig. II.18 Diagrama de Bode identificado en escala lineal............................................... 38
Fig. II. 19 Diagrama de Bode ideal en escala lineal ......................................................... 38
Fig. II.20 Grfica de la funcin coherencia para la red RC identificada .......................... 39
Fig. III.1. Diagrama a bloques de la implementacin con un PDS................................... 41
Fig. III.2 Configuracin Anfitrin-Destino ...................................................................... 42
Fig. III.3 Diagrama a bloques del programa destino. ....................................................... 43
Fig. III.4 Ruido blanco tomado a la salida del CODEC. .................................................. 44
Fig. III.5. Histograma de una secuencia generada con el mtodo de Gold and Rader. .... 44
Fig. III.6. Histograma siete secuencias promediadas........................................................ 45
Fig. III.7 Rutina de enmascaramiento de la secuencia de RBG para excitar el sistema. .. 45
vi
Fig. III.8 Rutina de excitacin y captura de las muestras de entrada-salida. .................... 46
Fig. III.9 Rutina de alineacin de las muestras capturadas. .............................................. 47
Fig. III.10 Rutina para calcular la autocorrelacin........................................................... 48
Fig. III.11 Correlacin de un RBG real obtenida en el PDS............................................. 48
Fig. III.12 Autocorrelacin del RBG generado y procesado en el DSP. .......................... 49
Fig. III.13. Estructura que crea el tipo de datos COMPLEX para la rutina de la TDF..... 51
Fig. III.14. Estructura tipo COMPLEX implementada. .................................................... 51
Fig. III. 14 Diagrama de flujo del programa Anfitrin. .................................................... 53
Fig. III.15 Cartula del programa Anfitrin...................................................................... 54
Fig. III.16 Identificacin de un filtro pasa banda.............................................................. 57
Fig. III.17 Coherencia de las muestras de entrada y salida del filtro pasa banda. ............ 57
Fig. III.18 Identificacin obtenida de la red RC. .............................................................. 58
Fig. III.19 Coherencia de las muestras de entrada-salida de la red RC. ........................... 58
Fig. III.20. Filtro pasa altas fc = 350 Hz........................................................................... 59
Fig. III.21. Identificacin obtenida del filtro pasa altas. ................................................... 60
Fig. III.22 Coherencia de la entrada y la salida del filtro pasa altas. ................................ 60
Fig. IV.1 Modelo ARMAX para un sistema dinmico. .................................................... 63
Fig. IV.2 Muestras de la salida y el error para p = 4......................................................... 65
Fig. IV.3 Identificaciones obtenidas, modelo ARMA usando 2048 muestras.................. 69
Fig. IV.4 Identificacin obtenida con el modelo ARMA usando 200 muestras ............... 70
Fig. IV.5 Identificacin obtenida con el modelo ARMA usando 100 muestras ............... 71
Fig. IV.6 Sistema identificado con el modelo ARMA usando 25 muestras. .................... 71
Fig. IV.7Sistema identificado con el modelo ARMA usando 2048 muestras. ................. 72
Fig. IV.8 Sistema identificado con el modelo ARMA usando 200 muestras. .................. 73
Fig. IV.9 Sistema identificado con el modelo ARMA usando 100 muestras. .................. 74
Fig. IV.10 Sistema identificado con el modelo ARMA usando 25 muestras. .................. 74
Fig. IV.13 Sistema identificado con el modelo ARMA usando 2048 muestras. .............. 75
Fig. IV.14 Sistema identificado con el modelo ARMA usando 200 muestras. ................ 76
Fig. IV.15 Sistema identificado con el modelo ARMA usando 100 muestras. ................ 77
Fig. IV.16 Sistema identificado con el modelo ARMA usando 25 muestras. .................. 77
Fig. A.1. Representacin de R(m) para una SBPA, L=7. ................................................. 84
vii
Fig.A.2. Espectro de un Ruido Blanco Ideal. ................................................................... 84
Fig. C.1 Diagrama a bloques del DSK TMS320C6211.................................................... 89
Fig. C.2 Diagrama a bloques del PDS TMS320C6211. ................................................... 91
Fig. C.3 Diagrama a bloques del CODEC ........................................................................ 95
Fig. D. 1. Ventana del manejador visual del proyecto. ..................................................... 98
Fig. D.2. Ventana de Project y la opcin New.................................................................. 99
Fig. D.3 Creacin de archivos que forman el proyecto. ................................................. 100
Fig. D.4. Cdigo del programa principal. ....................................................................... 100
Fig. D.5 Opcin de agregar archivos al proyecto actual. ................................................ 101
Fig. D.6. Ventana de seleccin de tipo de archivo a agregar. ......................................... 101
Fig. D.7. Archivo de configuracin de memoria lnk.cmd............................................... 102
Fig. D.8. Secciones de memoria en las localidades definidas en la figura D.7 .............. 102
Fig. D.9 Localizacin de las libreras para el TMS320C62x1........................................ 103
Fig. D.10. Funcin Rebuild All. ...................................................................................... 103
Fig. D.11. Opcin para cargar el programa en el PDS ................................................... 104
Fig. D.12. Opciones Run y Halt...................................................................................... 104
Fig. D.13. Resultado del programa ccstest.c................................................................... 104
Fig. E.1 Configuracin anfitrin-destino y el programa dsk6211.dll ............................. 107
Fig. E.2 Proceso para establecer la comunicacin paralela entre los dos dispositivos. .. 107
Fig. E.3 Archivo de cabecera dsk6211.h ....................................................................... 109
Fig. E.4 Rutina de inicio de la comunicacin entre ambos procesadores ....................... 110
Fig. E.5 Funcin de escritura de datos al PDS................................................................ 110
Fig. E.6 Funcin de lectura de datos del PDS................................................................. 111
Fig. E.7 Rutina de fin de programa, cierre del HPI y fin de la comunicacin. ............... 111
Lista de tablas
Tabla I.1 Caractersticas de la TRF de decimacin en frecuencia radix-4. ...................... 19
Tabla I.2 Sistema de base 4 para los decimales del 0 al 15 .............................................. 20
Tabla I.3 Inversin de dgitos para N = 16. ...................................................................... 21
Tabla C.1 Registros de control del PDS ........................................................................... 93
Tabla E.1 Funciones presentes en la librera de enlace dinmico dsk61ll.dll................. 108
viii
Lista de acrnimos y smbolos
Desviacin estndar
(n) Impulso discreto
(t) Impulso

2
Variancia

2
() Funcin coherencia
ADC Convertidor analgico digital, analog to digtal converter
AIC Criterio de Informacin de Akaike
AR Autoregresivo, autorregresive
ARMA

Autoregresivo con promedio mvil, autorregresive movieng
average
ARMAX Autoregresivo con promedio mvil exgeno
B Ancho de banda
CAT Criterio de Transferencia Autoregresiva
CCS Code Composer Studio
CODEC Codificador-Decodificador
COMPLEX Estructura tipo compleja
DAC Convertidor digital analgico, digital to analog converter
DEP Densidad espectral de potencia
DSK

Kit de inicio del procesador digital de seales, Digital signal
processor Starters Kit
E[] Valor esperado del argumento
EVM Mdulo de evaluacin, Evaluation Module
F Resolucin
FIR Respuesta finita al impulso, Finite Impulse Response
F
m
Frecuencia de muestreo
FPE Error de prediccin lineal, Final Prediction Error
H(f) Funcin de transferencia en el dominio de la frecuencia
h(n) Respuesta al impulso discreto
ix
h(t) Respuesta al impulso continuo
ID Invariancia al desplazamiento
IIR Respuesta infinita al impulso, Infinite Impulse Response
LID Lineal e invariante al desplazamiento
LID Linealidad
MA Promedio mvil, Moving Average
N Nmero total de muestras
P Perodo de observacin
PDS Procesador digital de seales
RBG Ruido blanco Gaussiano
RN Ventana rectangular
Rxx Autocorrelacin
Rxy Correlacin cruzada
SLIT Sistema lineal e invariante con el tiempo
SNR Relacin seal a ruido, Signal to Noise Ratio
Sxx Autoespectro
Sxy Espectro cruzado
T Perodo de muestreo
T W-K Teorema de Wiener-Khinchine
T[] Transformacin lineal del argumento
TDF Transformada discreta de Fourier
TDFI Transformada discreta de Fourier inversa
TRF Transformada rpida de Fourier
TRFI Transformada rpida de Fourier inversa
u(t) Seal de entrada en modelo ARMA
W
N
Factores de rotacin
WPC Criterio del Parmetro Dbil
x(t) seal de entrada continua
y(t) seal de salida continua, seal de entrada en modelo ARMA
1
INTRODUCCIN

La identificacin de sistemas ha sido un problema que ha tenido recientemente un
auge importante debido a la aparicin de procesadores digitales, tarjetas de adquisicin de
datos y plataformas de simulacin que facilitan la implementacin de algoritmos
matemticos. Histricamente se ha colocado a esta lnea de investigacin dentro del rea de
control, aunque dentro de identificacin de sistemas hay una convergencia de varias reas:
sistemas digitales, control, instrumentacin, procesamiento digital de seales, etc. La
identificacin de sistemas consiste en obtener modelos grficos o paramtricos de sistemas
dinmicos utilizando datos experimentales de entrada y salida. La identificacin de un
sistema se hace ajustando parmetros de un modelos dado hasta que su salida coincida de la
mejor manera con los datos de salida medidos. La identificacin de sistemas es aplicable a
diversos campos, tales como: procesos qumicos, sistemas biomdicos, sistemas elctricos,
sistemas socioeconmicos, hidrologa, etc [1], [5].
La identificacin no paramtrica consiste en estimar el comportamiento de un
sistema sin tener necesariamente que usar un modelo parametrizado dado. Los mtodos no
paramtricos tpicos incluyen anlisis de correlaciones y anlisis espectral para estimar la
respuesta al impulso y la respuesta a la frecuencia del sistema, respectivamente. Entre los
modelos paramtricos ms comunes se encuentran aquellos que modelan en ecuaciones
diferencias, tales como los modelos autoregresivo y de promedio mvil (ARMA). Es
comn obtener primero un modelo no paramtrico de un sistema y as contar con
informacin del sistema en cuestin para despus obtener un modelo paramtrico.
La identificacin de un sistema es importante dado que permite disear una ley de
control tal que el sistema se comporte en la forma deseada. Una vez diseada la ley de
control, sta podr implementarse fsicamente y aadirse al sistema que fue identificado.

2
I
CAPTULO

I.1 Introduccin
El procesamiento digital de seales es un rea de la ciencia y la ingeniera que se ha
desarrollado ampliamente desde mediados de la dcada de los 60s. Gran parte del auge de esta
rea se debe al gran avance de las computadoras y de la circuitera digital. En este captulo se
presentan los conceptos bsicos para entender las seales y los sistemas discretos. Tambin se
presenta la teora de operaciones clave en el mundo del procesamiento digital de seales.

I.2 Secuencias discretas
Seal: Es una funcin que contiene informacin del estado o comportamiento de un sistema, se
considera la salida de un sistema cuya excitacin no se conoce. Una seal puede ser
unidimensional multidimensional y cuando se tienen varias fuentes de una misma variable, la
seal se conoce como multicanal. Por su expresin matemtica las seales se clasifican en
continuas y discretas, una seal discreta puede obtenerse a partir de una seal continua segn se
observa en la figura I.1, haciendo t = nT, es decir:
L L ), 2 ( ), 1 ( ), 0 ( ), 1 ( ), 2 ( ) ( ) ( x x x x x t x n x
nT t

(I.2.1)
donde: T es el perodo de muestreo y f
m
=
1
T
es la frecuencia de muestreo.
En general, una secuencia discreta puede expresarse como una suma de impulsos discretos
escalados y desplazados, es decir (ver la figura I.2):
+ + + + + + + + L L ) 2 ( ) 2 ( ) 1 ( ) 1 ( ) ( ) 0 ( ) 1 ( ) 1 ( ) 2 ( ) 2 ( ) ( n x n x n x n x n x n x



k
k n k x ) ( ) ( (I.2.2)
CONCEPTOS GENERALES DE
SEALES Y SISTEMAS
DISCRETOS
3
x(t)
x nT) x n ( ( )

t
n
0 1 2 3

Fig. I.1. Secuencia discreta x(n) obtenida muestreando una seal continua x(t).

x n ( )
n
x( ) 4
x( ) 3
x( ) 0
x( ) 1
x( ) 2
-4 2 1 0 -1 -2 -3

Fig. I.2 Secuencia x(n) como suma de impulsos discretos escalados y desplazados.

I.3 Sistemas discretos
Matemticamente un sistema discreto se define como una relacin funcional T[] que
transforma una secuencia numrica de entrada x(n), en una secuencia numrica de salida y(n), ver
la figura I.3.

T [ ] x(n) y(n) T[x(n)]

Fig. I.3. Sistema discreto.

De todos los sistemas discretos, los sistemas lineales e invariantes con el desplazamiento (LID)
son de los ms importantes, es decir,
L I D L (Lineal) y ID (Invariante con el desplazamiento)
4
I.3.1 Propiedad de linealidad (L)
Un sistema discreto es lineal si cumple la propiedad de superposicin (aditividad y
escalamiento) dada por:
T [ax
1
(n) + bx
2
(n)] = aT [x
1
(n)] + bT [x
2
(n)] = ay
1
(n) + by
2
(n) (I.3.1)
la representacin de la ecuacin (I.3.1) se muestra en la figura I.4.

T [ ] x
1
(n)

a
b x
2
(n)
+
+
.

es equivalente a:
a x
1
(n)

T [ ]
T [ ] x
2
(n)
+
+
b

Fig. I.4 Linealidad de un sistema discreto

I.3.2 Propiedad de invariancia al desplazamiento (ID)
Un sistema discreto es invariante al desplazamiento si satisface la siguiente relacin:
y(n - n
0
) = T[x(n - n
0
)] (I.3.2)
y(n - n
0
) implica reemplazar n = n - n
0
en la expresin de y(n), mientras que T[x(n - n
0
)] implica
reemplazar x(n) = x(n-n
0
) en la expresin de y(n).
Una propiedad de los sistemas LID es que la salida es cero cuando la entrada es cero, es decir:
x(n)=0 y(n)=0 [1].
5
I.3.3 Estabilidad
Un sistema discreto es estable si para una entrada x(n) acotada, el sistema produce una salida
y(n) acotada, es decir,
x(n) < M < y(n) < N < ,
para sistemas discretos LID cuya respuesta a la muestra unitaria es h(n), el sistema es estable si
la respuesta al impulso es absolutamente sumable, o sea:
<

n
n h ) (
(I.3.3)
Lo anterior se presenta en [1].

I.3.4 Causalidad
Es una propiedad intrnseca de los sistemas fsicos. Un sistema discreto es causal o no
anticipatorio o realizable en tiempo real, si y(n) para n = n
o
depende slo de la entrada x(n) para n
n
0
. [1]. Para sistemas LID esto se cumple si:
h(n)=0 n < 0 . (I.3.4).
I.3.5 Convolucin discreta
Si se tiene la respuesta al impulso discreto de un sistema LID denotada por h(n), Cul es la
respuesta y(n) a cualquier excitacin x(n)?.
En la seccin anterior se mencion que una secuencia x(n) puede expresarse como una suma de
impulsos escalados y desplazados, es decir:



k
k n k x n x ) ( ) ( ) (
la salida del sistema es : [ ] [ ]



k
k n T k x n x T n y ) ( ) ( ) ( ) (
como el sistema es LID, entonces T[(n - k)] = h(n - k).
As, la salida est dada por,




k k
k n x x h k n h x x n y ) ( ) ( ) ( ) ( ) ( (I.3.5)

conocida como suma de convolucin discreta y cuya representacin es: y(n) = x(n)*h(n) [1].
6
Para sistemas causales cuya respuesta h(n) es una secuencia finita (0 n 1), los lmites de la
sumatoria son 0 y N-1. La ecuacin

d t h x t h t x t y ) ( ) ( ) ( ) ( ) (
puede aproximarse por [ ] ) ( ) ( ) ( n h n x T n y .
Partiendo de la definicin es posible demostrar que la convolucin discreta es conmutativa,
asociativa y distributiva, o sea:
x(n) h(n)=h(n) x(n) (I.3.6)
x(n) h
1
(n) h
2
(n)=[x(n) h
1
(n)] h
2
(n) (I.3.7)
x(n) [h
1
(n)+h
2
(n)]=x(n) h
1
(n)+x(n) h
2
(n) (I.3.8)
I.3.6 Inversin de sistemas LID
Un sistema LID con respuesta al impulso h(n) es invertible, si es posible encontrar otro sistema
LID con respuesta al impulso h
1
(n) tal que al convolucionarse con el primer sistema se cumpla
que:
h(n) h
1
(n) = (n), (I.3.9)
esto implica que la salida del segundo sistema es igual a la entrada del primer sistema. Este
concepto tambin se aplica a sistemas continuos.
I.3.7 Conexin de sistemas
Los sistemas LID pueden conectarse en serie, paralelo y serie-paralelo, segn se observa en la
figura. I.5. Para sistemas en serie, la respuesta al impulso del sistema total es la convolucin de la
respuesta al impulso de cada sistema. Para sistemas en paralelo, la respuesta al impulso del
sistema total es la suma de la respuesta al impulso de cada sistema. Para la conexin serie-
paralelo se combina lo expresado para sistemas en serie y en paralelo.
I.3.8. Sistemas FIR e IIR
La siguiente ecuacin diferencia representa en forma general a los sistemas discretos LID,



M
k
q
r
r n x r b k n y k a
0 0
), ( ) ( ) ( ) ( (I.3.10)
si M = 0 y a(0) = 1,


q
r
r n x r b n y
0
) ( ) ( ) ( (I.3.11)
7
a estos sistemas se les conoce como sistemas de respuesta al impulso finita (FIR). En este caso,
a(k) y b(k) son parmetros constantes. Si M 0, el sistema discreto representado por la ec.
(I.3.10) se conoce como sistema de respuesta al impulso infinita (IIR) [1].

h
2
(n) x(n) h
1
(n) y(n)
h(n) = h
1
(n) h
2
(n)
a)

h
2
(n)
x(n)
h
1
(n)
y(n)
h(n) = h
1
(n) + h
2
(n)

+
+
b)

h
3
(n)
x(n) y(n)
h(n) = h
3
(n) + [h
1
(n) h
2
(n)]

+
+
h
2
(n) h
1
(n) c)

Fig. I.5 Conexin de sistemas, a) Serie, b) Paralelo, c) Serie-paralelo.

I.4 Correlacin
La correlacin es una operacin matemtica muy parecida a la convolucin, la cual mide
el grado de similitud que existe entre dos secuencias o procesos para as extraer informacin. Esta
operacin matemtica es ampliamente utilizada en distintas reas de la ciencia y la ingeniera por
ejemplo se utiliza en radar, sonar, comunicaciones digitales, geologa, biomedicina, etc. Si la
secuencia o el proceso es el mismo, se le conoce como autocorrelacin y si son diferentes se le
llama correlacin cruzada. Segn [1], la autocorrelacin mide el grado de deterioro o
envejecimiento de un sistema.
Considerando como ejemplo un radar o un sonar, se tienen dos secuencias x(n) y y(n), las
cuales representan la seal transmitida y la seal recibida, respectivamente. Si existe un blanco en
8
el espacio explorado, la seal recibida y(n) es una versin atrasada y atenuada de la seal
transmitida, reflejada por el blanco y corrompida por ruido aditivo. En la figura I.6 se muestra el
problema del radar.

Fig. I.6 El problema del radar.

La seal recibida se puede representar como ) ( ) ( ) ( n r D n x n y + , donde representa
el factor de atenuacin que contiene las prdidas debido al trayecto de ida y vuelta, D el retardo
debido al trayecto de ida y vuelta y se supone que es un mltiplo entero del perodo de muestreo
y r(n) representa al ruido aditivo capturado por la antena y el ruido generado por los
amplificadores y cualquier otro componente electrnico. Por otra parte, si no existe ningn
blanco en el espacio, la seal recibida ser nicamente ruido [24].
El objetivo del radar consiste en teniendo tanto a x(n) y y(n) determinar si existe algn
blanco comparando a x(n) con y(n) y si es as, determinar el retardo D y a partir de l determinar
la distancia entre el receptor y el blanco. En la prctica la seal y(n) se encuentra altamente
corrompida con ruido y por simple observacin no se puede determinar la presencia o ausencia de
un blanco. La correlacin permite extraer esta informacin de la seal y(n).
La expresin numrica para la autocorrelacin discreta es:
N M m m n x n x
m N
m R
m N
n
xx
<

,..., 2 , 1 , 0 ) ( ) (
1
) (
1
0
^
(I.4.1)
9
donde N es el nmero de muestras y M es el nmero de atrasos o adelantos permitidos.
Para la correlacin cruzada se tiene la ecuacin:
N M m m n y n x
m N
m R
m N
n
xy
<

,..., 2 , 1 , 0 ) ( ) (
1
) (
1
0
^
(II.4.2)
Box y Jenkins [23] recomiendan que 50 N y
4
N
M < para obtener buenas estimaciones de
R
xx
(m).

I.5 Respuesta a la frecuencia de seales y sistemas discretos
Considerando una entrada exponencial compleja x(n) = e
jwn
, la salida de un sistema discreto a
tal excitacin es:


k k
jwk jwn
k
k n jw
e k h e e k h k n x k h n y ) ( ) ( ) ( ) ( ) (
) (
,
definiendo H(e
jw
) =

k
jwk
e k h ) ( entonces:
y(n) = H(e
jw
) e
jwn
, (I.5.1)
a H(e
jw
) se le conoce como la respuesta a la frecuencia del sistema discreto o transformada de
Fourier de su respuesta al impulso, h(n). A la secuencia x(n) se le conoce como una eigenfuncin
del sistema [1].
En general, para cualquier secuencia discreta x(n), su respuesta a la frecuencia est dada por:
X(e
jw
) = . ) (

n
jwn
e n x (I.5.2)

I.6 Transformada discreta de Fourier y su obtencin
En esta seccin se introduce una representacin alternativa para una secuencia discreta finita la
cual se conoce como la transformada discreta de Fourier (TDF) de la secuencia. La TDF de una
secuencia finita, es a su vez otra secuencia finita y corresponde a muestras espaciadas
uniformemente en el dominio de la frecuencia, de la transformada de Fourier de la secuencia. La
TDF juega un papel clave en la implementacin de algoritmos para PDS, dado que existen
algoritmos muy eficientes en tiempo para su obtencin, dichos algoritmos son conocidos en
conjunto como la transformada rpida de Fourier (TRF), la cual se discute ms adelante.
10
I.6.1 La transformada discreta de Fourier (TDF)
Dada una secuencia discreta finita, es posible obtener una secuencia peridica repitiendo
sucesivamente la secuencia finita, esto se observa en la figura I.7 para N = 4.
Puesto que se logra una secuencia peridica x
~
(n) a partir de una secuencia finita x(n), x
~
(n)
puede expresarse como:
x
~
(n) = ... + x(n+N) + x(n) + x(n-N) + x(n-2N) + ...=


+
r
rN n x ), ( (I.6.1)
donde significa periodicidad. Es lgico pensar que
~
x (n) puede desarrollarse en una serie
de Fourier exponencial discreta.
n
~
( ) x n
n
x n ( )
0 1 3 2
0

Fig. I.7. Secuencia peridica a partir de una secuencia finita, N = 4.

Sea la siguiente exponencial compleja:
( )kn N j
k
e n e
/ 2
) (

(I.6.2)
obsrvese que:
e
0
(n) = e
N
(n)
e
1
(n) = e
N+1
(n)
e
2
(n) = e
N+2
(n)
etc. [1].
La expresin (I.6.2) define para k = 0, 1, 2, . . . . , N - 1, N exponenciales complejas diferentes a
potencias mltiplos de 2/N as, el desarrollo en serie de Fourier de x
~
(n) contendr slo N
exponenciales complejas diferentes entre s y tendr la forma:
x
~
(n) =
1
N
, ) (
~
1
0
2

,
_

N
k
kn
N
j
e k X

(I.6.3)
a la ec. (I.6.3) se le conoce como la serie discreta de Fourier de la secuencia peridica [1].
11
I.6.2 Obtencin de los coeficientes
Multiplicando ambos miembros de la ec. (I.6.3) por
n r
N
j
e

,
_

2
y sumando desde n = 0 a N-1 se
tiene:


,
_

1
]
1

1
0
1
0
) (
2
1
0
2
1
) (
~
) (
~
N
k
N
n
n r k
N
j
N
n
rn
N
j
e
N
k X e n x


pero, se sabe que:

'

r k
r k N
e
N
n
n r k
N
j
; 0
;
1
0
) (
2
. (I.6.4)
Por lo tanto,
, ) (
~
) (
~
1
0
2

N
n
kn
N
j
e n x k X

(I.6.5)
obsrvese que ) (
~
k X (la serie de Fourier en la frecuencia) es peridica, es decir , ) (
~
k X =
) (
~
N k X + . A las ecs. (I.6.3) y (I.6.5) se les conoce como el par transformado discreto de Fourier
de una secuencia peridica [1].
Partiendo de las secuencias peridicas discretas x
~
(n) y ) (
~
k X es posible obtener expresiones
para secuencias discretas finitas multiplicando x
~
(n) y ) (
~
k X por una ventana rectangular, o sea:
x(n) = x
~
(n) R
N
(n)
X(k)= ) (
~
k X R
N
(n)
donde,
R
N
() =

'

de valor otro ; 0
1 0 ; 1 N

Con sto las ecs. (I.6.3) y (I.6.5) se convierten en:
D{x(n)} = X(k) =

1
0
) (
N
n
kn
N
W n x ; k=0,1,2,...,N-1 (I.6.6a)
D
-1
{X(k)} = x(n) =

1
0
) (
1
N
k
kn
N
W k X
N
; n =0,1,2,...,N-1 (I.6.6b)
donde,
N
j
N
e W

2
conocido como factor de rotacin.
12
A las ecs. (I.6.6) se les conoce como el par transformado discreto de Fourier de la secuencia finita
x(n). La ec. (I.6.6 a) o de anlisis, es la TDF de la secuencia finita x(n) y la ec. (I.6.6b) o de
sntesis es la TDF inversa (TDFI) de la secuencia finita X(k).
De acuerdo al desarrollo anterior, la TDF de una secuencia discreta de N muestras, es otra
secuencia de N muestras y corresponde a los coeficientes de la serie discreta de Fourier de un
perodo.
Es necesario enfatizar que la TDF asume periodicidad fuera del intervalo de observacin P = NT.
El concepto anterior es importante cuando se desea obtener la TDF de seales continuas
peridicas, en este caso slo se procesan muestras de un perodo, ver la figura I.8.
t
P
x(t)

Fig. I.8 Muestras a procesar para obtener la TDF de x(t).

Es fcil comprobar que la relacin de X(k) con X(e
jw
) y X(z) es:
X(k) =
N k j
e z k
N
w
jw
N
n
kn
N
j
z X e X e n x
/ 2
) ( ) ( ) ( 2
1
0
2

, (I.6.7)
la ec. (I.6.7) expresa que la TDF de una secuencia finita es igual a la transformada de Fourier de
la secuencia muestreada uniformemente a frecuencias mltiplos de 2/N.
Asimismo, la TDF equivale a muestrear la transformada z de la secuencia finita x(n) sobre el
crculo unitario a frecuencias uniformemente espaciadas dadas por ( ) ;
2
k
N

k = 0, 1, ..., N-1.
Las ecuaciones (I.6.6) no dependen del perodo de nuestro T (se asume T = 1). Dado el valor
absoluto del espectro ) (k X de una secuencia x(n), es necesario escalar el ndice frecuencial k
para obtener muestras de frecuencia en Hertz (ver la figura. I.9):

13
) (k X
NT
F
1

2
N 1 N
T
f
m
1

k
L

Fig. I.9 Espectro en funcin del perodo de muestreo.

La frecuencia digital asociada a una muestra k es w
k
= ( )k
N

2
, la frecuencia analgica
correspondiente se obtiene de la siguiente manera:
(2/N)k = T = 2fT
f = kF
P
k
NT
k
(I.6.8)
donde,
P = NT es el perodo de observacin de la secuencia x(n)
F = 1/P es la separacin de lneas espectrales o resolucin del espectro X(k).
Para secuencias reales, ) (k X es simtrica alrededor de k = N/2 segn se demuestra enseguida
(recurdese que la respuesta a la frecuencia de una secuencia es simtrica alrededor de w = ,
ver la seccin I.5).
w
k
= (2/N)k = k =
2
N
.
I.6.3.1 Transformada rpida de Fourier
La transformada rpida de Fourier (TRF), consiste de un conjunto de algoritmos
computacionalmente eficientes para calcular la TDF de una secuencia x(n). Este mtodo se basa
en la descomposicin de una TDF de N puntos (ecs. I.6.6a y I.6.6b) en TDFs ms pequeas.
Existen dos algoritmos para calcular la TRF, el algoritmo de decimacin en tiempo y el de
14
decimacin en frecuencia. En las referencias [6] y [7] se exponen variantes de estos mtodos. El
trmino decimar implica subdividir una secuencia cuyo nmero de muestras es potencia entera de
2 para el caso de la radix-2 y potencias de 4 para la radix-4.
En este trabajo se utiliza el algoritmo radix-4 de decimacin en frecuencia debido a que su
velocidad es mayor que el del algoritmo radix2, ver la seccin I.6.3.2. Este algoritmo divide la
secuencia de salida X(k) (frecuencia) en cuatro partes de N/4 muestras cada una. Esto permite
obtener cuatro ecuaciones distintas cuyas salidas combinadas forman la TDF de N muestras. En
las siguientes ecuaciones se describe el procedimiento. Primero es necesario dividir X(k) en
cuatro subsecuencias:

+ + +
1
4
3
1
4
3
2
1
2
4
1
4
0
1
0
) ( ) ( ) ( ) ( ) ( ) (
N
N
n
nk
N
N
N
n
nk
N
N
N
n
nk
N
N
n
nk
N
N
n
nk
N
W n x W n x W n x W n x W n x k X

,
_

,
_

,
_

,
_

+ +

,
_

+ +

,
_

+ +
1
4
4
3
4
3 1
4
2
2
1
4
4
4
1
4
0
4
3
2 4
) ( ) (
N
N
n
k
N
n
N
N
N
n
k
N
n
N
N
N
n
k
N
n
N
N
n
nk
N
W
N
n x W
N
n x W
N
n x W n x k X
nk
N
N
n
k
N
N
k
N
N
k
N
N
W
N
n x W
N
n x W
N
n x W n x k X

,
_

,
_

,
_

1
1
]
1

,
_

+ +
,
_

+ +
,
_

+ +
1
4
0
4
3
2 4
4
3
2 4
) ( ) ( (I.6.9)
De la definicin de los factores de rotacin se sabe que
( ) ( ) [ ]
k
k
k
j
N
k
N
j
N
k
N
j jsen e e W ) (
2 2
cos
2
4
2
4

,
_


,
_

,
_

,
_




( ) ( ) ( ) [ ]
k k
k
j
N
k
N
j
N
k
N
jsen e e W ) 1 ( cos
2
2
2

,
_

,
_

,
_


( ) ( ) [ ]
k
k
k
j
N
k
N
j
N
k
N
j jsen e e W ) (
2
3
2
3
cos
2
3
4
3
2
4
3

,
_


,
_

,
_

,
_




por lo que la ec, (I.6.9) se puede expresar como
( ) ( ) ( )
nk
N
N
n
k k k
W
N
n x j
N
n x
N
n x j n x k X

1
]
1

,
_

+ +

,
_

+ +

,
_

+ +
1
4
0
4
3
2
1
4
) ( ) ( (I.6.10)

Al hacer k = 4r, k = 4r + 1, k = 4r + 2, k = 4r + 3, se obtienen cuatro subsecuencias de la
secuencia de salida (frecuencia):

15
nr
N
N
n
N
W W
N
n x
N
n x
N
n x n x r X
4
1
4
0
0
4
3
2 4
) ( ) 4 (

1
]
1

,
_

,
_

+ +

,
_

+ +

,
_

+ + (I.6.11)

nr
N
N
n
n
N
W W
N
n jx
N
n x
N
n jx n x r X
4
1
4
0
4
3
2 4
) ( ) 1 4 (

1
]
1

,
_

,
_

+ +

,
_

,
_

+ + (I.6.12)

nr
N
N
n
n
N
W W
N
n x
N
n x
N
n x n x r X
4
1
4
0
2
4
3
2 4
) ( ) 2 4 (

1
]
1

,
_

,
_

,
_

+ +

,
_

+ + (I.6.13)

nr
N
N
n
n
N
W W
N
n jx
N
n x
N
n jx n x r X
4
1
4
0
3
4
3
2 4
) ( ) 3 4 (

1
]
1

,
_

,
_

+ +

,
_

,
_

+ + + (I.6.14)

para r = 0, 1, 2, ..., 1
4

N
.

X(4r), X(4r + 1), X(4r + 2) y X(4r + 3) son la TDF de
4
N
muestras cada una, las cuales se
forman por la suma de cuatro muestras de entrada ( ) ( ) ( ) ( )
4
3
y
2
,
4
), (
N
n x
N
n x
N
n x n x + + + , cada
una multiplicada por +1, -1, +j o j, la suma se multiplica por un factor de rotacin (
0
N
W ,
n
N
W ,
n
N
W
2
o
n
N
W
3
), estas TDF de
4
N
muestras forman una TDF de N muestras. Continuando con el
procedimiento, cada una de las TDF de
4
N
muestras se subdivide en cuatro TDF de
16
N

muestras, asimismo estas se subdividen en cuatro TDF de
64
N
muestras, se sigue subdividiendo
hasta que la decimacin final produzca una TDF de 4 muestras; as se forma el bloque bsico de
transformacin llamado mariposa, el cual se muestra en la figura I.10

16
) (n x

,
_

+
4
N
n x

,
_

+
2
N
n x

,
_

+
4
3N
n x
0
N
W
n
N
W
n
N
W
2
n
N
W
3
( ) r X 4
( ) 1 4 + r X
( ) 2 4 + r X
( ) 3 4 + r X

Fig. I.10 Mariposa para la TRF radix-4 de decimacin en frecuencia, forma 1.

La salida de cada rama representa una de las cuatro ecuaciones (I.6.11 I.6.14), las cuales
se combinan para formar una TDF de cuatro muestras. Cada muestra en la mariposa por
naturaleza es compleja; en la figura I.11 se muestra un diagrama con entradas y salidas
complejas, donde X representa la parte real de cada muestra, Y representa la parte imaginaria y
el factor de rotacin est representado por:

,
_

,
_


N
jsen
N
e W
N
j
N

2 2
cos
2
.
A continuacin se muestra la parte real e imaginaria de los valores de salida:
d c b a a
X X X X X + + +
'

d c b a a
Y Y Y Y Y + + +
'

( ) ( )( )
b d c b a b d c b a b
S X Y X Y C Y X Y X X + +
'

( ) ( )( )
b d c b a b d c b a b
S Y X Y X C X Y X Y Y + + +
'

( ) ( )( )
c d c b a c d c b a c
S Y Y Y Y C X X X X X + +
'

( ) ( )( )
c d c b a c d c b a c
S X X X X C Y Y Y Y Y + + +
'

( ) ( )( )
d d c b a d d c b a d
S X Y X Y C Y X Y X X + +
'

( ) ( )( )
d d c b a d d c b a d
S Y X Y X C X Y X Y Y + + +
'


17
a a
jY X +
a
W
b
W
c
W
d
W
b b
jY X +
c c
jY X +
d d
jY X +
' '
a a
jY X +
' '
b b
jY X +
' '
c c
jY X +
' '
d d
jY X +

Fig I.11 Mariposa con datos complejos.

En la figura I.12 se muestra el diagrama completo para obtener la TDF para 64 muestras y se
observa que las mariposas estn organizadas en grupos y etapas. La primera etapa tiene un grupo
de 16 ( )
4
N
mariposas, la siguiente etapa contiene cuatro grupos de 4 ( )
16
N
y la ltima etapa de
16 grupos de una mariposa. Los exponentes de los factores de rotacin dependen del grupo y la
etapa de la mariposa. Se observa que la entrada est secuencialmente ordenada pero la salida no.
Esto es el efecto de dividir repetidamente la secuencia de salida; el ordenamiento de las salidas
se lleva a cabo mediante un proceso llamado inversin de dgitos, el cual se explicar ms
adelante. En la tabla I.1 se resumen las caractersticas de la TRF de decimacin en frecuencia
radix-4 de N muestras con inversin de dgitos a la salida.
I.6.3.2 Nmero de operaciones
En la figura. I.13 se muestra otra forma de representar la mariposa de la figura I.9, en la
cual se observa que se realizan 8 sumas y 4 multiplicaciones complejas, y que existen
( )
2
log
2
N
etapas formadas cada una por
4
N
mariposas. El nmero total de sumas complejas es
de ( )( ) ( ) N N
N N
2 2
log
2
log
4
8 y el nmero de multiplicaciones complejas es de
( )( ) ( ) N
N
N N
2 2
log
2
2
log
4
4 . Este nmero de operaciones es igual que se obtiene al
implementar la radix-4 con el algoritmo de decimacin en tiempo radix-2.

18

Fig. I.12 Diagrama para obtener la TRF de 64 muestras. Columna (A) indica las muestras de
entrada, 44 = x(44); columna (B) indica los factores de rotacin para la etapa 1,
5
5
N
W ;
columna (C) indica los factores de rotacin para la etapa 2; columna (D) indica las muestras
de salida 51 = X(51).


19
Tabla I.1 Caractersticas de la TRF de decimacin en frecuencia radix-4.
Etapa Nmero
de
grupos
Mariposas
por
grupo
Espacios
nodales
Exponentes de los
factores circulares
ramas



1 2 3 4

1 1
4
N

4
N

0 n 2n 3n
1
4
a 0
N
n
2 2
16
N

16
N

0 4n 8n 12n
1
16
a 0
N
n
3 16
64
N

64
N

0 16n 16n 48n
1
32
a 0
N
n
M M M M M M M M M
2
log
2
N

4
N

1 1 0
n
N

,
_

4

n
N

,
_

2

n
N

,
_

2
3

n = 0

) (n x

,
_

+
4
N
n x

,
_

+
2
N
n x

,
_

+
4
3N
n x
( ) r X 4
( ) 1 4 + r X
( ) 2 4 + r X
( ) 3 4 + r X
0
N
W
n
N
W
n
N
W
2
n
N
W
3
Etapa 1
Decimacin en frecuencia
radix-2
Etapa 2
Decimacin en frecuencia
radix-2

Fig. I.13 Mariposa para la decimacin en frecuencia radix-4, forma 2.


20
Es posible habilitar el algoritmo de decimacin en frecuencia radix-2, el cual divide la
secuencia de salida en dos subsecuencias de muestras pares e impares y cuyo nmero de
operaciones es igual al de decimacin en frecuencia radix-4. La razn para preferir el algoritmo
radix-4 es que este combina dos etapas de una decimacin en frecuencia radix-2 en una sola
etapa. Por lo tanto, se requiere la mitad de etapas aunque la mariposa radix-4 es ms grande y
complicada, pero ms rpida. Muchos procesadores digitales de seales comerciales realizan ms
rpidamente una radix-4 que una radix-2.
I.6.3.3 Inversin de dgitos
Mientras que la inversin de bits invierte el orden de los bits en los nmeros binarios
(base 2), la inversin de dgitos invierte el orden de los dgitos en los nmeros cuaternarios (base
4). Cada dos bits del sistema binario corresponden a un dgito en los nmeros de base 4; por
ejemplo, el nmero binario 1110 = 32 en base 4. En la tabla I.2 se muestra el sistema base 4 para
los decimales del 0 al 15.
Tabla I.2 Sistema de base 4 para los decimales del 0 al 15
Decimal Base 2 Base 4
0 0000 00
1 0001 01
2 0010 02
3 0011 03
4 0100 10
5 0101 11
6 0110 12
7 0111 13
8 1000 20
9 1001 21
10 1010 22
11 1011 23
12 1100 30
13 1101 31
14 1110 32
15 1111 33

21
La decimacin en frecuencia con base 4 divide sucesivamente la secuencia de salida en
subsecuencias, lo cual produce que la secuencia de salida aparezca con los dgitos invertidos. Por
ejemplo, la posicin 12 en base 4, equivalente al 6 en decimal, corresponde a la posicin 21en
base 4 (9 en decimal) despus de la inversin de dgitos. En la tabla I.3 se muestra la inversin de
dgitos para una secuencia de 16 muestras. Por lo tanto, para representar una TRF de 16 muestras
se necesitan dos dgitos, tres dgitos para una TRF de 64 y 5 para una TRF de 1024 muestras. La
decimacin en frecuencia con base 4 se calcula para N muestras, donde N = 2
2v
; v = entero.

Tabla I.3 Inversin de dgitos para N = 16.
Muestras
secuencia
ordenada
Localidad
secuencia decimal
Base 4 Localidad con
inversin decimal
Base 4 Muestras
secuencia
invertida
X(0) 0 00 0 00 X(0)
X(1) 1 01 4 10 X(4)
X(2) 2 02 8 20 X(8)
X(3) 3 03 12 30 X(12)
X(4) 4 10 1 01 X(1)
X(5) 5 11 5 11 X(5)
X(6) 6 12 9 21 X(9)
X(7) 7 13 13 31 X(13)
X(8) 8 20 2 02 X(2)
X(9) 9 21 6 12 X(6)
X(10) 10 22 10 22 X(10)
X(11) 11 23 14 32 X(14)
X(12) 12 30 3 03 X(3)
X(13) 13 31 7 13 X(7)
X(14) 14 32 11 23 X(11)
X(15) 15 33 15 33 X(15)
22
I.6.4 Interpolacin en el dominio de la frecuencia
El espectro de una seal se calcula solo para mltiplos de la frecuencia
NT
F
1
, la cual
es la mxima resolucin para la TRF. Por lo que para aumentar la resolucin, se incrementa N
agregando ceros a la secuencia dada; de esta forma aparecen lneas espectrales que se interpolan
del espectro original. Esto permite obtener un espectro ms suave.
Al agregar ceros a una secuencia (zero padding), se interpola una lnea espectral entre
cada dos lneas del espectro original. A continuacin se presenta una demostracin de lo anterior.
Si se tiene una secuencia x(n) de longitud N a la cual se le agregan N ceros se obtiene una
secuencia x(n) = x(n) + N ceros de 2N muestras y su TDF es:


1 2
0
2
2
1 2
0
2
) ( ) ( ) (
N
n
N
kn
j
N
n
kn
N
e n x W n x k X


y puesto que x(n) es cero para n = N, N+1, ..., 2N-1, entonces se tiene
1 2 , , 2 , 1 , 0 ; ) ( ) (
1
0
2
2

,
_

N k e n x k X
N
n
N
n k
j
K

(I.6.9)
la ecuacin anterior implica que ahora el espectro contiene lneas espectrales que se han
interpolado a frecuencias mltiplos de
2
kF
, tal como se observa en la figura I.14.

I.7 Teorema de Wiener-Khinchine
Cuando la correlacin no vara sensiblemente, indica que la seal en promedio en el
dominio del tiempo no cambia mucho, es decir, se tienen componentes de baja frecuencia. Si la
correlacin cambia significativamente, esto indica que la seal en el tiempo, en promedio, cambia
notablemente, es decir, se tienen componentes de alta frecuencia. Cuando la correlacin no
cambia notablemente, se dice que los procesos estn altamente correlacionados. Esta relacin
intuitiva de la correlacin y la frecuencia est dada por el teorema de Wiener-Khinchine (W-K),
el cual expresa que la correlacin y la densidad espectral de potencia (DEP) son pares
transformados de Fourier (ecuaciones I.7.1 y I.7.2).
[ ] ) ( ) (
xy xy
R f S (I.7.1)
[ ] ) ( ) (
1
f S R
xy xy

(I.7.2)
y lo mismo aplica para S
xx
(f) y R
xx
(), [1].
23
) (
j
e X
2


2
3
2
0
2
2
) (

sen
N
sen
e X
j

) (n x
n
1
0 1 2 3
N = 4
) (n x
1
0 1 2 3
N = 4
n
) (n x
n
1
0 1 2 3
N = 8
4 5 6 7
) (n x
n
1
0 1 2 3
N = 16
4 5 6 7 8 9 10 12 14
0 1 2 3
k
) (k X
TDF
TDF
TDF
0 1 2 3
k
) (k X
4 5 6 7
) (k X
0 1 2 3 4 5 6 77 8 9 10 12 14
k

Fig. I.14 Interpolacin de un espectro agregando ceros a x(n).
24
II
CAPTULO

II. 1. Introduccin
Un sistema es todo proceso que transforma entradas (causas) en salidas (efectos). Un
sistema est formado por subsistemas y stos a su vez estn formados por elementos.
Considerando un radiorreceptor como sistema, la entrada son las ondas electromagnticas que
llegan a la antena y la salida es la seal de audio producida por la bocina, un programa de
cmputo tambin es un sistema, donde la entrada son los datos a procesar y la salida es el
resultado del procesamiento. Los Sistemas Lineales e Invariantes con el Tiempo (SLIT) tienen
asociada una funcin de transferencia H(s) definida en el plano complejo s para sistemas
continuos, o H(z) definida en el plano complejo z para sistemas discretos.
Es posible obtener un modelo matemtico de un sistema, conociendo las leyes de
conjunto y las leyes de los elementos que lo forman, por ejemplo, para un sistema elctrico,
las leyes de conjunto son las Leyes de Kirchoff y la ley de los elementos es la ley de Ohm.
Cuando es difcil de obtener una modelacin analtica, una alternativa es identificar el sistema
usando datos experimentales de entrada y salida. En este trabajo se identificar un sistema en
forma no paramtrica, es decir, la funcin de transferencia se presenta en forma grfica
(diagramas de Bode) y generalmente es el primer paso en una identificacin paramtrica. La
identificacin no paramtrica presentada en este trabajo, consiste en obtener en forma
numrica el espectro cruzado, S
xy
(f), dividido entre el autoespectro, S
xx
(f), los cuales estn en
funcin de la transformada de Fourier de las muestras de entrada y salida como se expondr
ms adelante. El clculo numrico para obtener la identificacin no paramtrica, se lleva a
cabo utilizando el algoritmo de la transformada rpida de Fourier implementado como una
IDENTIFICACIN NO
PARAMTRICA DE UN SISTEMA
LINEAL E INVARIANTE
25
funcin en la plataforma de simulacin de Matlab (Captulo II) y en un procesador digital de
seales comercial (Captulo III).
La identificacin de un sistema es importante dado que permite disear una ley de control
tal que el sistema se comporte en la forma deseada. Una vez diseada la ley de control, sta
podr implementarse fsicamente y aadirse al sistema que fue identificado. Otra conveniencia
de trabajar con un sistema simulado es que se evita trabajar con el sistema fsico, el cual puede
ser daado al aplicarle seales que rebasen los lmites permitidos.

II.2 Identificacin no paramtrica
En la figura II.1, se muestran las funciones y seales asociadas a un SLIT, el objetivo es
relacionarlas entre s llevando a cabo el anlisis respectivo. De la misma figura II.1, se define
x(t) como la entrada; R
xx
() es la autocorrelacin de la entrada; S
xx
(f) es el autoespectro de la
entrada; y(t) es la salida, R
yy
() es la autocorrelacin de la salida, S
yy
(f) es el autoespectro de la
salida; R
xy
() es la correlacin cruzada de la entrada con la salida y S
xy
(f) es el espectro
cruzado de la entrada con la salida.

SLIT
h(t)
H(f)
x t
Rxx
Sxx f
( )
( )
( )

y t
Ryy
Syy f
( )
( )
( )

Rxy
Sxy f
( )
( )



Fig. II.1 Funciones y seales asociadas a un SLIT.

La funcin de transferencia de un SLIT est dada por:
) (
) (
) (
f S
f S
f H
xx
xy
, [1] (II.2.1)
Demostracin:
La correlacin cruzada de la seal de entrada x(t) con la salida y(t) est dada por,
R
xy
()=E[x(t)y(t+)], (II.2.2)
donde el operador E[] representa el valor esperado, asimismo, la salida y(t) est dada como,
26
y(t)=h(t)

d t x h t x
t
) ( ) ( ) (
0
(II.2.3)
+ +

d t x h t y
t
) ( ) ( ) (
0
, (II.2.4)
sustituyendo la ecuacin (II.2.2) en ecuacin (II.2.4) e intercambiando la integral y el operador
E[] se obtiene:
)] ( ) ( [ ) ( ) (
0
+

t x t x E d h R
t
xy
, (II.2.5)
pero: E[x(t)x(t+ )] = R
xx
( ), entonces,
R
xy
() =

d R h
xx
t
) ( ) (
0
(II.2.6)
por lo tanto,
R
xy
()=h()*R
xx
(), (II.2.7)
transformando ambos miembros de la ecuacin (II.2.7) y recordando el Teorema Wiener-
Khinchine se obtiene:
) (
) (
) (
f S
f S
f H
xx
xy
, L. C. D. D.
Si la seal x(t) es un ruido blanco ideal (Apndice A) con variancia
2
, entonces,
S
xx
(f) =
2
; R
xx
() =
2
() (II.2.8)
) ( ) ( ) ( ) (
2 2
t h t t h R
xy
(II.2.9)
h(t) =
2
1

R
xy
(). (II.2.10)
La ecuacin (II.2.10) expresa que la respuesta al impulso de un SLIT es proporcional a la
correlacin cruzada de la entrada x(t) con la salida y(t). La ec. (II.2.1) tambin es vlida si la
seal x(t) es determinstica.
Una aplicacin cotidiana de la ecuacin (II.2.10) es la siguiente; al empezar a manejar
un vehculo con el cual no se est familiarizado, ste se acelera y se observa cmo vara su
velocidad, se mueve el volante y se observan los cambios de direccin, se frena y se juzga la
distancia de frenado etc., prcticamente se est identificando a ste sistema (el vehculo) de
27
mltiples entradas y mltiples salidas, haciendo una correlacin cruzada de la excitacin
(entrada) con la respuesta obtenida (salida).
En la figura II.2 se muestra el diagrama a bloques del algoritmo de estimacin espectral
utilizado que permite calcular la ec. (II.2.1).
Entrada
Salida
Alineacin
) (
xx
R
) (
xy
R
Interpolacin
) ( f S
xx
) ( f S
xy
) ( f H

Fig. II.2 Diagrama a bloques del algoritmo de estimacin espectral

II.3 Seales de excitacin.
La seleccin de la seal de excitacin determina la exactitud de la identificacin realizada.
Entre las seales de excitacin ms usadas para la identificacin se encuentran: el ruido blanco
Gaussiano, seales binarias aleatorias y pseudoaleatorias, suma de seales senoidales, etc. En
este trabajo se utiliza como seal de excitacin el ruido blanco Gaussiano debido a que es una
seal que contiene todas las frecuencias del espectro y por lo tanto excita el sistema en todas
las frecuencias. En el apndice A se trata un poco mas lo referente a las seales de excitacin.

II.4 Simulaciones
En esta seccin se muestran algunas identificaciones de diferentes sistemas partiendo
de datos de entrada y salida generados. Como seal de entrada al sistema a identificar, se usa
un ruido blanco Gaussiano. Se obtiene la salida del sistema y usando la ecuacin (II.2.1), se
obtiene un diagrama de Bode estimado. Se trabaj con sistemas cuya funcin de transferencia
era conocida para validar la relacin (II.2.1) y se compar lo obtenido con el diagrama de
Bode de la funcin de transferencia ya conocida. El programa que implementa la
identificacin se muestra en el Apndice B.
II.4.1 Sistema 1
Como primer paso para la identificacin se genera una seal de ruido blanco de 4000 muestras
y con una variancia de 0.3. Con esta seal se excita al sistema desconocido usando el
comando LSIM del toolbox de Control, el cual obtiene la salida de un sistema y(n) para una
entrada especfica x(n).

28
En este caso, la funcin de transferencia es:
100 10
10
) (
2
+ +

s s
s H , (II.4.1)

de ah se obtienen las muestras de salida. Se realizaron algunas pruebas cambiando la
variancia de la seal de entrada y se observ que esta no afecta a la identificacin.

Los vectores de datos de entrada y de salida se alimentan a la ecuacin (II.2.1), la cual
est implementada en el comando SPA del toolbox de Ident de Matlab, ver. 5.3. Esta ecuacin,
determina el diagrama de Bode del sistema mediante el anlisis espectral. En la figura II.3 se
muestra el diagrama de Bode del sistema identificado con una lnea segmentada. Con lnea
continua se muestra el diagrama de Bode real de la funcin de transferencia dada por la
ecuacin (II.4.1), se observa que la respuesta a la frecuencia identificada es muy parecida a la
real.
10
-2
10
-1
10
0
10
1
10
2
10
-3
10
-2
10
-1
10
0
frequencia (rad/seg)
Respuesta de amplitud del sistema identificado
10
-2
10
-1
10
0
10
1
10
2
0
100
200
Respuesta de fase del sistema identificado
f
a
s
e
frequencia (rad/seg)
Real
Identificada

Fig. II.3. Diagrama de Bode identificado y real del sistema 1.

II.4.2 Sistema 2.
Para este ejemplo, slo se cambi la funcin de transferencia a:
100 10
10
) (
2
+ +

s s
s
s H , (II.3.2)
29
y se obtuvieron los resultados mostrados en la figura II.4, donde se muestran el diagrama de
Bode identificado usando anlisis espectral y el diagrama de Bode de la funcin de
transferencia dada por la ecuacin (II.3.2). Se observa que, el sistema se identifica en forma
aceptable hasta un rango de frecuencia limitado por la lnea punteada mostrada en la figura
II.4.
10
-2
10
-1
10
0
10
1
10
2
10
-3
10
-2
10
-1
10
0
frequencia (rad/seg)
Respuesta de amplitud del sistema identificado
10
-2
10
-1
10
0
10
1
10
2
-300
-200
-100
0
Respuesta de fase del sistema identificado
f
a
s
e
frequencia (rad/seg)
Real
Identificada


Fig. II.4 Diagrama de Bode identificado y real del sistema 2.
II.4.3 Sistema 3
Como tercer ejemplo se utiliza la red RC mostrada en la figura II.5 y cuya funcin de
transferencia est dada por la ecuacin (II.3.3)

6 2
6
10 1 2100
10 1
) (
+ +

s
s
s H (II.3.3)

10k 100 k
v v 100 nF 10 nF
i o

Fig. II.5 Red RC a identificar

30
Se realiza el mismo procedimiento usado para los ejemplos anteriores generando 2048
muestras y se obtiene el diagrama de Bode mostrado en la figura II.6. Asimismo, se muestra el
diagrama de Bode real obtenido de la funcin de transferencia dada para este sistema y se
observa que la respuesta a la frecuencia estimada es muy parecida a la real.

10
2
10
3
10
4
10
5
10
-4
10
-3
10
-2
10
-1
10
0
Respuesta de magnitud del sistema identificada
10
2
10
3
10
4
10
5
-250
-200
-150
-100
-50
0
Respuesta de fase del sistema identificada
F
a
s
e
Real
Identificada

Fig. II.6 Diagrama de Bode identificado para el sistema 3.
II.4.4 Observaciones de las simulaciones
Basado en los resultados obtenidos, la seal de excitacin es importante para
determinar la exactitud de la identificacin. Adems, no hay una seal nica que sea la
adecuada para realizar identificaciones, el tipo de seal depende del sistema en cuestin. La
variancia en la seal de entrada no influye en la identificacin. Asimismo, el nmero de
muestras y el perodo de observacin influyen en la identificacin; se concluye que se puede
usar el anlisis espectral para determinar la respuesta a la frecuencia de sistemas.

II.5 Experimentos realizados con muestras reales.
Una vez realizadas las simulaciones totalmente tericas se dise una aplicacin para
excitar los sistemas y capturar su salida para su posterior anlisis en la plataforma de
simulacin Matlab. Para realizar lo anterior se utiliz el esquema Anfitrin-Destino muy
parecido al que se explica en el Captulo III, basado en el procesador digital de seales (PDS)
TMS320C6211. Este ltimo genera 2048 muestras de ruido blanco Gaussiano siguiendo un
algoritmo que se explica con detalle en la seccin III.4.2, se excita el sistema desconocido, se
31
captura su salida y se guardan ambos bloques de muestras en la PC en un formato que es
reconocible por Matlab. Esta interfase esta desarrollada en su parte de programa Anfitrin en
Visual C++ 6.0 y en el Code Composer Studio para el programa Destino (ver el Apndice D).
En la figura II.7 se muestra el esquema para capturar las muestras de entrada-salida.

Generador
RBG
Sistema
ADC
DSK TMS320C6211
CODEC

Fig. II.7 Esquema para la captura de los pares de muestras de entrada-salida.

El sistema a identificar se muestra en la figura II.8, el cual es un filtro pasabanda con
frecuencia central real de 460 Hz y una banda de paso de 212 Hz.
15K
10K
1K
F
F
1 . 0
1 . 0

Fig. II.8 Filtro pasabanda usado como sistema a identificar.

Al ejecutar la aplicacin se observ que la salida del sistema presenta un retardo propio del
mismo y adems estaban presentes componentes de ruido de alta frecuencia provenientes del
reloj del PDS utilizado. En vista de lo anterior se decidi limitar en banda al RBG generado,
adems que en [5] se recomienda limitar el ancho de banda de la seal de excitacin. Para tal
efecto se dise un filtro FIR pasa bajas de orden 40 y frecuencia de corte de 3.5 KHz.
32
En la figura II.19 se muestra la salida terica del sistema excitando la funcin de transferencia
del sistema,
11 10 3 10 5 . 1
10 5 . 1
) (
3 2 6
3
+ +

s s
s
s H , (II.4.12)

con una secuencia de RBG de 2048 muestras generada en el PDS usando el comando LSIM
del toolbox de Control de Matlab versin 5.3 y la salida real de sistema excitado con la misma
secuencia capturada por el convertidor. En dicha figura se aprecia una cierta semejanza entre
ambas seales. Se observa adems que hay un defasamiento entre ambas seales.

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
-0.4
-0.2
0
0.2
0.4
Salida simulada del sistema usando el RBG generado en el DSK como entrada
a)
seg.
0 0.02 0.04 0.06 0.08 0.1 0.12 0.14
-0.02
-0.01
0
0.01
0.02
Salida del sistema real capturada con el DSK
b) seg.

Fig. II.9. a) Salida terica producida al excitar el sistema con el RBG generado por el
procesador destino. b) Salida del sistema real capturada.

En la figura II.9 se observa que la salida no se hace presente inmediatamente, tal como lo hace
con el comando LSIM, sino que sufre un retardo debido al propio sistema; por lo tanto las
muestras de salida no corresponden realmente a las muestras de entrada.
33
II.5.1 Confiabilidad de la estimacin .
La coherencia es una medida de la confiabilidad de la estimacin, y esta dada por la expresin:

( )
( )
( ) ( )
( ) . 1 f 0 ;
f f
f
f
2
2

yy xx
xy
S S
S
(II.4.13)

Cuando ( ) , 1 f no existe error en la estimacin, es decir cuando ( ) , 0 f el espectro es
debido solo al ruido presente en el sistema, ver la figura II.10. En este caso, puesto que
( ) ( ) ( ) f S f H f S
xx xy
, se tiene,

( )
( ) ( )
( ) ( ) ( ) ( ) ( )
SNR
f S f S f H f S
f S f H
f
rr xx xx
xx
1
1
1
2
2
2
2
+

+
(II.4.14)

donde
( )
( ) f S
f S
SNR
rr
xx
.

+
+
x(t) y(t)
r(t)
SLIT
x(t) + r(t)

Fig. II.10 Sistema lineal con ruido presente en la entrada

Posteriormente, se analiz la correspondencia entre los pares de muestras de entrada-salida de
las muestras mediante la coherencia, esta grfica se muestra en la figura II.11. En esta grfica
se observa que la seal de salida es interpretada como un ruido no correlacionado con la
entrada, por lo tanto se obtiene una correlacin muy mala.
34
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Frecuencia
E
s
t
i
m
a
c
i

n

d
e

l
a

f
u
n
c
i

n

C
o
h
e
r
e
n
c
i
a
Coherencia de las muestras del filtro pasabanda

Fig. II.11 Grfica de la coherencia de los pares de muestras de entrada-salida capturada.

De las dos grficas anteriores se concluye que es necesario entonces recorrer las muestras de
salida para alinearlas con las muestras de entrada y lograr que realmente una muestra de salida
le corresponda su muestra de entrada. La forma de alinear las muestras se explica en la seccin
III.4.4. En la figura II.12 se muestra la coherencia obtenida de las muestras previamente
alineadas. En ella se observa que la alineacin de las muestras mejora la coherencia y por lo
tanto, la estimacin.
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Frecuencia
E
s
t
i
m
a
c
i

n

d
e

l
a

f
u
n
c
i

n

c
o
h
e
r
e
n
c
i
a
Coherencia de las muestras del filtro pasabanda alineadas

Fig. II.12 Grfica de la coherencia obtenida con pares de muestras de entrada-salida
previamente alineadas.

35
Una vez alineadas las muestras se calculan las correlaciones con 32 atrasos, las cuales se
muestran en la figura II.13.
0 5 10 15 20 25 30 35
-0.2
0
0.2
0.4
0.6
Rxx
0 5 10 15 20 25 30 35
-0.04
-0.02
0
0.02
0.04
0.06
0.08
Rxy

Fig. II.13 R
xx
y R
xy
con 32 atrasos

Una vez obtenidas las correlaciones, estas se ventanean con una ventana rectangular de 32
muestras y se insertan 2016 ceros a las secuencias R
xx
y R
xy
para obtener una interpolacin de
las mismas mediante la TDF y as suavizar la funcin de transferencia resultante. En la figura
II.14 se muestran las correlaciones con ceros ya insertados.
0 200 400 600 800 1000 1200 1400 1600 1800 2000
-0.2
0
0.2
0.4
0.6
Rxx con ceros insertados
0 200 400 600 800 1000 1200 1400 1600 1800 2000
-0.05
0
0.05
0.1
0.15
Rxy con ceros insertados

Fig. II.14 Correlaciones con ceros insertados para realizar la interpolacin.

36
El autoespectro, S
xx
(f), y el espectro cruzado, S
xy
(f), se calculan mediante la TDF de 1024
puntos complejos de R
xx
y R
xy
, respectivamente. En la seccin III.4.6.2 se explica la obtencin
de la transformada de una secuencia real de 2N muestras mediante la transformada de una
secuencia compleja de N muestras. En la figura II.15 se muestra el espectro de las
correlaciones.

0 100 200 300 400 500 600 700 800 900 1000
0.3
0.4
0.5
0.6
0.7
0.8
/Sxx(f)/
0 100 200 300 400 500 600 700 800 900 1000
0
0.1
0.2
0.3
0.4
/Sxy(f)/

Fig. II.15 Autoespectro y espectro cruzado obtenidos.

Una vez obtenidos el autoespectro y el espectro cruzado se obtiene la funcin de transferencia,
tal como se describe en la seccin III.4.7. En la figura II.16 se muestra la funcin de
transferencia obtenida en forma lineal y en la figura II.17 se muestra el diagrama de Bode de
forma lineal obtenido de la funcin de transferencia del sistema. Ntese que la amplitud es
menor que la identificada, esto es debido al redondeo del valor de los elementos pasivos
utilizados en el clculo.
37
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
Magnitud identificada
0 500 1000 1500 2000 2500 3000 3500 4000
-250
-200
-150
-100
-50
0
Fase identificada
Hz
Hz

Fig. II.16 Diagrama de Bode obtenido del sistema identificado en escala lineal.

0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
Magnitud ideal
0 500 1000 1500 2000 2500 3000 3500 4000
-300
-250
-200
-150
-100
-50
0
Fase ideal

Fig. II.17. Diagrama de Bode ideal en escala lineal del sistema a identificar.

Como segundo ejemplo, se muestra el resultado de las simulaciones utilizando muestras reales
del sistema 3, ver la seccin II.4.3. En la figura II.18 se muestra el diagrama de Bode
identificado en escala lineal, en la figura II.19 se muestra el diagrama de Bode ideal en escala
lineal y en la figura II.20 se presenta la coherencia de las muestras de entrada y salida para
este sistema; se observa que no hay buena coherencia para frecuencias mayores a 1 KHz.
38
0 200 400 600 800 1000 1200 1400 1600
0
0.2
0.4
0.6
0.8
1
Magnitud identificada
0 200 400 600 800 1000 1200 1400 1600
-80
-60
-40
-20
0
Fase identificada

Fig. II.18 Diagrama de Bode identificado en escala lineal


0 200 400 600 800 1000 1200 1400 1600
0
0.2
0.4
0.6
0.8
1
Magnitud ideal
0 200 400 600 800 1000 1200 1400 1600
-200
-150
-100
-50
0
Fase ideal


Fig. II. 19 Diagrama de Bode ideal en escala lineal

39

0 500 1000 1500 2000 2500 3000 3500 4000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Frecuencia
E
s
t
i
m
a
c
i

n

d
e

l
a

f
u
n
c
i

n

C
o
h
e
r
e
n
c
i
a
Coherencia de las muestras de entrada y salida de la red RC

Fig. II.20 Grfica de la funcin coherencia para la red RC identificada

II.6 Observaciones sobre las simulaciones realizadas con muestras reales
Comparando las identificaciones obtenidas con las funciones de transferencia dadas, se
observa que hay una gran semejanza entre ambas dentro de un rango de frecuencias. Este
rango de frecuencia es igual al rango donde la coherencia es mayor que 0.9. Para el primer
sistema presentado, ver la figura II.8, se observa que de 250 Hz a 3500 Hz la coherencia es
casi 1. Tambin se observa que en la respuesta de magnitud identificada de la figura II.16, la
magnitud de la curva en el rango de 0 a 250 Hz es menor que 0.1. Para la fase se observa que
esta empieza en 0 y cerca de 250 tiende a ser -90, mientras que en la ideal la fase empieza en
-90. En el rango de 250 Hz a 1500 Hz se observa que la fase es muy similar a la real, hay que
resaltar que en este rango de frecuencia la respuesta de magnitud es siempre mayor que 0.1

Para el segundo ejemplo, sistema dado por la figura II.5, se observa que la respuesta de
magnitud identificada es menor que la ideal; para la fase se aprecia que tiene una forma
semejante, solo que la escala del defasamiento no es la correcta. Observando la coherencia se
determina que la estimacin es confiable en el rango de aproximadamente 250 Hz a 1 KHz,
fuera de ese rango la coherencia es inferior a 0.9. De la figura II.18 se puede apreciar que
despus de 1 KHz el valor de la respuesta de amplitud es menor que 0.1. Con estos
experimentos se puede concluir que para obtener una buena estimacin de la fase se requiere
40
que la respuesta de magnitud sea mayor que 0.1, es decir, si la respuesta de magnitud es menor
que 0.1, no se podr estimar confiablemente la fase.
II.7 Comentarios
En este captulo se expuso la teora de identificacin no paramtrica de sistemas lineales e
invariantes con el tiempo. Se presentaron experimentos realizados con muestras simuladas y
posteriormente con muestras reales obtenidas experimentalmente. Asimismo, se encontr y se
le dio solucin al problema de la alineacin de las muestras de entrada-salida de sistemas
reales; problema que no se presenta en las simulaciones. En el Captulo III se explica en
detalle la implementacin de este algoritmo en un procesador digital de seales comercial. Se
explica adems la forma de alinear las muestras, paso crucial para obtener una identificacin
correcta. Tambin se presenta en el Captulo III la interfaz de usuario (programa Anfitrin)
desarrollado para realizar la identificacin usando una interfaz grfica de usuario o GUI, del
ingls Graphical User`s Interface.

41
III
CAPTULO

III. 1. Introduccin
En este captulo se presenta el paso culminante de un desarrollo tecnolgico, la
implementacin del algoritmo de estimacin espectral, presentado en el captulo anterior, en
el DSK TMS320C6211. En el Apndice C se describe dicho DSK.

III.2 Diagrama a bloques de la implementacin
En esta etapa, una vez demostrado mediante simulaciones que el anlisis espectral es
de utilidad para la identificacin de SLIT, se contina con la implementacin en tiempo real
usando un procesador digital de seales (PDS). En la figura III.1 se muestra el diagrama a
bloques de la implementacin en un PDS.
PDS
PC
SLIT
Generador
de ruido
blanco
Salida
CODEC
Entrada
CODEC
x(n) y(n)

Fig. III.1. Diagrama a bloques de la implementacin con un PDS.

IMPLEMENTACIN EN
EL DSK TMS320C6211
42
Es posible hacer que el generador de ruido blanco est dentro del PDS, lo cual ahorra
espacio, componentes y simplifica un poco el programa al no tener que controlar un generador
de RBG externo. Bajo este esquema, el PDS lleva a cabo el procesamiento y la PC muestra el
resultado de la identificacin. Al programa implementado en el procesador digital se le conoce
como programa Destino mientras que al programa implementado en la computadora se le
denomina programa Anfitrin. A esta configuracin se le conoce como Anfitrin-Destino y en
la siguiente seccin se describen con ms detalle esta configuracin junto con el programa
Anfitrin y el programa Destino.

III.3 Configuracin Anfitrin-Destino
Esta configuracin permite a dos microprocesadores comunicarse entre si mediante un
canal preestablecido. En este caso, el microprocesador Anfitrin tiene las siguientes funciones
cargar al PDS con el programa Destino, proporcionarle los comandos de control adecuados
para el procesamiento en el Destino y mostrar el resultado del procesamiento. El programa
Destino es el responsable de recibir los comandos del Anfitrin, procesarlos y proporcionarle
al Anfitrin informacin sobre el estado del programa y del procesador Destino. En la figura
III.2 se muestra un diagrama a bloques de la configuracin Anfitrin-Destino.

Procesador
Anfitrin
(PC)
Procesador
Destino
(DSK)
Comunicacin
Bidireccional
(dsk6211.dll)

Fig. III.2 Configuracin Anfitrin-Destino

III.4 Programa destino
Como se mencion anteriormente, el programa Destino se ejecuta en el PDS y realiza
la totalidad de los clculos necesarios. El cdigo de este programa puede realizarse en
lenguaje C estndar o en el ensamblador del PDS. En este caso, el programa Destino se
escribi en lenguaje C estndar utilizando la herramienta de desarrollo Code Composer
Studio, CCS. En el Apndice D se explica el procedimiento para desarrollar una aplicacin en
43
el CCS y se explican los dems archivos que forman el proyecto que contiene el programa
Destino.
III.4.1 Diagrama a bloques y descripcin del programa destino
Este programa se implement siguiendo el mismo esquema utilizado en la simulacin
presentada en el captulo II. En la figura III.3 se muestra el diagrama a bloques de este
programa.
Entrada
Salida
Alineacin
) (
xx
R
) (
xy
R
Interpolacin
) ( f S
xx
) ( f S
xy
) ( f H

Fig. III.3 Diagrama a bloques del programa destino.

En las secciones subsecuentes se describe con ms detalle cada uno de estos bloques.
Asimismo, se presenta la validacin correspondiente de cada rutina implementada.
III.4.2 Generacin del ruido blanco para la identificacin
Para realizar la identificacin no paramtrica de un sistema, primero es necesario
generar la seal de excitacin. En las simulaciones mostradas anteriormente se comprob que
se puede realizar una identificacin confiable usando ruido blanco como seal de excitacin.
El ruido blanco se genera usando el mtodo de Gold and Rader [8] y como primer paso
se obtiene una secuencia pseudoaleatoria con distribucin uniforme entre 0 y 1. Mediante las
ecuaciones (III.4.1), (III.4.2) y (III.4.3) se le da a la secuencia la distribucin Gaussiana

,
_


) (
1
ln 2
n G
R
n
, (III.4.1)
Donde G(n) es la secuencia con distribucin uniforme entre 0 y 1.
( ) ) 1 ( 2 cos ) ( + n G R n y
n
(III.4.2)
( ) ) 1 ( 2 ) 1 ( + + n G sen R n y
n
, (III.4.3)

Debido a que el CODEC (convertidor analgico digital y digital analgico) empleado trabaja
con nmeros enteros se utiliz el factor de escala 0x7FFF (32767 en decimal) para convertir el
ruido de formato de punto flotante a entero corto con signo. Esta secuencia se limit en banda
44
con un filtro FIR pasa bajas de orden 44 y con f = 0.475. En la figura III.4 se muestra la seal
de ruido blanco Gaussiano en el dominio del tiempo a la salida del CODEC.
0 100 200 300 400 500 600 700 800 900 1000
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Ruido blanco generado
A
m
p
l
i
t
u
d
Muestras

Fig. III.4 Ruido blanco tomado a la salida del CODEC.

A continuacin, en la figura III.5 se presenta el histograma de una secuencia generada
con el procedimiento anterior. En ella se observa que la secuencia generada tiende a ser una
distribucin Gaussiana.
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0
10
20
30
40
50
60

Fig. III.5. Histograma de una secuencia generada usando el mtodo de Gold and Rader.

45
En la figura III.6 se muestra el histograma promediado de siete secuencias generadas y se
observa que mientras se promedien ms secuencias el histograma resultante se asemeja ms a
una curva Gaussiana.
-1 -0.8 -0.6 -0.4 -0.2 0 0.2 0.4 0.6 0.8 1
0
10
20
30
40
50
60
70
80
90
100

Fig. III.6. Histograma siete secuencias promediadas.
III.4.3 Excitacin del sistema y captura de muestras
Una vez generada la secuencia de RBG, esta se utiliza para excitar el sistema a
identificar. Debido al funcionamiento del CODEC es necesario enmascarar las muestras con la
constante 0xfffe para que estas puedan salir por el CODEC. En la figura III.7 se muestra la
rutina de enmascaramiento de la secuencia de RBG generada en la seccin anterior. En esta
figura, MUESTRBG es el nmero total de muestras generadas, aPtr es un puntero a la
secuencia RBG generada y normalizada en tipo de dato entero corto de 16 bits con signo
(short), y temporal es un vector que contiene las muestras enmascaradas que sern enviadas al
CODEC para excitar el sistema a identificar.
for (j = 0; j < MUESTRBG; j++)
temporal[ j ] = 0xfffe & ((short) aPtr[ j ]);

Fig. III.7 Rutina de enmascaramiento de la secuencia de RBG para excitar el sistema.

Posteriormente usando la rutina presentada en la figura III.8 se excita el sistema y se captura la
salida del mismo. Con la funcin mcbsp0_write( ), proporcionada por el fabricante, se enva
46
una muestra de la secuencia enmascarada al CODEC y con la funcin mcbsp0_read( ),
tambin proporcionada por el fabricante, se captura una muestra de la salida en tipo de dato
short y se almacena en el vector adc.
for (j = 0;j < MUESTRBG; j++)
{
mcbsp0_write((short) temporal[ j ]);
adc[ j ] = (short) mcbsp0_read();
}

Fig. III.8 Rutina de excitacin y captura de las muestras de entrada-salida.

Una vez capturadas las muestras de salida del sistema, estas se filtran con el mismo filtro FIR
descrito en la seccin anterior.
III.4.4 Alineacin de las muestras de entrada-salida
Como se expuso en el Captulo II, es necesario alinear las muestras para lograr que a una
muestra de salida le corresponda la verdadera muestra de entrada. En la figura III.9 se muestra
la rutina utilizada para alinear las muestras y a continuacin se explica dicha rutina. Primero se
genera una seal de prueba de 300 muestras, un impulso equivalente a 1.33 V en la muestra 0,
las 299 muestras restantes son ceros, posteriormente con esta seal se excita el sistema y se
captura su salida. Se inicia comparando el valor absoluto de la muestra uno de la secuencia
que contiene el valor absoluto de las muestras de salida, en este caso se almacenan en el vector
RetEntra, con la muestra cero. Si la muestra actual (la muestra 1) es mayor que la muestra
anterior (muestra 0), se almacena en la variable indice el ndice correspondiente a la muestra
mayor, de lo contrario solo se incrementa el contador y la muestra 2 se convierte en la muestra
actual y la muestra 1 en la anterior. As se contina hasta la muestra 300.
Posteriormente se genera el RBG para la identificacin de 2248 muestras, se vuelve a excitar
el sistema y se captura su salida. La seal de salida se recorre el nmero de muestras indicadas
por la variable indice para que coincida con las primeras 2048 muestras de RBG. De esta
forma se realiza la alineacin de las muestras de salida con las de entrada.
47
//En RetEntra genera una funcin impulso de 300 muestras
RetEntra[0]=30000;
for(j=1; j<300; j++)
RetEntra[j]=(short) 0;
//Excita el sistema
Retardo(RetEntra);
// En RetEntra guarda /h(n)/
for(j=0; j<300; j++)
RetEntra[j]=(short) abs(RetSale[j]);
//Busca el mximo de /h(n)/ para determinar el retardo
max = RetEntra[0];
for(j=1; j<300; j++)
{
if (RetEntra[j] > max)
{
max=RetEntra[j];
indice = j;
maximo=RetSale[j];
}
}

Fig. III.9 Rutina de alineacin de las muestras capturadas.
III.4.5.1 Autocorrelacin y correlacin cruzada
La expresin numrica implementada para la correlacin [1] es:
N M m m n x n x
m N
m R
m N
n
xx
<

,..., 2 , 1 , 0 ) ( ) (
1
) (
1
0
^
(III.4.4)
donde N es el nmero de muestras y M es el nmero de atrasos o adelantos permitidos.

Para la correlacin cruzada [1] se implement la ecuacin:
N M m m n y n x
m N
m R
m N
n
xy
<

,..., 2 , 1 , 0 ) ( ) (
1
) (
1
0
^
(III.4.5)

Box y Jenkins [23] recomiendan 50 N y
4
N
M < para obtener buenas estimaciones de
R
xx
(m).
La autocorrelacin se calcula usando la seal de RBG que entrega el CODEC, es decir se
utiliza una secuencia de datos en formato entero corto con signo. Para la correlacin cruzada
se usa la secuencia de datos ledos por el CODEC.

48
float FnRxx(float *RxxPtr)
{
int m,i;
int mmax = NCORR;
float sumax;
for (m = 0; m < mmax; m++)
{
sumax = 0.0;
for(i = 0; i < NUMDATA-m-1; i++)
{
TempCorre[ i ] = (float)(RxxPtr[ i ]*RxxPtr[i+m]);
sumax = sumax +TempCorre[ i ];
}
rxx[m] = (float)(sumax/(NUMDATA-m));
}
return rxx[mmax];
}

Fig. III.10 Rutina para calcular la autocorrelacin
III.4.5.2 Validacin de la correlacin implementada en el PDS.
Una vez implementada la rutina de la correlacin se procede a realizar la validacin de la
misma. Para este efecto se us una seal senoidal de amplitud unitaria de 1000 muestras y se
obtuvo su autocorrelacin con m = 100 atrasos. En la figura III.11 se muestra la correlacin de
un RBG producido por un generador externo y calculada en el PDS mediante la ecuacin
(III.4.4). Se puede observar que la correlacin tiende a ser una seal sinc.
0 10 20 30 40 50 60 70 80 90 100
-0.4
-0.3
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6

Fig. III.11 Correlacin de un RBG real obtenida en el PDS.

49
En la figura III.12 se muestra la autocorrelacin del RBG generado en el PDS. Debido a que la
seal generada es un RBG que proviene de un mtodo numrico, se aproxima mucho a la
ideal, por lo que su autocorrelacin es un impulso.
0 10 20 30 40 50 60 70 80 90 100
-0.2
0
0.2
0.4
0.6
0.8
1
1.2
1.4

Fig. III.12 Autocorrelacin del RBG generado y procesado en el DSP.

Las figuras III.11 y III.12 fueron procesadas en el PDS y graficadas en Matlab. Con
estos ejemplos se valida la rutina de la correlacin calculada en el procesador.
III.4.6.1 Autoespectro y espectro cruzado
El siguiente paso en el algoritmo de estimacin espectral consiste en obtener el
espectro de la autocorrelacin y de la correlacin cruzada. Debido a que el algoritmo de la
transformada de Fourier requiere de secuencias complejas y hasta este punto en los algoritmos
implementados solo se cuenta con datos reales, se requiere entonces convertir los datos a
complejos. En la siguiente seccin se explica como generar secuencias complejas a partir de
secuencias reales.
III.4.6.2 Transformada de Fourier de una secuencia de 2N muestras reales con N muestras
complejas.
Considerando que la salida de convertidor analgico digital es una secuencia discreta
x(n) formada por 2N muestras reales, se divide la secuencia x(n) en dos secuencias de N
muestras, tal como se muestra en la ecuacin III.4.6 .
50
1 ,..., 2 , 1 , 0
) 1 2 ( ) (
) 2 ( ) (

N n
n x n g
n x n h
(III.4.6)
La funcin h(n) contiene las muestras pares de x(n) y g(n) contiene las muestras impares.
Entonces la ecuacin I.5.5 puede escribirse como:

1 2
0
2
2
) ( ) (
N
n
kn
N
j
e n x k X



+ +
1
0
1 2
2
2
1
0
2
2
2
1 2 2
N
n
) n ( k
N
j
N
n
) n ( k
N
j
e ) n ( x e ) n ( x ) k ( X

+ + +
1
0
2
1
0
2
1 2 2
N
n
kn
N
j n
N
j
N
n
kn
N
j
e ) n ( x e e ) n ( x ) k ( X (III.4.7)
) k ( G e ) k ( H e ) n ( g e ) n ( h ) k ( X
k
N
j
N
n
kn
N
j
N
n
kn
N
j

+ +

1
0
2
1
0
2

Para calcular eficientemente H(k) y G(k) se usa la tcnica descrita anteriormente. Ahora, si
) ( ) ( ) ( n jg n h n y +
entonces,
) ( ) ( ) ( k jI k R k Y +

Se sabe que
) ( ) ( ) ( ) ( ) ( k H k H k jI k R k H
i p
+ +
) ( ) ( k R k H
p
y ) ( ) ( k jI k H
i

,
_

1
0
2
cos ) ( ) (
N
n
r e
N
kn
n h k R



Debido a que la implementacin de la TDF requiere manejar nmeros complejos y como este
tipo de dato no se encuentra entre los tipos de datos fundamentales, se crea una estructura tipo
COMPLEX, la cual agrupa las componentes real e imaginaria que forman el nmero complejo
en forma rectangular. En la figura III.13 se muestra la estructura que crea el tipo de datos
COMPLEX.
51
typedef struct{
short real;
short imag;
}COMPLEX

Fig. III.13. Estructura que crea el tipo de datos COMPLEX para la rutina de la TDF.

Esta estructura esta formada por dos vectores tipo short (entero corto de 16 bits con signo, 15
de magnitud y uno de signo) relacionados por el ndice, tal como se muestra en la figura III.14.
k real imag
0
1
2
Secuencia de nmeros complejos
1+j2
3-j7
-5
.
.
.
+1 +2
+3 -7
-5 0
.
.
.
.
.
.
Estructura tipo COMPLEX

Fig. III.14. Acomodo de los nmeros complejos en la estructura tipo COMPLEX
implementada.
III.4.7 Obtencin de la funcin de transferencia
Una vez obtenida la TDF, es necesario convertir este el resultado de forma rectangular a polar
para realizar las dems operaciones. Esto se hace mediante las la ecuaciones:
2 2
) Im( ) Re( ) ( k k k X + (III.4.8)
) Re(
) Im(
arctg ) (
k
k
k (III.4.9)
La ec. (III.4.8) se utiliza para obtener ) (k S
xx
y ) (k S
xy
y con la ec. (III.4.9) se obtiene
) (k
xx
y ) (k
xy
. De esta forma, se implementa la ec. (II.2.1) en dos partes, primero se
obtiene la respuesta de magnitud, ) (k H y posteriormente la respuesta de fase, ) (k , tal como
se muestra en las ecs. (III.4.10) y (III.4.11).
52
) (
) (
) (
k S
k S
k H
xx
xy
(III.4.10)
) ( ) ( k k
xy
(III.4.11)
Una vez que han sido calculados estos vectores, se envan al procesador anfitrin para que
sean desplegados. La rutina para el pase de informacin entre los dos procesadores se explica
en el Apndice E. Como se expresa en esta seccin, el programa Destino es el encargado de
realizar los clculos para obtener la identificacin. En la siguiente seccin se explica el
funcionamiento y desarrollo del programa Anfitrin o interfaz grfica.

III.5 Programa Anfitrin
La interfaz grfica es la pantalla con la que el usuario interacta debe ser simple y fcil de
usar. Este programa fue desarrollado en Visual C++ 6.0 usando el Microsoft Foundation
Classes AppWizard (MFC AppWizard) para seleccionar que el proyecto creado fuera del tipo
basado en dilogo (Dialog Based). Se eligi Visual C++ 6.0 como plataforma para desarrollar
el programa Anfitrin debido a que es compatible con la librera de enlace dinmica (dll)
dsk6211.dll proporcionada por el fabricante. Dicha librera dinmica se muestra en la figura
III.2 y es la encargada de comunicar ambos procesadores. En el Apndice E se expone la
comunicacin entre el procesador Anfitrin y el procesador Destino.
III.5.1 Diagrama de flujo del programa Anfitrin
Lo primero que realiza el programa Anfitrin establecer la comunicacin entre los
procesadores Anfitrin y Destino. Posteriormente baja el programa ejecutable por el
procesador Destino (con extensin .out) y genera una interrupcin para iniciar la ejecucin del
mismo. Este proceso se explica con ms detalle en el Apndice F. A continuacin enva la
semilla para la generacin del RBG, inicia el algoritmo, mediante el uso de palabras de
control, solicita y recibe la magnitud y fase identificadas, as como las muestras de entrada y
salida alineadas que fueron utilizadas para realizar la identificacin. Estas muestras pueden
guardarse en un archivo reconocible por Matlab para su anlisis posterior. En el siguiente
punto el usuario puede decidir si desea realizar otra identificacin o terminar el programa. En
la figura III.14 se muestra el diagrama de flujo de este programa.
53
Continuar?
Si
Establecer comunicacin
entre Anfitrin y Destino
I
Bajar el programa
xxx.out al Destino
Iniciar la ejecucin del
programa Destino
Enviar la semilla
al procesador Destino
Iniciar la estimacin
espectral
Solicitar y recibir la
respuesta de magnitud
Solicitar y recibir la
respuesta de fase
Solicitar y recibir las
muestras de entrada
Solicitar y recibir las
muestras de salida
F
No
Continuar?

Fig. III. 14 Diagrama de flujo del programa Anfitrin.

54
III.5.2 Cartula del programa Anfitrin
La funcin de esta cartula es mostrar el resultado del procesamiento y controlar al programa
Destino de manera sencilla. La cartula de la interfaz de usuario se divide en cinco partes:
1. Grficas de magnitud y fase
2. Botn Identificar
3. Led de estado de la comunicacin
4. Cajas de texto para nombrar archivos y botn Guardar
5. Botones Ayuda y Salir
En la figura III.15 se muestra la cartula del programa Anfitrin creada para la aplicacin de
Identificacin de sistemas usando anlisis espectral (IsisSPA.exe). Esta aplicacin se inicia
al ejecutar el programa IsisSPA.exe, antes de desplegar dicha cartula el programa Anfitrin
ejecuta los primeros tres pasos indicados en el diagrama de flujo mostrado en la Fig. III.14. A
continuacin se describen las partes principales de la cartula.

Fig. III.15 Cartula del programa Anfitrin
55
III.5.2.1 Descripcin de la cartula del programa Anfitrin
Para desplegar las grficas de magnitud y fase se utiliz un control grfico ActiveX
proporcionado gratuitamente por la compaa VixComponents. Este control se incluy en el
proyecto que desarrollado en Visual C++ 6.0. Este control grfico permite graficar datos de
forma lineal o logartmica; en este caso la graficacin se realiz de manera lineal debido a que
si se trabaja de forma logartmica solo se puede graficar en dcadas completas y en este caso
se despliegan grficas en un rango de 0 a 2KHz, con lo cual se desperdicia gran parte de la
pantalla.

III.5.2.2 Botn Identificar
Al presionar este botn se inicia la ejecucin del algoritmo de estimacin espectral en el
procesador digital. Se inicia el algoritmo generando la semilla para el generador de ruido
blanco en el procesador Anfitrin y posteriormente esta se enva al procesador Destino.
Posteriormente se enva una palabra de control indicando el inicio del algoritmo de estimacin
espectral (generacin del ruido, excitacin del sistema y captura de su salida, alineacin de las
muetras, etc.). El programa Anfitrin queda entonces en espera de una palabra de control que
le indica que el procesador Destino ha terminado el clculo y que esta listo para enviar el
resultado y las muestras de entrada y salida alineadas.

III.5.3 Led de estado de la comunicacin
Este led es otro control ActiveX creado por la compaa VixComponents e indica el estado de
la comunicacin entre ambos procesadores. Cuando el led se encuentra de color verde, quiere
decir que el procesador Destino esta listo para iniciar una estimacin, es decir que se encuentra
en espera que el procesador Anfitrin le indique el inicio del programa. Si el led se encuentra
de color verde, se puede presionar el botn Identificar para iniciar el procesamiento. Una vez
realizada esta accin, el led cambia a color rojo, indicando que el programa Anfitrin se
encuentra en espera de la palabra de control que le indica que el programa Destino ha
terminado los clculos y que ya tiene los resultados y que las muestras de entrada y salida
alineadas ya se encuentran en el procesador Anfitrin.
56
III.5.4 Guardado de las muestras y Botn Ayuda
Cada vez que se realiza una identificacin, el programa Anfitrin guarda cuatro archivos:
magn.dat, fase.dat, entrada.dat y salida.dat; los dos primeros contienen 512 muestras de la
respuesta de magnitud y fase, respectivamente, mientras que los dos ltimos contienen 2048
muestras de la entrada y la salida alineadas y en un formato que reconoce Matlab para su
anlisis posterior. El programa automticamente crea los archivos antes mencionados y los
sobrescribe con cada identificacin. Por lo tanto, si se desea conservar las muestras se
recomienda copiarlas mediante el explorador de Windows y colocarlas en alguna otra carpeta
para asegurar que no se sobrescriban.
El botn de ayuda despliega una breve explicacin del uso de la interfaz grfica.

III.6 Resultados
En esta seccin se presentan los resultados de los experimentos realizados con la
interfaz desarrollada y expuesta anteriormente. Para este fin se construyeron algunas plantas
ms basadas en el amplificador operacional TL082.

III.6.1 Ejemplo 1, filtro pasa banda activo
El primer experimento se realiz con el sistema de la figura II.8 (ver la seccin II.5). Este
sistema es un filtro pasa banda con frecuencia central de 460 Hz, una banda de paso de 200 Hz
con atenuacin de 4 dB. En la figura III.16 se muestra el resultado en la cartula del
programa Anfitrin. En la Fig. III.17 se muestra la coherencia de las muestras de entrada y
salida en las que se bas esta identificacin. Aqu se observa que la coherencia es muy buena
en el rango de 250 a 3400 Hz, aunque solo se muestra de 0 a 2000 Hz; por lo tanto esta
estimacin es confiable. Se observa tambin que la coherencia baja en las bandas

57

Fig. III.16 Identificacin de un filtro pasa banda.

Coherencia de las muestras de entrada y salida del filtro pasa banda
Frecuencia
E
s
t
i
m
a
c
i

n

d
e

l
a

f
u
n
c
i

n

C
o
h
e
r
e
n
c
i
a
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

Fig. III.17 Coherencia de las muestras de entrada y salida del filtro pasa banda.

III.6.2 Ejemplo 2, filtro pasa bajas pasivo
Como segundo sistema, se utiliz la red RC de la figura II.5, ver la seccin II.5. En la figura
III.18 se muestra la identificacin obtenida.
58

Fig. III.18 Identificacin obtenida de la red RC.

En la figura III.19 se muestra la coherencia para la identificacin del segundo sistema . En la
grfica se observa que la estimacin es aceptable de 200Hz a 600Hz. Para frecuencias
mayores a 600Hz la coherencia empieza a disminuir y, por lo tanto la estimacin pierde
confiabilidad.
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
Frecuencia
E
s
t
i
m
a
c
i

n

d
e

l
a

f
u
n
c
i

n

C
o
h
e
r
e
n
c
i
a
Coherencia de las muestras de entrada y salida de la red RC

Fig. III.19 Coherencia de las muestras de entrada-salida de la red RC.

59
III.6.3 Ejemplo 3, filtro pasa altas activo
Como cuarto sistema se presenta un filtro pasa altas con frecuencia de corte de 350 Hz de 40
dB/dcada, el cual se muestra en la figura III.20.

20K
10K
33nF 33nF
20K
v
i
v
o

Fig. III.20. Filtro pasa altas fc = 350 Hz

En la figura III.21 se muestra el resultado del experimento. En la respuesta de magnitud, se
observa que la frecuencia de corte se encuentra muy cercana a 400 Hz. La respuesta de
magnitud presenta pocas oscilaciones y la fase se presenta de forma doblada, debido a que
para su clculo se utiliza la funcin atan2, la cual regresa el resultado entre - y . En la figura
III.22 se muestra la coherencia de las muestras de entrada y salida del filtro pasa altas. Aqu se
observa que la estimacin es buena entre 300 y 3500Hz. Fuera de ese rango la coherencia es
baja.
60

Fig. III.21. Identificacin obtenida del filtro pasa altas.


Frecuencia
E
s
t
i
m
a
c
i

n

d
e

l
a

f
u
n
c
i

n

C
o
h
e
r
e
n
c
i
a
Coherencia de las muestras de entrada y salida del filtro pasa altas
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1

Fig. III.22 Coherencia de la entrada y la salida del filtro pasa altas.

61
III.7 Comentarios
En la identificacin no paramtrica expuesta en este captulo se ve que la coherencia es un
reflejo de la confiabilidad de la estimacin. Se observa en todas las grficas de coherencia que
la coherencia es baja en las bandas, tanto en la superior como en la inferior. Se puede concluir
que la estimacin no es confiable en los extremos. Tambin se observa que la fase no se
identifica de manera satisfactoria. Respecto al tiempo de procesamiento, este no es muy
bueno, un proceso de identificacin requiere de 10 segundos, lo cual no es bueno. Esto es
debido a que la comunicacin entre ambos dispositivos es muy lenta, aunado a que se trabaja
con un nmero muy grande de muestras. Tambin es deseable tener un CODEC con tasa de
muestreo variable y con un mayor ancho de banda para obtener mejores identificaciones y a
varias tasas de muestreo.
Para mejorar en cierto modo las deficiencias de este mtodo, en el siguiente captulo se
presenta una identificacin utilizando un modelo ARMA basado en una parte pequea de las
muestras capturadas con esta aplicacin.

62
IV
CAPTULO

IV. 1. Introduccin
En este captulo se presenta una alternativa para obtener un modelo discreto del
sistema identificado a partir de los pares de muestras de entrada y salida obtenidas con la
aplicacin expuesta en el captulo anterior.
El modelo autoregresivo con promedio mvil (ARMA, Autoregressive Moving
Average) para un sistema dinmico discreto o continuo esta dado por la siguiente ecuacin
diferencia:
( ) ( )


+
p
k
r
k
k k
k n u b k n x a n x
1 0
) ( (IV.1.1)
donde a
k
y b
k
son vectores con un total de p + r + 1 parmetros desconocidos, x(n) es el vector
de N muestras de la salida y u(n) es el vector de entrada de N muestras; el primer y segundo
trmino en el lado derecho representan la parte autoregresiva (AR) y de promedio mvil (MA),
respectivamente, del modelo ARMA.
Para cualquier sistema contnuo muestreado, la frecuencia de muestreo deber
satisfacer el Teorema de Shannon, o sea B f
m
2 , donde B es el ancho de banda del sistema y
el perodo de muestreo T est dado por
m
f
T
1
. El modelo obtenido solo es vlido para dicha
frecuencia de muestreo; en este caso, las muestras de entrada y salida fueron obtenidos a una
m
f de 8 kHz.
Cuando las muestras de la salida tienen ruido de observacin, el modelo general, el
cual es un modelo estocstico, se conoce como ARMAX (la X proviene del trmino exgeno o
IDENTIFICACIN
PARAMTRICA USANDO
UN MODELO ARMA
63
seal de control v(n)), el cual se muestra en la figura IV.1. La secuencia de ruido v(n) puede
modelarse como un proceso MA de un ruido blanco, o sea:


r
k
k
n c n v
0
) ( ) (
donde ) (n es una secuencia de ruido blanco con media cero y variancia igual a
2
.
Modelo
ARMA

+
+
u(n)
x(n)
v(n)
y(n)

Fig. IV.1 Modelo ARMAX para un sistema dinmico.

Cuando se tiene ruido de observacin es necesario conocer los parmetros estadsticos
(media, variancia y autocorrelacin) del proceso aleatorio v(n); en este caso, la estimacin de
los parmetros se obtiene minimizando la variancia del error de cada parmetro sujeto a la
condicin de que el estimador sea no polarizado (ver ref. [9]). En este trabajo se considera que
las mediciones y(n) no tienen ruido de observacin, es decir v(n) = 0, o sea que se tiene un
modelo ARMA cuyos parmetros a determinar son a
k
y b
k
, los cuales se obtienen mediante un
procedimiento analtico.

IV.2 Determinacin de los parmetros a
k
y b
k

La ec. (IV.1.1) puede desarrollarse como:
r p
r n u b n u b
n u b n u b p n x a n x a n x a n x
r
p

+ + +
+ + +
); ( ) 2 (
) 1 ( ) ( ) ( ) 2 ( ) 1 ( ) (
2
1 0 2 1
K
K
, (IV.2.2)
utilizando el operador de atraso (equivalente al operador z
-1
; q
-1
es ms comn en la literatura
actual de control adaptable) ), 1 ( ) (
1

n x n x q la ec. (IV.2.2) puede expresarse de forma


compacta como:
( ) ( ) ( ) ( ) n u q B n x q A
1 1
(IV.2.3)
donde:
( )
p
p
q a q a q a q A

+ + + + K
2
2
1
1
1
1
64
( )
r
r
q b q b q b b q B

+ + + K
2
2
1
1 0
1

En forma de producto vectorial, la ec. (IV.2.2) se representa como:
( ) ( ) ( ) ( ) ( ) ( ) ( ) [ ]
[ ]
T
r p
b b b a a a
r n u n u n u p n x n x n x n x


K K
K K
1 0 2 1
1 2 1
(IV.2.4)
o tambin:
) ( ) ( n n x (IV.2.5)
donde:
- es el vector de (p + r + 1) parmetros desconocidos
(n) es el vector de entrada-salida o de regresin,
conociendo N muestras (N de la entrada y N de la salida) obtenidas experimentalmente o sea
[ ] ) 1 ( ) 1 ( ) 0 ( ) 1 ( ) 1 ( ) 0 ( N x n u x N u u u v
m
K K , si N = p + r + 1, es posible obtener N
ecuaciones simultneas y resolver las p + r + 1 incgnitas. De la ec. (IV.2.4) para
r p n p + 2 se obtiene la ecuacin matricial dada por las ecuaciones (IV.2.6) las cuales
pueden resolverse por mtodos convencionales.
1
1
1
1
]
1

+
+

1
1
1
1
1
1
1
1
1
1
1
]
1

1
1
1
1
]
1

+
+ +

) 2 (
) 1 (
) (
) ( ) 1 ( ) ( ) 0 ( ) 1 2 (
) 1 ( ) ( ) 1 ( ) 1 ( ) 1 ( ) (
) ( ) 1 ( ) ( ) 0 ( ) 2 ( ) 1 (
1
0
2
1
r p x
p x
p x
b
b
b
a
a
a
r p u p u p u x r p x
r p u p u p u x p x p x
r p u p u p u x p x p x
r
p
M
M
M
K K
M
K K
K K



(IV.2.6)
Si 1 + + > r p N , el cual es el caso ms comn, se tiene un sistema de ecuaciones
sobredeterminado y para cada valor de existir un vector de error residual dado por la
siguiente ecuacin:
( ) ( ) 1 ; ) ( , N n p n n x n e (IV.2.7)
donde x(n) es el vector de N muestras de la salida, ver la figura IV.2 para el caso en que p = 4.
65
. . .
x(n)
n
0 1 2 3 4 N-1
( ) 4 x(4) e ) 4 (

Fig. IV.2 Muestras de la salida y el error para p = 4.

En la ec. (IV.2.4) ntese que x(n) es funcin de las p muestras anteriores a n, as la primer
componente del vector de errores residuales empieza para n = p, dado que la secuencia de
mediciones es causal (x(n) = 0 para n < 0). De la ec. (IV.2.7) se tiene:
( ) ( )
( ) ( )
( ) ( )
+ + +

1 ) 1 ( , 1
1 ) 1 ( , 1
) ( ,
N N x N e
p p x p e
p p x p e
M
(IV.2.8)
o en forma matricial:
( ) ) (n x e (IV.2.9)
donde:
( ) ( ) ( ) ( ) [ ]
( )
T
x p N
N e p e p e e
1
, 1 , , , 1 , ,

+ K
( ) ( ) ( ) [ ]
( )( )
T
r p p N
N p p
1
1 , , 1 ,
+ +
+ K
(IV.2.10)
[ ]
T
N x p x p x n x ) 1 ( , ), 1 ( ), ( ) ( + K

El vector de parmetros desconocidos se obtiene al minimizar cierto ndice de
comportamientos J(), escogiendo dicho ndice como la suma de los cuadrados de los errores,
o sea la norma Euclidiana cuadrtica, se tiene:
66
( ) ( ) ( )


1
2
, ) (
N
p k
T
e e p e J , (IV.2.11)
de la ec.(IV.2.9),
[ ] [ ] ) ( ) ( ) ( n x n x J
T

( ) , +
T T T
n n
T T
n
T
n
x x x x J
ntese que el segundo y el tercer trmino en el lado derecho de J() son escalares (uno
transpuesto de otro) dadas las dimensiones de , y x
n
en ecuaciones (IV.2.10), as:
( ) +
T T T
n n
T
n
x x x J 2 ,
derivando con respecto a y recordando que:
( )
T
A
d
A d

y
( )
Qx
d
Qx d
T
2

, donde es un
vector y la matriz
T
Q es simtrica, entonces:
( )
0 2 2 +

T
n
T
x
d
dJ
(IV.2.12)
de donde se obtiene:
( ) .
1
^
n
T T
x

(IV.2.13)
La matriz ( )
T T

1
tiene dimensiones (p + r + 1) x(N p) y se le conoce como la
pseudoinversa Monroe-Penrose de .
La ecuacin (IV.2.13) es vlida cuando la estructura del modelo es lineal en los
parmetros desconocidos y cuando la seal de excitacin es persistente (que excite al sistema
en todo su ancho de banda, lo cual se cumple si el espectro de la seal de excitacin es
diferente a cero dentro de ese ancho de banda, ver la ref. [10]; un ejemplo de tal seal es una
secuencia binaria pseudoaleatoria o un ruido blanco Gaussiano, y de esta forma la matriz

T
ser no singular.

IV.3 Propiedades del estimador
Suponiendo que
a
es el vector de salida, x(n) puede expresarse como:
+
n
x (IV.3.1)
donde es un vector de errores residuales aleatorio. Sustituyendo la ec. (IV.3.1) en la ec.
(IV.2.13), se obtiene:
67
( ) ( ) ( ) ( ) + +

T
a
T T
a
T T
1 1
^

de donde:
( ) +

T T
a
1
^
, (IV.3.2)
tomando el valor esperado en ambos miembros de la ec. (IV.3.2), se obtiene:
( ) [ ] +

,
_


T T
a
E E
1
^
. (IV.3.3)
Si la matriz es determinstica, es decir, que no contiene ruido de observacin, entonces:
( ) +
,
_


T T
a
E
1
^
, (IV.3.4)
ahora si tiene ruido de observacin, es decir, que sea estocstica, y estadsticamente
independiente de , se tiene que:
( ) [ ] ( ) + +

,
_


E E E
T T
a
1
^
. (IV.3.5)
Ntese que en ambos casos el estimador es no polarizado si E() = 0. Para un proceso
estocstico ergdico el operador E[ ] puede reemplazarse por la sumatoria ( )

,
1
N
de modo
que si N es muy grande, el estimador tiende a ser no polarizado. Si no se cumplen las
condiciones mencionadas, en general el estimador paramtrico es polarizado.

IV.4 Seleccin del orden del modelo
En el anlisis descrito en la seccin anterior se supusieron conocidos los valores de p y
r. Tomando el trmino autoregresivo es posible estimar p en base a alguna funcin E(p), es
decir, la potencia del error de prediccin en el orden p. E(p) se obtiene mediante la siguiente
ecuacin recursiva:
( ) ( ) [ ]
2
1 1 ) ( p A p E p E , (IV.4.1)
donde A(p) es el p-simo coeficiente autoregresivo y la recursin inicia con el clculo de:

( )

,
_

1
0
2
) (
1
0
N
n
n x
N
E (IV.4.2)
68
Estos algoritmos de prediccin del orden del modelo AR son: el Error de Prediccin Final
(Final Error Prediction, FPE), el Criterio de Informacin de Akaike (AIC), el Criterio de
Transferencia Autoregresiva (CAT) y el Criterio del Parmetro Dbil (WPC), los cuales se
definen de la siguiente manera:
( ) ( )
1
]
1


+ +

1
1
p N
p N
p E p FPE , (IV.4.3)
( ) ( ) [ ]
( )
N
p
p E p AIC
1 2
ln
+
+ , (IV.4.4)
( )
( )

p
i
p E i NE
i N
N
p CAT
1
) (
1 1
, (IV.4.5)
(Nota: al aplicar los criterios anteriores, la media debe restarse de los datos),
( )
( ) [ ]
( )
;
2 1
0
2

p
j
j
v
p E
p WPC donde
1
1
+

j N
v
j
o
( ) 2 +

N N
j N
v
j
. (IV.4.6)
Los primeros dos criterios son debidos a Akaike [11 y 12], el tercero a Parzen [13] y el cuarto
a Broersen [14]. El orden apropiado es aquel que minimiza el criterio elegido al proponer
diversos valores de p. El valor r se escoge tal que p r (si los coeficientes AR estn
disponibles, para cada combinacin de p y r se obtiene ( ) ( )

,
2
p e p E de la ec. (IV.2.9) y
se minimiza el criterio elegido, es este caso p representa el nmero total p + r). Para la
aplicacin desarrollada se utiliza el algoritmo FPE modificado, dado por la ec. (IV.4.7)
( ) ( )
1
]
1


+ + +

1
1
r p N
r p N
p E p FPE , (IV.4.7)

IV.5 Resultados obtenidos
En esta seccin se presenta la identificacin paramtrica de los sistemas utilizados en el
captulo anterior usando el modelo ARMA y su comparacin con el algoritmo de estimacin
espectral obtenido en el procesador digital de seales graficado en Matlab usando las mismas
muestras que en el captulo anterior. La comparacin del modelo ARMA con el algoritmo de
estimacin espectral se realiza variando el nmero de muestras para la identificacin con el
modelo ARMA y para la estimacin espectral se utiliza lo obtenido en el captulo anterior (ver
69
la seccin III.6). Se presenta adems la funcin de transferencia discreta obtenida con el
programa del modelo ARMA, el cual se puede consultar en el Apndice F.
Se hace la observacin de que las funciones de transferencia obtenidas con este mtodo
estn escaladas con la amplitud mxima de tal forma que la amplitud mxima en la banda de
paso sea unitaria. Por lo tanto, se requerir de otro factor de escala para igualar la
identificacin paramtrica con la no paramtrica.
IV.5.1 Ejemplo 1, filtro pasa banda activo
El sistema 1 se muestra en la figura II.8 y para la identificacin paramtrica con el modelo
ARMA se utilizaron: 2048, 200, 100 y 25 muestras. En la figura IV.3 se muestra la
identificacin no paramtrica (obtenida en el DSK) y la paramtrica. La curva segmentada es
la obtenida con la aplicacin de anlisis espectral expuesta en el Captulo anterior (donde A.
E. DSK es el Anlisis Espectral obtenido con el DSK).
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
G
r
a
d
o
s
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
(Hz)
A
m
p
Sistema identificado (escala lineal)
Modelo ARMA
A. E. DSK

Fig. IV.3 Identificaciones obtenidas, modelo ARMA usando 2048 muestras.

Se observa que en ambos casos, la respuesta de magnitud para 2048 muestras es muy parecida.
En la fase se observa que en el rango de 0 a 500 Hz las dos identificaciones son muy parecidas
(ver la real en la figura II.17). La funcin de transferencia discreta identificada y desplegada
con el comando PRINTSYS de Matlab es la siguiente:
0.005803 z^6 + 0.074577 z^5 + 0.18983 z^4 - 0.14158 z^3 - 0.40776 z^2 + 0.055789 z + 0.21491
----------------------------------------------------------------------------------------------------------------------------------------
1.6487 z^6 + 0.29254 z^5 - 4.5954 z^4 + 1.1899 z^3 + 2.843 z^2 - 0.60033 z - 0.71409
H(z) =

70
Como segundo experimento se redujo el nmero de muestras a 200 y el resultado se muestra
en la figura IV.4.

0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
-
400
-
300
-
200
-
100
0
(Hz)
A
m
p
Sistema identificado (escala lineal)
G
r
a
d
o
s
Modelo ARMA
A. E. DSK

Fig. IV.4 Identificacin obtenida con el modelo ARMA usando 200 muestras

La identificacin paramtrica mostrada en la figura anterior es muy parecida a la obtenida con
2048 muestras, y por lo tanto, similar a la no paramtrica. La frecuencia central obtenida con
200 muestras coincide con la obtenida con 2048 muestras. La fase obtenida con el modelo
ARMA es similar en su forma a la obtenida con anlisis espectral de 400 Hz en adelante,
observndose una tendencia a disminuir. La funcin de trasferencia obtenida es la siguiente:

0.0048291 z^6 + 0.075444 z^5 + 0.18307 z^4 - 0.15621 z^3 - 0.40159 z^2 + 0.066394 z + 0.21621
--------------------------------------------------------------------------------------------------------------------------------
1.6694 z^6 + 0.34585 z^5 - 4.5475 z^4 + 0.98352 z^3 + 2.9093 z^2 - 0.52646 z - 0.7358
H(z) =


En la figura IV.5 se muestra la identificacin obtenida con solo 100 muestras. Se observa que
coincide la frecuencia central en ambas curvas y que la fase es muy parecida para frecuencias
mayores a 400 Hz y con tendencia a disminuir.

71
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
(Hz)
A
m
p
Sistema identificado (escala lineal)
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
(Hz)
G
r
a
d
o
s
Modelo ARMA
A. E. DSK

Fig. IV.5 Identificacin obtenida con el modelo ARMA usando 100 muestras

A continuacin se muestra la funcin de transferencia obtenida usando el modelo ARMA:
0.0041121 z^6 + 0.064775 z^5 + 0.18866 z^4 - 0.13212 z^3 - 0.40168 z^2 + 0.054217 z + 0.21403
----------------------------------------------------------------------------------------------------------------------------------
1.6291 z^6 + 0.29588 z^5 - 4.5698 z^4 + 1.2658 z^3 + 2.808 z^2 - 0.71176 z - 0.63238
H(z) =

En la figura IV.6 se muestra la identificacin obtenida con solo 25 muestras. Se observa que
no se obtiene una buena identificacin.
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
Modelo ARMA
A. E. DSK
(Hz)
A
m
p
Sistema identificado (escala lineal)
(Hz)
G
r
a
d
o
s

Fig. IV.6 Sistema identificado con el modelo ARMA usando 25 muestras.

72
El orden mximo de las funciones de transferencia obtenidas con 2048, 200 y 100 muestras
fue de 6, mientras que para 25 muestras se obtuvo un orden 5. Para este ejemplo se concluye
que con un mnimo de 100 muestras se obtiene una buena identificacin.
IV.5.2 Ejemplo 2, filtro pasa bajas pasivo
El sistema 2 se muestra en la figura II.5 y su diagrama de Bode lineal se muestra en la figura
II.19. Se repite el mismo procedimiento que en la seccin anterior y la identificacin obtenida
con 2048 muestras se muestra en la figura IV.7. La respuesta de magnitud es muy similar en
ambos casos, recurdese que se requiere un escalamiento posterior. Respecto a la fase est
desplazada 180 grados respecto a la fase obtenida con estimacin espectral y la original.

0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
Modelo ARMA
A. E. DSK
(Hz)
A
m
p
Sistema identificado (escala lineal)
(Hz)
G
r
a
d
o
s

Fig. IV.7Sistema identificado con el modelo ARMA usando 2048 muestras.

La funcin de transferencia identificada es:

0.0051614 z^2 + 0.0010483 z + 0.0056583
--------------------------------------------------------------------------------------------------------------------
8.9299 z^6 - 16.0293 z^5 + 8.8758 z^4 - 4.4955 z^3 + 5.6715 z^2 - 4.4489 z + 1.6026
H(z) =


Para la grfica de la figura IV.8 se utilizaron 200 muestras.

73
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.
2
0.
4
0.
6
0.
8
1
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
Modelo ARMA
A. E. DSK
(Hz)
A
m
p
Sistema identificado (escala lineal)
(Hz)
G
r
a
d
o
s

Fig. IV.8 Sistema identificado con el modelo ARMA usando 200 muestras.

En la figura anterior se observa que la respuesta de amplitud coincide y que la fase presenta un
desplazamiento de 180 grados. La funcin de transferencia discreta obtenida es:

0.0018988 z^3 + 0.0017901 z^2 + 6.7658e-005 z + 0.0014189
---------------------------------------------------------------------------------------------------------------------------
0.85593 z^6 - 1.5955 z^5 + 0.98032 z^4 - 0.49803 z^3 + 0.48238 z^2 - 0.40745 z + 0.18674
H(z) =


En la figura IV.9 se muestra la identificacin obtenida con 100 pares de muestras de entrada
salida. Otra vez se observa que la respuesta de magnitud y fase es muy parecida para ambos
casos. En la respuesta de fase tambin est presente el mismo desplazamiento que en los dos
ejemplos de este sistema mostrados anteriormente.

La funcin de transferencia identificada con 100 muestras es la siguiente:

0.0032658 z^3 + 0.0035932 z^2 + 0.00044593 z + 0.0012971
--------------------------------------------------------------------------------------------------------------------
1.3576 z^6 - 2.4213 z^5 + 1.2963 z^4 - 0.59408 z^3 + 0.67818 z^2 - 0.58835 z + 0.29175
H(z) =


74
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
(Hz)
A
m
p
Sistema identificado (escala lineal)
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
(Hz)
G
r
a
d
o
s
Modelo ARMA
A. E. DSK

Fig. IV.9 Sistema identificado con el modelo ARMA usando 100 muestras.

En la figura IV.10 se muestra la identificacin obtenida con solo 25 muestras. Se observa que
no se logra identificar el sistema satisfactoriamente.
A
m
p
Sistema identificado (escala lineal)
G
r
a
d
o
s
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.2
0.4
0.6
0.8
1
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
(Hz)
Modelo ARMA
A. E. DSK

Fig. IV.10 Sistema identificado con el modelo ARMA usando 25 muestras.

Para este sistema se concluye que se puede obtener una buena respuesta de magnitud con un
mnimo de 100 pares de muestras de entrada salida. Para la fase se observa que existe un
desplazamiento en la fase identificada, pero su forma es muy similar a la obtenida de forma no
paramtrica.
75
IV.5.3 Ejemplo 3, filtro pasa altas activo
El sistema utilizado para este experimento se muestra en la figura III.23, ver la seccin III.6.5.
En la figura IV.13 se muestra la identificacin obtenida con 2048 muestras. En la respuesta de
magnitud se observa que ambas identificaciones son muy parecidas en el rango de 0 a 2000
Hz, con el debido escalamiento. Esto es que a 3250 Hz se presenta un pico, el cual evita que
el factor de escala calculado sea el adecuado. La respuesta de fase del modelo ARMA es muy
similar a la obtenida de forma no paramtrica de los 100 Hz en adelante aunque la fase
obtenida se encuentra doblada.
A
m
p
Sistema identificado (escala lineal)
G
r
a
d
o
s
(Hz)
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.5
1
1.5
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
Modelo ARMA
A. E. DSK

Fig. IV.13 Sistema identificado con el modelo ARMA usando 2048 muestras.

La funcin de transferencia identificada por el modelo ARMA es:
0.016575 z^6 - 0.12357 z^5 - 0.050801 z^4 + 0.35038 z^3 + 0.26095 z^2 - 0.23317 z - 0.20855
------------------------------------------------------------------------------------------------------------------------------
0.40107 z^6 + 0.18031 z^5 - 0.27154 z^4 - 0.26345 z^3 + 0.1469 z^2 + 0.045531 z + 0.0058287
H(z) =

En la figura IV.14 se muestra la identificacin obtenida por el modelo paramtrico con 200
muestras. Aqu se observa que ambas identificaciones son muy parecidas, e incluso ya no se
presenta el pico en los 3200 Hz que aparece en la figura IV.13. La respuesta de fase tambin
es muy parecida en ambos casos, recordndose que para el caso de la no paramtrica, la fase
se encuentra doblada.

76
A
m
p
Sistema identificado (escala lineal)
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.5
1
1.5
G
r
a
d
o
s
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
Modelo ARMA
A. E. DSK

Fig. IV.14 Sistema identificado con el modelo ARMA usando 200 muestras.

La funcin de transferencia identificada est dada por (ntese que su numerador es de un
grado menor que el obtenido con 2048 muestras):

-1.0495 z^5 - 0.17592 z^4 + 2.0538 z^3 + 0.6755 z^2 - 1.0854 z - 0.42307
------------------------------------------------------------------------------------------------------------------
1.018 z^6 + 1.2029 z^5 - 1.2061 z^4 - 1.7855 z^3 + 0.70902 z^2 + 0.5419 z - 0.04159
H(z) =


En la figura IV.15 se muestra la identificacin obtenida con 100 muestras. Se observa que la
respuesta de magnitud es muy similar a la obtenida con 200 muestras. La respuesta de fase
para frecuencias mayores de 150 Hz tambin es muy parecida a la obtenida con 2048 muestras
utilizando anlisis espectral.
77
A
m
p
Sistema identificado (escala lineal)
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.5
1
1.5
G
r
a
d
o
s
(Hz)
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0
Modelo ARMA
A. E. DSK

Fig. IV.15 Sistema identificado con el modelo ARMA usando 100 muestras.

La funcin de transferencia discreta obtenida con 100 muestras por el modelo ARMA, est
dada por:
-1.0356 z^5 - 0.14635 z^4 + 2.0171 z^3 + 0.67678 z^2 - 1.0632 z - 0.43375
----------------------------------------------------------------------------------------------------------------------------
1.0224 z^6 + 1.1714 z^5 - 1.1768 z^4 - 1.7584 z^3 + 0.68968 z^2 + 0.53537 z - 0.051874
H(z) =

En la figura IV.16 se muestra la identificacin obtenida con 25 muestras con el modelo
ARMA.
A
m
p
Sistema identificado (escala lineal)
(Hz)
G
r
a
d
o
s
0 500 1000 1500 2000 2500 3000 3500 4000
0
0.5
1
1.5
0 500 1000 1500 2000 2500 3000 3500 4000
-400
-300
-200
-100
0

Fig. IV.16 Sistema identificado con el modelo ARMA usando 25 muestras.
78
En la grfica anterior se observa que con 25 muestras se obtiene una buena respuesta de
magnitud y de fase. La funcin de transferencia identificada est dada por:

-1.0523 z^5 + 0.003984 z^4 + 2.1523 z^3 + 0.53415 z^2 - 1.1614 z - 0.41546
--------------------------------------------------------------------------------------------------------------------------
1.0168 z^6 + 1.3631 z^5 - 1.0752 z^4 - 1.8859 z^3 + 0.62157 z^2 + 0.5713 z - 0.075492
H(z) =


Para este sistema se obtuvo una buena identificacin con 100 pares de muestras. Cuando se
utilizaron los 2048 pares de muestras para obtener la funcin de transferencia discreta, se
obtuvo un modelo similar al real en el rango de 0 a 2000 Hz, solo que requiere un
escalamiento posterior. Con un nmero de muestras entre 100 y 200 se obtuvieron buenos
resultados.

IV.6 Comentarios
En base a los experimentos realizados en este captulo, se observa que se realizan buenas
identificaciones con el modelo ARMA utilizando entre 100 y 200 pares de muestras. Cuando se
utilizan menos de 100 muestras, generalmente no se obtiene una buena identificacin de la
fase. En todos los casos, la respuesta de magnitud obtenida es mejor que la respuesta de fase.
Comparando la identificacin no paramtrica con la paramtrica, la respuesta de fase obtenida
es mejor en el caso de la no paramtrica.

80
RESUMEN, CONCLUSIONES Y
RECOMENDACIONES

En este trabajo se presentan dos mtodos de identificacin de sistemas lineales e
invariantes con el tiempo. Primero se presenta un mtodo no paramtrico utilizando
anlisis espectral y posteriormente un mtodo paramtrico que utiliza un modelo ARMA.
Para el caso de la identificacin no paramtrica se expone la teora referente a ese
mtodo, se contina con simulaciones y finalmente se presenta la implementacin del
algoritmo de estimacin espectral en el DSK TMS320C6211. Esta aplicacin est basada
en una arquitectura de procesadores Anfitrin-Destino, donde el procesador Destino
(DSK) es el encargado de realizar el procesamiento y el procesador Anfitrin (PC) es una
interfaz grfica de usuario encargada de bajar el programa Destino, recibir y desplegar
el resultado del proceso de identificacin llevado a cabo por el procesador Destino. El
programa Destino se desarroll en la herramienta de programacin proporcionada por el
fabricante, el Code Composer Studio, mientras que el programa Anfitrin se desarroll en
Visual C++. Ambos programas se comunican por el puerto paralelo gracias a una librera
de enlace dinmica proporcionada tambin por el fabricante. Se presenta la identificacin
de tres sistemas fsicos usando esta aplicacin, la cual adems se guardan las muestras
experimentales capturadas al realizar dicha identificacin. Finalmente, se presentan a
nivel simulacin las funciones de transferencia discretas identificadas (utilizando
diferentes nmeros de muestras) con las muestras capturadas por la aplicacin de la
identificacin no paramtrica.
Analizando los resultados obtenidos a lo largo de este trabajo, se puede concluir lo
siguiente:
En este trabajo, el ruido blanco Gaussiano se utiliz con xito como seal de
excitacin.
La variancia de la seal de entrada no influye en la identificacin.
Para obtener una buena estimacin utilizando anlisis espectral se requiere de ms
de 2000 pares de muestras de entrada-salida.
81
De acuerdo a las figuras II.11 y II.12 para ambos mtodos de identificacin, la
alineacin de las muestras de entrada y de salida es fundamental para obtener una
buena estimacin.
La coherencia es un reflejo de la confiabilidad de la estimacin obtenida; si la
coherencia es mayor que 0.9, la estimacin es confiable en dicho rango de
frecuencia.
La reapuesta de magnitud es ms robusta a la alineacin (5 muestras) que la de
fase. Esta ltima requiere que la alineacin sea exacta para obtener una buena
estimacin (coherencia mayor que 0.9).
Cuando la amplitud de la salida es menor a 100 mV no se obtiene una buena
coherencia, ver la figura III.19.
La identificacin no paramtrica requiere menos muestras que la no paramtrica.
Se recomienda utilizar entre 100 y 200 muestras para obtener una buena
identificacin paramtrica.
La identificacin no paramtrica obtiene mejores identificaciones de fase que la
paramtrica.
El algoritmo para obtener el orden ptimo de error de prediccin final modificado
se utiliz satisfactoriamente en la identificacin paramtrica.

En base a los resultados obtenidos en este trabajo, se recomienda trabajar con una tarjeta
de adquisicin de datos de la National Instruments, un mdulo de evaluacin (EVM) o
alguna otra tarjeta que tenga diferentes tasas de muestreo para capturar muestras reales.
Recurdese que los modelos obtenidos son slo vlidos para la frecuencia de muestreo
con la que las muestras fueron obtenidas. De esta forma se puede obtener una serie de
modelos para diferentes frecuencias de muestreo. Tambin se recomienda este tipo de
tarjetas porque la velocidad de transferencia de datos entre ellas y el procesador Anfitrin
es mayor.
82
A
APNDICE


La seal de excitacin (o de entrada) es muy importante para tener xito en la
etapa de identificacin, sta debe contener una cantidad considerable de diferentes
frecuencias (al menos 10-20) y se puede conseguir ya sea con entradas de seales
mltiples o entradas aleatorias. Las entradas peridicas tambin tienen algunas ventajas.
Las frecuencias se deben concentrar donde se tienen cambios significantes en la grfica
de Bode del sistema.
Cuando se colectan datos para identificar un sistema, estos deben ser lo ms descriptivos
posible para construir los modelos. Algunos puntos bsicos que se deben considerar son
los siguientes:
a) La seal de entrada u debe dar a conocer todas las propiedades relevantes del sistema
y la entrada debe contener una cantidad considerable de frecuencias diferentes.
b) La energa de entrada est concentrada en las bandas de frecuencias importantes.
Para modelos lineales se emplean entradas binarias (dos niveles), para tener mxima
varianza en la amplitud de las entradas.
La entrada debe permanecer el tiempo suficiente para que la respuesta al escaln del
sistema no conmute rpidamente y la salida sea claramente visible.
c) Una frecuencia de muestreo tpica es de 10 veces el ancho de banda del sistema.
Aproximadamente de 5 a 7 muestras durante el tiempo de levantamiento de la
respuesta al escaln.

SEALES DE
EXCITACIN
83
La eleccin de la seal de excitacin depende del mtodo de identificacin a emplear, por
ejemplo; en el anlisis transitorio (identificacin en el tiempo) se emplea un escaln un
impulso, mientras que cuando se usa anlisis de correlacin se emplea una secuencia
binaria pseudoaleatoria (SBPA) como seal de entrada.
Las seales de excitacin ms comunes en la prctica son:
a) La funcin escaln puede dar informacin del tiempo de levantamiento, sobrepaso y
la ganancia esttica y est definida como:
( ) amplitud la es u donde
t u
t
t u
0
0
0 ,
0 , 0

'

<

b) La Secuencia Binaria Pseudo Aleatoria (SBPA) conmuta entre los niveles lgicos 0 y
1.
Utilizando la definicin de autocorrelacin para un proceso ergdico peridico:
( ) ( ) ( )

+
P
dt t x t x
P
R
0
1
, es posible obtener R()
Donde: = mT y T = perodo de muestreo para una SBPA dada por:
( ) ,... 2 , 1 , 0 ;
secuencia la de Longitud
* diferentes bits de No. - * iguales bits de No.

m
L
N N
m R
d i

* de la secuencia dada y la otra secuencia defasada m bits a la derecha. Donde L =
longitud de la secuencia generada. Para N etapas la mxima longitud de la secuencia es
L
max
= 2
N
-1.
Por ejemplo, sea la secuencia S = 0001101 L = 7.
Secuencia S 0 0 0 1 1 0 1.
S ms otro perodo 0 0 0 1 1 0 1 0 0 0 1 1 0 1.
S defasada un bit 0 0 0 1 1 0 1 .
S defasada dos bits 0 0 0 1 1 0 1.
( ) ( ) ( ) ;...
7
1
7
4 3
2 ;
7
1
7
4 3
1 ; 1
7
0 7
0

R R R
En general, R(m)=1 para m=0,L, L,
( )
L
m R
1
para cualquier otro valor entero de m.
La autocorrelacin de la SBPA se muestra en la figura A.1.
84
-7 -6 -5 -4 -3 -2 -1 1 2 3 4 5 6 7
1
-1/7
R(m)
m
- - - - - -

Fig. A.1. Representacin de R(m) para una SBPA, L = 7.

Obsrvese que si L , entonces 1/L 0 y R() se aproxima a un impulso (), que es
la autocorrelacin de un ruido blanco ideal (RBI), el cual contiene un nmero infinito de
frecuencias, ver la figura A.2.
S( f )
1
f

Fig.A.2. Espectro de un Ruido Blanco Ideal.

c) Suma de senoides. Esta seal es la suma de un nmero de senoidales relacionadas
armnicamente con amplitudes programadas. Se pueden cambiar las fases de las
componentes de frecuencia para reducir el factor de cresta de la seal o pueden
escogerse de forma aleatoria con distribucin uniforme dentro del intervalo [0, 2]:
( )

+
1
0
2 cos 2 ) (
N
k
k k k
f A t x , donde f
k
es un mltiplo de 1/T, siendo T el perodo de la
seal multisenoidal.
d) Ruido Blanco.
Existen dos formas para obtener ruido blanco:
1) De una secuencia binaria pseudoaleatoria de longitud finita que al pasar por filtros
pasabajas, se obtiene ruido blanco de banda limitada (RBBL) o ruido de color.
85
2) De una secuencia pseudoaleatoria con distribucin uniforme entre 0 y 1, es posible
generar ruido blanco Gaussiano siguiendo el mtodo de Gold and Rader; mediante las
siguientes ecuaciones, que dan a la secuencia generada una distribucin Gaussiana
( ) 1 .
) (
1
ln 2 B
n G
R
n

,
_


Donde G(n) es la secuencia con distribucin uniforme entre 0 y 1.
( ) ( ) 2 . ) 1 ( 2 cos ) ( B n G R n y
n
+
( ) ( ) 3 . ) 1 ( 2 ) 1 ( B n G sen R n y
n
+ +

86
B
APNDICE

Para realizar esta simulacin se crearon dos funciones en la plataforma de simulacin
Matlab: isisspa e isisbode. La primer funcin obtiene la identificacin no paramtrica
usando 2048 paras de muestras de entrada y salida previamente alineadas. Con la segunda
funcin se despliega el resultado de la primer funcin, a continuacin se presentan ambas
funciones.


function [HfMag, HfFase]=isisspa(entrada,salida)
%IsisSpa realiza una identificacin no paramtrica usando muestras de
entrada y salida

N=length(entrada); %En este caso, N = 2048
n=0:1:N-1;
Ncorr=32;

for m=0:Ncorr-1, %Calcula 32 muestras de la autocorrelacin
sumax=0;
for i=0:N-m-1,
TempRxx(i+1)= (entrada(i+1)*entrada(i+1+m));
sumax= sumax+TempRxx(i+1);
rxx(m+1)= sumax/(N-m);
end
end

for m=0:Ncorr-1, %Calcula 32 muestras de la correlacin cruzada
sumay=0;
for i=0:N-m-1,
TempRxy(i+1)= (entrada(i+1)*salida(i+1+m));
sumay= sumay+TempRxy(i+1);
rxy(m+1)= sumay/(N-m);
end
end

Nceros=N-Ncorr; %Obtiene el nmero de ceros a insertar

PROGRAMA PARA LA
IDENTIFICACIN NO
PARAMTRICA
87
for j=Ncorr+1:Nceros, %Inserta ceros para interpolar
rxx(j)=0;
rxy(j)=0;
end

Sxx=fft(rxx); %Obtiene el autoespectro
Sxy=fft(rxy); %Obtiene el espectro cruzado

Hf=Sxy./Sxx; %Obtiene H(f) compleja

N4=512;
HfMag=abs(Hf(1:N4)); %Obtiene 512 muestras de /H(f)/
ParteReal=real(Hf(1:N4));
ParteImag=imag(Hf(1:N4));
HfFase=atan2(ParteImag,ParteReal)*180/pi;
HfFase=HfFase-180; %Obtiene la fase de /H(f)/


function isisbode(HfMag,HfFase)
N4=length(HfMag);

figure;
xf=0:1:N4-1;
xf=4000*xf/N4;
subplot(211); plot(xf,HfMag); title('/H(f)/ identificada');
subplot(212); plot(xf,HfFase); title('Fase de H(f) identificada');

88
C
APNDICE

C.1 Introduccin al DSK
Esta tarjeta est basada en el procesador digital de seales (PDS) de punto fijo (fabricado
por la Texas Instruments) TMS320C6211, el cual ejecuta 1200 millones de instrucciones
por segundo (MIPS). DSK es un acrnimo de Digital signal processor Starters Kit, en
espaol: Kit de inicio al procesador digital de seales. Este DSK es una plataforma de
bajo costo con una interfaz con la computadora por el puerto paralelo que permite
desarrollar y probar aplicaciones para el C6211.

C.2 Caractersticas principales del DSK TMS320C6211
El procesador digital de seales opera a una frecuencia de reloj de 150 MHz y es capaz
de ejecutar 1200 millones de instrucciones por segundo. Posee un soporte de reloj dual,
150 MHz para el procesador y 100 MHz para la interfaz de memoria externa (EMIF).
Algunas otras caractersticas del DSK son:
Interfaz para la conexin a la computadora (procesador Anfitrin) por el puerto
paralelo.
4M Bytes de memoria RAM dinmica sncrona (SDRAM) que opera a 100MHz.
128K Bytes de memoria ROM flash programable y borrable.
Puerto de entrada-salida de 8 bits mapeado en memoria.
Interfaz de puerto anfitrin (HPI) que permite el acceso a toda la memoria del
procesador a travs del puerto paralelo.
Convertidor analgico-digital y digital-analgico (CODEC) de 16 bits para
aplicaciones de audio, con tasa de muestreo de 8 KHz
El DSK TMS320C6211
89
Seis LEDs indicadores (3 de usuario y 3 de propsito especfico).
Utilizacin externa con fuente de poder y el cable paralelo.

C.3 Diagrama a bloques del DSK TMS320C6211.
El DSK C6211 tiene un procesador digital de seales TMS320C6211 que permite una
verificacin inmediata de cdigo con el Code Composer Studio (CCS, ver el apndice D).
En la figura C.1 se muestra el diagrama a bloques del DSK TMS320C6211.
Interfaz
por puerto
paralelo
Anfitrin a
Destino
Reloj
25 MHz
Reloj
x 6
Reloj
x 4
Mux
Conector
JTAG externo
Emulador
JTAG TBC
D
e
s
p
l
a
z
a
d
o
r
d
e

n
i
v
e
l
HPI
JTAG
PAL de
TBC, PPC
y modo de
control de
arranque
CLKIN
ECLKIN
Jack de
entrada +5V
Regulador
1.8 V
Regulador
3.3 V
CVDD
DVDD
McBSP0
McBSP1/
TIMERS
CODEC
Interfaz de
perifericos de
expansin
Reloj
5.6 MHz
Jack entrada
analgica
Jack salida
analgica
Supervisor
de voltaje
Botn de
reset
PAL de
control de
reset, de
puertos de
E/S y buffer
Interfaz de memoria
de expansin
DRVRS XCVRS
Puertos
de E/S
Mem. FLASH
128K x 8
Mem. SDRAM
128K x 8
Interruptores
de usuario
LEDs de
usuario
EMIF
PDS
TMS320C6211
Mapa de
memoria
A otros dispositivos de 3.3 V y 5 V
CE0
CE1
CE1
CE2
CE3
ED[ 31,...,0]
EA[ 21,...,2]
DB_D[ 31,...,0]
DV_A[ 21,...,2]

Fig. C.1 Diagrama a bloques del DSK TMS320C6211

De acuerdo a la Fig. anterior, se divide al DSK en las siguientes partes: el procesador, los
relojes, los puertos de entrada y salida, la interfaz de puerto anfitrin, la interfaz
analgica, la memoria externa, la SDRAM y la memoria FLASH. En las siguientes
secciones se describe brevemente cada una de las partes mencionadas anteriormente.
90
C.3.1.1 El procesador
El corazn de esta tarjeta es el procesador digital de seales de punto fijo TMS320C6211,
el cual pertenece a la familia C62xx. Este procesador esta basado en la arquitectura
VelociTI de la Texas Instruments (TI), la cual es una versin mejorada de la arquitectura
VLIW (Very Long Instruction Word, en espaol palabra de instruccin muy grande) y
adems permite obtener un cdigo ejecutable pequeo. Su conjunto de instrucciones es
pequeo, similar al RISC. Cuenta con un compilador C, un optimizador del ensamblador
que simplifica la programacin y un depurador para Windows, el Code Composer Studio
que permite visualizar la ejecucin del cdigo. En el apndice D se explica la
herramienta de programacin de este dispositivo.
El procesador tiene 6 unidades aritmtico-lgicas de 32-40 bits y dos multiplicadores de
16 bits (resultados de 32 bits); cuenta adems con 32 registros de 32 bits de propsito
general. El ciclo mquina de este procesador es de 6.7 ns y es capaz de ejecutar 8
instrucciones en un solo ciclo. El direccionamiento es en base a bytes (datos de 8, 16 y 32
bits) y su rango de direccionamiento es de 32 bits. En la figura C.2 se muestra el
diagrama a bloques del procesador digital.

La unidad de procesamiento central (CPU) tiene dos grupos de unidades funcionales,
cada una de las cuales contiene cuatro unidades y un archivo de registros. El primer
grupo contiene las unidades funcionales: .L1, .S1, .M1 y . D1; el segundo grupo contiene
las unidades: .D2, .M2, .S2 y .L2. Cada uno de los archivos de registros contiene 16
registros de 32 bits, para tener un total de 32 registros de propsito general de 32 bits.
Estos dos grupos de unidades funcionales junto con los archivos de registro forman las
partes A y B del CPU, ver la figura C.2. Las cuatro unidades funcionales de cada
lado del CPU comparten libremente los 16 registros que corresponden a ese lado.
Adems, cada lado tiene un bus de datos conectado a todos los registros del otro lado por
el cual ambos grupos de unidades funcionales acceden a los datos presentes en el archivo
de registros contrario.
91
Interfaz de
memoria
externa
(EMIF)
Puerto serie
multicanal con
buffer No. 1
(McBSP1)
Puerto serie
multicanal con
buffer No. 0
(McBSP0)
Interfaz de
puerto Anfitrin
(HPI)
Lgica de bajo consumo de
energa
TIMER 1 TIMER 0
C
o
n
t
r
o
l
a
d
o
r

d
e
D
M
A

m
e
j
o
r
a
d
o
M
e
m
o
r
i
a

L
2
4

b
a
n
c
o
s

d
e
6
4
K
Memoria cach
de programa
LP1 (4K bytes)
Memoria
cach de
datos L1D
(4K bytes)
CPU
Bsqueda de instruccin
Envo de instruccin
Decodificacin de instr.
Ruta de datos 1
Archivo de registros
"A"
Archivo de registros
"B"
Ruta de datos 2
Registros de control
Emulacin en circuito
L1 S1 M1 D1 D2 M2 S2 L2
C
o
n
t
r
o
l

d
e
i
n
t
e
r
r
u
p
c
i
o
n
e
s

Fig. C.2 Diagrama a bloques del PDS TMS320C6211.

El CPU esta basado en una arquitectura tipo cargar/guardar (load/store), en la cual todas
las instrucciones operan en los registros (lo opuesto a los datos en la memoria). Las
unidades de direccionamiento de datos (.D1 y .D2) son las encargadas de todas las
transferencias de datos entre los archivos de registros y la memoria. Las direcciones de
los datos manejadas por las unidades .D permite que las direcciones generadas en un
archivo de registros sean usadas para cargar o guardar datos a o desde el otro registro de
archivos. El CPU permite una gran variedad de modos de direccionamiento utilizando ya
sea modo de direccionamiento lineal o circular con desplazamiento de 5 0 15 bits. Las
unidades .M estn dedicadas a realizar multiplicaciones y las unidades .S y .L se
encargan de las funciones aritmticas, lgicas y de salto con resultados obtenidos en un
ciclo de reloj.
C.3.1.2 Memoria interna
La memoria interna esta organizada de la siguiente manera: hay 72 Kbytes de memoria
interna, de los cuales 8 Kbytes se utilizan como memoria cach de nivel 1 (L1) a la cual
el CPU tiene acceso directo. La memoria cach L1 Esta dividido en 4 Kbytes de memoria
de programa (L1P) y 4 Kbytes de memoria de datos (L1D). Los 64 Kbytes de memoria
interna restantes es un espacio unificado de memoria de datos y de programa. Puede
92
utilizarse como memoria cach de nivel 2 (L2), puede mapearse directamente como
memoria interna o funcionar como una combinacin de ambas.
L1P est mapeada directamente, por lo cual cada byte de cada instruccin ocupa una
localidad especfica en el cach. Tambin tiene una amplia ruta de acceso a los datos
presentes en el CPU de tal forma que el CPU busca 8 instrucciones (un paquete de
bsqueda) por cada ciclo de reloj.
L1D es bidireccional asociativa, con lo cual puede manejar dos grupos de informacin
con diferente rango de direccin. La memoria cach L1D es una memoria de doble puerto
que permite el acceso de ambos puertos del CPU de manera simultnea, de tal forma que
el CPU puede cargar o guardar dos valores de 32 bits en un solo ciclo de datos de L1D.
La memoria L2 esta dividida en cuatro bancos de 16 Kbytes, cada uno de los cuales
puede programarse como memoria cach o memoria RAM. Cada banco seleccionado
como cach agrega una direccin de asociatividad, permitiendo que la memoria cach sea
asociativa en 1, 2, 3 o 4 direcciones. La L2 seleccionada como cach no se muestra en el
mapa de memoria del C6211. El hecho de mapear bloques de L2 como localidades
direccionables permite que el cdigo y los datos crticos queden en memoria interna.

C.3.1.3 McBSP
El puerto serie multicanal con buffer, McBSP (Multichannel Buffered Serial Port)
consiste en una ruta de datos y de control para conectarse con otros dispositivos externos.
La comunicacin de datos a estos dispositivos externos se realiza a travs de pines
separados de transmisin y recepcin. Las seales de control (reloj y sincronizacin de
cuadros) se envan a travs de otros cuatro pines. Los dems dispositivos se comunica
con McBSP a travs de un registro de control de 32 bits accesible a travs del bus
perifrico interno.

93
C.3.1.4 Registros de control del PDS
En la tabla C.1 se muestran los registros de control del PDS.

Tabla C.1 Registros de control del PDS
Abreviacin Nombre del registro Funcin
AMR Registro de modo de
direccionamiento
Especifica donde usar direccionamiento lineal o
circular para cada uno de los 8 registros;
adems contiene el tamao para
direccionamiento circular
CSR Registro de control de
estado

Contiene el bit de habilitacin interrupcin
global, los bits de control del cach y otros bits
de control y de estado
IFR Registro de banderas de
interrupcin
Despliega el estado de las interrupciones
ISR Registro de configuracin
de interrupciones
Permite fijar manualmente las interrupciones
pendientes
ICR Registro de limpiado de
interrupciones
Permite limpiar manualmente las
interrupciones pendientes
IER Registro de habilitacin
de interrupciones
Permite habilitar/deshabilitar interrupciones
individualmente
ISTP Apuntador de la tabla de
servicio de interrupciones
Apunta al inicio de una tabla de servicio de
interrupciones
IRP Apuntador de retorno de
interrupciones
Contiene la direccin utilizada para regresar de
una interrupcin enmascarable
NRP Apuntador de retorno de
interrupciones no
enmascarables
Contiene la direccin utilizada para regresar de
una interrupcin no enmascarable
PCE1 Contador de programa,
fase E1
Contiene la direccin de la bsqueda de
paquetes que se encuentra en la segmentacin
encausada de E1
94
C.3.2 Relojes
El DSK contiene dos relojes, lo cual permite que el CPU del procesador opere a una
frecuencia (150 MHz) y la memoria externa asncrona a otra frecuencia (100 MHz). Este
DSK utiliza un oscilador y multiplicadores externos para la entrada de reloj del CPU
(CLKIN) y para el reloj del EMIF (ECLKIN).

C.3.3 Puertos de entrada y salida
El DSK contiene un puerto de entrada y salida de 8 bits, configurado como 8 bits de
entrada y 8 bits de salida. Este puerto de 8 bits est conectado al byte superior del C6211
para minimizar el tiempo en que se carga el bus de datos. El puerto de Entrada/Salida
ocupa una direccin de un byte en la mitad superior del espacio de memoria CE1. El reloj
de la memoria externa es el que rige el puerto de Entrada/Salida y un PAL que se
encuentra en la tarjeta para generar las seales de control. El registro de control EMIF
CE1 debe de estar en modo asncrono de 32 bits para poder acceder al puerto de entrada y
salida.

C.3.4 Interfaz de puerto anfitrin
La interfaz de Puerto Anfitrin (Host Port Interface, HPI) es un puerto paralelo de 16 bits
a travs del cual el Procesador Anfitrin puede acceder directamente a la memoria del
CPU. El procesador Anfitrin funciona como procesador maestro en la interfaz, lo cual
mejora el acceso; es decir, a travs de esta interfaz el procesador Anfitrin puede acceder
a datos ya sea que estn en memoria interna o memoria externa. La conectividad a la
memoria del CPU se logra a travs del controlador de acceso a memoria, DMA. Ciertas
direcciones dedicadas y registros de datos que no se puede acceder el CPU conectan el
HPI a un canal auxiliar, el cual a su vez conecta el HPI al espacio de memoria del CPU.
Tanto el CPU como el Anfitrin pueden acceder al registro de control del HPI (HPIC).
Por otra parte, el Anfitrin puede acceder al registro de direccin del HPI (HPIA), al
registro de datos del HPI (HPID) y al HPIC usando datos externos y seales de control.

95
C.3.5 Interfaz analgica
El DSK C6211 incluye un convertidor analgico/digital y digital/analgico de 16 bits de
dos canales (CODEC) para aplicaciones de voz. Opera en formato entero corto de 16
bits, 15 de magnitud y uno de signo. Esta interfaz tiene una frecuencia de muestreo fija de
8 KHz y cuenta con un conector jack estreo para salida analgica y un conector jack
mono para la entrada analgica. En la figura C.3 se muestra el diagrama a bloques del
CODEC del DSK y se observa que el puerto serie del PDS (McBSP0) se encuentra
dedicado a la comunicacin con el CODEC.

Filtro pasivo/
Acoplamiento de AC
Filtro pasivo/
Acoplamiento de AC
Entrada
analgica
Salida
analgica
TLC320AD535
CODEC de dos canales
Aplicaciones de voz/datos
(16 bits - fija a 8KHz )
Reloj de
6.448 MHz
Traslacin de voltaje
PDS
`C6211
McBSP0
McBSP0
datos serie/
relojes

Fig. C.3 Diagrama a bloques del CODEC

C.3.6 Memoria externa
El DSK tiene un banco de memoria de 1M para palabras de 32 bits con un tiempo de
acceso de 10 ns (100 MHz), una memoria flash ROM de 128K x 8 y un puerto de E/S
mapeado en memoria. Contiene adems un conector de expansin para habilitar bancos
externos de memoria asncrona y/o dispositivos mapeados en memoria aadidos al DSK.
La direccin de la EMIF y los buses de datos para preservar la integridad de las seales,
evitar el efecto de carga en las salidas, etc.

C.3.6.1 SDRAM
El DSK contiene una SDRAM de 1M x 32 bits palabras. Esta a su vez est compuesta
por dos bancos de dispositivos de 512k x 16 bits. La SDRAM debe ser refrescada
peridicamente para que pueda mantener sus datos.
96
C3.6.2 Memoria FLASH
El DSK contiene 128k de memoria flash y memoria programable ROM. Los 8 bits del
bus de datos del dispositivo estn conectados al byte inferior del bus de datos del C6211.
Este dispositivo permite que el DSK haga reset a una aplicacin externa cuando se
encienda la tarjeta o en un reset. El registro de control EMIF CE1 debe estar en el modo
de 8 bits asncronos para poder accesar la memoria ROM.

Para obtener mayor informacin, consultar las referencias [19], [20], [21] y [22].
97
D
APNDICE


D.1 Introduccin
El Code Composer Studio (CCS) es una herramienta til para reducir el tiempo de
desarrollo de aplicaciones basadas en un procesador digital de seales. Esta herramienta
es un ambiente de desarrollo diseada para la plataforma de alto desempeo C6000 de la
Texas Instruments que integra los siguientes componentes:
Ambiente de desarrollo integrado (Code Composer) con editor, depurador
(debugger), manejador de proyectos, puntos de prueba, etc.
Compilador de C, optimizador de ensamblador y enlazador (Linker)
(Herramientas de Generacin de Cdigo, Code Generation Tools).
Simulador del conjunto de instrucciones
Programa para tiempo real (DSP/BIOS)
Intercambio de datos entre el procesador anfitrin y el procesador destino en
tiempo real.
Anlisis en tiempo real y visualizacin de datos.

El CCS integra las herramientas del anfitrin y del PDS destino en un ambiente
unificado; adems simplifica la configuracin del PDS y el diseo de la aplicacin.


EL CODE COMPOSER
STUDIO
98
D.2 Manejo de archivos en un proyecto.
El Code Composer Studio proporciona un manejo integrado de las aplicaciones
generando un archivo de proyecto de la aplicacin que contiene los archivos fuente,
libreras, archivos de configuracin y archivos de cabecera. Todos estos archivos pueden
visualizarse, manipularse y accesarse fcilmente usando la ventana del Manejador Visual
del Proyecto ya que se encuentran organizados en categoras. En la figura D.1 se
muestra la ventana del manejador visual del proyecto.


Fig. D. 1. Ventana del manejador visual del proyecto.

En la figura D.1 se muestran las carpetas en las que se organizan los archivos del
proyecto. A continuacin se describen brevemente las carpetas y los archivos que
contienen. Las carpetas principales son la de archivos GEL y la de Proyectos.
Carpeta archivos GEL. El Lenguage General de Extensin (GEL) es un
lenguage interpretativo parecido al lenguaje C que permite crear funciones
que extienden la utilidad del CCS.
Dentro de la carpeta que contiene el proyecto se encuentran las subcarpetas:
Configuracin DSP/BIOS, Include, Libreras y Cdigo Fuente; tambin se encuentran el
archivo del proyecto (*.mak) y el archivo de configuracin (*.cmd) que define las
secciones de memoria.
Carpeta DSP/BIOS Configuration. Contiene los archivos de configuracin que
definen los objetos DSP/BIOS usados por el programa. Estos archivos pueden
ser de parmetros de configuracin (*.cdb), archivo de comandos del
99
enlazador (*.cmd), archivo fuente de lenguage ensambaldor (*.s62) y el
archivo de cabecera incluido (*.h62) por el archivo *.s62.
Carpeta Include. Contiene los archivos de cabecera (*.h) que definen
constantes y estructuras requeridas por la aplicacin.
Carpeta Libraries. Contiene al archivo RTS6201.lib, para el TMS320C62x1,
el cual proporciona el soporte en el tiempo de ejecucin para el destino.
Carpeta Source. Contiene los archivos fuente para el programa principal (*.C)
y el archivo (*.asm) que contiene las instrucciones necesarias para fijar los
paquetes de bsqueda de los vectores de interrupcin (ISFPs) para saltar al
punto de entrada del programa en C, c_init00.

En la siguiente seccin se presenta un ejemplo sencillo que ilustra la forma de crear y
manejar los proyectos dentro dej CCS.

D.3 Desarrollo de un proyecto.
En este ejemplo se crea un proyecto, se le agrega un programa que despliega un
mensaje y posteriormente se agregan los dems archivos.
1. En la opcin Project, seleccionar New y en el cuadro de dilogo teclear el nombre del
proyecto, ccstest.mak y dar la ubicacin. Esto se muestra en la figura D.2.


Fig. D.2. Ventana de Project y la opcin New.

100
2. El segundo paso consiste en crear los archivos que forman el proyecto. Para lograr lo
anterior hacer click en la opcin New y seleccionar la opcin Source File, tal como se
muestra en la figura D.3.

Fig. D.3 Creacin de archivos que forman el proyecto.

El CCS responde creando una ventana de edicin nueva con el ttulo de Untitled1. Esta
ventana contendr el cdigo del programa principal que se muestra en la figura D.4. Este
programa es un ejemplo simple que despliega el mensaje Hola amiguitos!. El asterisco
que aparece a la derecha de Untitled1 indica que se han hecho modificaciones en el
archivo y estas no han sido guardadas. Se guarda el archivo y se le da por nombre
ccstest.c.

Fig. D.4. Cdigo del programa principal.

3. Hacer click con el botn derecho y seleccionar la opcin Add Files to project, tal
como se muestra en la figura D.5. En el cuadro de dialogo que aparece, seleccionar en
Tipo de archivo y elegir los archivos fuente (*.c, *.a*, *.s*). Esto se muestra en la igura
D.6.
101

Fig. D.5 Opcin de agregar archivos al proyecto actual.



Fig. D.6. Ventana de seleccin de tipo de archivo a agregar.

4. Para agreagar el archivo de configuracin repitir el paso 2 y seleccionar otra vez
Source File para crear el archivo lnk.cmd. El archivo lnk.cmd define el tamao del stack,
el de la seccin heap, los vectores de interrupcin, la memoria interna y externa, ver la
figura D.7.
102

Fig. D.7. Archivo de configuracin de memoria lnk.cmd, seccin de definicin de
localidades de memoria.

Dentro de este archivo se definen las localidades que albergarn a las secciones de
memoria . El archivo lnk.cmd se muestra en las figuras D.7 y D.8. Una vez tecleado el
archivo se guardan los cambios con el nombre de lnk.cmd y se repite el paso 3 para
agregarlo al proyecto.

Fig. D.8. Secciones de memoria en las localidades definidas en la figura D.7

103
5. A continuacin se agrega el archivo rts6201.lib, el cual es una librera para el
TMS320C62x1. En la figura D.9 se muestra el subdirectorio donde se encuentra la
librera. Posteriormente se repite el paso 3 para agregar la librera al proyecto.


Fig. D.9 Localizacin de las libreras para el TMS320C62x1.

6. Debido a que los archivos han sido agregados al proyecto, este se encuentra listo para
ser compilado y ejecutado. Se utiliza la opcin Rebuild All para compilar y construir el
archivo ccstest.out que ser ejecutado por el procesador del DSK. En la figura D.10 se
muestra la opcin Rebuild All.

Fig. D.10. Funcin Rebuild All.

7. Una vez que el programa ha sido compilado, se genera el archivo ccstest.out el cual
contiene el programa a ejecutar en cdigo mquina. Ahora es necesario cargar dicho
programa al destino mediante la opcin Load Program del men File. Esto se muestra en
la figura D.11. Esta opcin despliega un cuadro de dilogo en el cual se selecciona el
archivo ccstest.out.
104

Fig. D.11. Opcin para cargar el programa en el PDS

8. El siguiente paso consiste en la ejecucin y prueba de operacin del programa
construido en este ejemplo. Esto se hace con la opcin Run, tal como se muestra en la
figura D.12. La opcin para detener el programa, Halt se encuentra abajo de la opcin
Run (en este caso se encuentra deshabilitada).


Fig. D.12. Opciones Run y Halt.

9. El resultado final de la ejecucin del programa se muestra en la figura D.13.


Fig. D.13. Resultado del programa ccstest.c.

105
Para mayor informacin, consultar los siguientes manuales proporcionados por el
fabricante:
1. Code Composer Studio Tutorial
Texas Instruments (SPRU301A.PDF), [17]
2. Code Composer Studio Users Guide
Texas Instruments (SPRU328.PDF), [18]



106
E
APNDICE


E.1 Introduccin
Siempre que dos procesadores trabajan juntos compartiendo informacin se requiere
establecer un canal de comunicacin y un protocolo de comunicacin entre ambos. Esto
es para garantizar que la transferencia de informacin entre ambos procesadores se
realice de forma correcta.

La aplicacin mostrada en este trabajo esta formada por una arquitectura anfitrin-
destino, donde el procesador anfitrin, en este caso la PC, es el encargado de cargar el
programa en el procesador destino, de establecer la comunicacin entre ambos
dispositivos, recibir el resultado del procesador destino y mostrarlo en forma grfica. Esto
se muestra en la figura E.1.

E.2 Librera de enlace dinmica
La comunicacin entre ambos procesadores se lleva a cabo en ambiente Windows gracias
a la librera de enlace dinmica proporcionada por el fabricante, dsk6211.dll. Segn el
fabricante, esta librera dinmica puede usarse bajo Windows 95, 98 y NT, aunque la
comunicacin entre ambos dispositivos no se pudo realizar bajo Windows NT, Windows
Millenium ni Windows 2000.


COMUNICACIN
ANFITRIN-DESTINO
107
Procesador anfitrin
HandShakingBuffer
HandShakingBuffer
Procesador destino
dsk6211.dll
Interfz de puerto
anfitrin

Fig. E.1 Configuracin anfitrin-destino y el programa dsk6211.dll

Para establecer la comunicacin paralela se requiere seguir un proceso, el cual se muestra
en la figura E.2. Las funciones encargadas de realizar este proceso estn contenidas en la
librera de enlace dinmica dsk6211.dll y se explican ms adelante.

Abrir el puerto
paralelo
Reiniciar el
procesador
destino
Establecer la
comunicacin
con la HPI
Cargar el
programa del
procesador
destino
Iniciar la
ejecucin del
programa
destino
Leer
peridicamente
el buffer de
comunicacin

Fig. E.2 Proceso para establecer la comunicacin paralela entre los dos dispositivos.

En la tabla E.1 muestra las funciones que estn incluidas en la librera dsk6211.dll. Al
desarrollar otras aplicaciones siguiendo esta arquitectura y utilizando este procesador
destino, es necesario agregar al proyecto del programa Anfitrin dicha librera. Si se
trabaja en lenguaje C, C++ o Visual C++ es necesario agregar el prototipo de la funcin
en algn archivo de cabecera (.h). En este caso, el prototipo de las funciones se encuentra
en el archivo de cabecera dsk6211.h. En la figura E.3 se muestra el archivo de cabecera
dsk6211.h y los ejemplos que se presentan se desarrollaron en Visual C++.
108
Tabla E.1 Funciones presentes en la librera de enlace dinmico dsk61ll.dll
Funcin Descripcin
dsk6x_open(unsigned long, dskHANDLE); Abre el puerto paralelo del procesador
anfitrin, establece contacto con el procesador
destino y le otorga el control del puerto
anfitrin al programa anfitrin.
dsk6x_close(dskHANDLE); Cierra la comunicacin con el procesador
destino y le regresa al procesador anfitrin el
control del puerto.
dsk6x_hpi_open(dskHANDLE); Abre la interfaz del puerto anfitrin del
procesador destino.
dsk6x_hpi_close(dskHANDLE); Cierra la interfaz del puerto anfitrin del
procesador destino.
dsk6x_reset_dsp(dskHANDLE,unsigned
char,unsigned char);
Reinicia el procesador destino.
dsk6x_reset_board(dskHANDLE); Reinicia los perifricos de la tarjeta destino.
dsk6x_hpi_read(dskHANDLE, unsigned long *,
unsigned long *, unsigned long);
Transfiere datos de la memoria del procesador
destino a la memoria del procesador
anfitrin.
dsk6x_hpi_write(dskHANDLE, unsigned long *,
unsigned long *, unsigned long);
Transfiere datos de la memoria del procesador
anfitrin a la memoria del procesador destino.
dsk6x_hpi_generate_int(dskHANDLE); Genera una interrupcin para ejecutar el
programa del procesador destino.
dsk6x_coff_load(dskHANDLE, char *, BOOL,
BOOL, BOOL);
Carga un programa en el procesador destino a
travs de la interfaz de puerto anfitrin.


E.3 Establecimiento de la comunicacin
Para establecer la comunicacin entre los procesadores es necesario ejecutar algunas de
las funciones mostradas en la tabla E.1en el orden mostrado en la figura E.2. En la figura
E.4 se muestra la rutina de inicio de la comunicacin entre ambos procesadores.


109
/***********************************************************************
* FILENAME
* dsk6211.h
*
* DESCRIPTION
* The public header file for dsk6211.dll
*
***********************************************************************/
/* Enumeration used with dsk_board_type */
typedef enum {
TYPE_UNKNOWN = 0,
TYPE_DSK
} dskDLL_BOARD_TYPE, *PdskDLL_BOARD_TYPE;
/* End of Enumeration used with dsk6x_board_type */
/* DSK Public Handle declaration */
typedef void * dskHANDLE;
/* End of DSK Public Handle declaration */
/* DSK Function Prototypes */
extern "C" BOOL dsk6x_open(unsigned long, dskHANDLE);
extern "C" BOOL dsk6x_close(dskHANDLE );
extern "C" BOOL dsk6x_board_type( dskHANDLE , PdskDLL_BOARD_TYPE, unsigned short *);
extern "C" BOOL dsk6x_hpi_open(dskHANDLE );
extern "C" BOOL dsk6x_hpi_close(dskHANDLE );
extern "C" BOOL dsk6x_reset_dsp(dskHANDLE,unsigned char,unsigned char);
extern "C" BOOL dsk6x_reset_board(dskHANDLE);
extern "C" BOOL dsk6x_hpi_read(dskHANDLE ,unsigned long *, unsigned long *, unsigned long);
extern "C" BOOL dsk6x_hpi_write(dskHANDLE ,unsigned long *,unsigned long *, unsigned long);
extern "C" BOOL dsk6x_hpi_fill(dskHANDLE ,unsigned long,unsigned long *,unsigned long);
extern "C" BOOL dsk6x_hpi_generate_int(dskHANDLE );
extern "C" int dsk6x_coff_load(dskHANDLE ,char *, BOOL, BOOL, BOOL);
/* End of DSK Function Prototypes */

Fig. E.3 Archivo de cabecera dsk6211.h con los prototipos de las funciones contenidas en
la librera de enlace dinmica dsk6211.dll

En la figura E.5 se muestra un ejemplo de la rutina del programa Anfitrin con la cual se
escribe al procesador destino un dato. La funcin dsk6x_hpi_write transfiere datos de la
memoria del procesador Anfitrin a la memoria del procesador Destino. Se utiliza el HPI
(ver Apndice C) para acceder a la memoria del Destino desde el Anfitrin. El parmetro
dskHndl es la referencia al DSK, en este caso el procesador Destino. El parmetro
p_buffer es la direccin del buffer que ser transferido mediante la operacin de escritura.
El parmetro p_length contiene la direccin que contiene el nmero de bytes que sern
transferidos con la operacin de escritura. Este parmetro debe ser un mltiplo de 4
110
debido a que todas las transferencias de datos entre ambos procesadores se realizan con
palabras de 32 bits. El parmetro dest_addr contiene la direccin de inicio de la
transferencia en el espacio de memoria del procesador Destino desde el punto de vista del
PDS, es decir debe estar en hexadecimal, adems de previamente definida en el programa
Destino y con una alineacin de palabra de 32 bits. Esta funcin regresa una expresin
booleana que indica si la funcin se ejecut correctamente (VERDADERO) o no
(FALSO).
if ( !dsk6x_open(nPort,&hBd) )
{
MessageBox("FALL: dsk6x_open()!");
exit(1);
}
if ( !dsk6x_reset_dsp(hBd,0,1) )
{
MessageBox("FALL: dsk6x_reset_dsp()!");
exit(2);
}
if ( !dsk6x_hpi_open(hBd))
{
MessageBox("FALL: dsk6x_hpi_open()!");
exit(3);
}
if (dsk6x_coff_load(hBd,coffNam,bVerbose,bClr,bDump))
{
MessageBox("FALL: dsk6x_coff_load()!");
exit(4);
}
if (!dsk6x_hpi_generate_int(hBd))
{
MessageBox("FALL: dsk6x_hpi_generate_int()!");
exit(5);
}

Fig. E.4 Rutina de inicio de la comunicacin entre ambos procesadores

dsk6x_hpi_write(dskHANDLE dskHndl, unsigned long *p_buffer, unsigned
long *p_length, unsigned long dest_addr)

Fig. E.5 Funcin de escritura de datos al PDS.
111

La funcin dsk6x_hpi_read transfiere datos del procesador destino a la memoria del
procesador Anfitrin, ver la figura E.6. Se utiliza el HPI para acceder a la memoria del
PDS desde el Anfitrin. Su funcionamiento es similar al de la funcin dsk6x_hpi_write.
El parmetro src_addr es equivalente al parmetro dest_addr.

dsk6x_hpi_read(dskHANDLEdskHndl, unsigned long *p_buffer, unsigned
long *p_length, unsigned long src_addr)

Fig. E.6 Funcin de lectura de datos del PDS

E.4 Fin de la comunicacin
En la figura E.7 se muestra una rutina para finalizar la comunicacin. Primero es
necesario indicarle al programa Destino que termine su ejecucin mediante alguna
palabra de control. Posteriormente mediante la funcin dsk6x_hpi_close se cierra el HPI
(ver Apndice C) y finalmente se cierra la comunicacin con la funcin dsk6x_close.

writeLength = 4;
handShakingBuffer[4] = HOST_STATUS_END_PROCESSING;
dsk6x_hpi_write(hBd, &handShakingBuffer[4], &writeLength,
DSPHS_BUFFER_ADDRESS+4*4);
if (!dsk6x_hpi_close(hBd))
{
MessageBox("Fallo: dsk6x_hpi_close()!\n", "Error en la comunicacin entre anfitrin
y destino.", MB_OK+MB_ICONSTOP);
exit(6);
}
if (!dsk6x_close(hBd))
{
MessageBox("Fallo: dsk6x_close()!\n", "Error en la comunicacin entre anfitrin
y destino.",MB_OK+MB_ICONSTOP);
exit(7);
}

Fig. E.7 Rutina de fin de programa, cierre del HPI y fin de la comunicacin.

NOTA: Para realizar la comunicacin entre ambos procesadores se recomienda que el
Code Composer Studio (CCS) haya sido instalado previamente. En caso de que el CCS
112
no haya sido instalado, es necesario agregar en el archivo autoexec.bat las siguientes
lneas:

SET UNIFY_PODDRVR_A=dsk6211.dll
SET UNIFY_PODPORT_A=0x378
SET UNIFY_PODMODE_A=0

donde 0x378 es la direccin fsica del puerto paralelo 1 (LPT1). Si no se agregan dichas
lneas los programas no funcionarn. Si el CCS ya est instalado, no es necesario agregar
dichas lneas puesto que automticamente el CCS las agrega. Estas lneas deben
agregarse para que la comunicacin pueda llevarse a cabo.

113
F
APNDICE

function [Num, Den]=isisarma(entrada,salida,fm)
% Obtiene una funcin de transferencia discreta mediante un modelo
% ARMA utilizando muestras de entrada y salida obtenidas a una
% frecuencia de muestreo fm

T=1/fm;
N1=length(entrada);
Tope=T*(N1-1);
t=(0:T:Tope);
n=length(t); Np=size(salida);

N=Np(1,2); MT=1000; %inicio

for r=1:6,
for p=r:6,
for L=1:N-p %Columna
f=2; fu=1;
for k=1:p, %Fila parte de entrada
GAMT(k,L)=-salida(p+L-f+1); %El +1 es por correccin para
MATLAB
f=f+1;
end
for k=p+1:p+r+1,
GAMT(k,L)=entrada(p+L-fu+1); %El +1 es por correccin para
MATLAB
fu=fu+1;
end
end

GAMT;
GAM=GAMT';
for te=p+1:N,
xnt(te-p)=salida(te);
end
xn=xnt';
clear teta

teta=GAMT*GAM;
teta=inv(teta);
teta=teta*GAMT;
PROGRAMA PARA LA
IDENTIFICACIN
PARAMTRICA
114
teta=teta*xn;
e=xn-GAM*teta; %Calcula el error, 'e' es un vector columna
clear GAM GAMT xn xnt
Ep=e'*e; %Calcula la suma de los errores cuadrtico medio
FPE=((p+N+r+1)/(N-p-r-1))*Ep; %donde r es el orden del modelo MA y p
del AR

if FPE<MT
clear TETA
MT=FPE;
R=r;
P=p;
TETA=teta;
end
end
end

Den(1)=1;
for m=2:P+1,
Den(m)=TETA(m-1); %Polos
end
nu=length(TETA);
for m=P+1:nu,
Num(m-P)=TETA(nu-(m-P)+1); %Ceros
end

xf=0:1:1023;
xf=(fm/2)*xf/1024;

[H,W]=freqz(Num,Den,512,fm);
mayor=max(H);

radio=abs(mayor);
N2=Num/radio;
D2=Den/radio;

printsys(N2,D2,'z');

[H2,W2]=freqz(N2,D2,512,fm);
mayor=max(H2);
HLin2=freqz(N2,Den,xf,fm);
maximo=max(HLin2);
mag2=abs(HLin2);

ParteReal=real(HLin2);
ParteImag=imag(HLin2);
Hfase=atan2(ParteImag,ParteReal)*180/pi;
Hfase=Hfase-180;

figure
subplot(211);plot(xf,mag2);
xlabel('(Hz)'); ylabel('Amp');title('Respuesta de amplitud del sistema
identificado (escala lineal)');
axis([0 4000 0 1]); grid on subplot(212);plot(xf,Hfase);
xlabel('(Hz)'); ylabel('Grados'); title('Respuesta de fase del sistema
identificado (escala lineal)');
grid on
115
BIBLIOGRAFA Y REFERENCIAS

[1]. Garca Lpez Juan Procesamiento Digital de Seales. Libro en revisin por el CIC-
IPN, 1999.
[2] Lennart Ljung, MATLAB System Identification Toolbox Users Guide, The Math
Works Inc., Ver. 5.3
[3] Keith Godfrey, Perturbation signals for system identification, Prentice Hall, 1993
[4] S. Lawrence Marple, Jr. "Digital Spectral Analysis with Aplications", Prentice-Hall,
1987.
[5] Lennart Ljung, System Identification: Theory for the user Univ. of Linkping,
Sweeden. Ed. Prentice Hall.
[6] A. V. Oppenheim and R. W. Schafer, Digital Signal Processing, Englewood Cliffs,
Prentice Hall Inc., 1975
[7] E. O. Brigham, The Fast Fourier Transform and its applications, Prentice Hall, 1988
[8] B. Gold and Ch. M. Rader, Digital Signal Processing, Mc Graw Hill, 1969
[9] M. Gopal, Digital Control Engineering, John Wiler & sons, Inc., 1998. ISBN 0-
471-63765-3, pg. 321-22
[10] K. J. Astrom and B. Wittenmark, Adaptive Control, Addison-Wesley, Inc., P. U.
C. O., 1989
[11] H. Akaike, Fitting Autoregresive Models for Prediction, Ann Inst. Statist. Math.,
Inc, Bol. 21 pp243-247, 1969
[12] H. Akaike, New Look at the Statisitcal Model Identification, IEEE Trans. on
Automatic Control, Vol. Ac-19. pp. 716-723, December 1974
[13] E. Parzen, Some Recent Advances in Time Series Modeling, IEEE Trans. on
Automatic Control, Vol. Ac-19, pp. 723-730, December 1974
[14] P. M. T. Broersen, Selecting the Order of Autoregresive Models for Small
Samples, IEEE Trans. on Acoustics, Speech and Signal Processing, Vol. ASSP-33, pp.
874-879, August 1985
[15] T. E. Landers and R. T. Lacoss, Some Geophysical Applications of Autoregresive
Spectral Estimates, IEEE Trans on Geoscience Electronics, pp. 305-2011, January 1977
116

[16] L. Marple, A New Autoregressive Spectrum Anlisis Algorithm, IEEE Trans. on
Acoustics, Speech and Signal Processing, Vol. 28, pp 441-454, August 1980
[17] Texas Instruments, Code Composer Studio Tutorial, SPRU301A.PDF
[18] Texas Instruments, Code Composer Studio Users Guide, SPRU328.PDF
[19] Texas Instruments, CPU and Instruction Set Reference Guide, SPRU189E.PDF
[20] Naim Dahnoun, Digital Signal Processing Implementation Using the
TMS320C6000 Plataform, Prentice Hall
[21] Texas Instruments, TMS320C6211 Fixed Point Digital Signal Processor,
SPRS073A.PDF
[22] Texas Instruments, TMS320C6000 Peripherals Reference Guide, SPRU190C.PDF
[23] G. E. P. Box and G. M. Jenkins, Time series Analysis Forecasting and Control,
Oakland: Holden-Day Inc., 1976, pp. 23-45
[24] John G. Proakis and Dimitris G. Manolakis, Digital Signal Processing: Principles,
Algorithms and Applications, Prentice Hall, 1996



Nota: [17], [18], [19], [21], [22] se encuentran en el CD del Code Composer Studio
proporcionado por el fabricante que acompaa al DSK, o en la direccin electrnica:
http://www.ti.com

S-ar putea să vă placă și