Anda di halaman 1dari 170

SEP

SEIT

DGIT

CENTRO NACIONAL DE INVESTIGACIN


Y DESARROLLO TECNOLGICO

cenidet
DESARROLLO DE ALGORITMOS DE PROCESAMIENTO DIGITAL
DE SEALES USANDO ESPECTROS DE ALTO ORDEN.

QUE PARA OBTENER EL GRADO DE:

MAESTRO EN CIENCIAS EN
INGENIERA ELECTRNICA
P

ING. EDWIN B. SULUB COUOH

DIRECTOR DE TESIS
DR. MARCO ANTONIO OLIVER SALAZAR.

CUERNAVACA, MORELOS.

JUNIO 2005

Abstract.

Regarding the digital signal processing, the spectral analysis, has proved essential to the
development of scientific and technological advances like the radar and the sonar.
Bispectrum is a higher order of the Power Spectral Density (PSD). In addition it preserves
phase information of the signals and its harmonically related frequencies.

The general scheme of this thesis project consists of the development of an analysis tool,
called Spectral Analyzer, to apply the PSD and Bispectrum algorithms to discrete time
series from real systems. The Spectral Analyzer is a Windows application, designed in
order to solve the problem of the difficulty of using these algorithms, facilitating the work
of the end user, in each investigation discipline where Biespectro is applied.

An important point to consider is the large processing time necessary to obtain the PSD and
Bispectrum functions. Its necessary to determine the hardware and software requirements
to minimize the processing time, justifying or no the use of dedicated processors and
specific software.

In this thesis project a theoretical comparative of characteristics between IBM PC and


digital signal processors platforms appears, covering topics like the processing speed,
architecture, memory usage, available ports, programming type, etc.

In addition, based on the software of the Spectral Analyzer, practical performance


evaluations between an AthlonTM processor of a personal computer versus the
TMS320C6701 of Texas Instruments digital signal processor were made.

Finally, in order to validate the Spectral Analyzer using real signals, tests of faults detection
in an induction motor were made. Some patterns related to electrical faults were identified
by phase current variations analysis.

Resumen.

Dentro del procesamiento digital de seales, el anlisis espectral, ha sido esencial para el
desarrollo de avances cientficos y tecnolgicos como el radar y el sonar. El Biespectro es
una extensin de orden superior de la Densidad Espectral de Potencia (PSD). Adems,
preserva la informacin de fase de las seales y de sus frecuencias armnicamente
relacionadas.

El esquema general de este proyecto de tesis, consiste en el desarrollo de una herramienta


de anlisis, llamada Analizador Espectral, para aplicar los algoritmos de PSD y Biespectro
a datos en tiempo discreto provenientes de sistemas reales. El Analizador Espectral es una
aplicacin tipo Windows diseada con el propsito de solucionar el problema de la
dificultad de uso de estos algoritmos, facilitando el trabajo del usuario final, en cada
disciplina de investigacin donde se aplica el Biespectro.

Un aspecto importante a considerar, es el alto tiempo de procesamiento necesario para


obtener las funciones de PSD y Biespectro. Es necesario determinar los requisitos de
hardware y software para minimizar el tiempo de procesamiento, justificando no, el uso
de procesadores dedicados y de software especfico. En este proyecto de tesis se presenta
un comparativo terico de caractersticas entre plataformas IBM PC

y procesadores

digitales de seales, cubriendo tpicos como la velocidad de procesamiento, arquitectura,


uso de memoria, puertos disponibles, tipo de programacin, etc.

Adems, con base en el software del Analizador Espectral, se realizaron evaluaciones


prcticas de desempeo entre un procesador AthlonTM de una computadora personal contra
el procesador digital de seales TMS320C6701 de Texas Instruments.

Finalmente, con objeto de validar el Analizador Espectral con seales reales, se realizaron
pruebas de deteccin de fallas en un motor de induccin. Se identificaron algunos patrones
relacionados con fallas elctricas mediante el anlisis de las variaciones de la corriente de
fase.

CONTENIDO.
Lista de figuras...iv
Lista de tablas.vi

Captulo 1: Introduccin.
1.1
1.2
1.3
1.4
1.5
1.6

Planteamiento del problema. .................................................................................. 4


Objetivos................................................................................................................. 5
Antecedentes........................................................................................................... 6
Estado del Arte. ...................................................................................................... 6
Panorama de Investigacin y Metodologa utilizada.............................................. 8
Estructuracin de la tesis ...................................................................................... 10

Captulo 2: Marco Terico.


2.1
Seales en el dominio del tiempo. ........................................................................ 13
2.1.1
Momentos. .................................................................................................... 13
2.1.2
Cumulantes. .................................................................................................. 14
2.1.3
Relacin entre Momentos y Cumulantes...................................................... 16
2.1.4
Uso de cumulantes en lugar de momentos. .................................................. 18
2.1.5
Condiciones de simetra de los cumulantes.................................................. 19
2.2
Seales en el Dominio de la frecuencia................................................................ 21
2.2.1
Transformada Discreta de Fourier................................................................ 21
2.2.2
Poliespectros................................................................................................. 21
2.2.3
Densidad Espectral de Potencia.................................................................... 22
2.2.4
Biespectro. .................................................................................................... 22
2.2.5
Mtodos de Estimacin de los poliespectros................................................ 23
2.3
Mtodos de Estimacin No Paramtrica de la Densidad Espectral de Potencia.
23
2.3.1
Periodograma................................................................................................ 24
2.3.2
Periodograma Modificado. ........................................................................... 25
2.3.3
Mtodo de Welch. ........................................................................................ 28
2.4
Mtodos de Estimacin No Paramtrica del Biespectro. .................................. 29
2.4.1
Condiciones de Simetra............................................................................... 30
2.4.2
Biperiodograma. ........................................................................................... 31
2.4.3
Biperiodograma Modificado. ....................................................................... 32
2.4.4
Mtodo de Welch. ........................................................................................ 33
2.5
Biespectro Modificado. ........................................................................................ 35

Captulo 3: Herramienta de Software Analizador Espectral.


3.1
Descripcin........................................................................................................... 36
3.2
Especificaciones generales del Analizador Espectral........................................... 37
3.3
Modelo 1: Analizador Espectral implementado en Matlab. ................................ 39
3.3.1
Desarrollo del software................................................................................. 39
3.3.2
Caractersticas funcionales. .......................................................................... 41
3.3.3
Requerimientos de instalacin...................................................................... 42
3.3.4
Conclusiones para este modelo. ................................................................... 43
3.4
Modelo 2: Analizador Espectral implementado en Visual C++ 6.0 para IBM PC o
compatible. ....................................................................................................................... 43
3.4.1
Desarrollo del software................................................................................. 44
3.4.2
Caractersticas funcionales. .......................................................................... 46
3.4.3
Requerimientos de instalacin...................................................................... 48
3.4.4
Conclusiones para este modelo. ................................................................... 48
3.5
Modelo 3: Analizador Espectral implementado en Visual C++ 6.0 para DSP
TMS320C6701. ................................................................................................................ 49
3.5.1
Desarrollo del software................................................................................. 49
3.5.2
Modelo del Protocolo de Comunicaciones................................................... 50
3.5.3
Manejo de Memoria. .................................................................................... 54
3.5.4
Caractersticas funcionales. .......................................................................... 56
3.5.5
Requerimientos de instalacin...................................................................... 57
3.5.6
Conclusiones para este modelo. ................................................................... 58
3.6
Comparativos entre plataformas, basados en el Analizador Espectral................. 58

Captulo 4: Comparativo de caractersticas entre plataformas PC y DSP.


4.1
Hardware especializado........................................................................................ 59
4.2
Paralelismo. .......................................................................................................... 60
4.2.1
Un punto de vista de programacin.............................................................. 61
4.2.2
Otras formas de Paralelismo......................................................................... 62
4.3
Arquitectura de memoria ...................................................................................... 63
4.3.1
Organizacin de la memoria......................................................................... 63
4.3.2
Manejo eficiente de la memoria. .................................................................. 64
4.3.3
Manejo de flujos de Entrada-Salida.............................................................. 65
4.3.4
Lazos de sobrecarga cero............................................................................. 65
4.4
Costo..................................................................................................................... 65
4.5
Otras opciones para sistemas embedded. ............................................................. 65
4.6
Consideraciones en el diseo de un comparativo................................................. 66

ii

Captulo 5: Resultados de los comparativos realizados.


5.1
5.2
5.3
5.4
5.5
5.6
5.7

Diseo y consideraciones del comparativo. ......................................................... 68


Comparativo PC, DSP y DSP IDRAM para FFT................................................. 71
Comparativo PC, DSP y DSP IDRAM para FFT2............................................... 72
Comparativo PC, DSP y DSP IDRAM para Cumulantes de 2do Orden.............. 74
Comparativo PC, DSP para Cumulantes de 3do Orden. ...................................... 76
Comparativo final de aplicacin del Analizador Espectral entre PC y DSP. ....... 78
Conclusiones......................................................................................................... 81

Captulo 6: Caso de aplicacin: Deteccin de fallas en un motor de induccin


trifsico.
6.1
Deteccin de fallas en un motor de induccin trifsico. ...................................... 82
6.1.1
Descripcin de la tcnica de monitoreo de fases.......................................... 83
6.1.2
Operacin normal del motor trifsico........................................................... 84
6.2
Condicin de Referencia ...................................................................................... 86
6.2.1
Condicin de Referencia sin carga. .............................................................. 86
6.2.2
Condicin de Referencia para carga de 776 N-m......................................... 88
6.3
Fallas Elctricas.................................................................................................... 90
6.3.1
Desbalance de tensin entre fases. ............................................................... 90
6.4
Falla Mecnica...................................................................................................... 97
6.4.1
Rotor Bloqueado........................................................................................... 97
6.5
Conclusiones......................................................................................................... 99

Captulo 7: Aportaciones del proyecto y trabajos futuros.


7.1
7.2

Aportaciones....................................................................................................... 100
Trabajos futuros.................................................................................................. 101

Captulo 8: Conclusiones.
Conclusiones....................................................................................................................... 102

Referencias..... 106

Anexo 1: Caractersticas de las plataformas PC y DSP empleadas... 110


Anexo 2: Manual del Analizador Espectral en Matlab...... 120
Anexo 3: Manual del Analizador Espectral en Visual C++....... 141

iii

Lista de figuras.
Figura 1.1 Diagrama a bloques del proyecto.......................................................................... 9
Figura 2.1 Simetra en el dominio del tiempo. ..................................................................... 19
Figura 2.2 Propiedades de simetra de los cumulantes......................................................... 20
Figura 2.3 Funciones de ventana con un ndice de tiempo................................................... 27
Figura 2.4 Simetra del Biespectro en el dominio de la frecuencia...................................... 30
Figura 2.5 Simetra ptima del biespectro............................................................................ 31
Figura 2.6 Funciones de ventana con dos ndices de tiempo................................................ 34
Figura 2.7 Ventana ptima para el clculo del Biespectro. .................................................. 34
Figura 2.8 Comparativo Biespectro contra Biespectro modificado. .................................... 35
Figura 3.1 Analizador Espectral implementado en Matlab. .............................................. 40
Figura 3.2 Manejo de grficas del Analizador Espectral en Matlab. ................................ 41
Figura 3.3 Grficas de Salida en Visual C++ 6.0. ................................................................ 45
Figura 3.4 Grfica de salida de la PSD en Measurement Studio para Visual C++ 6.0. ....... 46
Figura 3.5 Interfase de Usuario del Analizador en Visual C++ 6.0. .................................... 47
Figura 3.6 Modelo del protocolo de comunicaciones........................................................... 50
Figura 3.7 Diagrama de flujo del protocolo de comunicaciones desde el punto de vista del
DSP TMS320C6701............................................................................................................. 52
Figura 3.8 Diagrama de flujo del protocolo de comunicaciones desde el punto de vista de la
IBM PC................................................................................................................................. 53
Figura 3.9 Mapa de memoria del DSP TMS320C6701........................................................ 55
Figura 3.10 Memoria necesaria para el Analizador Espectral en trminos de potencias
enteras de 2. .......................................................................................................................... 56
Figura 4.1 Comparativo de ejecucin de FFT realizado entre DSPs y el Pentium III
(Berkeley Design Technology Inc. 2001). ....................................................................... 62
Figura 4.2 Arquitectura Von Neuman. ................................................................................. 63
Figura 4.3 Arquitectura Harvard. ......................................................................................... 64
Figura 4.4 Comparativo total realizado entre DSPs y el Pentium III (Berkeley Design
Technology Inc. 2004)...................................................................................................... 67
Figura 5.1 Interfase del programa en la PC utilizado en el comparativo. ............................ 69
Figura 5.2 Ejemplo de tipos de anlisis y obtencin del tiempo de procesamiento. ............ 70
Figura 5.3 Evaluacin de la latencia de ciclos, mediante iteraciones del proceso. .............. 71
Figura 5.4 Comparativo con el algoritmo de FFT efectuado 1000 veces............................. 72
Figura 5.5 Comparativo con el algoritmo de FFT2 efectuado 10 veces.............................. 73
Figura 5.6 Comparativo con el algoritmo de FFT2 efectuado 100 veces............................ 73
Figura 5.7 Comparativo con el algoritmo de FFT2 efectuado 10,000 veces....................... 74
Figura 5.8 Comparativo con el algoritmo de Cumulantes de 2do Orden C2x efectuado 1
vez......................................................................................................................................... 75
Figura 5.9 Comparativo con el algoritmo de Cumulantes de 2do Orden C2x efectuado 10
veces. .................................................................................................................................... 75
Figura 5.10 Comparativo con el algoritmo de Cumulantes de 2do Orden C2x efectuado
100 veces. ............................................................................................................................. 76
Figura 5.11 Comparativo con el algoritmo de Cumulantes de 3er Orden C3x efectuado 1
sola vez. ............................................................................................................................... 77

iv

Figura 5.12 Comparativo con el algoritmo de Cumulantes de 3er Orden C3x efectuado 10
veces. .................................................................................................................................... 77
Figura 5.13 Comparativo con el algoritmo de Cumulantes de 3er Orden C3x efectuado
100 veces. ............................................................................................................................. 78
Figura 5.14 Comparativo del Analizador Espectral calculando la PSD mediante el mtodo
directo. .................................................................................................................................. 79
Figura 5.15 Comparativo del Analizador Espectral calculando la PSD mediante el mtodo
Indirecto................................................................................................................................ 79
Figura 5.16 Comparativo del Analizador Espectral calculando el Biespectro mediante el
mtodo directo. ..................................................................................................................... 80
Figura 5.17 Comparativo del Analizador Espectral calculando el Biespectro mediante el
mtodo indirecto................................................................................................................... 80
Figura 6.1 Esquema general de las pruebas experimentales. ............................................... 83
Figura 6.2 Corrientes del motor en operacin normal.......................................................... 85
Figura 6.3 Densidad espectral de potencia de la operacin normal sin carga. .................... 86
Figura 6.4 Biespectro de la operacin normal sin carga. ..................................................... 87
Figura 6.5 Condiciones de operacin normal cortes de 2D del Biespectro y Biespectro
Modificado. .......................................................................................................................... 88
Figura 6.6 PSD para la condicin de operacin normal para carga de 776 N-m. ................ 88
Figura 6.7 Cortes 2-D Para la condicin de operacin normal para carga de 776 N-m....... 89
Figura 6.8 Corrientes trifsicas del motor en desbalance de fase......................................... 91
Figura 6.9 PSD para la condicin de operacin normal para carga de 776 N-m. ................ 92
Figura 6.10 Corte 2-D del biespectro para la condicin de desbalance de fase sin carga.... 94
Figura 6.11 Corte 2-D del biespectro, condicin de desbalance de fase para carga de 776 Nm. .......................................................................................................................................... 96
Figura 6.12 Corrientes trifsicas para la condicin de rotor bloqueado............................... 98
Figura 6.13 Condicin de rotor bloqueado........................................................................... 99

Lista de tablas.
Tabla 2-1Clculo de los momentos y cumulantes de 4to orden en trminos de los
momentos. ............................................................................................................................ 18
Tabla 3-1 Listado de mensajes enviados al DSP.................................................................. 51
Tabla 3-2 Listado de estados de operacin del DSP. ........................................................... 51
Tabla 6-1Caractersticas en tiempo y frecuencia de los vectores de datos........................... 84
Tabla 6-2 Parmetros elctricos del motor en operacin normal sin carga.......................... 84

vi

Captulo 1: Introduccin.

Captulo 1

Introduccin.

El procesamiento digital de seales es una disciplina que se ocupa del manejo de seales en
forma digital, para analizar, modificar y extraer informacin de seales del sistema. Su
objetivo es procesar un conjunto finito de datos mediante el uso de algoritmos, remover
interferencias o ruidos de las seales que representan, identificar sistemas, obtener el
espectro de los datos o transformar la seal en una forma ms adecuada para su anlisis. El
procesamiento digital es actualmente utilizado en muchas reas sustituyendo los mtodos
analgicos, y en aplicaciones nuevas, donde el uso de tcnicas analgicas es muy complejo
o prcticamente imposible, proporcionando un desempeo superior, precisin, repetibilidad
y flexibilidad. Las reas de aplicacin incluyen, procesamiento de imgenes, ecualizacin y
transmisin de audio e imgenes, instrumentacin y control, telecomunicaciones,
biomedicina, geofsica, acstica, aplicaciones industriales y militares, etc.

Una de las herramientas fundamentales y de gran utilidad en el procesamiento digital de


seales, es el Anlisis Espectral, pues provee una representacin alternativa en el dominio
de la frecuencia de la seal original en el dominio del tiempo. Esto puede realizarse
mediante el clculo de la funcin de Densidad Espectral de Potencia (Power Spectral
Density, PSD, por sus siglas en ingls), la cual ha permitido la creacin de avances
cientficos y tecnolgicos como la invencin del radar y el sonar [1].

Captulo 1: Introduccin.

Otra aproximacin para el anlisis espectral, es el uso de las funciones poliespectrales, stas
son una extensin de la PSD, que contienen adems de la informacin de amplitud, tambin
la informacin de fase del sistema. El poliespectro puede obtenerse trasladando al dominio
de la frecuencia a las estadsticas de alto orden (High Order Statistics, HOS, por sus siglas
en ingls) de una seal. Ejemplos de HOS son los momentos y los cumulantes. Casos
especiales de los espectros de alto orden son el Biespectro (BIS), que por definicin es la
transformada de Fourier de dos dimensiones de las estadsticas de tercer orden, y el
Triespectro, el cul es la transformada de Fourier de tres dimensiones de las estadsticas de
cuarto orden [2]. El Biespectro provee informacin de la generacin de armnicas
producidas por acoplamientos de pares de frecuencias y es ms ampliamente usado que el
Triespectro. La razn de utilizar el Biespectro sobre el Triespectro radica en que una
representacin grfica del Triespectro requiere de cuatro dimensiones. Adems su
estimacin demanda un esfuerzo computacional mucho mayor al del clculo del Biespectro
en trminos de requerimientos de memoria y tiempo de procesamiento [3].

El Biespectro es una herramienta relativamente nueva en el procesamiento de seales y


anlisis de secuencias, en campos como la biomedicina, geofsica, telecomunicaciones,
procesamiento de seales de voz, economa, etc. Entre las aplicaciones del Biespectro
destacan, el filtrado natural de ruido Gaussiano [4]; el estudio de interacciones no lineales
entre secuencias usado en deteccin de periodicidades e identificacin de sistemas [5]. Otro
uso comn del Biespectro es la deteccin de acoplamientos de fase [5], utilizado en ciertas
aplicaciones como anlisis de datos en oceanografa, fsica de plasma, flujo de fluidos,
vibraciones mecnicas, electro-encefalogramas (ECG) [1], identificacin de sistemas,
filtrado de seales [4], etc.

Las herramientas de procesamiento digital, como los espectros de alto orden, son un tpico
que ha comenzado a ser de inters en el rea de monitoreo, debido a sus interesantes
propiedades [6]. Estas herramientas han sido utilizadas para monitorear condiciones de
sistemas relativamente simples, con pocas extensiones de esas tcnicas a equipos
complejos. Un ejemplo de este tipo de sistemas es la mquina de induccin, usada en un
gran nmero de aplicaciones, debido a su robustez y su diseo relativamente sencillo. Las

Captulo 1: Introduccin.

maquinas de induccin fallan comnmente como resultado de envejecimiento, por una


construccin pobre, por mala instalacin o por el tipo de trabajo que desempean. Una falla
de la maquinaria repercute en daos en la produccin de algn bien o servicio, afectando a
los costos de forma directa. La manera optima de prevenir esos daos es monitoreando sus
condiciones de operacin; esto permite una deteccin temprana de la degradacin de la
mquina y por lo tanto facilita una respuesta preventiva, permitiendo programar actividades
de mantenimiento, minimizando los tiempo de cada y maximizando la productividad.

Aunque en este campo se han desarrollado tcnicas de prevencin, tales como el uso de
redes neuronales artificiales para monitoreo, las cuales han demostrado xito en la
identificacin de las fallas en su etapa inicial, sin embargo tienen como un requisito previo
de su operacin los datos de fallas a priori. Esto impide la operacin prctica de tales
mtodos, porque no es usual tener datos completos de las fallas. Otra forma de lograr estas
predicciones es mediante el modelado con tcnicas de respuesta al impulso y anlisis de
elementos finitos prediciendo el comportamiento de la mquina bajo varias condiciones de
operacin. Aunque estas tcnicas son muy valiosas, son diseadas para un tipo de mquina
especfico y requieren de un alto grado de precisin en la descripcin de las respuestas a
las condiciones de entrada para que su aplicacin sea efectiva [6].

La PSD ha sido utilizada histricamente para monitoreo de mquinas de induccin, y


recientemente se ha usado el Biespectro para deteccin y diagnostico de condiciones de
falla en este tipo de mquinas [7]. La informacin procesada es una seal que puede
provenir de un sensor de vibracin montado en la carcaza del motor, o puede ser una seal
de corriente de fase. El cambio en la salida y la condicin de falla pueden ser
correlacionadas permitiendo una identificacin de fallas explicita. No se requieren datos a
priori que describan las condiciones de falla. El mtodo es aplicable a mquinas de
induccin de corriente alterna y generalmente es invariable a la carga y la velocidad [6],
[7], [8] y [9].

Un aspecto importante del uso de estas tcnicas es la complejidad de las tareas de


procesamiento, por lo que estas funciones se destinaban tradicionalmente a procesadores

Captulo 1: Introduccin.

digitales de seales (Digital Signal Processors, DSPs, por sus siglas en ingls). Los DSPs
son procesadores especialmente diseados para presentar un alto desempeo en tareas
repetitivas con operaciones matemticas complejas. Actualmente, con el incremento en la
capacidad y velocidad de procesamiento de los procesadores de propsito general, el
surgimiento de microcontroladores con caractersticas orientadas a tareas DSP, e incluso
DSPs hbridos, con mdulos funcionales que son tradicionalmente asociados a un
microcontrolador, (como el manejo de mltiples puertos SPI, I2C, CAN, manejo de PWM
por hardware, etc.), se hace necesario determinar cul es el ms adecuado para la
realizacin de una tarea especifica.

1.1 Planteamiento del problema.


De lo expuesto anteriormente se desprende la necesidad de una herramienta de anlisis
espectral, que calcule las funciones de PSD y Biespectro, en la plataforma de
procesamiento adecuada y al menor costo posible. Aunque existen paquetes de software
como Matlab, LabView y LabWindows, que proveen funciones para la transformada de
Fourier o la PSD, comnmente no cuentan con las funciones de estimacin de espectros de
alto orden. Por ejemplo, en Matlab, es necesario adquirir herramientas de software
adicionales [10]. Adems de que el manejo de este tipo de paquetes es complejo, y las
funciones son demasiado generales, esto requiere de tiempo y esfuerzo por parte del usuario
para aplicarlas. Por otro lado, debido a la variedad de aplicaciones del biespectro, se
considera innecesario, que el usuario de cada disciplina de investigacin, por ejemplo, un
ingeniero mecnico o un mdico, tenga que conocer cmo utilizar las funciones de un
ambiente de programacin, para poder obtener provecho de ellas. La dificultad en el
manejo de herramientas de anlisis es un factor que limita la efectividad en su aplicacin.
Es necesario que la operacin de esta herramienta sea amigable, que presente los resultados
de forma prctica, que permita almacenar y manejar los resultados para su uso posterior.

Otro problema a considerar, es el tiempo de procesamiento requerido para obtener las


funciones de PSD y BIS. Se deben determinar los requisitos de hardware y software para
minimizar el tiempo de procesamiento, justificando o no, el uso de procesadores dedicados
4

Captulo 1: Introduccin.

y de software especfico. En este punto es importante realizar evaluaciones de desempeo


entre procesadores de uso general y de uso especifico. Como se describi anteriormente, el
creciente desarrollo en los procesadores, DSPs y microcontroladores obliga a realizar un
anlisis antes de escoger la plataforma adecuada para desarrollar un equipo, comprendiendo
tpicos como la velocidad de procesamiento, arquitectura, manejo de memoria, puertos
disponibles, tipo de programacin, madurez de las herramientas de desarrollo disponibles
en el mercado, etc. En la industria, se prefieren los procesadores que presenten un
equilibrio en estas caractersticas, y que permitan desarrollar un equipo en el menor tiempo
y con la menor cantidad de perifricos externos posible, esto permite recuperar rpidamente
el costo de la inversin inicial.

Por ltimo, se busca validar la aplicacin en seales provenientes de sistemas reales e


interpretar los resultados del anlisis. Un caso prctico lo encontramos en la deteccin de
patrones de respuesta al Biespectro relacionados con fallas de naturaleza elctrica, como el
desbalance de tensin en una de las fases de un sistema elctrico. Aunque tradicionalmente
el monitoreo de condiciones de falla se ha realizado mediante seales de vibracin,
obtenidas con piezoelctricos montados en la carcaza del motor, una forma prctica y
econmica es analizando las variaciones de la corriente de fase.

1.2 Objetivos.
Desarrollar una herramienta de procesamiento digital de seales para aplicaciones en
seales de sistemas reales. De forma especfica se tienen los objetivos siguientes:

Programar y validar los algoritmos de PSD y BIS en un DSP.

Comparacin de tiempos de procesamiento entre una plataforma de computadora


personal IBM o compatible (Personal Computer) o PC y un DSP.

Aplicacin de la herramienta de anlisis espectral a seales provenientes de un


motor para deteccin de fallas.

Captulo 1: Introduccin.

1.3 Antecedentes.
En el cenidet se han realizado proyectos de tesis que usan el Biespectro. En el trabajo [17]
se encuentra en forma detallada la teora relacionada a las estadsticas de alto orden (HOS),
en el dominio del tiempo y de la frecuencia, se implementaron funciones en Matlab para
obtener el Biespectro y la PSD, y se aplicaron a seales de vibracin para deteccin de
fracturas en vigas en cantiliver.

En [18] se implement un sistema de software en plataforma PC desarrollado en Borland


C++ V.4.5, para controlar al DSP de Analog Devices ADSP 21020. El sistema es capaz de
procesar seales, para estimar frecuencia, fase y amplitud de seales relacionadas con
sistemas sujetos a vibracin tanto en frecuencia constante como en frecuencia variable. En
este mismo trabajo se desarrollaron funciones de despliegue grafico y tabular de la
informacin procesada para el posterior anlisis y diagnstico de estos sistemas, tambin se
efectu una validacin experimental de los algoritmos.

1.4 Estado del Arte.


En los ltimos 20 aos [11] las estadsticas de alto orden (particularmente el Biespectro),
se han utilizado en diversos campos sustituyendo a la PSD y haciendo uso de la
informacin extra que presenta sobre sta y sobre la funcin de autocorrelacin. Se han
hecho aplicaciones en fsica de plasma, flujo de fluidos, vibraciones mecnicas,
biomedicina, procesamiento de datos en sismografa, reconstruccin de imgenes,
estimacin de retardos, filtrado adaptativo, etc. [1].

Se ha empleado con xito para enfrentar el problema de detectar series de datos no


Gaussianos en el dominio del tiempo en presencia de ruido Gaussiano o no Gaussiano
midiendo la relacin seal a ruido resultante [4]. En [12] se presenta al Biespectro como
una herramienta til en la reconstruccin de seales debido a sus propiedades de preservar
la informacin de magnitud y fase, y de ser menos sensible al ruido Gaussiano. Se
proponen dos enfoques para calcular el biespectro solamente dentro de la regin principal
6

Captulo 1: Introduccin.

del biespectro, donde se cumplen estas propiedades, an para seales de tipo determinstico
en presencia de ruido.

Con respecto al uso del Biespectro para deteccin de fallas en motores de induccin, en el
trabajo [6] se describe un mtodo de deteccin del tipo y magnitud de 3 condiciones de
falla de la mquina de induccin, mediante un sensor de vibracin. En esta investigacin se
considera al motor como un sistema simple en donde un cambio en la entrada alterar la
salida en forma predecible. Mediante una correlacin con la condicin de falla es posible
una deteccin explicita de las condiciones de falla. Tambin menciona las tcnicas actuales
de monitoreo de motores de induccin (con sus ventajas y desventajas), como el uso de
redes neuronales artificiales, respuesta al impulso y anlisis de elemento finito.

En la investigacin [7] se aplican dos mtodos basados en HOS, el primero, un anlisis no


paramtrico de la magnitud de las seales de vibracin y segundo, el modelado paramtrico
lineal o no lineal para deteccin de fallas en motores de induccin.

En [8] se describe un mtodo de anlisis espectral de la corriente del motor para


localizacin y deteccin de anormalidades mecnicas y elctricas, que pudieran indicar una
falla en el motor de induccin. Esta tcnica se basa en el anlisis de la corriente del estator
para determinar las frecuencias relacionadas con las condiciones de falla.

Se ha aplicado la tcnica de las corrientes de fase en la deteccin de anormalidades


elctricas y mecnicas en motores de induccin [9], mediante el anlisis espectral de la
corriente del motor se pueden detectar daos en la flecha del motor en mquinas de
induccin. Este trabajo documenta las principales condiciones de falla en motores de
induccin y las tcnicas utilizadas para deteccin de fallas.

En los ltimos aos se ha hablado mucho acerca de comparaciones entre plataformas de


procesadores de uso general (General Purpose Processors, GPPs, por sus siglas en ingls)
y procesadores dedicados como los procesadores digitales de seales (DSPs), sin embargo
antes de hacer una comparacin es necesario entender los avances recientes en el desarrollo

Captulo 1: Introduccin.

de sus respectivas arquitecturas, as como las ventajas y desventajas que presentan en el


desarrollo de un aplicacin, las cuales pueden ir desde la disponibilidad de herramientas de
desarrollo hasta el costo total del sistema. La documentacin de estos aspectos se presenta
en [13] .

Alternativamente al uso de los DSPs y GPPs, actualmente han surgido los llamados
Procesadores de Propsito General con capacidades DSP y DSPs hibridos, los cuales
tienen caractersticas de ambas plataformas, en [13] y [14] se puede encontrar un panorama
de estas tecnologas.

El desempeo de un procesador puede medirse de muchas maneras, la forma ms comn es


midiendo el tiempo en el que desempea una cierta tarea, tambin puede hacerse midiendo
el uso de memoria y el consumo de potencia dependiendo de la aplicacin, pero
generalmente el factor tiempo es el ms utilizado. Existen varias formas de realizar estos
comparativos, en [15] se documentan fundamentalmente tres tipos, la mtrica simple, por
aplicacin y mediante segmentos de cdigo (kernels).

Actualmente, existen compaas especializadas en desarrollar este tipo de pruebas y


comercializar los resultados, algunos ejemplos son Berkeley Design Technology, Inc.
(BDTI) y EDN Embedded Microprocessor Benchmark Consortium (EEMBC) [16].

1.5 Panorama de Investigacin y Metodologa utilizada.


El esquema general de este proyecto de tesis, consiste en el desarrollo de una herramienta
de anlisis, que a partir de datos en tiempo discreto, provenientes de un sistema real o de
simulaciones, permita aplicar los algoritmos de densidad espectral de potencia y biespectro
En el diagrama de la Figura 1.1 se muestra el proceso de aplicacin esta herramienta a
datos en tiempo discreto, para la obtencin de los resultados. El uso de la plataforma de
hardware adecuada (lneas punteadas), ya sea un procesador de uso general o un DSP y de
una interfase grfica de usuario amigable y verstil, permite un desempeo ptimo y facilita
el manejo de los resultados para su interpretacin.
8

Captulo 1: Introduccin.

Datos en Tiempo Discreto

Anlisis
PSD y BIS

PC/DSP
Interpretacin de
Resultados

Interfase Grfica
De Usuario.

Figura 1.1 Diagrama a bloques del proyecto.

Se realiz una bsqueda bibliogrfica de los algoritmos de estadsticas de alto orden en el


dominio del tiempo, especficamente los momentos y cumulantes hasta el orden 3 y sus
correspondientes representaciones en la frecuencia llamadas poliespectros, conocidos como
la densidad espectral de potencia (PSD) y el biespectro (BIS) respectivamente.

Se realiz una investigacin acerca de la plataforma de desarrollo ptima para implementar


la herramienta de software para el procesamiento del Biespectro. Por familiaridad con el
ambiente se design de forma inicial la programacin de los algoritmos en Matlab. La
variedad de funciones involucradas, justifica la necesidad de encapsular dichas funciones
en una Interfase Grfica de Usuario (Graphics User Interface, GUI, por sus siglas en ingls)
que facilite el anlisis de datos y el manejo de los resultados. Esta primera versin del
programa se denomin Analizador Espectral.

Algunos aspectos tales del Analizador Espectral realizado en Matlab como el tiempo de
respuesta en la obtencin del Biespectro, justificaron la necesidad de llevar el cdigo al
lenguaje C compatible con el estndar ANSI. Posteriormente se implement el Analizador
Espectral en el DSP TMS320C6701 de Texas Instruments.

Captulo 1: Introduccin.

Con objeto de validar el Analizador Espectral con seales reales, se realizaron pruebas de
deteccin de fallas en un motor de induccin de jaula de ardilla de 2 polos, con
alimentacin trifsica, donde se identificaron ciertos patrones relacionados con fallas
elctricas.

Finalmente se realizaron comparaciones de desempeo benchmarks para las aplicaciones


de Analizador Espectral basadas en PC y DSP.

1.6 Estructuracin de la tesis


En el captulo 2 se presenta el marco terico, se introducen los conceptos de estadsticas de
alto orden en el dominio del tiempo, especficamente los momentos y cumulantes hasta el
orden 3 y sus correspondientes representaciones en la frecuencia llamadas poliespectros,
conocidos como la densidad espectral de potencia (PSD) y el biespectro (BIS)
respectivamente. Esto con el fin de familiarizar al lector con los mtodos de estimacin
existentes, y sentar las bases de los algoritmos utilizados en la programacin.

En el captulo 3 se presentan las justificaciones de desarrollar una herramienta de software


con una interfase grfica de usuario, as como las especificaciones del Analizador
Espectral. Adems, se presentan las tres versiones del Analizador Espectral, el primer
modelo se realiz para su uso en Matlab, el segundo modelo del Analizador Espectral fue
desarrollado en Visual C++ 6.0 para una IBM PC o compatible y finalmente el tercer
modelo del Analizador Espectral, que se ejecuta en el procesador digital de seales DSP
TMS320C6701 de Texas Instruments. Se mencionan los puntos principales del desarrollo
de software y los requisitos mnimos para su uso y finalmente las conclusiones acerca de
cada modelo. En este captulo se presenta un protocolo de comunicaciones propietario
entre una computadora personal y el DSP TMS320C6701, el cual puede aplicarse de una
forma general para comunicar dos procesadores mediante banderas y semforos.

En el captulo 4 se realiza un comparativo terico de caractersticas entre plataformas de


procesadores PC y DSP. Este captulo permite justificar los resultados de desempeo
10

Captulo 1: Introduccin.

obtenidos sin necesidad de realizar clculos complejos de ciclos de mquina y tiempos de


procesamiento.
En el captulo 5 se documenta el comparativo prctico entre las plataformas PC y DSP. Se
resumen los resultados de las diversas pruebas realizadas. En estas pruebas se emplearon
secciones de cdigo fundamentales para la obtencin del Biespectro y la PSD, como son la
Transformada Rpida de Fourier y los espectros de alto orden. Tambin se presentan
resultados de desempeo de los tres modelos del Analizador Espectral.

En el captulo 6 se documenta la tcnica de monitoreo de seales de las corrientes de fase,


que se emple para la identificacin de patrones relacionados con fallas elctricas en un
motor de induccin trifsico. Se presentan los resultados obtenidos para la PSD y el
Biespectro.

E el captulo 7 se puntualizan las aportaciones y las recomendaciones para futuros trabajos


relacionados al tema.

Finalmente en el captulo 8 se establecen las conclusiones del proyecto para cada uno de los
objetivos propuestos.

Adicionalmente se incluyen los siguientes anexos:

Anexo 1. Caractersticas de las plataformas PC y DSP empleadas.

Anexo 2. Manual del Analizador Espectral V.6.1 implementado en Matlab.

Anexo 3. Manual del Analizador Espectral V.1.0.1 implementado en Visual C++


6.0 para IBM PC y DSP TMS320C6701.

11

Captulo 2: Marco Terico

Captulo 2
Marco Terico.
Una caracterizacin estadstica completa de una variable o proceso aleatorio requiere que
sea posible determinar la probabilidad de cualquier evento definido dentro de su espacio
muestra. Sin embargo, no siempre es necesario realizar una caracterizacin completa, si se
puede conocer el comportamiento promedio del proceso aleatorio.

El empleo de las estadsticas de alto orden (HOS) hace posible caracterizar sistemas o
procesos, en los cuales las estadsticas convencionales no tienen xito, como en sistemas
sujetos a ruido de tipo Gaussiano o en anlisis de fenmenos sociales, como el desempleo o
naturales como las migraciones [19].

En este captulo se presentan algunos conceptos bsicos, sin pretender profundizar en la


teora de HOS; en [18] se pueden encontrar conceptos de series de datos en el dominio del
tiempo y de probabilidad aplicada a procesos aleatorios discretos; en [2] y [3] se presentan
las definiciones de momentos y cumulantes en trminos de la funcin caracterstica, en [1]
se encuentra una descripcin de las estadsticas de alto orden en trminos de la funcin
generadora de momentos y cumulantes. El objetivo principal de esta seccin es
fundamentar de forma prctica los conceptos que se emplean en el desarrollo de los
algoritmos de anlisis de este proyecto, por tanto se enfoca principalmente a secuencias de
datos en el tiempo discreto a menos que se especifique lo contrario.

12

Captulo 2: Marco Terico

2.1 Seales en el dominio del tiempo.


Sea la variable aleatoria discreta x(n) una secuencia de datos de un proceso aleatorio. A
continuacin se definen las estadsticas de alto orden para x(n)

2.1.1 Momentos.
. de la variable discreta x(n) se define
El valor esperado o promedio estadstico denotado E []
como:

E[ X ] = x ( n ) P[ x ( n ) ]

(2.1)

Donde P[x(n)] es la funcin de probabilidad discreta de x(n). Al promedio estadstico de


x(n) se le llama momento de primer orden de x(n) o media estadstica x .

Existen momentos de orden superior, los cuales son tiles para determinar otras relaciones
estadsticas, tales como la correlacin y la varianza.
Se define el momento k-simo de x(n) denotado mk , x , como el valor esperado de x(n) k ; es
decir:

mk , x = E[ x(n) k ] = x(n) k P[x(n)]

(2.2)

Cuando ms de una variable aleatoria est involucrada en un proceso, el momento se


calcula sobre todo el conjunto de variables. Por ejemplo: Para dos variables aleatorias x1,
x2, el momento conjunto (donde la suma k1+k2 es el orden del momento) se define:
m k1 ,k 2 = E[ x1k1 (n) x2k 2 (n)]

(2.3)

En un proceso aleatorio estacionario {x(n)}, para n = 0, 1, 2, 3,N-1. El momento de orden


k de un proceso puede definirse, como el momento conjunto de orden k de las variables

13

Captulo 2: Marco Terico

aleatorias discretas {x(n), x(n + 1 ), x(n + 2 ),...x(n + k 1 )} , donde 0 , 1 ,.. k 1 son los
desplazamientos de tiempo discreto a partir de n. Esto es:

mk , x ( 0 , 1 ,.. k 1 ) = E[ x(n), x(n + 1 ), x(n + 2 ),...x(n + k 1 )]

(2.4)

En sistemas estacionarios de tipo ergdico las estadsticas de varias salidas en un instante


fijo de tiempo, son iguales a las obtenidas de una sola realizacin en distintos instantes de
tiempo. De esta forma las variables aleatorias {x1 , x2 ,...xn } se asocian a desplazamientos en
el tiempo {x(n), x(n + 1 ), x(n + 2 ),...x(n + k 1 )} , con n fija en el proceso aleatorio x(n), por
ejemplo: x1 = x(n), x2 = x(n + 1 ),... Si se supone que el proceso es estacionario, el momento
de orden k ser funcin solamente de los k-1 desplazamientos.

Los momentos hasta orden 4 del proceso aleatorio {x(n)} son:

m 1, x (n) = E[ x(n)]
m 2, x ( 1 ) = E[ x(n) x(n + )]
m 3, x ( 1 , 2 ) = E[ x(n) x(n + 1 ) x(n + 2 )]

(2.5)

m 4, x ( 1 , 2 , 3 ) = E[ x(n) x(n + 1 ) x(n + 2 ) x(n + 3 )]

2.1.2 Cumulantes.
Sean las colecciones X = {x1 , x 2 ,...x n } y V = {v1 , v2 ,...vn }, donde X es una coleccin de n
variables aleatorias. Los cumulantes de orden n de estas variables son definidos como los
coeficientes {v1 , v 2 ,...v n } en la expansin por Series de Taylor de la funcin generadora de
cumulantes [1]:

K (v) = ln E{exp( jv' x)} .

(2.6)

El trmino cumulante se refiere a momentos acumulados; existe una estrecha relacin entre
momentos y cumulantes, tanto es as, que en procesos de media cero los cumulantes y

14

Captulo 2: Marco Terico

momentos son iguales, esto se cumple hasta orden 3, y en general se puede definir a los
cumulantes en trminos de los momentos.
Los primeros cumulantes hasta orden 4, para la variable aleatoria x1 son:
c1 = E[ x1 ]
c 2 = E[ x12 ] E[ x1 ]2
c 3 = E[ x13 ] + 2 E[ x1 ]3 3E[ x1 ]E[ x12 ]

(2.7)

c 4 = E[ x14 ] 6 E[ x1 ]4 + 12 E[ x1 ]2 E[ x12 ] 4 E[ x1 ]E[ x13 ] 3E[ x12 ]2

Se debe diferenciar entre el cumulante de un conjunto de variables aleatorias (vectores) y el


cumulante de una variable de un proceso. El cumulante conjunto de orden k de k variables
aleatorias puede calcularse a partir de los momentos conjuntos. Por ejemplo, para las
variables x1 y x2 el cumulante conjunto de segundo orden es:
c 2 = E[ x1 x2 ] E[ x1 ]E[ x2 ]

(2.8)

Sea {x(n)} un proceso aleatorio estacionario, para n = 0, 1, 2, 3,N-1. El cumulante de


orden k del proceso puede definirse como el cumulante conjunto de orden k

de las

variables aleatorias discretas {x(n), x(n + 1 ), x(n + 2 ),...x(n + k 1 )} , donde 0 , 1 ,.. k 1 son
los desplazamientos de tiempo discreto a partir de n. Esto es:
ck , x ( 0 , 1 ,.. k 1 ) = cum[ x(n), x(n + 1 ), x(n + 2 ),...x(n + k 1 )]

A continuacin se muestran los cumulantes hasta orden 4 del proceso aleatorio:


c1, x (n) = E[ x(n)]
c 2, x ( 1 ) = E[ x(n) x(n + )] E[ x(n)]E[ x(n + )]
c 3, x ( 1 , 2 ) = E[ x(n) x(n + 1 ) x(n + 2 )] + E[ x(n) x( n + 1 )]E[ x(n + 2 )]
E[ x(n) x( n + 2 )]E[ x(n + 1 )] E[ x( n + 1 ) x( n + 2 )]E[ x(n)]
+ 2 E[ x(n)]E[ x(n + 1 )]E[ x(n + 2 )]

15

(2.9)

Captulo 2: Marco Terico

c 4, x ( 1 , 2 , 3 ) = E[ x(n) x(n + 1 ) x(n + 2 ) x(n + 3 )] E[ x(n)]E[ x(n + 1 ) x(n + 2 ) x(n + 3 )]


E[ x(n + 1 )]E[ x(n) x(n + 2 ) x(n + 3 )] E[ x(n + 2 )]E[ x(n) x(n + 1 ) x(n + 3 )]
E[ x(n + 3 )]E[ x(n) x(n + 1 ) x(n + 2 )] E[ x(n) x(n + 1 )]E[ x(n + 2 ) x(n + 3 )],
E[ x(n) x(n + 2 )]E[ x(n + 1 ) x(n + 3 )] E[ x(n) x(n + 3 )]E[ x(n + 1 ) x(n + 2 )]

(2.10)

+ 2 E[ x(n)]E[ x(n + 1 )]E[ x(n + 2 ) x(n + 3 )],+2 E[ x(n)]E[ x(n + 2 )]E[ x(n + 1 ) x(n + 3 )]
+ 2 E[ x(n)]E[ x(n + 3 )]E[ x(n + 1 ) x(n + 2 )] + +2 E[ x(n + 1 )]E[ x(n + 2 )]E[ x(n) x(n + 3 )],
+ 2 E[ x(n + 1 )]E[ x(n + 3 )]E[ x(n) x(n + 2 )] + 2 E[ x(n + 2 )]E[ x(n + 3 )]E[ x(n) x(n + 1 )]
6 E[ x(n)]E[ x(n + 1 )]E[ x(n + 2 )]E[ x(n + 3 )]

2.1.3 Relacin entre Momentos y Cumulantes.


Los cumulantes son funcin de los momentos, y es posible obtenerse unos a partir de los
otros. Sea X = {x1 , x 2 ,...x n } una coleccin de variables aleatorias y I X = {1,2,...n} el
conjunto de ndices de los componentes de X. Si I I X , entonces x I es el subvector de X
con ndices pertenecientes a I [2]. Sea la particin de I en una coleccin no ordenada de
conjuntos no vacos, no intersectantes, denotada Ip, tal que todos los subconjuntos Ip formen
el conjunto I. Se denota al momento y al cumulante de x I como m x (I ) y c x (I )
respectivamente. El momento de x I se define como el valor esperado de los elementos de
los subconjuntos formados, es decir, m x ( I ) = E [x I ] . Las relaciones entre momentos y
cumulantes se pueden resumir en 2 frmulas.

Los cumulantes se relacionan con los momentos mediante la frmula momento a cumulante
[2]:
cx (I ) =

U qp =1I p = I

(1) q 1 (q 1)! m x ( I p )
p =1

donde:

U qp =1I p = I

= Sumatoria de todas las particiones de I.

= Nmero de subconjuntos del vector X.

= ndice de los subconjuntos del vector X.

16

(2.11)

Captulo 2: Marco Terico

m x (.) = Momento de orden x.


q

(.)
p =1

= Producto de los elementos desde p a q.

Por otro lado, se puede obtener el momento a partir de los cumulantes mediante la
expresin (frmula cumulante a momento) [2]:

mx ( I ) =

c (I
x

U qp =1 I p = I p =1

(2.12)

donde:

U qp =1 I p = I

= Sumatoria de todas las particiones de I.

= Nmero de subconjuntos del vector X.

= ndice de los subconjuntos del vector X.

cx (.) = Cumulante de orden x.


q

(.)
p =1

= Producto de los elementos desde p a q.

En la Tabla 2-1 se muestra el uso de las relaciones anteriores para I = {1,2,3,4}. El


significado prctico de los momentos de una variable aleatoria depende del orden del
momento. Por ejemplo, el momento de primer orden representa la media del proceso; el
momento de segundo orden es conocido tambin como la varianza de los datos, mientras
que la raz cuadrada de la varianza es la desviacin estndar. Adems, el momento de
tercer orden de la variable aleatoria llamado skewness, da una medida de la asimetra
alrededor de la media, es decir que para una distribucin simtrica es igual a cero [3].

Por otro lado los cumulantes no cuentan con una interpretacin tan prctica, sin embargo,
presentan propiedades estadsticas ms robustas que los momentos, por lo que se utilizan
ms comunmente para el clculo de estadsticas de alto orden.

17

Captulo 2: Marco Terico

Tabla 2-1Clculo de los momentos y cumulantes de 4to orden en trminos de los momentos.
q
q
I2
I3 I4 Q
I1
q 1
cx (I ) =

1
1,2
1,3
1,4
2,3
2,4
3,4
1,2
1,3
1,4
1,2,3
1,2,4
1,3,4
2,3,4
1,2,3,4

2
3
2
2
1
1
1
3,4
2,4
2,3
4
3
2
1

3
4
4
3
4
3
2

4
3
3
3
3
3
3
2
2
2
2
2
2
2
1

(1)

U qp =1I p = I

(q 1)! m x ( I p )

mx ( I ) =

-6E[x1] E[x2] E[x3] E[x4]


2E[x1 x2]E[x3]E[x4]
2E[x1 x3]E[x2]E[x4]
2E[x1 x4]E[x2]E[x3]
2E[x2 x3]E[x1]E[x4]
2E[x2 x4]E[x1]E[x3]
2E[x3 x4]E[x1]E[x2]
-E[x1 x2]E[x3 x4]
-E[x1 x3]E[x2 x4]
-E[x1 x4]E[x2 x3]
-E[x1 x2 x3]E[x4]
-E[x1 x2 x4]E[x3]
-E[x1 x3 x4]E[x2]
-E[x2 x3 x4]E[x1]
E[x1 x2 x3 x4]
Cum[x1 x2 x3 x4]

c (I
x

U qp =1I p = I p =1

p =1

c[x1] c[x2] c[x3] c[x4]


c[x1 x2]c[x3]c[x4]
c[x1 x3]c[x2]c[x4]
c[x1 x4]c[x2]c[x3]
c[x2 x3]c[x1]c[x4]
c[x2 x4]c[x1]c[x3]
c[x3 x4]c[x1]c[x2]
c[x1 x2]c[x3 x4]
c[x1 x3]c[x2 x4]
c[x1 x4]c[x2 x3]
c[x1 x2 x3]c[x4]
c[x1 x2 x4]c[x3]
c[x1 x3 x4]c[x2]
c[x2 x3 x4]c[x1]
c[x1 x2 x3 x4]
E[x1 x2 x3 x4]

2.1.4 Uso de cumulantes en lugar de momentos.


A continuacin se resumen algunas de las propiedades importantes de los cumulantes [2] y
[18]:

Los cumulantes son conmutativos en sus argumentos, es decir, que el cumulante de una
serie de datos es igual al cumulante de las distintas permutaciones de los datos:
c k , x ( x 0 , x1 ,..x k 1 ) = c k , x ( x k 1 , x 0 ,..x1 )

(2.13)

Los cumulantes son asociativos en la suma de sus argumentos:


c k , x ( x 0 + y, x1 ,..x k 1 ) = c k , x ( x 0 , x1 ,..x k 1 ) + c k , x ( y, x1 ,..x k 1 )

(2.14)

Para una constante a, se tiene:

c k , x ( x 0 + a, x1 ,..x k 1 ) = c k , x ( x 0 , x1 ,..x k 1 )

(2.15)

Si un subconjunto de variables aleatorias son independientes de los dems elementos del


conjunto de tamao k, entonces:
18

Captulo 2: Marco Terico

c k , x ( x 0 , x1 ,..x k 1 ) = 0

(2.16)

2.1.5 Condiciones de simetra de los cumulantes.


Adicionalmente, los cumulantes cuentan con propiedades de simetra que facilitan su
obtencin de tal manera que solamente es necesario calcular el cumulante en una regin
determinada para conocer todo su comportamiento, a esta regin se le llama dominio de
soporte. Esta propiedad permite disminuir la cantidad de operaciones necesarias para
calcular el cumulante. El dominio de soporte del cumulante de tercer orden c 3, x ( 1 , 2 ) est
determinado por la regin delimitada en la Figura 2.1.

II
I

III
IV

VI

Dominio de Soporte de Cumulantes de orden 3.


Figura 2.1 Simetra en el dominio del tiempo.

La parte sombreada en el primer cuadrante representa la regin principal. Para sistemas


estacionarios, conociendo el cumulante en esta seccin (en general en cualquiera de las
regiones I a VI) puede obtenerse el valor completo de la matriz de cumulante de tercer
orden. Esto se justifica debido a que el cumulante de tercer orden est relacionado con los
momentos de tercer orden y stos ltimos tienen las propiedades de simetra siguientes
(anlogas a las propiedades de simetra de la autocorrelacin):

19

Captulo 2: Marco Terico

m( 1 , 2 ) = m( 2 , 1 )

c3, x ( 1 , 2 ) = c3, x ( 2 , 1 )

= m( 1 , 2 1 )

= c3, x ( 1 , 2 1 )

= m( 1 2 , 2 )

= c3, x ( 1 2 , 2 )

= m( 2 1 , 1 )

= c3, x ( 2 1 , 1 )

= m( 2 , 1 2 )

(2.17)

= c3, x ( 2 , 1 2 )

En muchos casos de anlisis se consideran vectores de datos causales, es decir que inician
en t = 0; por este motivo, todos los clculos se efectan sobre el primer cuadrante. Sin
embargo, considerando las propiedades de simetra, basta con calcular la regin I para el
cumulante de tercer orden, para obtener una representacin completa del mismo. La Figura
2.2 presenta la seccin no redundante del cumulante de una secuencia de datos comparada
con la matriz de cumulantes obtenido de forma completa. El uso de la simetra en clculo
del cumulante disminuye el tiempo de procesamiento en el clculo del cumulante.

Figura 2.2 Propiedades de simetra de los cumulantes.

20

Captulo 2: Marco Terico

2.2 Seales en el Dominio de la frecuencia.


2.2.1 Transformada Discreta de Fourier.
El espectro de una seal representa las caractersticas de su comportamiento en el dominio
de la frecuencia, esto es til para el anlisis de seales y sistemas. Las propiedades
espectrales estn contenidas en la transformada de Fourier de la seal. Dada una seal en
tiempo discreto x(nT ) , la Transformada Discreta de Fourier DFT; X (k ) de x(nT )

est

definida por [20]:


N 1

X (k ) = x(nT )e

j 2n

k
N

para k = 0,1,2,...N 1.

(2.18)

n =0

Sin embargo, en seales y procesos aleatorios, una transformacin directa de la seal no


siempre es adecuada y en algunos casos podra no existir, por ese motivo se busca obtener
una representacin espectral de la potencia de la seal.

2.2.2 Poliespectros.
Una representacin espectral de un proceso puede obtenerse a partir de la transformada de
Fourier de funciones en el dominio del tiempo. En el caso de los momentos y cumulantes,
de forma general se prefieren a los cumulantes, por las razones ya expuestas. Sin embargo,
en algunos casos particulares, por ejemplo, en datos con media cero ( x = 0 ), el uso de los
momentos simplifica el clculo de los poliespectros. Los casos particulares de orden 2 y 3
de los poliespectros son abordados en este trabajo. Si el cumulante existe, el Poliespectro de
orden n-1 es definido como la transformada de Fourier de dimensin (n-1) de los
cumulantes de orden n y se denotan como [2]:

C (k1 , k 2 ...k n 1 ) =

n 1
k

c n , x ( 1 , 2 ... n 1 ) exp j 2 i i (2.19)


i =1 N

n 1 =

.....

1=

21

Captulo 2: Marco Terico

2.2.3 Densidad Espectral de Potencia.


Para n = 2, se observa que la transformada de Fourier del cumulante de orden 2, es igual a
la funcin de densidad espectral (PSD).

C (k ) =

1=

2, x

( ) exp j 2 ( )
N

(2.20)

En una seal peridica determinstica, el espectro de potencia representa la descomposicin


armnica de la energa total, concentrada sobre la longitud del perodo. Esto se representa
mediante la PSD en tiempo discreto. Si la funcin es determinstica y no peridica, la PSD
representa la descomposicin de la distribucin de la densidad de potencia sobre un rango
continuo de frecuencias [3]. La densidad espectral de potencia es una transformacin lineal
y es una funcin del ndice de frecuencia. En trminos de ingeniera representa la
distribucin de la potencia de la seal en las diferentes frecuencias que la componen.

2.2.4 Biespectro.
Extendiendo la definicin de Poliespectros a sistemas de tercer orden, n = 3, se obtiene el
Biespectro, el cual se representa como:

C (k1 , k2 ) =

(k + k )

c3, x ( 1 , 2 ) exp j 2 1 1 2 2
N

2 =

1=

(2.21)

Debe notarse que la funcin BIS es una funcin compleja de dos ndices de frecuencia, que
representa los acoplamientos armnicos de pares de frecuencias.La diferencia principal
entre la PSD y el Biespectro consiste en que , mientras la primera representa la distribucin
de la potencia de la seal sobre un rango de frecuencias, la ltima solamente representa la
distribucin de potencia sobre los pares de frecuencia donde ocurra una interaccin entre
ellos[3].

22

Captulo 2: Marco Terico

2.2.5 Mtodos de Estimacin de los poliespectros.


En la prctica, es necesario estimar el poliespectro a partir de un conjunto finito de datos.
Existen dos enfoques que se usan para el clculo, al primero se le llama convencional de
Fourier, mientras que el otro enfoque se basa en modelos ARMA (autoregresivos y de
promedios mviles) tambin llamado parmetrico [2]. En esta tesis se implementan los
mtodos no parmetricos tanto para la obtencin de la PSD como del biespectro.

2.3 Mtodos de Estimacin No Paramtrica de la Densidad


Espectral de Potencia.
La Funcin de Densidad Espectral de Potencia

(PSD)

representa la distribucin de

potencia de las armnicas de la seal. Es importante mencionar que el espectro obtenido


mediante la PSD no mantiene la informacin de la fase y no puede detectar acoplamientos
armnicos entre frecuencias. Estas caractersticas son limitantes en el anlisis de sistemas
no lineales o aquellos en los que se requiera la informacin de fase. El mtodo no
paramtrico de estimacin de la PSD se divide en Directo e Indirecto [2].

Mtodo Directo
La densidad espectral de potencia PSD de x(nT ) , puede definirse en trminos de su
transformada de Fourier denotada X (k ) , como:

P(k ) = E X (k ) X * (k )

(2.22)

. es el valor estadstico esperado, o promedio de x, y X * (k ) es el complejo


Donde E []

conjugado de X (k ) . En seales discretas se debe obtener el valor promedio para reducir los
efectos del tamao del bloque de muestras.

23

Captulo 2: Marco Terico

Metodo Indirecto.

a) Clculo a partir de Cumulantes.

La PSD se obtiene mediante la transformada de Fourier del cumulante de segundo orden,


conocido como funcin de covarianza (2.20). A esta expresin se le conoce como la
frmula de Wiener-Kinchine [2].

PSD(k ) =

1=

2, x

( ) exp j 2 ( )
N

(2.23)

b) Clculo a partir de Momentos.

En sistemas con media cero los cumulantes y los momentos de orden 2 son idnticos, esto
es fcilmente comprobable en (2.10). De esta forma, es ms fcil obtener la PSD mediante
el clculo del momento de segundo orden de la seal discreta sustrayndole la media.
Redefiniendo (2.20), tenemos:

PSD(k ) =

E[ x(t ) x(t + )] exp j 2 ( N )

(2.24)

2.3.1 Periodograma.
A la estimacin del espectro de una secuencia finita x(n) de N datos se le denomina
Periodograma, esto es equivalente a obtener el espectro de una seal muestreada,
multiplicada con una ventana rectangular de longitud N. Estrictamente hablando, [1] y [2]
se refieren al clculo del espectro mediante el mtodo directo (FFT) como Periodograma,
sin embargo, el enfoque manejado en este documento ser aplicar este trmino tambin al
mtodo indirecto [3].

24

Captulo 2: Marco Terico

Para el mtodo Directo el periodograma se define como:

PSD (k ) = E X w (k ) X w (k )
*

(Mtodo Directo).

(2.25)

Donde la transformada de Fourier de la secuencia x(n) modificada mediante la ventana


rectangular se define como:
N 1

X w (k ) = x(nT ) w(nT )e

j 2n

k
N

(2.26)

n =0

Para el mtodo Indirecto el periodograma se define como:


N 1
k

PSD(k ) = c2, x ( ) w( ) exp j (2 )


N

=0

(2.27)

Donde el cumulante de segundo orden del proceso x(n) est determinado por (2.8).

2.3.2 Periodograma Modificado.


Al uso de una ventana diferente a la ventana rectangular (w(n) = 1) con el fin de producir
una estimacin consistente del espectro de potencia, suavizando el periodograma por
medio de una funcin de ponderacin, se le llama periodograma modificado [1], [2] y [21].

Adems de proveer una estimacin consistente del espectro, el efecto producido con el uso
de la ventana es reducir la varianza de la PSD y producir una representacin espectral
suave, resaltando los verdaderos valores de frecuencia donde la potencia es mxima. Sin
embargo, tambin tiene efectos indeseables, pues incrementa la desviacin del espectro
calculado con respecto del verdadero espectro de potencia, adems de reducir la resolucin
espectral, debido al efecto suavizante. Para compensar los cambios de magnitud producidos
por el uso de la ventana en el mtodo Directo, se utiliza una constante de normalizacin U,
que depende de la ventana seleccionada [20] y que se puede calcular mediante:

25

Captulo 2: Marco Terico

U=

1
M

M 1

w(n)

(2.28)

n =0

Entonces, el espectro mediante el periodograma modificado, puede expresarse como:

Para el mtodo Directo:

PSD(k ) =

1
*
E X w (k ) X w (k ) ,
U

(2.29)

donde:
k

N 1
n j 2n N
X w (k ) = x(n) w( )e
A
n =0

(2.30)

Para el mtodo Indirecto:


N 1
k

PSD(k ) = c2, x ( ) w( ) exp j (2 )


A
N

=0

(2.31)

El parmetro A determina la anchura de la ventana, y es un entero dependiente del tamao


de seccin N, pues debe ser escogido de tal forma que cuando N , A , pero con
la restriccin de que

A
= 0 . Se recomienda un mtodo emprico [3] para la eleccin
N

del parmetro A, es decir, se comienza calculando el espectro de potencia para valores


pequeos de A, posteriormente se va incrementando mientras se observan los efectos en el
espectro. Se observa que a medida que incrementamos el valor de A, el ancho de banda de
la ventana decrece y se obtiene un espectro menos suave y con mejor resolucin.
La eleccin de la ventana adecuada para la estimacin de la PSD, es entonces una decisin
importante, y a pesar de que pueden realizarse comparaciones basadas en la varianza, el
derrame espectral, la anchura del lbulo central o laterales y el valor cuadrtico medio de
las ventanas, es necesario hacer pruebas para determinar cul es ms adecuada para el
proceso que se est analizando.

26

Captulo 2: Marco Terico

Las funciones de ventana ms comnmente utilizadas segn [19] se muestran en la Figura


2.3 y son:

wD (n)

wTH (n)

a) Ventana de Daniel.

b) Ventana de Tukey-Hamming.

wP (n)

wBP (n)

c) Ventana de Parzen.

d) Ventana de Bartlet Priestley.

Figura 2.3 Funciones de ventana con un ndice de tiempo.

Ventana de Rectangular o periodograma truncado:

1,
wTP (n) =
0,

n 1
n >1

(2.32)

Ventana de Tukey-Hamming:
wTH (n) = 0.54 + 0.46 cos(n

27

(2.33)

Captulo 2: Marco Terico

Ventana de Daniel:
w D ( n) =

sin( n
n

)
(2.34)

Ventana de Parzen:

( ) ( )
( ( ))

1 6 n 2 + 6 n

N
N
3

n
w p ( n) =
2 1
N

nN

2
N nN
2
otros

(2.35)

sin( n )

N cos(n )
n

N
N

(2.36)

Ventana de Bartlet Priestley:


wBP (n) =

(n N )

El periodograma puede realizarse sobre p secciones de longitud M cada una, de tal manera
que N = pM , para disminuir el tiempo de clculo de secuencias de datos de gran longitud.
Si los valores de la PSD de cada seccin i = 1,p estn definidas por 2.29 para el mtodo
directo y por 2.31 para el mtodo indirecto, el espectro promedio se determina como:

PSD (k ) =

1 p
PSDi (k )
p i =1

(2.37)

2.3.3 Mtodo de Welch.


Con el uso de ventanas, los extremos de las secuencias son llevados a cero, esto produce
prdida de informacin. Una solucin a esto es dividir la secuencia de datos en secciones
que se traslapen. Aunque el traslape introduce informacin redundante, este efecto
disminuye con el uso de una ventana no rectangular. Si el traslape es del 50% al 75% se
mantienen muchas de las caractersticas de los datos, los espectros resultantes se promedian
para obtener el espectro real. Se ha demostrado [1] y [10], que esto reduce la varianza del
espectro, pues para k realizaciones, la varianza del promedio es 1/k veces la varianza de los
espectros individuales.

28

Captulo 2: Marco Terico

2.4 Mtodos de Estimacin No Paramtrica del Biespectro.


El espectro de tercer orden o Biespectro (BIS) representa la descomposicin de potencia de
una seal para pares de frecuencias armnicamente relacionadas. La funcin Biespectro es
generalmente compleja, esto implica que contiene la informacin de magnitud y fase. Las
principales ventajas del Biespectro son:

Preservacin de la informacin de fase.

Insensibilidad al ruido aditivo Gaussiano.

Identificacin de sistemas de fase no mnima.

Deteccin e identificacin de sistemas no lineales.

Para el Mtodo Directo.

La funcin BIS representa la contribucin del producto medio de tres componentes de


Fourier, donde una frecuencia es igual a la suma de las otras dos. De esta forma, el
Biespectro se define como:

B ( k1 , k 2 ) = E X ( k1 ) X ( k 2 ) X * (k1 + k 2 )

(2.38)

De la expresin anterior puede verse que existen tres argumentos de frecuencia


relacionados como k1 + k 2 + k 3 = 0 , donde k3 = k1 k 2 , lo cual indica la interaccin
existente entre frecuencias.

Para el Mtodo Indirecto.

a) Clculo a partir de Cumulantes.

La funcin BIS es el Poliespectro de segundo orden, es decir, que es el resultado de la


aplicacin de la transformada de Fourier de dos dimensiones al cumulante de tercer orden
definido en 2.10.
29

Captulo 2: Marco Terico

B ( k1 , k 2 ) =

1 =

2 =

C 3, x ( 1 + 2 ) exp[ j 2

(k1 1 + k 2 2 )
]
N

(2.39)

b) Clculo a partir de Momentos.

En sistemas con media cero los cumulantes y los momentos de orden 3 son idnticos, de
esta forma, es ms prctico obtener la BIS mediante la aplicacin de la transformada de
Fourier de dos dimensiones del momento de tercer orden de la seal discreta, es decir:

B (k1 , k2 ) =

(k + k )

E[ x(t ) x(t + 1 ) x(t + 2 )] exp j 2 1 1 2 2


N

2 =

1=

(2.40)

2.4.1 Condiciones de Simetra.


En el dominio de la frecuencia se cumplen las siguientes propiedades:

BIS (k1 , k 2 ) = BIS (k 2 , k1 ) = BIS * (k1 ,k 2 )


= BIS * (k 2 ,k1 ) = BIS (k1 k 2 , k 2 )
= BIS (k1 ,k1 k 2 ) = BIS (k1 k 2 , k1 , )
= BIS (k 2 ,k1 k 2 )

Dominio de Soporte de la funcin


Biespectral.

Figura 2.4 Simetra del Biespectro en el dominio de la frecuencia.

30

(2.41)

Captulo 2: Marco Terico

Conociendo el Biespectro en la regin triangular k 2 0, k1 k 2 , k1 + k 2 , regin 1 en la


Figura 2.4 , es suficiente para una descripcin completa del mismo. La Figura 2.5 muestra
la simetra ptima en el clculo de la funcin BIS, si el proceso es estacionario solo se
necesita el triangulo interno, de lo contrario debe obtenerse el triangulo externo tambin, fs
es la frecuencia de muestreo o frecuencia de Nyquist.

Figura 2.5 Simetra ptima del biespectro.

2.4.2 Biperiodograma.
De forma anloga a la que se defini el periodograma para la PSD, se puede definir el
biperiodograma y para la obtencin del Biespectro (BIS) mediante el mtodo directo e
indirecto.

Para el mtodo Directo el periodograma se define como:

BIS (k1 , k 2 ) = E X w (k1 ) X w (k 2 ) X w (k1 + k 2 )


*

(2.42)

Para el mtodo Indirecto el Biperiodograma se define como:

BIS (k1 , k 2 ) =

N 1 N 1

1= = 0 2 = 0

3, x

(k + k 2 2 )

( 1 , 2 ) w( 1 , 2 ) exp j 2 1 1

31

(2.43)

Captulo 2: Marco Terico

2.4.3 Biperiodograma Modificado.


Es posible obtener una estimacin consistente del Biespectro mediante el uso de una
funcin de ventana w(n) (Biperiodograma Modificado). En el mtodo directo se realiza un
procedimiento semejante al del clculo de la PSD. Para el mtodo indirecto se utiliza una
funcin de ventana con dos ndices de tiempo como argumentos w( 1 , 2 ) , de esta forma:

Para el Mtodo Directo:

B (k1 , k 2 ) = E X w (k1 ) X w (k 2 ) X w (k1 + k 2 )


*

(2.44)

Para el Mtodo Indirecto:

BIS (k1 , k 2 ) i =

1= = 0 2 = 0

(k + k 2 2 )

) exp j 2 1 1

A A
N

1 2

N 1 N 1

3, x

( 1 , 2 ) w(

Donde el parmetro A es un entero dependiente de N tal que

(2.45)

A2
= 0 cuando A y
N

N .

Adems segn [1], la funcin de ventana debe tener las siguientes propiedades:

w( 1 , 2 ) = w( 2 , 1 ) = w( 1 2 , 2 ) = w( 1 , 2 1 ) (Simetra de los cumulantes).

w( 1 , 2 ) = 0 Fuera de la regin de soporte de los cumulantes de tercer orden.

w(0,0) = 1 (Condicin de normalizacin).

W (k1 , k 2 ) 0 Para todo (k1 , k 2 ) .

Una funcin que permite satisfacer estas restricciones es:

w( 1 , 2 ) = w( 1 ) w( 2 ) w( 2 1 )

32

(2.46)

Captulo 2: Marco Terico

Donde:

w( 1 ) = w( 1 )
w( 1 ) = 0, 1 > N

(2.47)

w(0) = 1
W (k ) 0, k

Las relaciones anteriores permiten la construccin de ventanas con dos argumentos en el


tiempo, a partir de las ventanas con un solo argumento en el tiempo de las ecuaciones 2.32
a 2.36. Sin embargo, no todas las ventanas satisfacen el requisito W (k ) 0, k , por
ejemplo la ventana de Hanning tiene lbulos laterales negativos en el dominio de la
frecuencia. Las ventanas definidas anteriormente para el espectro de potencia satisfacen los
requisitos anteriores, en la Figura 2.6 se observan en dos ndices de tiempo.

Una ventana ptima para el clculo del Biespectro [1] es la siguiente (ver la Figura 2.7):
1
n
sin(n ) + (1 )(cos(n ))
N
N
wOPT (n) =
N

nN

(2.48)

n >N

Se puede realizar el biperiodograma sobre p secciones de longitud M de tal manera que N =


pM y despus obtener el Biespectro promedio, para cada seccin i donde i = 1,p, el
Biespectro para 2.44 y 2.45 se obtiene como:

BIS (k ) =

1 p
BISi (k )
p i =1

(2.49)

2.4.4 Mtodo de Welch.


Las mismas consideraciones mencionadas para el espectro de potencia acerca de el traslape,
pueden aplicarse al clculo del Biespectro. Welch demostr que traslapes mayores al 50%
no contribuyen a disminuir la varianza, debido a que los segmentos son ms independientes
entre s a medida que el traslape aumenta.

33

Captulo 2: Marco Terico

wD (n, m)

wTH (n, m)

a) Ventana de Daniel.

b) Ventana de Tukey-Hamming.

wP (n, m)

wBP (n, m)

c) Ventana de Parzen.

d) Ventana de Bartlet Priestley.


Figura 2.6 Funciones de ventana con dos ndices de tiempo.

wOPT (n, m)

Figura 2.7 Ventana ptima para el clculo del Biespectro.

34

Captulo 2: Marco Terico

2.5 Biespectro Modificado.


Aunque el Biespectro contiene informacin de magnitud y fase, generalmente solo se
considera la magnitud. Este enfoque es insuficiente en muchos de los casos, sobre todo
cuando se desea identificar y cuantificar explcitamente acoplamientos de fase. Una
modificacin sugerida en [24] incorpora fase y magnitud en una sola medicin de magnitud
dependiente de la fase. Para el Biespectro, si la magnitud se representa como |BIS| y el
ngulo de fase como BIS , dentro del intervalo ( , ) el Biespectro Modificado se
define como:

BIS _ E = BIS

BIS

(2.50)

La Figura 2.8 muestra el uso del Biespectro y del Biespectro Modificado en una seal de
corriente con frecuencia de 60 Hz. Se observa que la magnitud de los armnicos se
modifica significativamente, lo que permite identificar de manera ms explicita la
dependencia de fase.

Comparativo Biespectro vs. Biespectro


Modificado

Magnitud en dB

7
6
5
4

BIS
BIS_E

3
2
1
0
1

Armnicos

Figura 2.8 Comparativo Biespectro contra Biespectro modificado.

35

Captulo 3: Herramienta de Software: Analizador Espectral.

Captulo 3
Herramienta de Software: Analizador Espectral.

3.1 Descripcin.
El principal objetivo de este proyecto de tesis es realizar una herramienta de procesamiento,
por ello se deben tomar en cuenta aspectos que otorguen las mayores facilidades al usuario.
Desde el punto de vista del usuario final el uso de funciones especficas y de paquetes
complementarios de software por lo general es complejo, y requiriere de esfuerzo adicional
para familiarizarse con ellos.

Actualmente, el enfoque de desarrollo de sistemas tipo aplicacin de Windows est


orientado a producir ahorro de tiempo y esfuerzo al usuario. En el caso de una herramienta
de anlisis, evita realizar las tareas por pasos, tales como exportar los datos al ambiente
utilizado, aplicar las funciones correspondientes para realizar el anlisis, graficar y
nuevamente exportar los datos. Si se desea hacer un anlisis paramtrico se debe repetir
todo el proceso.

A pesar de que paquetes como Matlab de MathWorks, o LabView de Nacional


Instruments, son relativamente fciles de utilizar, no se evitan las dificultades antes
mencionadas, sin mencionar que la adquisicin y almacenamiento de datos en este tipo de
lenguajes no son funciones comunes al usuario promedio. En el caso concreto de un
analizador con funciones poliespectrales como la PSD y el Biespectro, la naturaleza de los
resultados requiere del manejo de grficas para facilitar el anlisis en la mayora de los
casos.

36

Captulo 3: Herramienta de Software: Analizador Espectral.

En cuanto al formato de los datos, se considera el uso de secuencias de datos digitales, ya


sea provenientes de sensores y/o equipos de medicin estndares o de otro software o
sistema digital. El enfoque actual de desarrollo de sistemas electrnicos e informticos es el
de implementar soluciones completas, por lo que el empleo de una Interfase Grfica de
Usuario (GUI) provee un valor agregado a cualquier desarrollo. El trmino Herramienta de
Software ser utilizado en este documento para definir un conjunto de algoritmos,
programas, procesos y funciones relacionados entre s para proporcionar una utilidad
previamente definida.

3.2 Especificaciones generales del Analizador Espectral.


De acuerdo a lo mencionado en los captulos 1 y 2, la funcionalidad del analizador espectral
comprende lo siguiente:

Estimacin de la Densidad Espectral de Potencia (PSD).

Estimacin del biespectro (BIS).

Empleo de funciones de ventana para reducir el derrame espectral.

Adquisicin de datos y almacenamiento de resultados.

Operacin interactiva.

Despliegue grfico de resultados

En forma detallada la Herramienta de Software denominada Analizador Espectral posee


las siguientes caractersticas de software:

Procesamiento:
o Implementacin de los algoritmos de momentos de segundo y tercer orden.
o Estimacin de los cumulantes de segundo y tercer orden.
o Clculo de la transformada de Fourier de primer y segundo orden.
o Obtencin de la correlacin de funciones en el dominio de la frecuencia.
o Estimacin de funciones de ventanas con uno y dos ndices de tiempo.

37

Captulo 3: Herramienta de Software: Analizador Espectral.

o Implementacin del algoritmo de densidad espectral de potencia (PSD).

Mtodo directo.

Mtodo indirecto: mediante momentos o cumulantes de segundo


orden.

o Implementacin del algoritmo de biespectro (BIS).

Mtodo directo.

Mtodo indirecto: mediante momentos o cumulantes de tercer orden.

o Seleccin de la regin ptima de los poliespectros de primer y segundo

orden.
o Funciones diversas de operaciones con vectores y matrices.

Adquisicin y almacenamiento de resultados:


o Entrada de datos en formato .DAT o MATHCAD.
o Almacenamiento de resultados en disco, en formato .DAT o MATHCAD.

Interfase Grfica de Usuario (GUI):


o Operacin interactiva por medio de mens.
o Configuracin de parmetros de anlisis.

Presentacin grfica e interactiva de los resultados en 2D y 3D.


o Graficas de PSD, Biespectro y Ventanas.

Las caractersticas de hardware ms relevantes del analizador son:

Funcionamiento en una IBM PC o compatible.

No requiere hardware especializado.*

Uso de opcional de un DSP.*

Es importante mencionar que dentro de las especificaciones de hardware no se mencionan


las etapas correspondientes a la adquisicin de datos, tales como el sensado y el
acondicionamiento de seal, ya que estas dependern de la aplicacin. En el capitulo 10,

38

Captulo 3: Herramienta de Software: Analizador Espectral.

donde se presenta la aplicacin del analizador a un caso prctico, se describe el


procedimiento de adquisicin de los datos, el cul se puede tomar como una referencia para
otras aplicaciones. Las opciones marcadas con (*) dependen del modelo del Analizador
Espectral, como se explicar ms adelante dentro de este captulo. Como resultado de este
proyecto de tesis se obtuvieron tres modelos del Analizador Espectral, cada uno de ellos
con caractersticas propias, ventajas y desventajas implcitas en su uso y diseo. A
continuacin se presentan los resultados de estos tres modelos.

3.3 Modelo 1: Analizador Espectral implementado en Matlab.


La programacin de este modelo del analizador se realiz totalmente en Matlab 6.0, este
paquete de software presenta caractersticas que permiten desarrollar aplicaciones
poderosas y flexibles en un corto tiempo.

3.3.1 Desarrollo del software.


En el proceso de desarrollo de esta versin se realizaron funciones de estimacin de
momentos, cumulantes, funciones de ventana para uno y dos ndices de tiempo, obtencin
del perodograma y biperodograma, implementacin de los mtodos directo e indirecto
para PSD y el BIS. Estas funciones, se encapsularon en el Analizador Espectral, adems se
pueden utilizar independientemente desde la interfase de comandos de Matlab, el cdigo
est disponible en el CD anexo a la documentacin.

Se desarroll una Interfase grfica de usuario (GUI), con operacin interactiva mediante
mens, manejo de graficas y almacenamiento de resultado, cumpliendo las especificaciones
antes mencionadas. La pantalla principal de la aplicacin se muestra en la Figura 3.1.
Consta de 2 secciones funcionales, en la primera se encuentran las opciones de
configuracin de anlisis PSD o BIS, mientras que en la segunda se presentan los valores
de los resultados. Esta GUI cuenta adems con un sencillo men con opciones de manejo
de archivos y despliegue de grficos segn el anlisis realizado.

39

Captulo 3: Herramienta de Software: Analizador Espectral.

Figura 3.1 Analizador Espectral implementado en Matlab.

Esta versin del analizador fue utilizada en el caso de aplicacin. Con objeto de validar el
Analizador Espectral con seales reales, se realizaron pruebas de deteccin de fallas en un
motor de induccin de jaula de ardilla de 2 polos, con alimentacin trifsica, donde se
identificaron ciertos patrones relacionados con fallas elctricas. Los resultados obtenidos se
documentan en el captulo 10.

La principal ventaja del analizador en Matlab es que no requiere hardware especializado


para su uso. Otra ventaja importante es la relativa facilidad de uso de este paquete, y que es
comn su empleo en escuelas y centros de investigacin. De esto ltimo, se deduce que el
cdigo desarrollado es fcilmente modificable para mejoras y adiciones, incluso para
transportarlo a nuevas versiones y como ayuda didctica para nuevos programadores.

La desventaja principal del Analizador Espectral realizado en Matlab es el tiempo de


respuesta en la obtencin del Biespectro, as como la dependencia de una versin especifica
de Matlab, aunque se ha probado sobre la versin 6.2, no existe una garanta de ser
compatible con versiones superiores. Otra desventaja es que no existe una versin
ejecutable, sino que se ejecuta desde Matlab, dejando expuesto el cdigo al usuario. Este
modelo tiene una limitante importante ya que su tiempo de ejecucin para secuencias de
datos mayores de 256 puntos en el perodograma es considerablemente alto, llegando
incluso a los 40 minutos en el caso de la obtencin del cumulante de tercer orden.

40

Captulo 3: Herramienta de Software: Analizador Espectral.

3.3.2 Caractersticas funcionales.


Las caractersticas funcionales de este modelo son:

Entrada de Datos y Almacenamiento de Resultados: El Analizador permite la entrada de


datos en formato .DAT. Permite leer vectores y matrices de clculos de PSD y BIS
realizados anteriormente y almacenar los resultados de los clculos realizados en formato
.DAT, para su uso posterior.

Operacin Interactiva: El Analizador tiene una Interfase Grfica de Usuario (GUI) que
permite al usuario realizar anlisis de PSD y BIS, modificando sus parmetros de obtencin
e interactuar con los resultados.

a) Densidad Espectral de Potencia.

b) Biespectro

Figura 3.2 Manejo de grficas del Analizador Espectral en Matlab.

Configuracin de parmetros de anlisis: El usuario puede seleccionar diferentes opciones


y parmetros para la obtencin de PSD y BIS, tales como el mtodo de clculo, la funcin
de ventana espectral utilizada, el tamao de las secciones del perodograma, entre otros.
Presentacin grfica e interactiva de resultados: Pueden obtenerse grficas 2D de
magnitud y fase para la Densidad Espectral de Potencia (PSD), grficas 3D (Figura 3.2) y

41

Captulo 3: Herramienta de Software: Analizador Espectral.

de contorno para el Biespectro (BIS). Adems permiten conocer los valores de magnitud,
fase y frecuencia de la grfica.

Manual de Usuario: Se realiz un manual de usuario (Anexo 2), que contiene la descripcin
de opciones y utilidades del Analizador Espectral, que en conjunto con el manejo de los
conceptos descritos en el marco terico, permitirn al usuario obtener un mayor beneficio
de esta herramienta de software.

3.3.3 Requerimientos de instalacin.


Para que el analizador espectral pueda ejecutarse es necesario instalar Matlab versin
6.0.0.88 Release 12:

Requisitos de hardware mnimos.

IBM PC Pentium I 233 MHz o compatible.

60 MB de espacio libre en disco duro.

32MB de RAM

Monitor SVGA (800x 600)

Lector de CD-ROM

Requisitos de Software y Sistemas Operativos.

Windows 95, Windows 98, Windows 2000, Windows NT 4.0.

Matlab version 6.0.0.88 Release 12

42

Captulo 3: Herramienta de Software: Analizador Espectral.

3.3.4 Conclusiones para este modelo.


Ventajas:

Tiempo de desarrollo relativamente corto.

Cdigo disponible, fcil de modificar y adaptar a nuevas necesidades.

Buen manejo de grficos y de GUI.

Bajo costo si se cuenta con la licencia de Matlab.

Desventajas:

Desempeo pobre debido a un alto tiempo de ejecucin en algunos casos.

No es posible generar una versin ejecutable del programa.

Cdigo no transportable a otros lenguajes de programacin.

Dependiente de la versin de Matlab.

3.4 Modelo 2: Analizador Espectral implementado en Visual


C++ 6.0 para IBM PC o compatible.
En cualquier proceso de cmputo, disminuir el tiempo de ejecucin es un factor importante,
esto puede hacerse modificando los algoritmos para hacerlos ms eficientes, con accesos
ms directos a la memoria mediante el uso de punteros, o incluso mediante el uso de
hardware adicional. Sin embargo, en algunos lenguajes de alto nivel estas mejoras no
siempre se pueden implementar, debido al alto nivel de abstraccin del hardware. En el
caso de Matlab, adems de tener estas limitantes, ste es un lenguaje interpretado, es decir
que sus instrucciones son traducidas a otro lenguaje, C por ejemplo, y despus llevadas a
lenguaje de mquina. Por otro lado, el uso de lenguaje ensamblador para la programacin
de aplicaciones complejas es imprctico por su extrema dificultad.

43

Captulo 3: Herramienta de Software: Analizador Espectral.

El lenguaje C es ideal para el desarrollo de aplicaciones de software de alto nivel,


implementacin de sistemas operativos y de sistemas embebidos1, solucionando las dos
problemticas presentadas anteriormente. Se eligi Visual C++ 6.0 de Microsoft debido a
su completa compatibilidad con los sistemas operativos de Windows, al fcil manejo de las
clases de Microsoft Foundation Classes (MFC por sus siglas en ingls), y a que permite el
uso de las libreras y componentes comunes en el mercado, tales como ActiveX, Win32 y
OpenGL entre otras, adems de ser compatible con el estndar ANSI para cdigo en C. Es
importante mencionar que existen otros compiladores de C de diversos fabricantes tales
como, Borland, Metrowerks, Keil Software, CodeComposer Studio, etc., en los que estos
algoritmos pueden ser transportados, prcticamente sin ningn cambio, solamente es
necesario adaptar la GUI.

3.4.1 Desarrollo del software.


El Analizador Espectral es un software tipo aplicacin de Windows, desarrollado en Visual
C++, como un auxiliar para el estudio y anlisis espectral de seales en forma prctica
mediante las estadsticas de alto orden y los poliespectros.

Los algoritmos del programa estn desarrollados en ANSI C, para proporcionar


transportabilidad de cdigo a otras plataformas, mientras que el manejo de la GUI est en
Visual C++. Se emplearon recursos de programacin avanzada tales como el uso de
punteros para manejo de vectores y matrices, punteros a funciones que permiten reducir el
tamao de cdigo y aumentar la eficiencia en el uso de sentencias de seleccin tipo
switch, algoritmos de clculo sobre el mismo vector (IN PLACE) para reducir la cantidad
de memoria utilizada. Tambin se usaron funciones de lectura y escritura de archivos a
disco.

Visual C++ permite el desarrollo de aplicaciones tipo Windows, usando conceptos de


manejo de eventos en lugar de programas de tipo estructurado, esto facilita la programacin
1

Es la traduccin del trmino en idioma ingls embedded para un sistema (o parte de un sistema) electrnico
con una funcionalidad completa contenido en un encapsulado.

44

Captulo 3: Herramienta de Software: Analizador Espectral.

de interfases a usuario mucho ms complejas. Un aspecto relevante es la aplicacin del


concepto de multihilos, el cul permite a un proceso desarrollarse en segundo plano, sin
monopolizar el uso del CPU, mientras que se ejecutan otras aplicaciones de Windows,
incluso el uso de otras funciones del mismo Analizador.

El desarrollo de las graficas inicialmente se realiz implementado lienzos en cuadros de


dialogo y pintando pxel a pxel de acuerdo a los valores de los resultados (ver Figura 3.3).
Este enfoque fue desechado porque las graficas no alcanzaban un nivel de calidad
aceptable, no permita una operacin interactiva y su programacin era compleja.

a) Grfica de salida de la PSD.

b) Grfica de salida del Biespectro.

Figura 3.3 Grficas de Salida en Visual C++ 6.0.

Para obtener un mejor manejo de grficos se utiliz un control ActiveX, del ambiente de
programacin Measurement Studio para Visual C++ 6.0 de National Instruments

TM

[25],

en la Figura 3.4 se muestran las graficas creadas mediante este componente. Existen otros
componentes para manejo de grficos como el TeeChart de Steema Software [26], sin
embargo se prefiri el primero, ya que provee utilidades para el desarrollo de GUI y
herramientas para sistemas de adquisicin e instrumentacin virtual.

45

Captulo 3: Herramienta de Software: Analizador Espectral.

a) Grfica de salida de la PSD.

b) Grfica de la ventana de Daniel.

Figura 3.4 Grfica de salida de la PSD en Measurement Studio para Visual C++ 6.0.

El desempeo de este modelo en cuanto al tiempo de ejecucin de los algoritmos de PSD y


BIS es muy superior a la versin de Matlab. La GUI tiene una mejor presentacin y
funcionalidad que la del primer modelo. Una ventaja importante es que el programa de
instalacin no requiere de ningn otro paquete de software para su funcionamiento. Esta
versin tiene como principales limitaciones el costo de la licencia de los componentes
grficos. Para el desarrollo de esta tesis se utiliz una versin de evaluacin con un tiempo
mximo de uso de 5 minutos por ejecucin. Esto impide que se puedan realiza algunas
combinaciones de anlisis de Biespectro con secciones del periodograma mayores a 512
puntos mediante el mtodo indirecto.

3.4.2 Caractersticas funcionales.


Las caractersticas funcionales de este modelo son:

Entrada de Datos y Almacenamiento de Resultados: El Analizador Espectral requiere la


entrada de datos y almacena los resultados en formato .DAT. Permite leer vectores y
matrices de clculos de PSD y BIS realizados anteriormente y transportarlos a otros
paquetes como Matlab.

46

Captulo 3: Herramienta de Software: Analizador Espectral.

Operacin Interactiva: La pantalla principal del Analizador Espectral es breve y sencilla,


pues las opciones de operacin se encuentran en el men principal, cuenta con una barra de
progreso, donde se puede ver el estado de avance del proceso, y controles disponibles al
usuario para comenzar o cancelar el anlisis (Figura 3.5).

Figura 3.5 Interfase de Usuario del Analizador en Visual C++ 6.0.

Configuracin de parmetros de anlisis: Los parmetros de clculo se modifican mediante


una hoja de propiedades accesible mediante el men, donde el usuario puede seleccionar
diferentes opciones y parmetros para la obtencin de PSD y BIS. Adems, es posible
almacenar la configuracin actual en un archivo *.CFG para su uso en anlisis futuros o
como referencia del clculo actual.

Presentacin grfica e interactiva de resultados: Cuenta con manejo de graficas 2D y


3D para representar PSD, BIS y las funciones de ventana utilizadas. Las grficas tienen
opciones de acercamiento (zoom), rotacin, visualizacin de la regin de inters, cambio de
textura, cursor interactivo que indica magnitud e ndices de frecuencia, adems de una
utilidad de barras deslizantes y visualizadores que indican magnitud y fase.

Manual de Usuario: Describe el funcionamiento del Analizador Espectral, las opciones de


configuracin, el manejo detallado de las grficas y el procedimiento de instalacin, entre
otras cosas. El manual de usuario es aplicable a los modelos de PC y DSP (Anexo 3).

47

Captulo 3: Herramienta de Software: Analizador Espectral.

3.4.3 Requerimientos de instalacin.


Para que el Analizador Espectral pueda utilizarse solamente es necesario ejecutar el
programa de instalacin:

Requisitos de hardware mnimos:

IBM PC Pentium I 266 MHz o compatible.

100 MB de espacio libre en disco duro.

32MB de RAM (64 MB recomendado)

Monitor SVGA (800x 600)

Lector de CD-ROM

Requisitos de Software y Sistemas Operativos:

Windows 95, Windows 98, Windows 2000, Windows NT 4.0.

Runtime de LabView 6.1 o superior.

3.4.4 Conclusiones para este modelo.


Ventajas:

Desempeo notablemente ms eficiente que la versin de Matlab.

Transportabilidad de cdigo a otras plataformas.

Presentacin ms profesional al usuario.

Fcil uso, por ser una aplicacin de tipo Windows.

Desventajas:

Costo de la licencia del componente ActiveX.

Mayor tiempo de desarrollo.

No permite modificacin del cdigo.

48

Captulo 3: Herramienta de Software: Analizador Espectral.

3.5 Modelo 3: Analizador Espectral implementado en Visual


C++ 6.0 para DSP TMS320C6701.
Esta opcin del Analizador Espectral consiste en la Interfase Grfica de Usuario (GUI)
desarrollada en Visual C++, para el segundo modelo, pero el procesamiento de los
algoritmos es ejecutado por un procesador dedicado DSP, lo que libera de trabajo
computacional al CPU de la PC. El DSP empleado fue el TMS320C6701 de Texas
Instruments.

3.5.1 Desarrollo del software.


El mdulo de evaluacin TMS320C6X es una plataforma de propsito general de bajo
costo para el desarrollo, anlisis y prueba de algoritmos y aplicaciones de procesadores
digitales de seales (DSP) C6X. Adems provee libreras matemticas de soporte y de
manejo de hardware, totalmente compatibles con lenguaje C, esto permite que pueda
utilizarse la Interfase de Usuario desarrollada en Visual C++.

El DSP se configura para actuar como un coprocesador del CPU de la computadora


personal, realizando las operaciones de obtencin de PSD y Biespectro, mientras que la PC
continua siendo la interfase hacia el usuario. Tambin es posible configurar al DSP para
operar en modo autnomo, sin necesidad de una PC externa, esto es til para procesos en
lnea que no requieran interaccin con el usuario.

En el desarrollo de este modelo se emplearon las libreras de software provistas por Texas
Instruments para el manejo de hardware y para transmisin de bloques de datos entre la
memoria del DSP y la PC mediante una interfase PCI (HPI host port interface). Se
distribuy el mapa de memoria disponible en la tarjeta de evaluacin TMS320C6701 EVM,
para cumplir con las especificaciones de la aplicacin.

49

Captulo 3: Herramienta de Software: Analizador Espectral.

Se implement un protocolo de comunicaciones basado en semforos y banderas, mediante


el cul es posible saber el estado de los clculos realizados en el DSP para poder enviarle
nuevos datos y obtener los resultados (Figura 3.6).

3.5.2 Modelo del Protocolo de Comunicaciones.


Utilizando las caractersticas de acceso a memoria de la interfase HPI de la tarjeta de
evaluacin [27] y [28], se desarroll un protocolo que consiste en el envo de mensajes
desde la PC al DSP en un esquema anfitrin-terminal. De esta forma es posible conocer el
estado del DSP despus de cada mensaje, mediante la lectura de banderas localizadas en
memoria.

Mensajes
Banderas

Vectores y Matrices

Host Port Interface (HPI)

PC de Escritorio

TMS320C6701 EVM

Figura 3.6 Modelo del protocolo de comunicaciones.

Los datos de entrada son llevados desde el disco duro a la memoria RAM de la PC,
posteriormente son enviados a la memoria del DSP a travs de la interfase HPI para ser
analizados. Finalmente son llevados de vuelta a la RAM de la PC para almacenamiento
opcional en disco.

En las Figura 3.7 y Figura 3.8 se muestran los diagramas de bloques simplificados del
protocolo de comunicaciones, desde el punto de vista del DSP TMS320C6701 y de la PC.
Se incluye pseudo-cdigo que indica los cambios de estado de operacin del DSP
(dsp_status) y los mensajes de rdenes desde la PC (dsp_message). La Tabla 3-1 contiene
los mensajes y la Tabla 3-2 los posibles estados del protocolo.
50

Captulo 3: Herramienta de Software: Analizador Espectral.

Mensaje

Tabla 3-1 Listado de mensajes enviados al DSP.


Descripcin

ID

NO_MESSAGE

No especifica una operacin definida.

CFG_SENT

Indica que la configuracin se ha enviado.

BLOCK_SENT

Indica que se ha enviado un bloque de datos.

START

Sealiza un nuevo ciclo de operaciones.

NEXT

Indica que existen bloques de datos pendientes por enviar.

NONE_BLOCK

Indica que se ha terminado la transmisin de bloques.

DATA_RECEIVED

Indica que el Host ha recibido los resultados.

PROGRAM_ABORT

Marca que el programa ha terminado.

Estados

Tabla 3-2 Listado de estados de operacin del DSP.


Descripcin

ID

NO_STATE

Estado inactivo del protocolo

WAITING_CFG

El DSP se encuentra esperando recibir la configuracin.

WAITING_BLOCK

El DSP se encuentra esperando recibir un bloque de datos.

RDY_TO_START

Indica que el DSP esta listo para un ciclo de operacin.

BLOCK_FINISHED

Indica que el DSP ha realizado el anlisis de un bloque de datos.

HOS_RDY

Indica que el DSP ha terminado el anlisis completo.

51

Captulo 3: Herramienta de Software: Analizador Espectral.

NO

Programa
Activo?

Salir

while(dsp_message != PROGRAM_ABORT);
SI
dsp_status = WAITING_CFG;

NO

Configuracin
recibida?

while(dsp_message != CFG_SENT);
SI
Inicializacin y
primeros clculos.

dsp_message = NEXT;
Algn bloque?

dsp_message = NONE_BLOCK;
NO

Anlisis final.

while (dsp_message != NONE_BLOCK)


dsp_status =
HOS_RDY;

SI
dsp_status = RDY_TO_START;

Iniciar clculos
de bloque?

NO

NO

Resultados
Transferidos?

SI

while(dsp_message != START);
SI
while(dsp_message != DATA_RECEIVED);
dsp_status = WAITING_BLOCK;

Recepcin de
bloque?
while(dsp_message != BLOCK_SENT);

Realizar clculos
dsp_status = BLOCK_FINISHED;

Figura 3.7 Diagrama de flujo del protocolo de comunicaciones desde el punto de vista del DSP
TMS320C6701.

52

Captulo 3: Herramienta de Software: Analizador Espectral.

Inicio del hilo de ejecucin

Inicializaciones
(configuracin
desde la GUI)

NO

DSP esperando
configuracin?

while (dsp_status != WAITING_CFG);


SI

Enviar parmetros de
configuracin
while (dsp_status != HOS_RDY);
dsp_message = CFG_SENT;

SI

Perodograma
completado?

dsp_message =
NONE_BLOCK;

NO

Anlisis
finalizado?

NO

SI

dsp_message = NEXT;
Obtencin de
resultados del DSP
NO

Ciclo de bloque
DSP listo?

while (dsp_status != RDY_TO_START);

dsp_message =
DATA_RECEIVED;

SI
dsp_message = START;
Actualizaciones de la
GUI

Obtener datos desde


disco.

Fin del hilo de ejecucin


DSP esperando
bloque?

NO
while(dsp_status != WAITING_BLOCK);

SI

Enviar datos al DSP


dsp_message = BLOCK_SENT;

SI
Bloque
Analizado?

NO
while(dsp_status != BLOCK_FINISHED);

Figura 3.8 Diagrama de flujo del protocolo de comunicaciones desde el punto de vista de la IBM PC.

53

Captulo 3: Herramienta de Software: Analizador Espectral.

3.5.3 Manejo de Memoria.


La parte fundamental de este protocolo es el manejo de la memoria del DSP, por ellos es
necesario conocer la direccin exacta de sus variables, para permitirle a la PC usarlas como
si pertenecieran a su mapa de memoria. El Code Composer Studio provee una utilidad
denominada Visual LinkerTM, que presenta en forma grfica el mapa de memoria del DSP.
Adems, permite crear zonas de memoria dentro del espacio de memoria disponible,
teniendo control de su direccin y su tamao.

En la Figura 3.9 se muestra el mapa de memoria del DSP TMS320C6701, en el se destacan


tres regiones de memoria fundamentales. La regin denominada IPRAM (64Kbytes)
corresponde a la memoria interna de programa y muestra la ubicacin en memoria de las
funciones y libreras incluidas en el programa. La regin de IDRAM (64Kbytes),
corresponde a la memoria interna de datos y contiene el rea de la pila de memoria del
programa (stack). Por ltimo, la regin de usuario, creada en el espacio de memoria externa
de datos, para esta aplicacin se le denomino HOS, donde se ubican las variables y arreglos
de memoria utilizados en el programa principal.

Cuando se programan sistemas basados en procesadores dedicados se debe ser cuidadoso


en el manejo de los recursos del procesador y del sistema, especialmente de la memoria; el
DSP TMS320C6X tiene 64 Kbytes de RAM de datos interna y la tarjeta de evaluacin
EVM C6X proporciona un banco de 64K x 32 bits de SBSRAM a 133 MHz, y dos bancos
de 4M x 32 bits de SDRAM a 100 MHz accesibles mediante una interfase EMIF (en el
anexo 1 se detallan las caractersticas de la tarjeta de evaluacin) [29]. En el caso especfico
de la aplicacin del Analizador esto constituye una fuerte limitacin para el tamao del
perodograma que se puede calcular pues el manejo de matrices y vectores ocupa la mayor
parte de la memoria disponible.

54

Captulo 3: Herramienta de Software: Analizador Espectral.

0x000000h

IPRAM
Memoria Iinterna de
programa
64 KB
0x00040000h

0x2000000h

USUARIO
Memoria Externa de Datos
Banco 0
4 MB
0x02400000h

0x80000000h

IDRAM
Memoria Interna de Datos
64 KB
0x80010000h

0x80400000h

Areas
de
memoria
reservadas,
utilizadas por los perifricos o
no disponibles.

Figura 3.9 Mapa de memoria del DSP TMS320C6701.

55

Captulo 3: Herramienta de Software: Analizador Espectral.

La Figura 3.10 muestra la demanda de memoria de acuerdo al tamao del perodograma en


potencias enteras de 2. De esto se nota que el manejo de memoria externa es indispensable,
an con el costo en tiempo de acceso y de desarrollo de programa.

Figura 3.10 Memoria necesaria para el Analizador Espectral en trminos de potencias enteras de 2.

De acuerdo a esta grfica, se observa que una FFT2, de 512 datos complejos de punto
flotante, requiere 2,097,152 bytes; esto es 2 MBytes, aproximadamente la mitad de la
memoria mxima disponible. Para 1024 puntos esta cantidad se cuadriplica, por lo que es
prcticamente imposible implementarlo en la tarjeta de evaluacin, a diferencia del
programa implementado solo para la PC.

3.5.4 Caractersticas funcionales.


La funcionalidad de este modelo es en esencia la misma que la del modelo desarrollado
nicamente para PC, ya que el uso del DSP es para procesamiento de datos y no es
configurado por el usuario. El manual de usuario es aplicable a los modelos de PC y DSP
(Anexo 3).

Este modelo es ms eficiente que el implementado en Matlab, sin embargo, el tiempo de


ejecucin no es mejor que el del modelo de Visual C++. Esto se justificar ms adelante al

56

Captulo 3: Herramienta de Software: Analizador Espectral.

analizar los resultados de los comparativos entre plataformas. En trminos prcticos puede
mencionarse que para esta aplicacin en particular el uso de un DSP no es ptimo.

Otro factor a considerar es el tiempo empleado para la transferencia de datos desde la PC a


la memoria externa del DSP. Como se explic en la seccin anterior, el tamao de memoria
disponible es una limitacin importante, pues solamente se pueden manejar perodogramas
de 512 puntos como mximo.

Finalmente, aunque existen libreras proporcionadas por Texas Instruments, que permiten
cargar un cdigo ejecutable a la memoria de programa del DSP desde una aplicacin
independiente (por ejemplo un programa en C o Visual C++), stas no funcionan
correctamente. Actualmente no se encuentran disponibles actualizaciones de libreras para
este modelo de DSP, la nica opcin posible es cargar y ejecutar el programa desde
CodeComposer Studio antes de iniciar la aplicacin del Analizador.

El manual de usuario es el mismo del modelo 2, debido a que el modo de procesamiento y


comunicaciones entre procesadores es transparente al usuario.

3.5.5 Requerimientos de instalacin.


Para que el Analizador Espectral pueda utilizarse es necesario ejecutar el programa de
instalacin, y cargar el programa en la memoria del DSP:
Requisitos de hardware mnimos.

IBM PC Pentium I 233 MHz o compatible.

60 MB de espacio libre en disco duro.

64MB de RAM

Monitor SVGA (800x 600)

Lector de CD-ROM

Tarjeta TMS320C6701 EVM de Texas Instruments.

57

Captulo 3: Herramienta de Software: Analizador Espectral.

Sistemas Operativos y requisitos de Software.

Windows 95, Windows 98, Windows 2000, Windows NT 4.0.

Code Composer StudioTM V2 para el TMS320C6000

Runtime de LabView 6.1 o superior.

3.5.6 Conclusiones para este modelo.


Ventajas:

Desempeo notablemente ms eficiente que la versin de Matlab.

Posee las mismas caractersticas externas del modelo en Visual C++.

Libera tiempo de procesamiento en el CPU externo.

Desventajas:

Tiene las mismas limitaciones del modelo de PC.

Tiempo de ejecucin no es mejor que el del modelo anterior.

Tamao de las secciones de anlisis limitado por las caractersticas de memoria.

Errores en las libreras del fabricante.

3.6 Comparativos entre plataformas, basados en el Analizador


Espectral.
Finalmente se realizaron comparaciones de desempeo o benchmarks para las aplicaciones
de Analizador Espectral basadas en PC y DSP. Aunque, no es el fin ltimo de esta tesis el
establecer una comparacin directa entre las versiones del analizador, puesto que cada una
est desarrollada de forma diferente, y todas son completamente funcionales. Sin embargo,
es til para sentar las bases para una comparacin entre plataformas de procesamiento.

58

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

Captulo 4
Comparativo de caractersticas entre plataformas
PC Y DSP.
En los ltimos aos se ha hablado mucho acerca de comparaciones entre plataformas de
procesadores de uso general (General Purpose Processors, GPPs, por sus siglas en ingls)
y procesadores dedicados como los procesadores digitales de seales (DSPs). Sin
embargo, antes de hacer una comparacin es necesario entender los avances recientes en el
desarrollo de sus respectivas arquitecturas, as como las ventajas y desventajas que
presentan en el desarrollo de un aplicacin, las cuales pueden ir desde la disponibilidad de
herramientas de desarrollo hasta el costo total del sistema.

4.1 Hardware especializado.


Los procesadores Digitales de Seales (DSPs)

son los principales componentes de

equipos mdicos, comunicaciones, entretenimiento e industriales, su hardware e


instrucciones especializados lo hacen eficiente al ejecutar los clculos matemticos del
procesamiento digital de seales.

Los DSP tienen hardware e instrucciones especializados para multiplicaciones, mltiples


conexiones del bus a memoria para obtener los operandos a multiplicar en un solo ciclo de
instruccin (operaciones MAC), mientras que los procesadores de propsito general no son
tan eficientes en la ejecucin de esos algoritmos [13], pues realizan las multiplicaciones por
medio de series de corrimientos y sumas. La multiplicacin acumulativa es til en los

59

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

algoritmos DSP que involucran el clculo de productos de vectores, tales como filtros
digitales, correlacin, y FFT [16].

4.2 Paralelismo.
El paralelismo es la habilidad de desempear varias instrucciones al mismo tiempo. Junto
con el valor de la frecuencia del reloj, determina la velocidad de operacin del procesador.
Una diferencia clave entre ambas plataformas (GPPs y DSPs) es la forma en que envan y
ejecutan varias instrucciones por ciclo de reloj. En la arquitectura clsica los DSPs envan
una sola instruccin por ciclo, empaquetando en ella varias operaciones, mientras que los
GPPs como el Pentium y el PowerPC de Motorola envan varias instrucciones por ciclo de
reloj [30].

Los DSPs se disearon para aplicaciones sensibles al costo y de bajo consumo de potencia.
Su arquitectura est orientada a envos nicos y es ms econmica y simple de implementar
que las arquitecturas que envan ms de una instruccin por ciclo. El empaquetamiento de
operaciones tiene como desventajas que el conjunto de instrucciones tenga restricciones, ya
que el cdigo de operacin (Opcode) es de 16 a 24 bits dependiendo del procesador, y solo
puede ser utilizado con ciertos registros y condiciones dependientes de la arquitectura, lo
que dificulta el crear compiladores de alto nivel eficientes. Adems, aumenta la dificultad
de programacin en lenguaje ensamblador.

En cuanto a los GPPs, estos incluyen una sola operacin por instruccin y envan mltiples
instrucciones en un ciclo de reloj, proveyendo de este modo el paralelismo. La principal
ventaja de este punto de vista es la velocidad de ejecucin, pues los ciclos de bsqueda,
decodificacin y ejecucin son ms simples. Esto permite una mayor frecuencia de reloj y
niveles mayores de paralelismo, cdigo sin tantas restricciones, ms porttil y que permite
herramientas de desarrollo ms eficientes. La desventaja de este enfoque es que requiere
mayor uso de memoria, costo, tamao del procesador y consumo de potencia.

60

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

Considerando el desempeo como lo ms importante, han surgido DSPs con arquitecturas


de envos mltiples, lo que ha permitido el desarrollo de compiladores ms eficientes. La
diferencia entre un DSP de envos mltiples y un GPP es la forma en que realizan los
envos. Los DSP utilizan una arquitectura llamada VLIW (very long instruccin word) en la
que aumentando el tamao de la palabra de instruccin hasta 256 bits, se envan mltiples
instrucciones, que se ejecutan en paralelo aumentando el desempeo. En VLIW el
programador de lenguaje ensamblador o el compilador determinan que instrucciones se
ejecutan en paralelo, DSPs como el StarCore SC140 de Agere Systems y Motorola,
Carmel de Infineon, TigerShark de Analog Devices y el TMS320 de Texas Instruments
utilizan este enfoque.

La arquitectura de mltiples envos de los GPPs se denomina Superescalar, las


instrucciones que deben ejecutarse en paralelo son determinadas por hardware especial
dentro del procesador, basado en los recursos disponibles, dependencias de datos,
instrucciones ejecutadas, y otros aspectos. Esto permite mayor compatibilidad de cdigo, y
el desarrollo de compiladores ms eficientes. El nico DSP disponible con arquitectura
superescalar es el LSI40xx de LSI Logic Inc.

4.2.1 Un punto de vista de programacin.


Desde el punto de vista del programador las arquitecturas VLIW son difciles de programar
en ensamblador porque se deben considerar las mltiples unidades de procesamiento y
organizarlas adecuadamente, esto implica conocer detalladamente la arquitectura del DSP y
que el comportamiento total del sistema est previamente definido, pues cada nueva adicin
significa una nueva revisin de estas asignaciones. Adems, casi en la totalidad de los casos
el cdigo no es binariamente compatible, es decir que no es porttil de una plataforma a
otra. Sumado a esto, los compiladores de alto nivel no son 100% eficientes, aunque
actualmente esto est cambiando. La ventaja de este enfoque es la predictibilidad de tiempo
de ejecucin; este aspecto es absolutamente deseable en procesamiento digital de seales.
En cambio, la arquitectura Superescalar permite el uso de compiladores altamente
eficientes, cdigo compatible y porttil, sin embargo, es difcil predecir el tiempo de

61

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

ejecucin y medir el desempeo de una aplicacin en tiempo real, adems es difcil


optimizar el software en cuanto a la utilizacin de recursos [30].

4.2.2 Otras formas de Paralelismo.


Existe otro tipo de paralelismo llamado de Instruccin Simple para Datos Mltiples
(SIMD). Esto consiste en aplicar una misma operacin a mltiples conjuntos
independientes de datos, un procesador SIMD puede tratar a los datos en un registro largo
(64 bits) como mltiples datos ms pequeos (16 bits), en los cuales desempea la misma
operacin y genera mltiples resultados independientes, esto es til para operaciones y
algoritmos vectoriales. Este enfoque ha permitido que procesadores como el Pentium III de
Intel y el PowerPC de Motorola sean competitivos a los DSPs en tareas de procesamiento
digital, como se muestra en la grfica de tiempos de ejecucin de una operacin de
Transformada Rpida de Fourier (FFT) de la Figura 4.1 [30].

Figura 4.1 Comparativo de ejecucin de FFT realizado entre DSPs y el Pentium III (Berkeley Design
Technology Inc. 2001).

62

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

4.3 Arquitectura de memoria


4.3.1 Organizacin de la memoria.
La organizacin del subsistema de memoria tiene un gran impacto en el desempeo, pues
para poder realizar la ejecucin de instrucciones en un solo ciclo de reloj se requiere que el
acceso a memoria de los operandos sea eficiente.
Los GPPs usan la arquitectura llamada Von Neumann (Figura 4.2), que consiste en un
simple banco de memoria al cul el procesador tiene acceso mediante un conjunto de lneas
de direcciones y datos. Los datos y las instrucciones del programa se encuentran
almacenados en esta memoria, en el caso ms simplificado el procesador hace un nico
acceso a memoria durante un ciclo de instruccin. En la arquitectura Superescalar se hacen
mltiples accesos a esta memoria durante un solo ciclo de instruccin utilizando memorias
internas (on-chip). Otra forma de lograr el acceso mltiple es utilizando memorias
multipuerto, las cuales tiene lneas de direcciones y datos diferentes que permiten que se
realicen mltiples accesos en paralelo.

Procesador Central

Bus de Direcciones

Bus de Datos

Memoria
de Programa y Datos.

Figura 4.2 Arquitectura Von Neuman.

63

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

Los DSPs utilizan una estructura de memoria diferente donde el procesador es conectado
con dos bancos de memoria independientes a travs de dos buses, este tipo de arquitectura
se conoce como Harvard. En la arquitectura Harvard original (Figura 4.3), un banco
mantiene los datos y el otro las instrucciones del programa; este concepto se puede extender
ligeramente para permitir que un banco mantenga las instrucciones y datos y el otro
solamente datos, o una banco para instrucciones del programa y dos para datos, lo que se
conoce como Harvard Modificado.

Procesador Central

Bus de Direcciones 2

Bus de Direcciones 1

Bus de Datos 1

Bus de Datos 2

Memoria
de datos

Memoria
de Programa

Figura 4.3 Arquitectura Harvard.

4.3.2 Manejo eficiente de la memoria.


Otra caracterstica importante de los DSP es la habilidad de completar mltiples accesos a
memoria en un solo ciclo de instruccin, lo que permite al procesador

buscar una

instruccin mientras que simultneamente busca los operandos y guarda el resultado de una
instruccin previa en la memoria. Para soportar estas caractersticas algunos DSP tienen
mltiples circuitos manejadores de buses, memorias multipuerto, y en algunos casos bancos
independientes de memoria. Adems, soportan modos de direccionamiento optimizados
para el uso de buffers circulares, FFTs y otras operaciones.

64

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

4.3.3 Manejo de flujos de Entrada-Salida.


Con la finalidad de proveer un sistema de entrada-salida de alto desempeo y bajo costo,
los procesadores DSP incorporan una o ms interfaces serie y paralelo especializadas, y
mecanismos de manejo de flujos de I/O tales como el acceso directo a memoria DMA y un
manejo de interrupciones de baja carga, para permitir que las transferencias de datos
procedan con muy poca o ninguna intervencin de las unidades computacionales del
procesador.

4.3.4 Lazos de sobrecarga cero.


Los algoritmos DSP, generalmente emplean la mayor parte de su tiempo de procesamiento
en secciones de cdigo que ejecutan repetidamente, es decir en lazos. Por este motivo
muchos procesadores DSP tienen instrucciones especiales para manejo de lazos eficiente.
Es posible implementar un ciclo for-next sin que se requiera ningn ciclo de reloj para
actualizar y probar el contador de lazo.

4.4 Costo.
El mejor procesador para una aplicacin es el que cumpla con los requerimientos a un
menor costo. No se debe considerar solamente el costo del procesador sino tambin el de la
circuitera asociada, memoria, herramientas de diseo y disponibilidad. Los costos varan
dependiendo de la funcionalidad del procesador, de su tiempo de salida en el mercado y por
la cantidad del pedido.

4.5 Otras opciones para sistemas embedded.


Alternativamente al uso de los DSPs y GPPs, actualmente han surgido los llamados
Procesadores de Propsito General con capacidades DSP [15], los cuales tienen
caractersticas de ambas plataformas, tales como altas velocidades de reloj, ejecucin
Superescalar, prediccin de saltos de programa, bajo costo, ms fciles de usar que un DSP
65

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

y un desempeo razonable; ejemplos de estos son el SH-DSP de Hitachi, el ARM9E de


Infineon TriCore. Adicionalmente algunos DSPs actuales cuentan con caractersticas de
microcontroladores tales como puertos SCI, SPI, I2C, buses automotrices como LIN y
CAN (ejemplo DSP56F8001 de Motorola). Otras alternativas para sistemas embedded son
el uso de ASICs y FPGAs.

4.6 Consideraciones en el diseo de un comparativo.


El desempeo de un procesador puede medirse de muchas maneras, la forma ms comn es
midiendo el tiempo en el que desempea una cierta tarea. Tambin puede hacerse midiendo
el uso de memoria y el consumo de potencia dependiendo de la aplicacin, pero
generalmente el factor tiempo es el ms utilizado. Existen varias formas de realizar estos
comparativos; la mtrica simple, por aplicacin y mediante ncleos (kernels) [13].

La medicin de mtrica simple consiste en la cantidad de millones de instrucciones por


segundo (MIPS); este enfoque es engaoso ya que en las arquitecturas VLIW, se enva una
sola instruccin de varias operaciones en un ciclo de reloj y en Superescalar se envan
mltiples instrucciones de una sola operacin. Similarmente, la medicin mediante
millones de operaciones por segundo (MOPS) tiene el mismo inconveniente ya que la
complejidad de cada operacin vara en cada procesador y para realizar una tarea requieren
de cantidades de operaciones diferentes. Una mtrica ms es mediante la cantidad de
multiplicaciones acumulativas por segundo (MACS). Sin embargo un DSP no solamente
realiza operaciones MACS e incluso puede realizarlas en paralelo con otras tareas por lo
que no es un indicador confiable del desempeo de un DSP, adems de que no reflejan la
cantidad de memoria que requiere el DSP ni el consumo de potencia.

Otra forma de medir el desempeo de un procesador es mediante una aplicacin en un


sistema completo tal como un Mdem V.90. Sin embargo esta aproximacin no es
confiable pues en realidad no se determina el desempeo del DSP sino en conjunto con
otros componentes y podra variar hasta por la habilidad del diseador y/o programador,
incluso del desempeo de los otros componentes.
66

Captulo 4: Comparativo de caractersticas entre plataformas PC Y DSP.

Finalmente, existe una forma ms confiable de medir el desempeo de un procesador, esto


es mediante el uso de secciones de cdigo computacionalmente intenso (kernels) como la
FFT o algoritmos de Filtros de respuesta Finita al Impulso (FIR) [16]. Generalmente se
realiza el programa en ensamblador de forma optimizada, lo que adems permite predecir y
hasta simular el tiempo de ejecucin del procesador. Adicionalmente, se mide el consumo
de potencia y el uso de memoria del procesador, finalmente se realiza un acumulativo de la
puntuacin para determinar el desempeo total. Existen compaas especializadas en
desarrollar este tipo de pruebas y comercializar los resultados, algunos ejemplos son
Berkeley Design Technology, Inc. (BDTI) y EDN Embedded Microprocessor Benchmark
Consortium (EEMBC).

Figura 4.4 Comparativo total realizado entre DSPs y el Pentium III (Berkeley Design Technology Inc.
2004).

La Figura 4.4 muestra un comparativo total realizado por BDTI [21], de algunos DSPs de
punto flotante contra el Pentium III. En la grfica se puede apreciar, que no necesariamente
el procesador de mayor frecuencia de operacin es el que obtuvo mejor puntuacin, por
ejemplo el DSP TigerShark de Analog Devices a 600 Mhz obtuvo mayor puntuacin que el
Pentium III a 1.4 Ghz. Generalmente los comparativos incluyen varios aspectos, entre ellos
el consumo de potencia, el rea del encapsulado, el costo, operaciones por ciclo de reloj, los
resultados de ejecucin de un algoritmo, el tiempo de desarrollo de software y la
disponibilidad de herramientas de desarrollo.

67

Captulo 5: Resultados de los Comparativos Realizados.

Captulo 5
Resultados de los Comparativos Realizados.

5.1 Diseo y consideraciones del comparativo.


Se realiz un comparativo2 entre plataformas PC y DSP, utilizando un procesador Athlon
de AMD @ 750 MHz, el cul era el modelo disponible (no muy reciente pero de buen
desempeo) y el DSP TMS320C6701 de Texas Instruments @ 100 MHz. En el Anexo 1 se
detallan las caractersticas de ambas plataformas. Se debe tomar en cuenta que debido a su
arquitectura, la predictibilidad de tiempo de ejecucin de algoritmos en procesadores de
propsito general (GPPs) es imprctica, y el sistema operativo en el caso de las PCs es
quien maneja los recursos disponibles. En cuanto al DSP TMS320C6701 se debe tener un
conocimiento profundo de la arquitectura y realizar el programa en ensamblador para poder
conocer el desempeo real del dispositivo. Para efectos de este proyecto de tesis estas
consideraciones no son aplicables, ya que el programa fue realizado en C y trasladado a
ensamblador por las utilidades de conversin y optimizacin de CodeComposer StudioTM.
Otro punto al respecto es el hecho de no contar con las herramientas de software y
hardware necesarias para la operacin autnoma del DSP TMS320C6701. Sin embargo
mediante el enfoque de comparacin de secciones de cdigo o kernels es posible realizar un
comparativo sencillo del tiempo de ejecucin en ambas plataformas. Independientemente
de los resultados mostrados no es posible hacer una afirmacin sobre que plataforma es
mejor sobre la otra, ya que esto depende enteramente de la aplicacin, el desempeo
deseado, el costo de desarrollo y el costo del producto final.
2

Tambin se utiliza el trmino benchmark, tomado del idioma ingls y ampliamente utilizado en el mbito
computacional para comparativos y evaluaciones de desempeo de sistemas.

68

Captulo 5: Resultados de los Comparativos Realizados.

El software empleado para realizar estos comparativos se realiz en Visual C++ 6.0, se
incluyeron las libreras de manejo de hardware de Texas Instruments, mientras que el
cdigo ejecutado en el DSP se realiz en CodeComposer Studio V.2.0, empleando Visual
LinkerTM para la ubicacin de las variables en memoria interna y externa del
TMS320C6701.

El comparativo tiene las siguientes consideraciones de operacin:

La operacin del TMS320C6701 es mediante la interfase PCI como co-procesador y


no en modo autnomo.

Exceptuando el sistema operativo y su manejo de interrupciones, no se ejecuta


ningn otro programa adems del software del comparativo.

El proceso de la PC y del DSP (por la naturaleza del modo de operacin) son


manejados mediante una Interfase Grfica de Usuario (GUI) (Figura 5.1).

Figura 5.1 Interfase del programa en la PC utilizado en el comparativo.

No existe intercambio de datos entre la PC y el DSP en la ejecucin del algoritmo,


los datos son locales a la plataforma en las siguientes formas:
o PC: utiliza su propia memoria RAM externa.

69

Captulo 5: Resultados de los Comparativos Realizados.

o DSP: se tienen dos modalidades, una emplea la memoria IDRAM (Memoria

RAM Interna de datos) esto implica restricciones en la longitud del


perodograma, y la otra utiliza la memoria externa.

Los criterios de evaluacin de este comparativo son:

El anlisis de desempeo consisti en la ejecucin de 4 secciones de cdigo


(kernels) de la aplicacin del Analizador Espectral, FFT, FFT2 , Cumulantes de
2do orden (C2x) y Cumulantes de 3er orden (C3x) con el fin de variar el esfuerzo
computacional realizado (Figura 5.2).

El tiempo de clculo (Figura 5.2) se mide con un temporizador con resolucin de 10


milisegundos, el cul inicia junto con el proceso y no con el manejo de la GUI,
actualizaciones de parmetros o inicializaciones de memoria.

En las grficas de resultados el tiempo est expresado en segundos teniendo como


mximo 300 segundos, despus de este tiempo se considera que la operacin no es
aplicable para un comparativo.

Figura 5.2 Ejemplo de tipos de anlisis y obtencin del tiempo de procesamiento.

En todas las grficas mientras ms pequeo sea el tiempo de procesamiento, el


desempeo es mejor.

70

Captulo 5: Resultados de los Comparativos Realizados.

No se aplican todos los benchmarks al DSP utilizando la RAM interna del DSP
(IDRAM3) como memoria de datos. En el caso de matrices el tamao mximo es de
64x64 elementos.

Se utilizan repeticiones de los algoritmos (Figura 5.3) para evaluar la latencia de los
lazos y la eficiencia en la repeticin de una tarea. En este proceso no se realiza la
obtencin de nuevos datos.

Figura 5.3 Evaluacin de la latencia de ciclos, mediante iteraciones del proceso.

Se realizaron pruebas de la aplicacin completa del Analizador Espectral, en las


cuales intervienen factores adicionales como la transferencia de datos de entrada y
resultados entre la memoria del DSP y la memoria de la PC.

5.2 Comparativo PC, DSP y DSP IDRAM para FFT.


Tradicionalmente, el algoritmo de la FFT es el ms comnmente utilizado para
benchmarks. En las pruebas realizadas en este proyecto el cdigo est programado en ANSI
C y est optimizado para potencias de 2. Requiere de un vector de datos complejos con
precisin de punto flotante IEEE 754 y los resultados se colocan en el mismo vector de
entrada. La grfica de la Figura 5.4 muestra los resultados.

Internal data random - access memory, IDRAM, por sus siglas en ingles.

71

Captulo 5: Resultados de los Comparativos Realizados.

Se observa claramente que en el programa diseado para la PC el tiempo de ejecucin va en


relacin directa con la longitud de la FFT, esto se debe a que el manejo de recursos en este
tipo de sistemas es prcticamente lineal.

Figura 5.4 Comparativo con el algoritmo de FFT efectuado 1000 veces.

El mismo algoritmo en la memoria externa del DSP se va haciendo ms eficiente a medida


que el tamao de los datos aumenta. Esto se explica porque los accesos a memoria se
optimizan para bloques grandes y las unidades funcionales pueden trabajar mejor cuando el
cauce de datos est lleno. El algoritmo con los datos en memoria interna presenta un
comportamiento constante ya que no se hacen transferencias a memoria externa. En general
se observa que la FFT no es tan intensiva computacionalmente hablando, ya que con 1000
iteraciones los tiempos de respuesta se mantienen relativamente cortos.

5.3 Comparativo PC, DSP y DSP IDRAM para FFT2.


La doble Transformada de Fourier (FFT2) es un algoritmo mas intenso, ya que involucra la
transpuesta compleja de la transformada de Fourier de las columnas de una matriz, a la que
se le ha aplicado la transpuesta compleja de la transformada de Fourier de las columnas,

72

Captulo 5: Resultados de los Comparativos Realizados.

dando como resultado una nueva matriz de datos complejos de punto flotante. Una primera
aproximacin se muestra en la Figura 5.5. Ejecutando 10 veces este algoritmo produce
resultados coherentes con las pruebas con la FFT, aunque para datos cortos no se aprecia
una diferencia notable.

Figura 5.5 Comparativo con el algoritmo de FFT2 efectuado 10 veces.

Figura 5.6 Comparativo con el algoritmo de FFT2 efectuado 100 veces.

73

Captulo 5: Resultados de los Comparativos Realizados.

Figura 5.7 Comparativo con el algoritmo de FFT2 efectuado 10,000 veces.

Sin embargo, al realizar un mayor nmero de iteraciones, el DSP proporciona un mejor


desempeo que la PC como se muestra en las grficas para 100 y 10,000 repeticiones
(Figura 5.6 y Figura 5.7). Las grficas tambin confirman que para datos cortos el
desempeo no es ptimo en los DSPs.

5.4 Comparativo PC, DSP y DSP IDRAM para Cumulantes de


2do Orden
El clculo de Cumulantes de 2do orden (ec. 2.10), involucra 2 lazos de ejecucin anidados
y corrimientos circulares en vectores. La primera grfica en la Figura 5.8, muestra que para
una ejecucin de esta funcin el tiempo de procesamiento del DSP es aproximadamente 2.3
veces mayor que el de la PC.

74

Captulo 5: Resultados de los Comparativos Realizados.

Figura 5.8 Comparativo con el algoritmo de Cumulantes de 2do Orden C2x efectuado 1 vez.

Figura 5.9 Comparativo con el algoritmo de Cumulantes de 2do Orden C2x efectuado 10 veces.

75

Captulo 5: Resultados de los Comparativos Realizados.

Al ejecutar el algoritmo 10 veces, la diferencia es de aproximadamente el doble a favor de


la PC (Figura 5.9), y para 100 repeticiones la PC es ms lenta hasta 3.8 veces
aproximadamente (Figura 5.10) para vectores de datos mayores a 256 elementos. Se
realizaron pruebas para 1000, 10,000 y 100,000 iteraciones y las tendencias de los
resultados fue hacia un mejor desempeo del DSP con el aumento de las iteraciones.

Figura 5.10 Comparativo con el algoritmo de Cumulantes de 2do Orden C2x efectuado 100 veces.

5.5 Comparativo PC, DSP para Cumulantes de 3do Orden.


Este algoritmo es el ms intensivo en cuanto uso del CPU; desempea tres ciclos anidados
con corrimientos circulares sobre una matriz de datos. En la primera grfica (Figura 5.11),
para una sola ejecucin la PC resulta con un mejor desempeo para todos los tamaos de
matrices, sin embargo esta ventaja se va acortando a medida que el proceso se repite
(Figura 5.12). Para 100 repeticiones el desempeo con el DSP es por mucho mayor al de
usar solamente la PC (Figura 5.13).

76

Captulo 5: Resultados de los Comparativos Realizados.

Figura 5.11 Comparativo con el algoritmo de Cumulantes de 3er Orden C3x efectuado 1 sola vez.

Figura 5.12 Comparativo con el algoritmo de Cumulantes de 3er Orden C3x efectuado 10 veces.

77

Captulo 5: Resultados de los Comparativos Realizados.

Figura 5.13 Comparativo con el algoritmo de Cumulantes de 3er Orden C3x efectuado 100 veces.

5.6 Comparativo final de aplicacin del Analizador Espectral


entre PC y DSP.
Con el fin de complementar los comparativos realizados se desarrollaron pruebas con la
aplicacin completa del Analizador Espectral. Con un vector de 1000 datos se hizo una
variacin de tamaos del periodograma, tanto para la Densidad Espectral de Potencia
(PSD) como para el Biespectro (BIS), en los mtodos directo e indirecto.

Para la PSD por el mtodo directo, en la Figura 5.14 se observa que, al igual que en el caso
de la FFT, a medida que la cantidad de datos utilizados aumenta, el DSP mejora su
desempeo. Esta similitud es un resultado lgico debido a que el mtodo directo est
basado en la obtencin de la FFT de los datos de entrada.

En el caso de la PSD por el mtodo indirecto, el cual involucra el clculo de cumulantes de


segundo orden, se puede ver que en el caso del DSP existe cierto compromiso entre la
cantidad de datos y el nmero de repeticiones del proceso, pues el tamao del
periodograma y la cantidad de repeticiones del proceso son inversamente proporcionales.

78

Captulo 5: Resultados de los Comparativos Realizados.

Mientras que en la aplicacin de la PC el resultado es proporcional al tamao del


perodograma (Figura 5.15).

Figura 5.14 Comparativo del Analizador Espectral calculando la PSD mediante el mtodo directo.

Figura 5.15 Comparativo del Analizador Espectral calculando la PSD mediante el mtodo Indirecto.

79

Captulo 5: Resultados de los Comparativos Realizados.

Figura 5.16 Comparativo del Analizador Espectral calculando el Biespectro mediante el mtodo
directo.

Figura 5.17 Comparativo del Analizador Espectral calculando el Biespectro mediante el mtodo
indirecto.

Para el Biespectro obtenido por ambos mtodos el comportamiento es semejante, involucra


la cantidad de datos manejados y el nmero de repeticiones del proceso. En general el
manejo de datos desde la PC para cada nueva seccin puede ser un factor que provoque el
80

Captulo 5: Resultados de los Comparativos Realizados.

vaciado del cauce de instrucciones, y por esto el DSP sea ms lento. Hay que tomar en
cuenta que la PC tiene memoria cach donde almacena las instrucciones a ejecutar y que el
manejo de memoria se encuentra optimizado por hardware de acceso directo (DMA). La
Figura 5.16 y la Figura 5.17 muestran los resultados para el Biespectro.

5.7 Conclusiones.
Para la gran mayora de las aplicaciones, donde se utilizan algoritmos lineales, y las
transferencias de datos de y hacia memoria externa sean frecuentes, un sistema basado en
una computadora tipo Pentium III con caractersticas aceptables, es ms eficiente.

De acuerdo a los fundamentos tericos de los DSP y las pruebas realizadas se puede
concluir que en cierto tipo de procesos de clculo intenso, repetitivo y sin contar el efecto
de la transferencia de datos, como en el caso de los filtros digitales, el DSP tiene un mejor
desempeo.

Para la aplicacin del Analizador Espectral, el programa para PC present un desempeo


ms alto. La diferencia con algunos de los resultados de los comparativos presentados y el
programa completo radica principalmente en factores como las transferencias desde la
memoria de la PC a la memoria externa del DSP, el poleo de banderas, que la ejecucin de
algoritmos no repetitivos provoca un vaciado del cauce de instrucciones, etc.

Como se mencion en el capitulo 4, actualmente los procesadores de propsito general


estn siendo diseados para resolver ms eficientemente tareas de procesamiento digital sin
perder su funcionalidad y versatilidad.

En trminos prcticos, la eleccin de la plataforma de procesamiento adecuada para un


sistema depender especficamente de la aplicacin. Algunos criterios tiles para la
eleccin son: el tipo de aplicacin, la cantidad de memoria necesaria, el tipo de interfase
final al usuario y finalmente el costo.

81

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

Captulo 6
Caso de Aplicacin: Deteccin de Fallas en un
Motor de Induccin Trifsico.

6.1 Deteccin de fallas en un motor de induccin trifsico.


La mayora de la literatura acerca del uso del Biespectro como un medio para la deteccin
de fallas en motores de induccin, tiene como base el anlisis de seales de vibracin del
estator [7, 8, 9]. Por otro lado, las investigaciones que reportan el uso de la corriente del
estator para la deteccin de fallas en este tipo de motores se enfocan en fallas mecnicas
[32], tales como giro excntrico, curvatura de la flecha, ruptura de barras del rotor,
vibraciones anormales por falta de lubricacin en los acoplamientos mecnicos, entre otras.
Con el objeto de validar la utilidad de los algoritmos de espectros de alto orden (HOS) en
deteccin de fallas, se implement el esquema de experimentacin que muestra la Figura
6.1. En las pruebas realizadas en el presente trabajo se pretende encontrar una relacin entre
las variaciones de la corriente del estator en cada una de las fases con la ocurrencia de fallas
de naturaleza elctrica, como son las fallas de alimentacin asimtrica. Adicionalmente se
realiza el anlisis de la falla mecnica de rotor bloqueado.

Las pruebas se realizaron en el laboratorio de Electrnica de Potencia del Centro Nacional


de Investigacin y Desarrollo Tecnolgico (cenidet), con el apoyo del M.C. Jess Aguayo.
Se tomaron mediciones de corriente en el estator bajo diferentes condiciones de carga, tanto
para la condicin de referencia, como para las condiciones de falla.

82

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

Figura 6.1 Esquema general de las pruebas experimentales.

6.1.1 Descripcin de la tcnica de monitoreo de fases.


El motor empleado en las pruebas es un motor de induccin de 2 polos, del tipo jaula de
ardilla, con alimentacin trifsica de 48 VAC a 60 Hz, con velocidad nominal de 1800 rpm,
en conexin Y. La variacin de la condicin de carga es controlada, mediante un generador
de DC acoplado al rotor.

La adquisicin de datos se realiz mediante un osciloscopio digital Tektronix TDS-784.


Para todas las pruebas de naturaleza elctrica realizadas se consider la falla en la fase 3, y
las mediciones se realizaron en todas las fases. Debido a la congruencia de los resultados,
sin perdida de generalidad solo se mostrarn las mediciones obtenidos para la fase 2.

Se coloca una punta de corriente a cada una de las fases, cuidando que se encuentre
correctamente calibrada. Se ajustan los parmetros para la adquisicin de datos por medio
del osciloscopio. Se toman mediciones de corriente bajo diferentes condiciones de carga
tanto para la condicin de referencia como para las condiciones de falla y se almacenan en
forma digital en un disco magntico de 3 para computadora personal IBM o compatible.

83

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

Las caractersticas para las mediciones efectuadas en el dominio del tiempo y en el dominio
de la frecuencia se presentan en la Tabla 6-1.

Tabla 6-1Caractersticas en tiempo y frecuencia de los vectores de datos.


Formato:
Mathcad.
Nmero de puntos:

5000 en 10 divisiones.

Resolucin en tiempo:

100 ms /divisin.

Tiempo total de muestreo:

1 segundo.

Escala:

5 A/divisin.

Trigger X:

30 %.

Trigger Y:

Variable.

Frecuencia de muestreo:

5000 Hz.

Resolucin en frecuencia:

1Hz.

6.1.2 Operacin normal del motor trifsico.


Para efectos de las pruebas realizadas se utiliza una tensin de alimentacin menor a la
mxima nominal, a fin de evitar posibles daos a los equipos al provocar las diferentes
condiciones de falla. Para todas las pruebas realizadas se considera la condicin de carga
mxima una carga de 776 N-m. en la Tabla 6-2 se muestran los valores de los parmetros
elctricos del motor en operacin normal sin carga y a plena carga.

Tabla 6-2 Parmetros elctricos del motor en operacin normal sin carga.
Sin Carga.
Carga de 76 N-m.
Fase 1

Fase 2

Fase 3

Fase 1

Fase 2

Fase 3

Voltaje de fase (V rms)

25.9

26.1

26.0

25.9

26.1

26.0

Corriente de fase (A rms)

5.31

5.29

5.40

6.93

6.98

6.95

La Figura 6.2 muestra las corrientes de fases en operacin normal, para las condiciones sin
carga y con carga de 776 N-m.

84

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

a ) Sin carga.

b) Con carga de 776 N-m.


Figura 6.2 Corrientes del motor en operacin normal.

85

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

6.2 Condicin de Referencia


6.2.1 Condicin de Referencia sin carga.
Para la condicin de operacin normal la funcin de Densidad Espectral de Potencia (PSD)
de la corriente (Figura 6.3), muestra que la potencia se encuentra concentrada en 60 Hz, y
que los armnicos

y otras posibles frecuencias en el espectro son de magnitud

despreciable.

Figura 6.3 Densidad espectral de potencia de la operacin normal sin carga.

Entre los resultados generales obtenidos se encuentra el hecho de que la Densidad Espectral
de Potencia (PSD) no provee informacin suficiente para la deteccin de fallas en los casos
experimentales que se consideraron, por tal motivo no se presentarn todas las grficas de
PSD, an cuando para propsitos de validacin fueron obtenidas.

Por otro lado, el Biespectro (BIS) de esta seal, mostrado en la Figura 6.4, nos indica un
pico de magnitud dominante en el cruce de frecuencias (60,60), que se refiere a un
acoplamiento de la frecuencia fundamental con s misma; en los armnicos de la
fundamental las magnitudes son insignificantes.

86

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

Figura 6.4 Biespectro de la operacin normal sin carga.

Para sintetizar, se presentarn las grficas de forma que simulen un corte del Biespectro en
2-D, y con magnitud normalizada, esto har ms simple el anlisis y enfatizar los
resultados obtenidos. La Figura 6.5 muestra estos cortes para el Biespectro y el Biespectro
modificado de la condicin de referencia.

a) Operacin normal sin carga (Biespectro)

87

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

b) Operacin normal sin carga (Biespectro Modificado).


Figura 6.5 Condiciones de operacin normal cortes de 2D del Biespectro y Biespectro Modificado.

6.2.2 Condicin de Referencia para carga de 776 N-m.


A diferencia de la prueba anterior, se tiene la condicin de carga mxima acoplada al
motor.

Figura 6.6 PSD para la condicin de operacin normal para carga de 776 N-m.

88

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

La Figura 6.6 muestra la PSD para esta condicin de referencia. Del mismo modo, que para
la condicin sin carga, la frecuencia fundamental se encuentra en 60 Hz, solamente
aumenta la magnitud, debido a la mayor cantidad de corriente demandada por el motor.

a) Biespectro en operacin normal, con carga de 776 N-m.

b) Biespectro Modificado, operacin normal, con carga de 776 N-m.

Figura 6.7 Cortes 2-D Para la condicin de operacin normal para carga de 776 N-m.

89

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

En las graficas de la Figura 6.7 se muestran los resultados del Biespectro y el Biespectro
modificado para la condicin de carga completa. Para el biespectro, se observa que
independientemente de la condicin de carga, la potencia se concentra en (60,60). Usando
el Biespectro modificado (BIS_E), los armnicos 4 y 5 tienen magnitudes del 6.6% y del
17 % respectivamente. Es importante recordar del capitulo 2, que esto significa que por
causa de la dependencia de fase, las magnitudes relativas en estos valores de frecuencia
aumentaron.

6.3 Fallas Elctricas.


6.3.1 Desbalance de tensin entre fases.
El desbalance de las tensiones de alimentacin de un motor puede producir fuertes
desequilibrios en corriente que conducen a una elevacin de temperatura de los devanados
con daos del aislamiento. Un desbalance en la tensin del 1% puede producir diferencias
del 6 a 10% en la corriente [33].

Cuando las tensiones aplicadas a un motor no son iguales, se produce un desequilibrio de


corrientes en el estator. Un pequeo porcentaje de desequilibrio de la tensin provoca un
gran desequilibrio de corrientes. Consecuentemente, la elevacin de temperatura del motor
funcionando con una carga dada y con un desequilibrio de tensiones, ser mayor que en el
caso que est funcionando con las mismas condiciones de carga pero con tensiones
equilibradas. El efecto de tensiones desequilibradas en un motor polifsico de induccin es
equivalente a introducir una tensin de secuencia negativa que tiene sentido contrario de
rotacin, que produce un flujo en el entrehierro, que tiende a producir altas corrientes.

Para la condicin de desbalance elctrico, se conectan dos fases directamente a la fuente de


alimentacin, mientras que la tercera se conecta a travs de un arreglo de contactos para
introducir una resistencia de 15 a 80 W mediante un interruptor, simulando la falla de

90

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

desbalance de la tensin de alimentacin trifsica. La Figura 6.8 muestra las corrientes de


fases para esta situacin, para las condiciones sin carga y con carga de 776 N-m.

a)

Corrientes trifsicas del motor en desbalance de fase sin carga.

b) Corrientes trifsicas del motor en desbalance de fase con carga de 776 N-m.
Figura 6.8 Corrientes trifsicas del motor en desbalance de fase.

La Figura 6.9 muestra la PSD de esta condicin de falla, para los casos sin carga y con
carga de 776 N-m. Se observa que la PSD no es capaz de detectar el desbalance de fase, y
es muy similar a la de condicin de operacin normal.

91

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

a)

Densidad de Potencia Espectral en desbalance de tensin (sin carga).

b) Densidad de Potencia Espectral en desbalance de tensin (carga de776 N-m).


Figura 6.9 PSD para la condicin de operacin normal para carga de 776 N-m.

Aplicando el biespectro y el biespectro modificado a esta condicin de falla se obtuvieron


los siguientes resultados:

92

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

6.3.1.1 Condicin sin carga.


Para el caso sin carga, los resultados se observan cordilleras de acoplamientos de 60 Hz
(Figura 6.10), adems el pico de la fundamental con una baja frecuencia tal como (60,1) se
hace muy significativo. No existe una diferencia significativa entre los resultados del BIS y
el BIS_E, esto se debe a que los acoplamientos de frecuencia no son significativos.

Para esta condicin de falla no se identificaron patrones tpicos de falla que pudieran ser
determinantes, aunque no se reporta, tambin se realizaron pruebas a cargas bajas, sin que
se apreciaran diferencias notables con respecto a las graficas de la Figura 6.10.

a) Fase 2 Desbalance de tensin sin carga (BIS).

93

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

b) Fase 2 Desbalance de tensin sin carga (BIS_E).


Figura 6.10 Corte 2-D del biespectro para la condicin de desbalance de fase sin carga.

6.3.1.2 Condicin con carga de 776 N-m.


Las pruebas anteriores tambin se realizaron a plena carga, en esta condicin el empleo del
BIS_E produce mejores resultados en cuanto a la magnitud relativa de las 2, 3 y 4
armnicas, mientras que en el BIS apenas alcanzan el 5%. Para el BIS_E por ejemplo la
segunda armnica tiene un valor de 32% y 42% en las fases que no reciben directamente el
desbalance. Se observa la presencia de las cordilleras alrededor de 60 Hz (Figura 6.11).

En las figuras 6.11 c) y d)

94

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

a) Fase 2 Desbalance de tensin, carga de 776 N-m. (BIS).

b)Fase 2 Desbalance de tensin, carga de 776 N-m. (BIS_E).

95

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

c) Vista superior, acercamiento que muestra las componentes principales.

d) Vista superior, acercamiento en el par de frecuencias (60,60).

Figura 6.11 Corte 2-D del biespectro, condicin de desbalance de fase para carga de 776 N-m.

96

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

6.4 Falla Mecnica.


6.4.1 Rotor Bloqueado.

Un deterioro trmico importante del aislamiento de los devanados de un motor es causado


normalmente por corrientes altas en los devanados como consecuencia del bloqueo del
rotor. Excesivos arranques o cambios de sentido de rotacin (frenado contracorriente)
tambin puede producir este tipo de fallas.

Para la condicin de rotor bloqueado se selecciona un valor de voltaje del generador de d.c.
para el que la carga sea suficientemente grande, y se varia el valor de voltaje de
alimentacin desde 0 v a.c. hasta el punto donde la corriente alcance su valor de operacin
nominal (Figura 6.12), mientras que el rotor permanece inmvil. La PSD de esta condicin
(no se muestra) es similar a la de operacin normal, a pesar de la falla, la forma de onda de
la corriente sigue comportndose igual que en la condicin de referencia.

97

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

Figura 6.12 Corrientes trifsicas para la condicin de rotor bloqueado.

El anlisis de seales de la condicin de bloqueo de rotor, es uno de los ms inciertos bajo


este esquema de anlisis, la nica diferencia apreciable con respecto a la condicin normal,
es el surgimiento del acoplo del par de frecuencias (60,1) y de una ligera cordillera de 60
Hz con el eje de frecuencias f2 hasta 60 Hz (Figura 6.13). Esto es a causa de la similitud las
formas de onda de la corriente en operacin normal y la condicin de falla de rotor
bloqueado.

a) Fase 2 rotor bloqueado (BIS).

98

Captulo 6: Caso de Aplicacin: Deteccin de fallas en un motor de Induccin Trifsico.

b) Fase 2 rotor bloqueado (BIS_E).

Figura 6.13 Condicin de rotor bloqueado.

6.5 Conclusiones.
La PSD no provee informacin suficiente para identificar los patrones de fallas electricas
mediante la tcnica de monitoreo de las corrientes de fase en motores trifsicos.

El uso del Biespectro en anlisis de las corrientes de fase provee una tcnica no intrusiva
para la deteccin de fallas en motores de induccin.

El biespectro provee informacin del comportamiento en frecuencia de la corriente en


condiciones de falla, que permite identificar claramente la condicin de desbalance de
tensin de alimentacin en un motor trifsico.

El Biespectro Modificado, permite identificar con mayor facilidad los acoplamientos de


frecuencias que solamente con el uso del biespectro.

99

Captulo 7: Aportaciones del proyecto y trabajos futuros.

Captulo 7
Aportaciones del proyecto y trabajos futuros.

7.1 Aportaciones.
Se desarroll una herramienta de anlisis basada en la funciones de PSD y Biespectro, til
en diferentes aplicaciones tanto en identificacin de sistemas, como en deteccin de fallas.

Se realizaron 3 modelos de esta herramienta, todas con la misma funcionalidad, pero con
caractersticas propias. La primera se desarroll en Matlab, con fines ms didcticos,
contiene funciones abiertas para su modificacin y estudio. Las otras dos son aplicaciones
en Visual C++, instalables para su ejecucin en una computadora personal IBM compatible
y en un DSP, respectivamente.

Se desarrollaron funciones de procesamiento de espectros de alto orden, manejo de


matrices reales y complejas, y funciones de ventanas en el dominio del tiempo. El cdigo
est desarrollado en ANSI C, es 100 % compatible con cualquier compilador y se puede
utilizar en otras aplicaciones, incluyendo C para microprocesadores.

Se realizaron manuales de usuario de las aplicaciones, para facilitar su uso por otros
investigadores. En stos se detallan los requisitos de instalacin y el manejo de sus
caractersticas principales.

Se deja un precedente de su aplicacin a seales de sistemas reales, complementando la


reciente lnea de investigacin en cenidet acerca de los espectros de alto orden.

100

Captulo 7: Aportaciones del proyecto y trabajos futuros.

En el caso de aplicacin para deteccin de fallas en motores de induccin, se identific al


menos un patrn de condicin de falla elctrica mediante la tcnica de monitoreo de fases.

7.2 Trabajos futuros.


Implementacin del Analizador Espectral en lnea, adquiriendo los datos mediante el
cdec de audio de la tarjeta DSP TMS320 C6701, o por medio de hardware
especficamente diseado para adquisicin de datos.

Adaptacin de las caractersticas de manejo de grficos del Analizador Espectral con otros
componentes de software como el TeeChart de Steema Software, o algn componente de
uso gratuito.

Impresin de las grficas del biespectro y PSD para su anlisis, desde la interfase del
Analizador Espectral.

Realizacin de una versin mnima del Analizador Espectral para MS DOS, sin manejo de
grficas, con capacidad de exportar los resultados a Matlab.

Uso de sensores de vibracin en conjunto con el Analizador Espectral, para el monitoreo de


condiciones de fallas mecnicas en motores de induccin.

101

Captulo 8: Conclusiones.

Captulo 8
Conclusiones.
A continuacin se presentan las conclusiones correspondientes a los 3 puntos principales
del objetivo de esta Tesis, como se establece en el captulo 1. De forma general los
objetivos fueron cumplidos con el desarrollo del Analizador Espectral, a partir de las
pruebas y comparativos realizados mediante esta herramienta. De forma particular:
En la prctica, de la programacin y validacin de los algoritmos de PSD y BIS se

concluye lo siguiente:

o El software existente para anlisis espectral es escaso, complejo y muy

limitado en opciones de manejo. Esto justifica el desarrollo de una


herramienta de software especfica, que implemente los principales
algoritmos de anlisis espectral como la PSD y el Biespectro.

o Una Herramienta de Software con una interfase de usuario amigable provee

grandes ventajas, permite que los esfuerzos de los investigadores se


concentren en el proceso en s y no en cmo utilizar el software.

o El esquema de funcionamiento planteado al inicio de este proyecto se

materializ con el desarrollo del Analizador Espectral. Los tres modelos


realizados cumplen con adquisicin de archivos, procesamiento mediante
funciones HOS, cuentan con una interfase de usuario, permiten el manejo de
grficas y pueden almacenar los resultados en disco para su uso posterior.

102

Captulo 8: Conclusiones.

o El tiempo invertido en el desarrollo de una aplicacin en un lenguaje de alto

nivel compilado como C/C++, se justifica sobre el uso de lenguajes o


paquetes interpretados como Matlab Java. Los resultados de tiempo de
ejecucin son un buen parmetro de desempeo inversin-beneficio.

o El uso de componentes de software como ActiveX, OpenGL, utilidades y

libreras para manejo de grficos, es una mejor opcin que desarrollarlas


cuando se deben obtener resultados en un tiempo relativamente corto.
Los comparativos realizados entre plataformas PC y DSP proporcionan las

siguientes conclusiones:

o La diferencia de desempeo entre plataformas de procesamiento PC y DSP

es cada vez menor. Los procesadores de propsito general ahora realizan


mejor las tareas DSP que en el pasado, gracias a que sus arquitecturas
implementan caractersticas de los procesadores dedicados, como el
paralelismo y el uso de hardware especializado.

o Por otro lado los DSPs han evolucionado ganndole terreno a los

microcontroladores,

esto

se

ha

comunicaciones, convertidores ADC

logrado

incluyendo

mdulos

de

y DAC, entre otros, haciendo la

interconexin con el mundo analgico sea ms eficiente.

o En los comparativos realizados se observa que los DSPs son efectivos en la

realizacin de tareas computacionalmente intensas y repetitivas, lo que


mejora bajo ciertas consideraciones como el flujo de datos por hardware
hacia su memoria. Por ejemplo, podemos citar un ecualizador en lnea, que
utilice un DSP con un codec de audio.

103

Captulo 8: Conclusiones.

o En el comparativo de la aplicacin final de Analizador Espectral, el modelo

para PC presenta un mejor rendimiento que el que utiliza al DSP para


realizar el procesamiento. Esto se explica por el hecho de que el cauce de
instrucciones del DSP no se utiliza en forma ptima. Adems, las
transferencias de bloques de memoria entre dispositivos consumen tiempo
adicional a la ejecucin del clculo.

o Una ventaja del uso del DSP es la posibilidad de implementar el proceso en

lnea. Se debe ser cuidadoso para ello, pues como se mencion, existen
limitantes importantes del manejo de memoria.

o Una opcin de implementacin del esquema en lnea puede hacerse

considerando 3 secciones de memoria independientes, una para de entrada


de datos, una seccin de procesamiento y una seccin de salida.
En el caso de aplicacin a sistemas reales se obtuvieron las siguientes conclusiones:

o En el caso de deteccin de fallas con el Biespectro en motores de induccin

mediante anlisis de las corrientes de fases, la PSD no provee informacin


suficiente para la identificacin de sistemas, es necesario el uso de los
espectros de alto orden, como el biespectro.

o Usando el Biespectro Modificado, que refleja en la magnitud las

dependencias de la fase, es posible identificar ciertos patrones relacionados


con fallas elctricas, como el desbalance de tensin de alimentacin.

o En el caso de falla mecnica, no se pudo determinar un patrn caracterstico

mediante el BIS. Se podran obtener mejores resultados adquiriendo los


datos con sensores piezo-elctricos situados en la carcaza del motor.

104

Captulo 8: Conclusiones.

Finalmente, este proyecto demuestra que el incluir conocimientos de diferentes disciplinas


permite el desarrollo de herramientas ms tiles y verstiles. En este caso la sinergia de las
estadsticas de alto orden, con el manejo de sistemas digitales y lenguajes de programacin
produjo como resultado el Analizador Espectral.

105

Referencias
[1]. J. M. MENDEL Tutorial on Higher-Order Statistics (Spectra) in Signal
Processing and System Theory: Theoretical Results and some Applications

(EN: Proceedings of the IEEE, Vol. 79, (3), March 1991) pp 278-281,296-298.

[2]. NIKIAS C. [and] Raghuveer M. Bispectrum Estimation: A Digital Signal


Processing Framework (EN: Proceedings of the IEEE, Vol. 75, (7), July 1987)

pp. 869-873,883-884.

[3]. MARCO OLIVER SALAZAR, Parametric Estimation of High Order Spectra


using cumulants. (PHD Thesis; England, University of Sheffield, 1990) pp. 1-8.

[4]. HINICH. M. [and] Wilson G., Detection of Non Gaussian Signals in NonGaussian Noise using the Bispectrum (EN: IEEE Transactions on Acoustics,

Speech, and signal processing, Vol. 38, (7), July 1990) pp.1126.

[5]. POWERS E. [and] Miksad R.W. Polyspectral measurement and analysis of


nonlinear wave interactions (EN: Proceedings on Systems on Nonliner Wave

Interactions in Fluids, Dec. 1987) pp. 9 y10.

[6]. NEIL A. [and] Penman J. Induction Machine condition monitoring whit Higher
Order Spectra (EN: IEEE Transactions On Industrial Electronics, Vol. 47, No. 5,

Oct. 2000).

[7]. CHOW T. W. [and] Hong-Zhou. Tan. HOS-Based Nonparametric and


Parametric Methodologies for Machines Fault Detection (EN: IEEE

Transactions on Industrial Electronics, Vol. 47, (5) October 2000) pp.1051, 1052.

[8]. MOHAMED H.[;] Vieira M., [and] Theys C. Induction Motors Faults
Detection and Localization Using Stator Current Advanced Signal Processing

106

Techniques (EN: IEEE Transactions On Power Electronics, Vol. 14, No. 1, Jan.

1999).

[9]. H. MOHAMED, A review of induction motors signature analysis as a medium


for faults detection (EN: IEEE Transactions on Industrial Electronics, Vol. 47,

(5), October 2000) pp.984-988.

[10]. MATHWORKS Inc. [The]. Signal Processing Toolbox Users Guide (Version
5, 1988 2000 Copyright ). www.Mathworks.com.

[11]. www.ant.uni-bremen.de/HOSHOME/faqs/index.html

[12]. GOPAL SUNDARAMOORTHY, Raghuveer M.R. Bispectral reconstruction


of signals in Noise: Amplitude Reconstruction Issues (EN: IEEE Transactions

on Acoustics, Speech, and Signal Processing, Vol.38, No, 7, July 1990) pp1297,
1304.

[13]. BERKELEY DESIGN TECHNOLOGY INC., Separating Reality from Hype


in Processors DSP Performance (EN: Embedded Systems Conference March

2002). www.bdti.com.

[14]. BIER J., Alternatives to DSP. What and Why? (EN: Berkeley Design
Technology Inc. Conference, Cambridge, UK, May, 2003). www.bdti.com.

[15]. BERKELEY

DESIGN

TECHNOLOGY

INC.,

Processors

whit

DSP

capabilities: Which is the best? (EN: Embedded Systems Conference, March,

2002). www.bdti.com.

[16]. BERKELEY DESIGN TECHNOLOGY INC., Evaluating DSP Processors


Performance (White Paper, 1997- 2000). www.bdti.com.

107

[17]. RODRIGUEZ NAVARRO, JULIO. Procesamiento digital de seales de


vibracin con fines de diagnostico, Tesis de Maestra en Ingeniera Mecatrnica,

cenidet, Mxico, 2002.

[18]. TELLEZ ANGUIANO, Adriana Desarrollo de algoritmos basados en DSP


para el procesamiento de seales de vibracin, Tesis de Maestra en Ingeniera

Electrnica, cenidet, Mxico, 1998.

[19]. T. Subba Rao An Introduction to Bispectral Analysis and Bilinear Time


Series Models Ed. Springer-Verlag, New York Berln Heidelberg Tokyo. Cap. 1.

[20]. ALAN. V. OPPENHEIM Tratamiento de Seales en Tiempo Discreto


(Madrid, Espaa,2. Ed.; Prentice Hall).

[21]. IFEACHOR C., Digital Signal Processing. A practical Approach. (Ed.


Addison Wesley, 1993) pp. 577, 578.

[22]. SWAMI A., Mendel J. [y] Nikias C. L. Higher Order Spectral Analysis
Toolbox, For Use with Matlab (1984 1988 Copyright ).

[23]. ERDEM A. Tanju, A nonredundant set for the bispectrum of 2-D signals
(EN: IEEE Transactions, 1993) pp. IV-188-IV-191.

[24]. ARTHUR N. [and] Penman J. Induction Machine Condition monitoring with


Higher Order Spectra (EN: IEEE Transactions on Industrial Electronics, Vol. 47,

(5), October 2000) pp 1031-1037.

[25]. NATIONAL INSTRUMENTS, Measurement Studio Evaluation Guide


(Austin Texas, August 2001, Part Number 350836A-01).

108

[26]. Pgina principal de Steema Software. www.steema.com. [Consulta Septiembre


2004]

[27]. TEXAS INSTRUMENTS, TSM320C6201/6701 Evaluation Module Users


Guide (Revisin F, Agosto 2002).

[28]. TEXAS INSTRUMENTS, TSM320C6201/6701 Evaluation Module Technical


Reference (Diciembre 1998).

[29]. TEXAS

INSTRUMENTS,

TSM320C6201/6701

Peripherals

Reference

Guide (Revisin D, Febrero 2001).

[30]. EYRE J., The Digital Signal Proccessing Derby (EN: IEEE Spectrum, June,
2001) pp. 62-68.

[31]. BERKELEY DESIGN TECHNOLOGY INC., BDTIMark2000 Scores for


Packaged Processors (Updated: May 2004). www.bdti.com.

[32]. SCHOEN R. R., Habetler T. G., Kamran F. [and] Barthel R. G., Motor Bearing
Damage Detection Using Stator Current Monitoring pp. 110 -116.

[33]. V. CECCONI, A. Dell'Aquila, S. Nuccio, G. Ricco Galluzzo, L. Salvatore, C.


Tassoni

Motori

asincroni

per

azionamenti:

caratterizzazione,

standardizzazione e diagnostica - L'Enegia Elettrica - N. 10 - 1989.

109

Anexo 1. Caractersticas de las plataformas utilizadas.

Anexo 1
Caractersticas de las plataformas PC y DSP
empleadas.
En este anexo se presentan brevemente las caractersticas de los equipos utilizados en el
desarrollo de este tema de tesis, a fin de que se pueda lograr una mayor comprensin de los
resultados presentados en los comparativos.

A1.1 DSP TMS320C6701 de Texas Instruments.


El mdulo de evaluacin TMS320C6X (Figura A 1.1), es una plataforma de propsito
general de bajo costo, para el desarrollo, anlisis y prueba de algoritmos y aplicaciones de
procesadores digitales de seales (DSP) C6X, interactuando con mdulos perifricos de
memoria, comunicaciones y adquisicin de datos, como se muestra en el diagrama a
bloques en la Figura A 1.2. Cuenta con software de interfase para programacin de
aplicaciones (API por sus siglas en ingls) para el manejo del hardware. La informacin del
TMS320C6X EVM y del DSP 6701 fue tomada en su totalidad de [1], [2] y [3].

110

Anexo 1. Caractersticas de las plataformas utilizadas.

Figura A 1.1Mdulo de evaluacin EVM TMS320C6X.

A1.1.1

Caractersticas del modulo de evaluacin.

Figura A 1.2 Diagrama a bloques del EVM TMS320C6X.

111

Anexo 1. Caractersticas de las plataformas utilizadas.

El mdulo de evaluacin TMS320C6X EVM tiene las siguientes caractersticas:

DSP de punto flotante C6701 compatible en cdigo al DSP de punto fijo C6201

Seleccin de cuatro frecuencias de reloj.


OSC A

OSC B

x1

x4

x1

x4

C6201

33.25 MHz

133 MHz

50 MHz

200 MHz

C6701

25 MHz

100 MHz

33.25 MHz

133 MHz

Interfase PCI con capacidad maestro / esclavo

1 banco de 64Kx32 bits de memoria RAM esttica 133 MHz (SBSRAM1).

2 Bancos de 1M x 32 bits de RAM dinmica sincrnica a 100 MHz (SDRAM2).

Acceso a toda la memoria del DSP desde el bus PCI a travs de la interfase al
puerto host.

Emulacin mediante un puerto JTAG3 a travs de la interfase PCI o del emulador


externo XDS510.

Cdec de audio estreo de 16 bits con tasas de muestreo desde 5.5 hasta 48 kHz

Reguladores conmutados de voltaje en la tarjeta para corriente directa de 1.8 / 2.5


VDC y 3.3 VDC

Regulador lineal de voltaje en la tarjeta para 5 VDC analgicos

Operacin interna PCI Plug & Play

Operacin externa de escritorio (requiere fuente de alimentacin externa y emulador


XDS510 o XDS510WS, los cuales no se incluyen el paquete EVM C6X)

Conectores de expansin de memoria y perifricos DSP para conexin de una


tarjeta hija.

Controles e indicadores de usuario:


o Emulacin JTAG (interna o externa)
o Seleccin de oscilacin del reloj DSP (OSC A OSC B)

Synchronous burst static random access memory SBSRAM por sus siglas en ingls.
Synchronous dynamic random access memory SBSRAM por sus siglas en ingls.
3
Joint Test Action Group (JTAG) desarroll el estndar IEEE 1149-1-1990 IEEE Standard Test Access Port
and Boundary-Scan Architecture
2

112

Anexo 1. Caractersticas de las plataformas utilizadas.

o Modo del reloj (oscilador x 1 x 4)


o Seleccin de modo de carga del programa (boot)

Ninguno

Modo de carga HPI

Modo de carga por ROM (requiere tarjeta hija adicional)

o Direccin de byte tipo big-endian o little-endian


o Tres interruptores definibles por el usuario tipo DIP SWITCH
o Reset manual
o Indicador LED de encendido
o Dos LED indicadores definibles por el usuario

A1.1.2

Caractersticas del CPU.

El DSP TMS320C6701 (Figura A 1.3), es un DSP de punto flotante que emplea


arquitectura VLIW de alto desempeo de 256 bits llamada VelociTI4 que permite
instrucciones de ancho variable, lo que le da mayor versatilidad y desempeo.

El DSP TMS320C6701 tiene las siguientes caractersticas:

CPU
o Arquitectura VelociTI.
o 8 unidades funcionales independientes: 2 multiplicadores y 4 unidades
aritmticas lgicas (ALUs) de punto fijo/flotante, y 2 ALUs de punto fijo.
o 2 operaciones MAC por ciclo para un total de 200 millones de MACs por
segundo (MMACS) @ 100 MHz.
o Alto desempeo de operaciones de punto flotante, hasta 1GFLOP por
segundo a 167 MHz.
o 32 registros de 32 bits y 8 unidades funcionales independientes, para
producir hasta 8 instrucciones de 32 bits por ciclo (tiempo de ciclo de
5.98ns).

VelociTI es la versin propietaria de Very Long Instruction Word desarrollada por Texas Instruments, para
empaquetamiento de instrucciones, ver capitulo 4 para informacin de esta tecnologa

113

Anexo 1. Caractersticas de las plataformas utilizadas.

Memoria
o Arquitectura de memoria Harvard Modificada.
o 64 KBytes de Memoria de Programa con bus de 256 bits, configurable por el
usuario como cache o espacio de programa mapeado a memoria.
o 64 Kbytes de Memoria de Datos dividida en dos bloques de 32 Kbytes de
RAM, con direcciones de 32 bits
o Capacidad de formatos Bigendian o Littleendian.

Figura A 1.3 Ncleo TMS320C6701, interfases externas y perifricos.

Aritmtica de punto flotante.


o Soporte de datos de 8/16/32-bits
o Aritmtica de 40 bits opcional, agrega precisin extra para vocoders y otras
aplicaciones computacionalmente intensivas.
o Soporte de hardware para precisin simple (32-bit) y doble precisin (64-bit)
operaciones de punto flotante IEEE.
o Multiplicacin de enteros de 32 bits por 32 bits con resultados de 32 o 64
bits.
114

Anexo 1. Caractersticas de las plataformas utilizadas.

Perifricos.
o Interfase de memoria externa a memorias sincrnicas como lo son la
SBSRAM y la SDRAM
o Interfase de memoria externa a memorias asncronas como lo son la SRAM
y la EPROM
o 4 canales de acceso directo a memoria (DMA)
o Interfase al puerto host (HPI) con un canal DMA dedicado permitiendo
acceso a todo el espacio de memoria del procesador
o 2 puertos serie multicanal con buffers para interconexin directa a
dispositivos de telecomunicaciones, audio u otros dispositivos seriales
o Dos temporizadores de propsito general
o Opciones de PLL para multiplicar por 4 para multiplicar por 1 (por
omisin)

Herramientas de Desarrollo de Software.


o CodeComposer Studio Ambiente de Desarrollo Integrado (IDE): incluye un
editor generador de cdigo de C/C++/Ensamblador, y herramientas para
depuracin del programa.

115

Anexo 1. Caractersticas de las plataformas utilizadas.

A1.2 Caractersticas del Sistema de Procesador de Propsito


General Utilizado.

Figura A 1.4 Plataforma PC.

El procesador de propsito general utilizado en este proyecto es el de una computadora


personal PC IBM compatible (Figura A 1.4), a continuacin se presenta un resumen de sus
caractersticas y en el cd anexo se encuentra un reporte del sistema completo, obtenido con
el programa Everest1.51.191 de Lavalys Inc.:

Software :
Sistema operativo:
Service Pack :
Internet Explorer:
DirectX :

Placa base :
Tipo de procesador:
Chipset de la Placa
Base:
Memoria del Sistema:
Tipo de BIOS:

Microsoft Windows XP Professional 5.1.2600.


No instalado.
6.0.2600.0000 (IE 6.0 - Windows XP)
4.08.01.0810 (DirectX 8.1)

AMD Athlon-PECM, 750 MHz (7.5 x 100)


SiS 730S
240 MB (SDRAM)
AMI (04/15/02)

116

Anexo 1. Caractersticas de las plataformas utilizadas.

Propiedades del CPU :


Tipo de procesador
Alias de la CPU
Escalonamiento de la
CPU
Juego de instrucciones
Cdigo de cach L1
Datos de cach L1
Cach L2
Monitor :
Tarjeta grfica:
Acelerador 3D:
Monitor:
Multimedia :
Tarjeta de sonido:
Almacenamiento :
Controlador IDE:
Disquetera de 3 :
Disco duro:
Lector ptico:
Lector ptico:
Dispositivos de entrada :
Teclado

Ratn

AMD Athlon-PECM, 750 MHz (7.5 x 100)


Thunderbird
A4/A5/A6/A7
x86, MMX, 3DNow!
64 KB
64 KB
256 KB (On-Die, Full-Speed)

SiS 300/305/630/540/730 (16 MB )


SiS 300 Integrated
LG StudioWorks 563A/563N [15" CRT] (11435300)

SiS 7018 Audio Accelerator


Controladora SiS PCI IDE
Unidad de disquete
ST340016A (40 GB , 7200 RPM, Ultra-ATA/100)
HL-DT-ST CD-RW GCE-8523B (52x/24x/52x CD-RW)
SAMSUNG CD-ROM SC-152L (52x CD-ROM)

Teclado estndar de 101/102 teclas o Microsoft Natural


PS/2 Keyboard
Mouse PS/2 de Microsoft

Red :
Tarjeta de Red
Modem

100/10M Ethernet PCI Adapter (192.168.1.13)


HSP56 MR

Dispositivos :
Controlador USB1
Controlador USB1

SiS 7001 PCI-USB Open Host Controller


SiS 7001 PCI-USB Open Host Controller

117

Anexo 1. Caractersticas de las plataformas utilizadas.

A1.2.1

Caractersticas del Procesador AMD AthlonTM.

El AMD Athlon es un microprocesador paralelo, de arquitectura Superescalar, con envo de


nueve instrucciones por ciclo de reloj; optimizado para trabajar a altas frecuencias. Tiene
128 KB de memoria cach de nivel L1 de doble puerto (64 KB de instrucciones y 64 KB de
datos), una tabla de prediccin de saltos de 2 vas, mltiples decodificadores de
instrucciones X86 en paralelo, mltiples organizadores de ejecucin de instrucciones para
punto fijo y punto flotante [4] y [5]. En la Figura A 1.5 se muestra un diagrama de bloques
simplificado del AMD Athlon.

64 KB de Cach de
Instrucciones de 2
vas y 24 entradas

Control de Ciclo Fetch

Predecodificador
de Cach

Tabla de
prediccin
de saltos.

Decodificador de instrucciones X86 de 3 vas

Unidad de Control de instrucciones


Unidad de
Interfase de
BUS.

Controlador
de Cach de
Nivel 2
Unidades
Funcionales y de
ejecucin.

Unidades de
funciones MMX
y 3DNow!

Unidades de
Control de
Almacenamiento

Unidad organizadora de carga y almacenamiento

64 KB de Cach de Datos de 2
vas y 32 entradas

L2 SRAM

Interfase del Sistema

Figura A 1.5 Diagrama a bloques de un AMD Athlon.

Arquitectura X86 de Sptima Generacin con decodificadores X86 que convierten


las instrucciones en macro-operaciones de longitud fija llamadas MacroOPs.

Unidad de Control de Instrucciones de hasta 3 MacroOPs por cada ciclo de reloj.

2 Unidades Organizadores de Ejecucin.

118

Anexo 1. Caractersticas de las plataformas utilizadas.

o 1 unidad para el manejo de nmeros enteros y clculo de direcciones de las


MacroOPs.
o 1 unidad para organizacin de tareas de multimedia MMX, 3DNow! y
MacroOPs X87.

3 Cauces de Ejecucin (pipelines).

Tabla de prediccin dinmica de saltos de 2048, para mantener la informacin


usada para predecir la direccin de los saltos condicionales.

Soporte para Tecnologa Enhanced 3DNow!TM.


o Conjunto de 21 instrucciones 3DNow! tipo SIMD.
o 19 nuevas instrucciones para clculos matemticos enteros para codificacin
de video y flujo de datos.
o 5 nuevas instrucciones DSP para software de modems, DSL, sonido Dolby
Digital surround, y aplicaciones MP3.

Arquitectura de memoria cach de alto desempeo con 2 niveles de cach internos


al CPU.
o 2 bloques de 64Kbytes de cach de nivel 1 (L1), para datos e instrucciones.
o 512 KBytes de cach (L2), de 72 bits de ancho, exclusivo para datos.
o Soporte de hasta 8 MBytes de cach de nivel 3 (L3) en la tarjeta madre.

119

Anexo 2: Manual de Analizador en Matlab.

Anexo 2
Manual

del

Analizador

Matlab.

120

Espectral

V.6.1

en

Anexo 2: Manual de Analizador en Matlab.

Introduccin.
Acerca de este manual.

En el captulo 2, dentro del marco terico, se presentan los mtodos no paramtricos para el
clculo de la Densidad Espectral de Potencia (PSD) y el Biespectro (BIS), basados en
Estadsticas de Alto Orden y en la Transformada de Fourier. En este apndice se presenta
una herramienta de software denominada Analizador Espectral, desarrollada en Matlab
versin 6.0. En esta herramienta estn implementados los mtodos y algoritmos del marco
terico, y mediante una interfase grafica de usuario (GUI) permite el anlisis de datos y el
manejo de los resultados. La finalidad del Analizador Espectral es proporcionar una
herramienta didctica y de experimentacin para anlisis de seales.

Como usar este manual.

Este manual de usuario provee la siguiente informacin:

Informacin del Software: Contiene las explicaciones necesarias para operar la


interfase del Analizador Espectral.

Informacin de la instalacin: la instalacin del Analizador se encuentra en este


manual.

Convenciones usadas en este manual.

En este documento se usan las siguientes convenciones:

Los controles de usuario tales como, mens, botones, cuadros de dialogo, opciones
de seleccin y listas dentro de la interfase del Analizador se escribirn en negritas.
Ejemplo:
o Archivo: Este men permite manipulacin de archivos en formato .DAT.
Contiene los submens de Abrir, Guardar y Salir.

121

Anexo 2: Manual de Analizador en Matlab.

Los nombres de paquetes de software, y de dispositivos fsicos se presentarn en


negritas y cursivas. Ejemplo:
o Esta herramienta de software fue desarrollada en Matlab version 6.0, e
implementa los mtodos y algoritmos estudiados en el marco terico del
captulo 2.

Los comandos que el usuario teclee en el Analizador Espectral o cualquier otro


paquete de software, los nombres de archivos, las rutas de directorios y en general
toda informacin a introducir dentro de cualquier pantalla, se escribiran en cursivas.
Ejemplos:
o Para acceder al Analizador, basta con copiar los archivos spectral_C.m y
spectral_C.fig en la carpeta C:\MATLAB6p5\work\,
o Despus de la entrada de datos (en este ejemplo vector suns.dat),

Los mensajes y leyendas en pantalla se mostrarn entre comillas y en cursivas.


Ejemplo:
o seccin de Salidas se muestra el mensaje Analizando Datos (Figura A
2.10).

122

Anexo 2: Manual de Analizador en Matlab.

A2.1 Descripcin.
El Analizador Espectral es una herramienta de software, desarrollada en Matlab versin
6.0, como un auxiliar para el estudio y anlisis espectral de seales en forma prctica.
Cuenta con una interfase grfica de usuario interactiva (GUI), para la configuracin de
parmetros del clculo de la Densidad Espectral de Potencia (PSD) y el Biespectro (BIS),
muestra los resultados en forma grfica y permite conocer los valores de las salidas, en
puntos de frecuencia especificados por el usuario. A continuacin se muestran brevemente
las principales caractersticas de esta herramienta, que en lo sucesivo se llamar solamente
Analizador. La versin presentada es la versin 6.1, de acuerdo a un control interno de
mejoras y adiciones al software.

A2.2 Interfase Grfica de Usuario.


El Analizador se muestra en la Figura A 2.1, a primera vista se distinguen tres secciones
principales en el Analizador; el men principal, permite diferentes opciones para manejo
de archivos y grficas; la seccin de configuracin, con los parmetros necesarios para el
procesamiento; y la seccin de salidas, donde se presentan los resultados del proceso y los
controles disponibles al usuario dependiendo del tipo de anlisis realizado.

Figura A 2.1Analizador Espectral.

123

Anexo 2: Manual de Analizador en Matlab.

A continuacin se da una breve descripcin de cada seccin del Analizador:

Men Principal: Contiene los elementos bsicos para la seleccin de opciones de manejo de
archivos, grficas y la ayuda de la aplicacin. De forma particular:

Archivo: Este men permite manipulacin de archivos en formato .DAT. Contiene


los submens de Abrir, Guardar y Salir.

Graficar: Selecciona el tipo de grfica deseada.

Ayuda: Proporciona informacin acerca del software.

Configuracin: Esta seccin cuenta con los siguientes controles para personalizar el
anlisis espectral. Los cuadros de solo lectura se actualizan al variar los dems parmetros.
Las opciones disponibles son:

Tipo de Anlisis.

Mtodo.

Frecuencia de Muestreo.

Ventana

Graficar.

Normalizar Entrada.

Tamao de la FFT.

Nuevo Dato.

Ancho de ventana.

Normalizar.

Salidas: Esta seccin presenta al usuario los resultados del proceso. En esta seccin
tambin se encuentran los controles de desplazamiento de frecuencia en las graficas de PSD
y Biespectro.

Nmero de Seccines.

Nmero de Ceros Agregados.

Resolucin Espectral.

Perodo.

Frecuencia.

Posicin.

Barras deslizantes.

124

Anexo 2: Manual de Analizador en Matlab.

A2.3 Uso del Analizador Espectral.


Con objeto de presentar simultneamente el funcionamiento y las principales caractersticas
del Analizador Espectral no se describir estrictamente por secciones, sino que se
desarrollar un sencillo ejemplo de anlisis de datos de la periodicidad de las manchas
solares, tanto para la PSD, como para el Biespectro.

Para acceder al Analizador, basta con copiar los archivos spectral_C.m y spectral_C.fig en
la carpeta C:\MATLAB6p5\work\, inicializar Matlab y teclear en la lnea de comandos
>>spectral_C, como se muestra en la Figura A 2.2, esto producir la pantalla de la Figura A
2.3, que es la presentacin por defecto, se debe notar que las casillas de salida estn vacas
y que los botones de Analizar y Graficar se encuentran deshabilitados, puesto que no se
han introducido datos an.

Figura A 2.2 Inicializacin del Analizador Espectral desde Matlab .

125

Anexo 2: Manual de Analizador en Matlab.

Figura A 2.3 Pantalla inicial del Analizador Espectral.

Para introducir los datos se debe ir al Men Principal, elegir Archivo, Abrir, este submen
maneja los archivos de secuencias de entrada de forma inteligente, ya que acepta solamente
los vectores de datos necesarios para el anlisis a desempear. En la Figura A 2.4 se
muestra para un anlisis de PSD. Tambin es posible usar como entradas vectores
matrices de resultados de PSD y BIS previamente calculados para su manejo por medio del
Analizador.

a) Submen Abrir

b) Submen Abrir, Entrada

c) Submen , Entrada, Entrada (x) ( para PSD)

d) Submen , Entrada, Entrada (y) ( para CSD)

Figura A 2.4 Submen Archivo, Abrir, Entrada.

126

Anexo 2: Manual de Analizador en Matlab.

La Figura A 2.5 muestra una ventana auxiliar para entrada de datos, titulada Archivo de
Datos de Entrada X, para un vector de entrada x. Cuando el anlisis involucra ms de un
vector de entrada como en el caso de la Densidad Espectral de Potencia Cruzada CSD, un
caso particular de la PSD donde se correlacionan dos vectores de entrada, estos se nombran
como x e y respectivamente. El formato del archivo de entrada debe ser compatible con el
formato .DAT5.

Figura A 2.5 Ventana para entrada de datos.

Inmediatamente despus de la entrada de datos del archivo suns.dat, se habilita el botn de


Analizar y Graficar (Figura A 2.6). En este punto ya es posible graficar la seal de
entrada. Sin embargo, antes de realizar el anlisis se debe configurar al Analizador.

En la seccin de Configuracin se tienen los siguientes parmetros de control disponibles


al usuario, las configuraciones son vlidas para PSD y Biespectro, a menos que se
especifique otra cosa:

El formato .DAT consiste en un archivo de nmeros en precisin de punto flotante, separados por comas
para los elementos de la filas y por el carcter enter para las columnas.

127

Anexo 2: Manual de Analizador en Matlab.

Figura A 2.6 Ventana que indica que se puede realizar el anlisis seleccionado.

Tipo de Anlisis: Selecciona entre PSD y Biespectro, dependiendo de la opcin escogida


cambiarn las funciones de Ventana disponibles y la seccin de salida se modificar
tambin.

Frecuencia de Muestreo: Este parmetro se encuentra por defecto a 1 para frecuencia


normalizada, si es cambiado por el usuario esto se reflejar en las grficas de salida y el
letrero Norm en la seccin de salida cambiara a Hz. Para el caso de ejemplo se
considerar un muestreo de 1 ao (frecuencia de muestreo = 1).

Tamao de la FFT: En este cuadro el usuario debe seleccionar la longitud del


periodograma biperiodograma (por defecto a 16) y pulsar Enter. Dependiendo de la
frecuencia de muestreo se actualizarn algunas caractersticas del proceso en la seccin de
Salida, tales como el Nmero de secciones, el nmero de Ceros agregados y la Resolucin
espectral, para este caso con un tamao de FFT de 256 puntos, se tienen dos seccines de
datos muestreados a 1 ao. La resolucin espectral es 0.00390 1/(aos* unidad) (Figura A
2.7).

128

Anexo 2: Manual de Analizador en Matlab.

Figura A 2.7 Pantalla que muestra la resolucin que ser utilizada en el anlisis.

Mtodo: Presenta los mtodos disponibles de obtencin de la PSD o BIS (Figura A 2.8),
para ambos anlisis se tienen:

Directo (Transformada de Fourier).

Directo con secciones traslapantes al 50% (Mtodo de Welch).

Indirecto, a travs de los cumulantes.

Indirecto con secciones traslapantes al 50% (Mtodo de Welch).

Cruzado Directo (Cross-PSD y Cross-Biespectro).

a) Men de Mtodos del anlisis PSD

b) Men de Mtodos del anlisis BIS

Figura A 2.8 Men de Mtodos.

129

Anexo 2: Manual de Analizador en Matlab.

Ventana: Dependiendo del anlisis seleccionado, permite elegir la funcin de Ventana


(Figura A 2.9), independientemente del mtodo de estimacin, las opciones se muestran en
la Tabla A 2-1.
Tabla A 2-1 Funciones de Ventana disponibles.
PSD
Rectangular.
Daniel.
Parsen.
Tukey-Hamming.
Bartlet-Priestley.
Blackman.

BIS
Rectangular.
Daniel.
Parsen.
Tukey-Hamming.
Bartlet-Priestley.
ptima.

Hamming.
Hanning.
Bartlet.
Kaiser.

Ancho: Determina el ancho de la ventana seleccionada (eq. 2.30), no realiza ninguna


accin para la ventana rectangular y la ventana ptima.

a) Funciones de ventana para el anlisis PSD.

b) Funciones de ventana para el anlisis BIS.

Figura A 2.9 Ventanas disponibles.

Normalizar Entrada: Esta opcin debe seleccionarse antes de realizar el anlisis para
normalizar la secuencia de entrada, no tiene efecto una vez que los datos se han procesado.
Es til para disminuir la magnitud de salida sin modificar el comportamiento cuando
estamos manejando seales de magnitudes muy grandes.

130

Anexo 2: Manual de Analizador en Matlab.

BIS Modificado: Solo para el Biespectro, se selecciona antes del anlisis, para enfatizar la
dependencia explcita de la fase, (Ver el Marco Terico eq 2.50).

Analizar: Este botn inicia el proceso de anlisis con los parmetros seleccionados, en la
seccin de Salidas se muestra el mensaje Analizando Datos (Figura A 2.10). Al finalizar
el proceso cambiar a Salidas de la PSD o Salidas del BIS.

Figura A 2.10 Analizando datos.

La seccin de Salidas presenta al usuario informacin del proceso, su apariencia cambia


dependiendo de los parmetros seleccionados en la seccin de Configuracin. La Figura A
2.11 muestra los resultados de la PSD y el BIS del vector suns.dat. La seccin de salida se
compone de ventanas informativas y controles de usuario. Los primeros se detallan a
continuacin:

Nmero de Secciones: Dependiendo del nmero de secciones seleccionado indica el


tamao del vector de datos procesado.

Resolucin: Indica la resolucin espectral alcanzada de acuerdo a los parmetros


seleccionados.

Ceros: Indica el nmero de ceros agregados al vector original para completar el nmero de
secciones de acuerdo al tamao de la FFT.

131

Anexo 2: Manual de Analizador en Matlab.

a) Resultados del anlisis PSD.

b) Resultados del anlisis BIS.

Figura A 2.11 Salidas de la PSD y BIS de los datos de las manchas solares (suns.dat).

Magnitud y Fase: Al finalizar el cmputo del anlisis presenta los valores de magnitud y
fase (excepto en la PSD) calculados. En este ejemplo, los valores de PSD y BIS confirman
la periodicidad de 11 aos para la actividad de las manchas solares (Figura A 2.11).

Perodo, Frecuencia y Posicin: Estos valores estn estrechamente relacionados, los dos
primeros dependen de la resolucin, y el ltimo es el valor de la posicin del dato en la
matriz vector de resultados, considerando desde 0 a N-1. Al finalizar el anlisis, estas
ventanas contendrn los valores del punto con mxima magnitud (Figura A 2.11).

Figura A 2.12 Seleccin de grficos.

132

Anexo 2: Manual de Analizador en Matlab.

Graficar: Dependiendo de las opciones seleccionadas en el Men Principal, produce las


grficas correspondientes, las opciones de PSD y BIS son mutuamente excluyentes (Figura
A 2.12). Las graficas de salida se muestran en la Figura A 2.13.

a) Densidad Espectral de Potencia.

b) Biespectro o Biespectro Modificado

c) Contorno del Biespectro o Biespectro Modificado.

d) Fase del Biespectro.

Figura A 2.13 Grficas de salida del Analizador.

Adems, es posible graficar la seal de entrada y la ventana utilizada ya sea en 2D o en 3D,


dependiendo del tipo de anlisis desarrollado Figura A 2.14.

133

Anexo 2: Manual de Analizador en Matlab.

a) Seal de Entrada

b) Ventana Utilizada (en dos ndices de tiempo).


Figura A 2.14 Otras grficas del Analizador.

Freq1 y Freq2: Son dos barras de desplazamiento (Figura A 2.15) que permiten explorar la
matriz del resultado, ya sea por posicin o por valor de frecuencia, presentando de manera
visible al usuario los valores de magnitud, fase, frecuencia, perodo y posicin discreta de
cada punto.

Figura A 2.15 Control del usuario mediante barras deslizantes.

Normalizar: Esta opcin normaliza los resultados del proceso, no tiene efecto antes del
anlisis. Sin embargo, dependiendo de su estado de seleccin, presenta los resultados en
porcentaje, con el smbolo % (Figura A 2.16), en magnitud real. Esta condicin
tambin se refleja al graficar (Figura A 2.17). Esta opcin es muy interesante ya que
permite visualizar la magnitud relativa de las componentes de salida
134

Anexo 2: Manual de Analizador en Matlab.

Figura A 2.16 Normalizacin interactiva de los resultados.

Figura A 2.17 Grfica de salida normalizada para el BIS de suns.dat.

Dato Nuevo: Este opcin tiene como funcin mostrar en la seccin de salida los valores del
punto seleccionado mediante el puntero en la grfica (nicamente para graficas 2D). Al
pulsar con el puntero en una grfica 2D aparece una marca de color azul, indicando el
punto a conocer, despus se oprime el botn Dato Nuevo y en la seccin de salida se
actualizan los valores magnitud, fase, perodo, frecuencia y posicin (Figura A 2.18). Esto
permite utilizar al mximo las caractersticas de acercamiento de grficas de Matlab,
proporcionando el valor del punto exacto seleccionado (Figura A 2.19).

135

Anexo 2: Manual de Analizador en Matlab.

Figura A 2.18 Actualizacin de los valores de salida mediante el botn de control Nuevo Dato.

Figura A 2.19 Seleccin de un punto de la grfica de salida tipo contorno para el BIS de suns.dat.

Guardar: Almacena en formato .DAT el vector o matriz de resultados, para una anlisis
posterior mediante Matlab (Figura A 2.20). Es recomendable que el nombre del archivo
sea descriptivo, ya que para que el Analizador acepte entradas de datos de una forma
general, no puede reconocer la frecuencia de muestreo de los datos. Una buena prctica es
aadir este dato en el nombre del archivo e introducir este dato en el campo Frecuencia de
136

Anexo 2: Manual de Analizador en Matlab.

muestreo cuando se requiera volver a analizar los datos. Por ejemplo en datos muestreados
a 1 Khz de una seal senoidal pudiera manejarse seno_1000.dat , psd_seno_1000.dat o
bis_seno_1000.dat segn se requiera. Al seleccionar la opcin guardar, se abre una ventana
diferente dependiendo del tipo de anlisis que se ha desempeado (Figura A 2.21).

a) Opcin guardar el mdulo de la PSD.

b) Opcin guardar el mdulo del BIS.

Figura A 2.20 Ventanas de la opcin guardar del Analizador.

a) Guardar mdulo PSD.

a) Guardar mdulo BIS.

Figura A 2.21 Ventanas auxiliares de la opcin guardar del Analizador.

Ayuda: Proporciona informacin acerca de la autora del software con un dialogo de


Acerca de (Figura A 2.22).

137

Anexo 2: Manual de Analizador en Matlab.

Figura A 2.22 Descripcin de la autora del software.

Salir: Esta opcin cierra el Analizador y el ambiente Matlab.

Aunque esta herramienta esta desarrollada en Matlab versin 6.0, se ha probado y


modificado sin problemas en versiones posteriores como Matlab version 6.15 Release 13.

138

Anexo 2: Manual de Analizador en Matlab.

A2.4 Referencia de funciones del Analizador en Matlab.


agrega_ceros

Agrega ceros a los vectores del arreglo dato, para el calculo de


la FFT.

bis_enhanced

Calcula el Biespectro modificado.

bis_sec

Calcula el Biespectro mediante Fourier y funcniones de


ventana.

csdf_sec

Calcula la CSD de dos vectores de datos.

cum_1

calcula el cumulante de orden 1 de un vector

cum_2

Calcula el cumulante de orden 2 de dos vectores.

cum_3

Calcula el cumulante de un arreglo de 3 vectores de cualquier


longitud

cumulante2

Calcula el cumulante de orden 2 de un vector.

Cumulante3

Calcula el cumulante de orden 3 de un vector.

daniel_window

Calcula la ventana Daniel de un punto de una secuencia.

fase_nueva

Convierte una matriz de fase de radianes a grados

fft_window

Calcula la fft de los datos multiplicados por una funcin de


ventana.

mediacero

Esta funcin lleva la media de un vector a cero.

momento

Calcula el promedio estadstico de un vector.

momento_k

Calcula el momento de k orden de un vector.

momento_kvi

Calcula el momento de k orden de k

vectores de igual

longitud.
momento3_sec

Calcula del momento de 3er orden de un vector.

optimum_window

Calcula la ventana optima de un punto de una secuencia.

parzen_window

Calcula la ventana Parzen de un punto de una secuencia.

posicion_maximo

Calcula el valor maximo de una matriz (vector) y su posicin.

priestley_window

Calcula la ventana Bartlett-Priestley de un punto de una

139

Anexo 2: Manual de Analizador en Matlab.

secuencia.
psdm_seccion

Calcula la PSD mediante momentos de media cero y


funciones de ventana.

redondea

Redondea un vector complejo de orden k.

tukey_window

Calcula la ventana Tukey-Hamming de un punto de una


secuencia.

win_daniel2d

calcula la ventana Daniel 2D.

win_optimum2d

Calcula la ventana Optima 2D.

win_parzen2d

Calcula la ventana Parzen 2D.

win_priestley2d

Calcula la ventana Tukey-Hamming 2D.

win_tukey2d

Calcula la ventana Tukey-Hamming 2D.

win_daniel3d

calcula la ventana Daniel 3D.

win_optimum3d

Calcula la ventana Optima 3D.

win_parzen3d

Calcula la ventana Parzen 3D.

win_priestley3d

Calcula la ventana Tukey-Hamming 3D.

win_tukey3d

Calcula la ventana Tukey-Hamming 3D.

En el CD nexo se encuentra el listado completo de funciones en formato HTML, adems


del cdigo fuente de la aplicacin del Analizador en Matlab.

140

Anexo 3: Manual de Analizador en Visual C++.

Anexo 3
Manual del Analizador Espectral V.1.0.1 en Visual
C++ para IBM PC y DSP TMS320C6701.

141

Anexo 3: Manual de Analizador en Visual C++.

Introduccin.

Acerca de este manual.

En el captulo 2, dentro del marco terico, se presentan los mtodos no paramtricos para el
clculo de la Densidad Espectral de Potencia (PSD) y el Biespectro (BIS), basados en
Estadsticas de Alto Orden y en la Transformada de Fourier. En este apndice se presenta
una herramienta de software denominada Analizador Espectral, desarrollada en Visual
C++ versin 6.0. En esta herramienta estn implementados los mtodos y algoritmos del
marco terico, y mediante una interfase grafica de usuario (GUI) permite el anlisis de
datos y el manejo de los resultados. La finalidad del Analizador Espectral es proporcionar
una herramienta didctica y de experimentacin para anlisis de seales.

Como usar este manual.

Este manual de usuario provee la siguiente informacin:

Informacin del Software: Contiene las explicaciones necesarias para operar la


interfase del Analizador Espectral para los modelos PC IBM o compatible y DSP
TMS320C6701 EVM.

Informacin de la instalacin:
o La instalacin del Analizador se encuentra en este manual y es compatible
para los modelos PC IBM o compatible y DSP TMS320C6701 EVM.
o La informacin acerca de la instalacin del hardware se encuentra en forma
completa en los manuales del fabricante.

142

Anexo 3: Manual de Analizador en Visual C++.

Convenciones usadas en este manual.

En este documento se usan las siguientes convenciones:

Los controles de usuario tales como, mens, botones, cuadros de dialogo, opciones
de seleccin y listas dentro de la interfase del Analizador se escribirn en negritas.
Ejemplo:
o El men de Configuracin

se encuentra dividido en tres secciones

dependiendo del parmetro a modificar, estas son: HOS, Secciones y


Ventana.

Los nombres de paquetes de software, y de dispositivos fsicos se presentarn en


negritas y cursivas. Ejemplo:
o Esta herramienta de software fue desarrollada en Visual C++ 6.0, e
implementa los mtodos y algoritmos estudiados en el marco terico del
captulo 2.

Los comandos que el usuario teclee en el Analizador Espectral o cualquier otro


paquete de software, los nombres de archivos, las rutas de directorios y en general
toda informacin a introducir dentro de cualquier pantalla, se escribiran en cursivas.
Ejemplos:
o En el CD-ROM de instalacin en el directorio E:\Analizador V.
1.0.1\disk1\Setup.exe se encuentra el programa ejecutable,
o Despus de la entrada de datos (en este ejemplo vector suns.dat),

Los mensajes y leyendas en pantalla se mostrarn entre comillas y en cursivas.


Ejemplo:
o se muestra el mensaje Calculando espectros de Alto Orden. Al finalizar el
anlisis cambiar a esperando datos de entrada (Figura A 3.12).

143

Anexo 3: Manual de Analizador en Visual C++.

A3.1 Descripcin.
En este anexo se presenta el manual de instalacin y operacin del Analizador Espectral.
El manual de usuario corresponde a los modelos basados en IBM PC y en DSP, debido a
que la interfase de usuario es completamente idntica. Particularmente se mostrar la
versin 1.0.1 de esta herramienta,

que tiene la misma funcionalidad de la versin

desarrollada en Matlab, con un mejor desempeo en el tiempo de ejecucin, por tratarse


de algoritmos desarrollados en un lenguaje compilado como C, mucho ms robusto, rpido
y eficiente.

Esta herramienta de software fue desarrollada en Visual C++ 6.0, e implementa los
mtodos y algoritmos estudiados en el marco terico del captulo 2. Cuenta con una
interfase grfica de usuario interactiva (GUI), para la configuracin de parmetros del
clculo de la Densidad Espectral de Potencia (PSD) y el Biespectro (BIS). Muestra los
resultados en forma grfica y permite conocer los valores de las salidas, en puntos de
frecuencia especificados por el usuario. A continuacin se mostrar brevemente las
principales caractersticas de esta herramienta, que en lo sucesivo se llamar solamente
Analizador.

A3.2 Instalacin del software.


El Analizador en Visual C++ para PC6 y DSP es una aplicacin tipo Windows, y cuenta
con un programa de instalacin ejecutable desde el Explorador de Windows. En el CDROM de instalacin en el directorio E:\Analizador V. 1.0.1\disk1\Setup.exe se encuentra el
programa ejecutable, el proceso de instalacin se muestra de la Figura A 3.1 a la Figura A
3.5:

La primera pantalla corresponde a la presentacin del Analizador Espectral (Figura A 3.1):


6

En este documento se usar el trmino PC para referirnos a la plataforma de computadoras personales tipo
IBM compatibles.

144

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.1 Pantalla Inicial de instalacin del Analizador Espectral.

Despus de la pantalla inicial, presione Next para iniciar la instalacin:

Figura A 3.2 Pantalla Inicial de instalacin del Analizador Espectral.

A continuacin se muestra el contrato de licencia de instalacin, presione yes para aceptar


los trminos:

145

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.3 Trminos de licencia del Analizador Espectral.

Personalice su informacin para la instalacin, digite un nmero de serie y presione Next:

Figura A 3.4 Personalizando la instalacin del Analizador Espectral.

En las pantallas siguientes (no se muestran), acepte las opciones por omisin, finalmente, el
Analizador quedar instalado en su sistema en el directorio: C:\Archivos de
programa\AERSI AC\Analizador.exe.

146

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.5 Pantalla final de instalacin del Analizador Espectral.

Adems, se debe instalar el RunTime de LabView incluido en el CD de instalacin, para


poder completar el proceso. Simplemente acepte todas las opciones por omisin hasta
llegar a la pantalla de la Figura A 3.6.

Figura A 3.6 Pantalla final de instalacin del Run-Time de LabView.

147

Anexo 3: Manual de Analizador en Visual C++.

A3.3 Interfase Grfica de Usuario.


El Analizador se muestra en la Figura A 3.7, la pantalla principal es breve y sencilla, las
opciones de operacin se encuentran en el men principal, que consiste de las opciones
Archivo, Graficar y Configuracin, Ayuda y de una barra de progreso, donde se puede
ver el estado de avance del proceso, adems se cuenta con controles disponibles al usuario
para comenzar o cancelar el anlisis.

Figura A 3.7 Analizador Espectral para PC y DSP.

A continuacin se da una breve descripcin de cada seccin del Analizador:

Men Principal: contiene los elementos bsicos para la seleccin de opciones de manejo de
archivos, grficas y la ayuda de la aplicacin. De forma particular:

Archivo: Este men permite manipulacin de archivos en formato .DAT. Contiene


los submens de Abrir, Guardar y Salir.

Graficar: Selecciona el tipo de grfica deseada.

Configurar: Cuenta con opciones disponibles al usuario para seleccionar, tipo y


mtodo de anlisis, la ventana en tiempo, la frecuencia de muestreo, etc.

Ayuda: Proporciona informacin acerca del software.

148

Anexo 3: Manual de Analizador en Visual C++.

A3.4 Uso del Analizador Espectral.


Con objeto de presentar simultneamente el funcionamiento y las principales caractersticas
del Analizador Espectral no lo se describir estrictamente por secciones, sino que se
desarrollar un sencillo ejemplo de anlisis de datos de la periodicidad de las manchas
solares, tanto para la PSD, como para el Biespectro. Para acceder al Analizador, basta con
pulsar 2 veces sobre el icono de acceso directo del Analizador, previamente se debe haber
ejecutado la instalacin como se describe en la seccin anterior.

Abrir: Este submen acepta archivos de secuencias de entrada en formato .DAT. Tambin
es posible usar como entradas vectores matrices de resultados de PSD y BIS previamente
calculados para su manejo por medio del Analizador. La Figura A 3.8 muestra una ventana
auxiliar para entrada de datos.

Figura A 3.8 Men Archivo, submen de Abrir datos de entrada.

Inmediatamente despus de la entrada de datos (en este ejemplo vector suns.dat), se debe
realizar la configuracin de parmetros de clculo, en el submen configuracin o por
medio de un archivo de configuracin, las configuraciones son vlidas para PSD y
Biespectro, a menos que se especifique otra cosa:

149

Anexo 3: Manual de Analizador en Visual C++.

El men de Configuracin

se encuentra dividido en tres secciones dependiendo del

parmetro a modificar, estas son: HOS, Secciones y Ventana.

HOS: Permite configurar el tipo de Anlisis entre PSD y BIS o ambos, y el Mtodo
paramtrico de obtencin (Figura A 3.9). Los mtodos disponibles para ambos anlisis son:

Directo (Transformada de Fourier).

Indirecto, a travs de los cumulantes.

En el caso del Biespectro, se tiene la opcin de seleccionar BIS Modificado antes del
anlisis, para enfatizar la dependencia explcita de la fase, (Ver el Marco Terico eq 2.50).

Figura A 3.9 Ventana que indica que se puede realizar el anlisis seleccionado.

Secciones: Permite al usuario especificar la Longitud del archivo, el Tamao de la FFT y


la Frecuencia de muestreo, actualizando dinmicamente los valores de Resolucin en
frecuencia y de Ceros agregados a la secuencia original. Para este caso con un tamao de
FFT de 256, se tienen dos secciones de datos muestreados a 1 ao. La resolucin espectral
es 0.00390

1/(aos* unidad). Por razones de compatibilidad con el programa se

considerar una frecuencia de muestreo de 1000 Hz, por lo que todos los resultados en

150

Anexo 3: Manual de Analizador en Visual C++.

frecuencia se debern dividir por 1000. Por ejemplo la resolucin, que se muestra en la
pantalla de la Figura A 3.10 es 3.91, que es igual a 0.0039 x 1000.

Figura A 3.10 Pantalla que muestra la resolucin que ser utilizada en el anlisis.

Ventana: Dependiendo del anlisis seleccionado, permite elegir la funcin y el Ancho de


ventana (Figura A 3.11), independientemente del mtodo de estimacin, las opciones se
muestran en la Tabla A 3-1.

Figura A 3.11 Ventanas disponibles en el Analizador.

151

Anexo 3: Manual de Analizador en Visual C++.

Tabla A 3-1 Funciones de ventana del Analizador.


Funciones de Ventana
Rectangular.

Parsen.

Tukey-Hamming.

Daniel.

ptima.

Bartlet-Priestley.

Calcular: Este botn inicia el proceso de anlisis, en la pantalla principal en la parte


superior de la barra de progreso se muestra el mensaje Calculando espectros de Alto
Orden. Al finalizar el anlisis cambiar a esperando datos de entrada (Figura A 3.12).

Figura A 3.12 Analizando datos.

Graficar: Dependiendo del anlisis, permite desplegar las grficas correspondientes de


PSD, BIS y de funcin de ventana. En la figura Las graficas de salida se muestran en la
Figura A 3.13.

Figura A 3.13 Seleccin de grficos.

152

Anexo 3: Manual de Analizador en Visual C++.

Al finalizar el cmputo del anlisis presenta los valores de Magnitud y Frecuencia. En


este ejemplo, el valor de la mxima magnitud de la PSD en la Figura A 3.14 est en 89.93
Hz, es decir (1/89.93)*1000 = 11.119, que confirma la periodicidad de 11 aos para la
actividad de las manchas solares.

Figura A 3.14 Salidas de la PSD de los datos de las manchas solares (suns.dat).

La Figura A 3.15 muestra la grfica de magnitud del Biespectro para los datos de las
manchas solares. Posicionando el cursor sobre la grfica del biespectro, se puede conocer
los valores de frecuencias y magnitud en forma interactiva. Como una funcionalidad
adicional se tienen Controles de Usuario, que consisten de barras deslizantes para
seleccionar cualquier punto de frecuencia de la matriz del Biespectro.

Otras opciones de manejo de grficos disponibles son la Regin de inters que permite
seleccionar el rango a graficar en los 3 ejes X, Y y Z como se muestra en la Figura A 3.16.
Las grficas pueden rotarse y desplazarse interactivamente mediante el cursor. Adems,
colocando el cursor sobre la grfica y manteniendo presionada la tecla ALT se activa la
opcin de acercamiento o alejamiento de la grfica desde el punto de vista del observador
al mover hacia atrs y hacia delante el cursor respectivamente. Algunos dispositivos de
cursor

cuentan con una rueda mvil adicional, que permite hacer esta operacin sin

presionar la tecla ALT.

153

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.15 Grfica de lneas del Biespectro de los datos suns.dat.

Figura A 3.16 Utilidad de Regin de inters en una grfica del Biespectro.

Tambin se puede seleccionar el Tipo de Grfica, entre grfica de lneas, superficie y de


contorno como se ve en la Figura A 3.17.

154

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.17 Grfica de contorno del Biespectro.

Otras graficas que presenta el Analizador son las de funciones de ventana en 2D o en 3D,
dependiendo del tipo de anlisis desarrollado (Figura A 3.18).

a) Funcin de ventana en dos ndices de tiempo.

b) Funcin de ventana en dos ndices de tiempo.

Figura A 3.18 Otras grficas del Analizador.

Guardar: Almacena en formato .DAT el vector de PSD o la matriz de magnitud del


Biespectro, para exportarlo a otros ambientes como Matlab, o para un anlisis posterior
(Figura A 3.19). La Figura A 3.20 muestra el archivo PSD_Suns.DAT.

155

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.19 Ventanas de la opcin Guardar configuracin del Analizador.

Figura A 3.20 Ventanas de la opcin Guardar configuracin del Analizador.

El Analizador permite almacenar las opciones de configuracin (Figura A 3.21), a un


archivo tipo *.cfg, mediante el comando Guardar>>Configuracin.

156

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.21 Ventanas de la opcin Guardar configuracin del Analizador.

La Figura A 3.22 y la Figura A 3.23 muestran las opciones de Abrir>>Biespectro y


Abrir>>Configuracin, que permiten almacenar los datos almacenados.

Figura A 3.22 Abrir Biespectro del Analizador.

157

Anexo 3: Manual de Analizador en Visual C++.

Figura A 3.23 Abrir configuracin del Analizador.

Ayuda: Proporciona informacin acerca de la autora del software con un dialogo de


Acerca de (Figura A 3.24).

Figura A 3.24 Descripcin de la autora del software.

Cancelar: Esta opcin detiene el anlisis actual.

Para salir del Analizador basta con cerrar la aplicacin.

158

Anexo 3: Manual de Analizador en Visual C++.

A3.5 Referencia de funciones del Analizador en ANSI C.

Absoluto:

Obtiene el valor absoluto de un nmero.

Ang_Matriz:

Angulo de Fase (rango [-pi,pi ]) de matrices o vectores


complejos.

Angulo:

Obtiene el Angulo de Fase (rango [-pi,pi ]) de un nmero


complejo

Bartlet:

Calcula la ventana de Bartlet de un punto.

BisNuevo:

Llena una matriz cuadrada con la region no redundante del


Biespectro

BisRegion:

Filtra la region no redundante del Biespectro

BIS_Vector:

Calcula el Biespectro de un vector de datos complejos

Bitrev_cplx:

Ordena la entrada o la salida para el calculo de la FFT.

BitRev_Index:

Calcula el vector de indices para la funcin bitrev_cplx.

Conj:

Calcula la conjugada de un nmero complejo.

Conj_Matriz:

Calcula la conjugada de una matriz de complejos.

Cumulante_Orden_2:

Calcula el vector cumulante de 2do orden de un vector.

Cumulante_Orden_2_C:

Calcula el vector cumulante de 2do orden de un vector


complejo.

Cumulante_Orden_3:

Calcula el vector cumulante de 3er orden de un vector.

Cumulante_Orden_3_C:

Calcula el vector cumulante de 3er orden de un vector


complejo.

Cumulante_XY:

Calcula el vector cumulante de 2do orden XY de un vector.

Cumulante_XYZ:

Calcula el vector cumulante de 3er orden XYZ de un vector.

Daniel:

Calcula la ventana de Daniel de un punto.

Div:

Realiza la divisin de un complejo entre un real

Div_Matriz_C:

Realiza la divisin de una matriz de complejos entre un real.

Gen_Twidd:

Genera los factores twiddle para la FFT del DSP.

159

Anexo 3: Manual de Analizador en Visual C++.

Magnitud:

Obtiene la magnitud de un nmero complejo.

Mag_Matriz:

Obtiene la magnitud de matrices o vectores complejos.

MagMod_Matriz:

Obtiene la magnitud modificada de matrices o vectores


complejos.

Maximo:

Obtiene el valor maximo de una matriz o vector real

Media:

Calcula el promedio estadistico de un vector.

Medianero:

Resta la media del vector de entrada.

Modificar:

Obtiene la magnitud modificada de un nmero complejo.

Momento_Orden_2:

Calcula el vector momento de 2do orden de un vector.

Momento_Orden_3:

Calcula el vector momento de 3er orden de un vector.

Momento_XY:

Calcula el vector momento XY de 2do orden de un vector.

Momento_XYZ:

Calcula el vector momento de 3er orden XYZ de un vector.

Mult:

Realiza la multiplicacin de nmeros complejos

Mult_Vector:

Realiza la multiplicacin de vectores reales.

Mult_Vector_C:

Realiza la multiplicacin de vectores complejos.

FFT_radix2:

Calcula la FFT del vector complejo x.

FFT_seccion:

Calcula la FFT de un vector de datos reales.

FFT_seccion_C:

Calcula la FFT de un vector de datos complejos.

FFT2:

Calcula la FFT de 2 dimensiones de un matriz de datos


complejos.

Init_Matriz:

Asignar valores iniciales a matrices o vectores reales.

Init_Matriz_C:

Asignar valores iniciales a matrices o vectores complejos.

Open_dat_read:

Abre un archivo *.dat para lectura.

Open_dat_write:

Abre un archivo *.dat para escritura.

Optima:

Calcula la ventana Optima de un punto.

Parzen:

Calcula la ventana de Parzen de un punto.

PSD_Vector:

Calcula la PSD de un vector de datos complejos.

Rectangular:

Calcula la ventana Rectangular de un punto.

160

Anexo 3: Manual de Analizador en Visual C++.

Real_Complejo:

Crea una matriz con columnas duplicadas con ceros real[n] ->real2[2*n]= r(0),i(0),r(1),i(1).

Suma:

Realiza la suma de nmeros complejos.

Suma_Matriz:

Realiza la suma de Matrices o Vectores reales.

Suma_Matriz_C:

Realiza la suma de Matrices o Vectores complejos.

Transpuesta:

Obtiene la Transpuesta no conjugada de matrices o vectores


reales.

Transpuesta_C:

Obtiene la Transpuesta no conjugada de matrices o vectores


complejos.

Tukey-Hanning:

Calcula la ventana de Tukey-Hanning de un punto.

Ventana2d:

Funcion general para producir Ventanas 2D.

Ventana3d:

Funcion general para producir Ventanas 3D.

Win_Matriz:

Realiza la multiplicacin de matrices reales con la ventana


seleccionada mediante simetra.

Win_Matriz_C:

Realiza la multiplicacin de matrices complejas con la


ventana seleccionada mediante simetra.

Win_Vector:

Realiza la multiplicacin de vectores reales con la ventana


seleccionada.

Win_VectorC:

Realiza la multiplicacin de vectores complejos con la


ventana seleccionada.

En el CD nexo se encuentra el listado completo de funciones en formato HTML, adems


del cdigo fuente de la aplicacin del Analizador en C para PC y PC-DSP.

161