+ All Categories
Home > Documents > Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on...

Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on...

Date post: 10-Aug-2020
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
93
Detecci´ on de ruptura en barras de Motores de Inducci´ on mediante el an ´ alisis de la representaci´ on Sparse de se˜ nales de vibraci ´ on por Ing. Carlos Javier Morales P´ erez Tesis sometida como requisito parcial para obtener el grado de MAESTRO EN CIENCIAS EN LA ESPECIALIDAD DE ELECTR ´ ONICA en el Instituto Nacional de Astrof´ ısica, ´ Optica y Electr´ onica Agosto 2017 Tonantzintla, Puebla Supervisada por: Dr. Jos´ e de Jes ´ us Rangel Magdaleno Investigador Titular INAOE Dra. Hayde Peregrina Barreto Investigador Titular INAOE c INAOE 2017 El autor otorga al INAOE el permiso de reproducir y distribuir copias en su totalidad o en partes de esta tesis
Transcript
Page 1: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Deteccion de ruptura en barrasde Motores de Induccionmediante el analisis de larepresentacion Sparse de

senales de vibracionpor

Ing. Carlos Javier Morales PerezTesis sometida como requisito parcial para

obtener el grado deMAESTRO EN CIENCIAS EN LA

ESPECIALIDAD DE ELECTRONICAen el

Instituto Nacional de Astrofısica, Optica yElectronicaAgosto 2017

Tonantzintla, PueblaSupervisada por:

Dr. Jose de Jesus Rangel MagdalenoInvestigador Titular INAOE

Dra. Hayde Peregrina BarretoInvestigador Titular INAOE

c©INAOE 2017El autor otorga al INAOE el permiso de

reproducir y distribuir copias en su totalidad o enpartes de esta tesis

Page 2: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su
Page 3: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Deteccion de ruptura en barras de Motores deInduccion mediante el analisis de la representacion

Sparse de senales de vibracion

Tesis de Maestrıa

Por:

Ing. Carlos Javier Morales Perez

Asesores:

Dr. Jose de Jesus Rangel Magdaleno

Dra. Hayde Peregrina Barreto

Instituto Nacional de Astrofısica, Optica y Electronica

Coordinacion de Electronica

Tonantzintla, Puebla. Agosto 2017

Page 4: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su
Page 5: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Dedicado a mi esposa Laritza,por todo su apoyo y tiempo, quien además

lleva en su ser el más grande regalo que me ha de dar Dios.Y por supuesto, a mis padres Javier y Angélica;

mis más grandes ejemplos de vida.

Page 6: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su
Page 7: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Agradecimientos

A mis padres, mis hermanos y a mis familiares que siempre creyeron en mı y me

apoyaron en todo momento.

A mis asesores de tesis: al Dr. Rangel y a la Dra. Hayde; que con su paciencia y

perseverancia pudimos concluir esta tesis.

A mis sinodales: Dr. Juan Manuel, Dr. Israel y Dr. Carballido; por sus invaluables

comentarios y correcciones para concluir este trabajo.

A todos mis maestros, que durante la etapa de materias me compartieron un poco

de su gran e invaluable conocimiento. Espero haber sido el alumno que esperaban.

A mis entranables amigos, colegas y companeros: Cesar, Migue, Cris, Jorge, Chio,

Betty, Dania, Carmona, Balam, y a los que me faltaron de mencionar; que ademas

de sus consejos, ayuda y apoyo, hicieron mas amena la estancia en este gran instituto.

Al Dr. Zuniga Islas, quien me dio la oportunidad de ser su alumno de verano en

algun entonces, y por todo su apoyo brindado desde aquel momento.

A este magnıfico Instituto, y a todo su personal que siempre me atendieron y

apoyaron con la mejor de las maneras.

A CONACyT, por la beca otorgada para sustentar estos estudios.

[i]

Page 8: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su
Page 9: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Resumen

En este trabajo, la deteccion de tres condiciones de falla de un Motor de Induccion

usando el algoritmo Orthogonal Matching Pursuit es presentada. La tecnica se basa

en la busqueda de la representacion sparse de una senal a partir de resolver la combi-

nacion lineal x = Dα. El algoritmo OMP es implementado en un Field Programmable

Gate Array para realizar la descomposicion de senales y ası obtener la representacion

sparse a partir de un diccionario dado (D). Despues, la informacion obtenida es eva-

luada y clasificada por criterios propuestos en este trabajo. Con ello, la deteccion de

Rupturas en Barras del Rotor fue realizada, con una exactitud de mas del 93 % para:

motor sano, motor con media barra rota y motor con una barra rota. La deteccion

se realizo con senales de vibracion preprocesadas y analizadas en el dominio de la

frecuencia. Los diccionarios fueron obtenidos mediante el algoritmo K-Singular Value

Decomposition implementado en Matlab. La implementacion en FPGA es de baja

complejidad, compacto y operable a 100 MHz.

[iii]

Page 10: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

iv Resumen

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 11: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Abstract

In this work, the detection of three Induction Motor fault conditions using the

Orthogonal Maching Pursuit algorithm is presented. This technique is based on fin-

ding the sparse representation of a signal from the linear combination x = Dα. The

OMP algorithm was implemented into a Field Programmable Gate Array to per-

form signal decomposition and obtains the sparse representation of the signal given

a dictionary (D). Then, the signal information obtained from sparse representation

is evaluated and classified by the proposed criteria. Accordingly, Broken-Rotor Bar

detection were accomplished with an accuracy greater than 93 % for: Healthy bar,

Half-broken bar, and One-broken bar. The detection was performed from vibration

signals preprocessed and analyzed in frequency domain. The dictionaries were ob-

tained by K-Singular Value Decomposition algorithm developed in Matlab software.

The FPGA implementation is low-complexity, compact, and works at 100 MHz.

[v]

Page 12: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

vi Abstract

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 13: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Tabla de Contenido

Agradecimientos I

Resumen III

Abstract V

Indice de Figuras IX

Indice de Tablas XIII

Lista de acronimos XV

1. Deteccion de fallas en Motores de Induccion 1

1.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3.1. Objetivo general . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.3.2. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . . 3

1.4. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

2. Marco Teorico 5

2.1. Motores de Induccion . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2.1.1. Principios de funcionamiento . . . . . . . . . . . . . . . . . . . 6

2.1.2. El rotor en movimiento . . . . . . . . . . . . . . . . . . . . . . 8

2.1.3. Analisis de vibracion . . . . . . . . . . . . . . . . . . . . . . . 11

2.2. Representacion sparse . . . . . . . . . . . . . . . . . . . . . . . . . . 16

2.2.1. Algoritmo Orthogonal Matching Pursuit . . . . . . . . . . . . 17

[vii]

Page 14: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

viii TABLA DE CONTENIDO

2.2.2. Algoritmo K-Singular Value Decomposition . . . . . . . . . . . 19

3. Metodologıa Propuesta 25

3.1. Adquisicion de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.2. Analisis de la descomposicion de espectros . . . . . . . . . . . . . . . 27

3.2.1. Preprocesamiento de senales . . . . . . . . . . . . . . . . . . . 27

3.2.2. Entrenamiento de Diccionarios . . . . . . . . . . . . . . . . . . 28

3.2.3. Descomposicion de espectros . . . . . . . . . . . . . . . . . . . 29

4. Implementacion y Resultados 35

4.1. Implementacion del algoritmo OMP . . . . . . . . . . . . . . . . . . . 35

4.1.1. Pasos para la obtencion de la representacion sparse . . . . . . 35

4.1.2. Analisis de complejidad . . . . . . . . . . . . . . . . . . . . . . 37

4.1.3. Arquitectura propuesta . . . . . . . . . . . . . . . . . . . . . . 38

4.1.4. Implementacion en FPGA . . . . . . . . . . . . . . . . . . . . 40

4.2. Resultados finales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5. Conclusiones 49

Apendices 50

A. El Algoritmo de deteccion y la vida real 53

A.1. Experiencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

A.2. Deteccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

B. FPGA Implementation of Orthogonal Matching Pursuit Algorithm 55

C. FPGA-Based Broken Bar Detection on IM Using OMP Algorithm 61

Bibliografıa 67

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 15: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Indice de Figuras

2.1. MI con: (a) Rotor de jaula de ardilla [1, p. 232]; (b) Rotor devanado [1,

p. 234]. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2. Experimento que comprueba la ley de induccion de Faraday [2, p. 792]. 7

2.3. Interaccion de un conductor con corriente ante un campo magnetico.

(a) Lıneas de campos magneticos [3, p. 32], (b) Fuerza de Lorentz

actuando sobre el conductor. [3, p. 32]. . . . . . . . . . . . . . . . . . 8

2.4. Principio de funcionamiento de un MI. (a) Barras con corriente indu-

cida sometidas a un flujo de campo magnetico [3, p. 268], (b) Diseno

tıpico de un rotor de jaula de ardilla. [3, p. 268]. . . . . . . . . . . . . 8

2.5. Ejemplo grafico del deslizamiento en un MI. . . . . . . . . . . . . . . 9

2.6. Fotografıa de un rotor de jaula de ardilla con rupturas severas en sus

barras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.7. Senales de vibracion correspondiente a un MI con 3/4 de carga: (a) sin

dano en barras; (b) ruptura de 5 mm en barra; y (c) una barra rota. . 12

2.8. Variaciones de las componentes espurias bajo diferentes niveles de

dano1: (a) Sano; (b) Media barra rota; (c) Una barra rota. . . . . . . 13

2.9. Variaciones de las componentes espurias bajo diferentes niveles de car-

ga mecanica1: (a) Sin carga; (b) Media carga; (c) Tres cuartos de carga. 13

2.10. Ejemplo de espectro de vibracion en un MI: (a) ideal1; y (b) con com-

ponentes del entorno. . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.11. Transformada de Fourier continua de una onda cuadrada: (a) parte

real; (b) parte imaginaria; y (c) magnitud. . . . . . . . . . . . . . . . 14

2.12. Representacion de la senal cuadrada con diferentes numeros de com-

ponentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

[ix]

Page 16: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

x INDICE DE FIGURAS

2.13. Comparacion de la transformada de Fourier continua y la transformada

de Fourier discreta (DFT) de una onda cuadrada: (a) parte real; (b)

parte imaginaria; y (c) magnitud. . . . . . . . . . . . . . . . . . . . . 15

2.14. Representacion: (a) senal original; (b) representacion sparse de la senal;

(c) espectro original; (d) representacion sparse del espectro. . . . . . 17

3.1. (a) Sistema implementado para la realizacion de las pruebas; y (b)

Acople del MI al alternador. . . . . . . . . . . . . . . . . . . . . . . . 26

3.2. Senal de vibracion: (a) Dominio del tiempo; y (b) Dominio de la fre-

cuencia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3.3. Ejemplo de ventana del espectro que se somete a analisis. . . . . . . . 28

3.4. Metodologıa usada para el entrenamiento de diccionarios. . . . . . . . 28

3.5. Clase de espectros: (a) Espectros de tres senales de un MI en buen

estado; (b) Espectros de tres senales de un MI con media barra rota;

y (c) Espectros de tres senales de un MI con una barra rota. . . . . . 29

3.6. Metodologıa propuesta para la deteccion de RBR. . . . . . . . . . . . 30

3.7. Reconstruccion de espectros realizada a partir de la informacion pro-

porcionada por el proceso de descomposicion: (a) Reconstruccion con

el diccionario tipo A; (b) Reconstruccion con el diccionario tipo B; y

(c) Reconstruccion con el diccionario tipo C. . . . . . . . . . . . . . . 30

3.8. Diferencias de descomposicion entre el Algoritmo 1 y el Algoritmo

3: (a) Diferencia entre un espectro original y su reconstruccion basa-

da en el Algoritmo 3; (b) residuo de descomposicion obtenido por

el Algoritmo 3; (c) atomos seleccionados por el Algoritmo 3; (d)

Diferencia entre un espectro original y su reconstruccion basada en el

Algoritmo 1; (e) residuo de descomposicion obtenido por el Algo-

ritmo 1; (f) atomos seleccionados por el Algoritmo 3; (g) Diferencia

entre un espectro original y su reconstruccion basada en el Algorit-

mo 3; (h) residuo de descomposicion obtenido por el Algoritmo 3;

(i) atomos seleccionados por el Algoritmo 3; (j) Diferencia entre un

espectro original y su reconstruccion basada en el Algoritmo 1; (k)

residuo de descomposicion obtenido por el Algoritmo 1; y (l) atomos

seleccionados por el Algoritmo 1. . . . . . . . . . . . . . . . . . . . 33

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 17: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

INDICE DE FIGURAS xi

4.1. Diagrama de flujo del algoritmo OMP para una iteracion. En F3, ‖rj‖2

y ‖x‖2 son calculado en paralelo. . . . . . . . . . . . . . . . . . . . . 36

4.2. Arquitectura propuesta del algoritmo OMP, y utilizacion de modulos. 38

4.3. Bloques principales: (a) Modulo MAC; (b) Modulo Argmax; (c) Modulo

de division; y (d) Modulo de raız cuadrada. . . . . . . . . . . . . . . . 39

4.4. Residuos de descomposicion obtenidos en: (a) espectro tipo A con dic-

cionario tipo A; (b) espectro tipo A con diccionario tipo B; (c) espectro

tipo A con diccionario tipo C; (d) espectro tipo B con diccionario ti-

po A; (e) espectro tipo B con diccionario tipo B; (f) espectro tipo

B con diccionario tipo C; (g) espectro tipo C con diccionario tipo A;

(h) espectro tipo C con diccionario tipo B; y (i) espectro tipo C con

diccionario tipo C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

4.5. Coeficientes no nulos de α obtenidos a partir de la descomposicion de:

(a) espectro tipo A con diccionario tipo A; (b) espectro tipo A con dic-

cionario tipo B; (c) espectro tipo A con diccionario tipo C; (d) espectro

tipo B con diccionario tipo A; (e) espectro tipo B con diccionario tipo

B; (f) espectro tipo B con diccionario tipo C; (g) espectro tipo C con

diccionario tipo A; (h) espectro tipo C con diccionario tipo B; y (i)

espectro tipo C con diccionario tipo C; . . . . . . . . . . . . . . . . . 45

4.6. Diferencias entre espectro original y su reconstruccion: (a) espectro

tipo A con diccionario tipo A; (b) espectro tipo A con diccionario

tipo B; (c) espectro tipo A con diccionario tipo C; (d) espectro tipo

B con diccionario tipo A; (e) espectro tipo B con diccionario tipo B;

(f) espectro tipo B con diccionario tipo C; (g) espectro tipo C con

diccionario tipo A; (h) espectro tipo C con diccionario tipo B; y (i)

espectro tipo C con diccionario tipo C; . . . . . . . . . . . . . . . . . 47

A.1. Relacion del algoritmo de entrenamiento (a) con la experiencia de un

operador en la vida real (b). . . . . . . . . . . . . . . . . . . . . . . . 54

A.2. Relacion del algoritmo de deteccion (a) con la manera que un operador

realiza la deteccion en la vida real (b). . . . . . . . . . . . . . . . . . 54

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 18: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

xii INDICE DE FIGURAS

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 19: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Indice de Tablas

2.1. Resumen de trabajos publicados relacionados con la deteccion de RBR. 11

3.1. Tabla comparativa de parametros promedios de descomposicion para

los Algoritmo 1 y Algoritmo 3. . . . . . . . . . . . . . . . . . . . . 32

4.1. Calculo de complejidad del algoritmo OMP (n es el numero de mues-

tras, y m es el numero de atomos.) . . . . . . . . . . . . . . . . . . . 37

4.2. Formato de numeros utilizados en la implementacion. . . . . . . . . . 40

4.3. Resultados de la implementacion del algoritmo OMP. . . . . . . . . . 41

4.4. Resultados del criterio (4.2.1). . . . . . . . . . . . . . . . . . . . . . . 43

4.5. Resultados del criterio (4.2.2). . . . . . . . . . . . . . . . . . . . . . . 44

[xiii]

Page 20: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

xiv INDICE DE TABLAS

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 21: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Lista de acronimos

ADC analog to digital converter .

ASV analisis de senales de vibracion.

BRAM block random access memory .

CA corriente alterna.

CC criterio de clasificacion.

DAS data adquisition system.

DFT discrete Fourier transform.

DWT discrete wavelet transform.

EMD empirical mode decomposition.

FFT fast Fourier transform.

FPGA field programmable gate array .

FSDO frequency signal dimension order .

FSM finite-state machine.

HP horse power .

IPS instant power spectrum.

K-SVD k-singular value decomposition.

[xv]

Page 22: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

xvi Lista de acronimos

MAC multiplier–accumulator .

MCSA motor current signal analysis .

MEMS micro-electronic-mechanical systems .

MI motor de induccion.

MM morfologıa matematica.

MUSIC multiple signal classification.

OMP orthogonal matching pursuit .

PC personal computer .

R&N recorte y normalizacion.

RBR ruptura en barra del rotor.

SVD singular value decomposition.

TH Transformada Hilbert.

VE sensor de vibracion (codigo de identificacion segun la norma ANSI/ISA S5.1).

VHDL very high speed integrated circuit-hardware description language.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 23: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Capıtulo 1

Deteccion de fallas en Motores de

Induccion

1.1. Introduccion

Los motores de induccion (MMII), son maquinas capaces de convertir la energıa

electrica en energıa mecanica. Los primeros indicios de un motor electrico fueron

mostrados en los experimentos de Anyos Jedlik en 1828, que consistıan en un artefacto

electrico de corriente directa formado por un estator, un rotor y un conmutador.

Anos mas tarde en 1888, el celebre ingeniero de origen serbio Nikola Tesla, desarrollo

y patento el primer motor de corriente alterna. Con este ultimo, se inicio la era de

desarrollo de los MMII, dando origen a la diversidad de disenos que se conocen hoy

en dıa.

La demanda de uso de maquinas rotatorias que existen actualmente en la industria

hace de los MMII un gran candidato debido a su robustez, precio y simplicidad. Por

lo cual, es de gran importancia tener una vigilancia constante en estas maquinas, ya

que las averıas a nivel industrial pueden provocar perdidas economicas importantes.

Aunque existen varias fallas en los MMII, una de gran importancia es la ruptura en

barras del rotor. Aunque inicialmente el dano puede ser indetectable e inofensivo,

este es paulatino y puede provocar danos en otras regiones como los rodamientos o el

consumo excesivo de electricidad, hasta finalmente provocar un dano catastrofico si

no es atendido. En este aspecto, es importante evitar que el motor opere con danos

considerables en las barras, ya que la separacion por ruptura de una sola barra inicia

el agrietamiento en barras adyacentes, provocado por el desbalance y el desequilibrio

electrico del rotor. Estas fallas pueden deberse a diversos factores, que van desde los

[1]

Page 24: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2 1. Deteccion de fallas en Motores de Induccion

defectos de fabrica, hasta las condiciones ambientales y de operacion.

Gracias al desarrollo de la tecnologıa, hoy podemos aplicar varios metodos de

analisis para diagnosticar las fallas en estos motores. Uno de ellos es el analisis de

vibracion, el cual se basa en el analisis de la informacion implıcita en las senales de

vibracion generadas por la maquina [4, pp. 142–168].

1.2. Justificacion

La deteccion de fallas oportunas es indispensable, debido a que las rupturas en

las barras son paulatinas, y pueden llegar a provocar la perdida total del motor si no

son atendidas a tiempo. La falla en una barra puede causar danos a las barras adya-

centes y, en consecuencia, incrementar los danos causando averıas en los elementos de

rodamiento, devanados, etc. Por ello, es necesario un sistema eficiente que sea capaz

de alertar a los operadores de la condicion del motor, antes de que suceda una falla

importante. Tambien, es necesario que el sistema permita al motor operar de manera

normal, pues sacar a este de operacion, podrıa incurrir en perdidas economicas por

paros de produccion. Por otra parte, es necesario que la deteccion de estas fallas sea

de manera no intrusiva, ya que abrir o desarmar un motor, puede anular la garantıa,

asumiendo que la falla es debido a defectos de fabrica.

Por lo anterior, se propone el desarrollo e implementacion de una herramienta

capaz de analizar las senales de vibracion generadas por MMII, y a partir de esto,

poder detectar la ruptura en las barras. Con ello, los planes de mantenimiento y

reparacion podrıan ser mas precisos y eficientes, debido a que los motores podrıan

sacarse de operacion y/o intervenirse cuando realmente lo necesiten.

1.3. Objetivos

1.3.1. Objetivo general

Se propone el desarrollo de una herramienta de diagnostico basado en el analisis

de la representacion sparse de una senal, haciendo el uso de algoritmos de bajo costo

computacional como lo es el orthogonal matching pursuit (OMP), y posteriormente

aplicar criterios para la clasificacion de las fallas. Esta tecnica ha sido demostrada en

trabajos anteriores [5] con un enfoque diferente, por lo que aquı se propone mejorar la

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 25: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

1.4 Conclusiones 3

clasificacion, enfocarlo al sistema de deteccion de ruptura en barra del rotor (RBR), y

reducir el costo computacional sin afectar significativamente la representacion sparse

de senales.

1.3.2. Objetivos especıficos

Implementar el algoritmo OMP y reducir su costo computacional.

Realizar el analisis de la representacion sparse.

Determinar el o los criterios que permitan una clasificacion eficiente para la

correcta deteccion de RBR.

Disenar la arquitectura para la herramienta de deteccion de RBR basado en la

representacion sparse.

Implementar el sistema en un field programmable gate array (FPGA) mediante

su descripcion en very high speed integrated circuit-hardware description langua-

ge (VHDL).

1.4. Conclusiones

Los MI son un elemento crıtico en la industria, pues la mayorıa de los procesos

hacen uso de estas maquinas rotativas. Por ello, es de vital importancia mantenerlos

en optimas condiciones de operacion y en constante monitoreo, puesto que la RBR

puede llevar a la perdida total del motor e incluso a una perdida economica por paros

inesperados en los procesos.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 26: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4 1. Deteccion de fallas en Motores de Induccion

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 27: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Capıtulo 2

Marco Teorico

A continuacion, se presentan las bases teoricas para la comprension del trabajo

presentado en esta tesis. Iniciaremos con el MI para despues exponer el estado del arte

de la deteccion de fallas en estos motores. Finalmente terminaremos con la represen-

tacion sparse de senales, las cuales incluyen los algoritmos OMP y el k-singular value

decomposition (K-SVD). Estas ultimas, son de vital importancia en nuestro trabajo,

ya que permiten que la clasificacion de las senales se realice adecuadamente.

2.1. Motores de Induccion

Existen muchos tipos de motores, pero en especial hablaremos en esta seccion

del MI, el cual es el principal objeto en este trabajo. Los MI son maquinas electricas,

capaces de convertir la energıa electrica en energıa mecanica. Por esto y su simplicidad,

estas maquinas tienen un lugar importante en la industria.

Los motores de corriente alterna (CA) estan construidos principalmente por un

estator y un rotor. El estator es la parte fija y el rotor es la parte movil del motor (ver

Figura 2.1). La separacion entre estas dos partes depende de la potencia del motor

que va de 0.4mm a 4 mm [3, p. 263].

Los rotores para los MMII pueden ser de dos tipos: rotor de jaula de ardilla y rotor

devanado. Este primero esta construido por una serie de barras metalicas unidas por

dos anillos a los extremos, los cuales cortocircuitan las barras (ver Figura 2.1.a). El

segundo esta compuesto por una serie de devanados similares a los realizados en el

estator (ver Figura 2.1.b), quienes estan cortocircuitados por escobillas colocadas en

anillos rozantes [1, p. 263].

A diferencia de los MMII con rotores de jaula de ardilla, los MMII con rotores

[5]

Page 28: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

6 2. Marco Teorico

(a) (b)

Figura 2.1: MI con: (a) Rotor de jaula de ardilla [1, p. 232]; (b) Rotor devanado [1, p. 234].

devanados tienen ventaja de poder acceder a las corrientes del rotor a traves de las

escobillas, lo cual hace que sea mucho mas facil modificar los parametros de par-

velocidad y examinar el rotor en busca de averıas. Una desventaja muy presente en

este ultimo es que requieren de mayor mantenimiento debido a los desgastes fısicos

de las escobillas y los anillos rozantes.

2.1.1. Principios de funcionamiento

La fısica que hace posible el funcionamiento de los MMII se basa en la ley de

induccion de Faraday y las fuerzas de Lorentz, por lo que a continuacion se hara una

pequena revision de ellas.

Ley de induccion de Faraday

Suponiendo que tenemos dos anillos metalicos, uno cerca del otro, el primero

con sus terminales conectadas a una baterıa a traves de un interruptor, el segundo

conectado a un galvanometro (ver Figura 2.2); si cerramos el interruptor, por un

instante de tiempo podremos ver una lectura en el galvanometro, a pesar de que el

segundo anillo no esta conectada fısicamente al primero. Si realizamos la apertura y

cierre del interruptor varias veces seguidas, podremos ver lecturas en el galvanometro

que se haran presente mientras manipulemos el interruptor. Esto es posible gracias

al campo magnetico que se forma en el primer anillo debido a que la corriente de la

baterıa fluye a traves del conducto; de forma inversa, el campo magnetico formado

por el primer anillo alcanza al segundo, el cual a su vez hace fluir una corriente a

traves del conductor, provocando que el galvanometro muestre una lectura.

Es notable mencionar, que la corriente en el segundo anillo se hara presente siem-

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 29: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.1 Motores de Induccion 7

Figura 2.2: Experimento que comprueba la ley de induccion de Faraday [2, p. 792].

pre y cuando el campo magnetico del primer anillo este variando, tal y como se

menciono en el ejemplo al cerrar y abrir el interruptor constantemente. Este efecto

fue descubierto por Michael Faraday en 1831, y hoy es una de las bases de la ley

que lleva su nombre. Lo anterior, se puede resumir como: “una fuerza electromotriz

ξ es creada en un conductor por efectos de un campo magnetico variable dΦdt

que lo

atraviesa”. En su forma matematica

ξ = − d

dt(B · S) = − d

dtΦ (2.1.1)

donde B es la densidad de campo magnetico y S es la superficie atravesada por

el campo.

Fuerza de Lorentz

Si sometemos a un conductor de longitud l en el cual fluye una corriente I a una

densidad de campo magnetico B, este experimentara una fuerza que lo empujara en

la direccion que dicte la regla de la mano derecha. Dicho de otra forma, una carga q

que se desplaza a velocidad v en una densidad de campo magnetico B experimentara

una fuerza que la desplazara. Su expresion matematica es:

F = I(l×B) = q(v ×B) (2.1.2)

Esto sucede debido a la interaccion de los campos magneticos, es decir, el campo

magnetico al que es sometido el conductor interacciona con el campo magnetico for-

mado alrededor del conductor, provocando el desplazamiento del ultimo (ver Figura

2.3).

Esta fuerza (en su forma infinitesimal) puede resumirse como:

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 30: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

8 2. Marco Teorico

(a) (b)

Figura 2.3: Interaccion de un conductor con corriente ante un campo magnetico. (a) Lıneas de camposmagneticos [3, p. 32], (b) Fuerza de Lorentz actuando sobre el conductor. [3, p. 32].

“La Ley de Lorentz es una expresion empırica que relaciona las fuerzas electrica

y magnetica sobre partıculas cargadas en movimiento” [6, p. 175].

Ası, las partıculas del conductor haran que este se desplace.

2.1.2. El rotor en movimiento

Uniendo estos dos fenomenos fısicos, podremos explicar el funcionamiento de un

MI. Lo primero que hay que tomar en cuenta, es que en el rotor (uno de tipo de jaula

de ardilla, en este caso) se induciran corrientes de la manera como se muestra en la

Figura 2.4.a. Esto provocara, que al estar sometido por el flujo del campo magnetico

creado por las bobinas del estator (misma que induce las corrientes en el rotor),

por efectos de las fuerzas de Lorentz, este se movera; y al ser un campo magnetico

giratorio (ver Figura 2.1.3), el rotor comenzara a girar hasta adquirir cierta velocidad.

La magia que acompana al funcionamiento de los MI, se encuentra en la forma en

que se construyen los rotores, es decir, la forma de escalera (ver Figura 2.4.b).

(a) (b)

Figura 2.4: Principio de funcionamiento de un MI. (a) Barras con corriente inducida sometidas a unflujo de campo magnetico [3, p. 268], (b) Diseno tıpico de un rotor de jaula de ardilla. [3, p. 268].

ns =kfeP

(2.1.3)

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 31: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.1 Motores de Induccion 9

En (2.1.3) se presenta la velocidad de rotacion del campo magnetico ns, donde k

es el desfase electrico (180 para bifasico y 120 para trifasico), fe es la frecuencia del

sistema y P es el numero de polos del estator.

En los MMII con rotores de jaula de ardilla, la velocidad de rotacion del campo

magnetico (ns) es superior a la velocidad de rotacion mecanica (n). Por ello, estos

motores son denominados asıncronos. Si por alguna razon, la velocidad del rotor es

igual a la velocidad del campo magnetico, las barras del motor estarıan sometidas

(relativamente) a un campo magnetico no cambiante, por lo que la corriente en ellas

serıa igual a cero y, en consecuencia, no actuarıan fuerzas sobre el rotor. La diferencia

entre estas dos velocidades es denominada deslizamiento (s) (ver Figura 2.5), la cual

es representada por un porcentaje (2.1.4).

s =ns − nns

× 100 % (2.1.4)

Generalmente el deslizamiento es muy pequeno (practicamente 0 %) en condiciones

sin carga y a medida que esta aumenta, el deslizamiento tambien lo hace hasta llegar

a ser 100 % cuando el rotor es bloqueado [3, p. 274].

Figura 2.5: Ejemplo grafico del deslizamiento en un MI.

Los sistemas de deteccion de fallas en MMII son muy usados en la industria,

debido a que la deteccion temprana de fallas ayuda a corregirlas en tiempo, antes

de que estas sean evidentes y causen danos serios a la produccion y/o los sistemas

involucrados. Siendo el MI el motor con mayor presencia en la industria, la deteccion

temprana de fallas ofrece ahorros en mantenimiento, tanto en tiempo como en costos.

Una de las fallas mas comunes en estos motores son las RRBBRR que se dan

por diversas causas, entre ellas: defectos de fabricacion, condiciones operativas y vida

util. Sin embargo, esta falla debe de ser atendida en sus inicios, ya que el dano es

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 32: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

10 2. Marco Teorico

paulatino y puede causar danos adyacentes como: falla en rodamientos, aumentos en

los consumos de potencia, ruptura en barras adyacentes, etc. La RBR es una de las

fallas mas difıciles de detectar, ya que a pesar de que genera una disimetrıa en el eje

del rotor, cuando el dano es pequeno es muy difıcil de discernir. En la mayorıa de

los casos, esta falla es detectada cuando la ruptura es demasiado severa (ver Figura

2.6) y ha logrado generar mas danos en el motor; lo que causa reparaciones costosas

o perdida total del motor. Por ello, este tema es de gran relevancia en la literatura,

donde podemos encontrar muchas tecnicas para detectar RBR.

Figura 2.6: Fotografıa de un rotor de jaula de ardilla con rupturas severas en sus barras.

Una de las tecnicas mas usadas es conocida como analisis de corrientes del rotor

(MCSA por sus siglas en ingles) [7–12]. Tambien se pueden encontrar tecnicas como:

Transformada Hilbert (TH) [7,11,13,14], morfologıa matematica (MM) [9], Homoge-

neidad [15], descomposicion modal empırica (EMD por sus siglas en ingles) [16], clasi-

ficacion multiple de senales (MUSIC por sus siglas en ingles) [8,17], orden dimensional

de senales en frecuencia (FSDO por sus siglas en ingles) [18], Prony Analysis [19],

potencia espectral instantanea (IPS por sus siglas en ingles) [20], entre otras; todas

ellas se basan en la informacion obtenida de la transformada rapida de Fourier (FFT

por sus siglas en ingles) [21] de las senales de corriente del estator o cualquiera de

sus variantes [22], las cuales se basan en la busqueda de la falla en el dominio de la

frecuencia.

Por otro lado, tambien son propuestas tecnicas sin el uso de la FFT (o su com-

binacion), como lo es la transformada discreta wavelet (DWT por sus siglas en

ingles) [21, 23–27] u otras de sus variantes: frequency B-spline wavelets [28]. Sin em-

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 33: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.1 Motores de Induccion 11

bargo, la deteccion de RBR no se limita al analisis de las corrientes del estator, puesto

que en la literatura podemos encontrar otras tecnicas como el analisis de senales de

vibracion (ASV) [26]. En la Tabla 2.1, se enlistan las tecnicas mas utilizadas en el

area de la deteccion de RBR, el nivel de falla que se detecta, las condiciones de carga

en que se probaron y la exactitud de la deteccion.

Tabla 2.1: Resumen de trabajos publicados relacionados con la deteccion de RBR.

Nivel de falla Condicion de carga Exactitud Metodologıa

3, 5, 7mm y 1 RBR Media y completa 99 % MCSA y TH [7]

1/2, 1 y 1.5 RRBBRR Sin y completa – TH [13]

1/2, 1 y 2 RRBBRR Un cuarto > 99 % Homogeneidad [15]

3, 5 RRBBRR 25:25:150 % – TH [14]

3, 5, 7 mm y 1 RBR Sin, media y completa 96, 80.5 y 87.6 % Vibracion y DWT [26]

1/2 y 1 RBR Ligera – MCSA y MUSIC [8]

1/2 y 1 RBR 50 y 75 % > 98 % EMD [16]

1 y 2 RRBBRR 25:25:100 % 95 % MCSA y MM [9]

RRBBRR — – MCSA [12]

1 y 2 RRBBRR 0, 50, 80 y 100 % – FSDO [18]

1, 2 y 4 RRBBRR 50 y 100 % – Agnesis wavelet [27]

0.9, 4.3, 9, 11.7 mm y 1 RBR Sin–completa – FFT y wavelet [21]

1 y 2 RRBBRR Factor inercial 0.25 kg ·m2 – frequency B-spline wavelet [28]

1–8 RRBBRR Varias – Prony Analysis [19]

1 RBR Baja, media y completa – TH [11]

1/2 RBR Sin, baja, media y completa 10 % MCSA [10]

1 RBR — – DWT [23]

1 y 2 RRBBRR 100 % – DWT [24]

1 y 2 RRBBRR Sin, pulsada y completa – DWT [25]

1/2 y 1 RRBBRR 25:25:100 % – IPS [20]

1/2 RRBBRR 100 % – Zoom MUSIC [17]

Aunque en la Tabla 2.1 podemos encontrar metodos con exactitud superior al 95 %,

estos solo hacen uso de senales de corriente del estator del MI, lo que baja el nivel

de dificultad del proceso. Ademas logran su exactitud mediante procesos de un costo

computacional relativamente elevado. Por otra parte, la metodologıa propuesta hace

uso de senales de vibracion que facilmente pueden ser adquiridas con solo montar un

acelerometro al MI, lo que implica una mınima modificacion al sistema, e incluyendo

el bajo costo del este sensor. Tambien, el algoritmo propuesto muestra una baja

complejidad, lo que lo hace ideal para la implementacion en sistemas dedicados.

2.1.3. Analisis de vibracion

Como se mencionaba con anterioridad, la RBR produce una disimetrıa en el rotor,

que pueden ser capturadas por sensores de vibracion. No obstante, las senales en el

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 34: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

12 2. Marco Teorico

dominio del tiempo hacen difıcil la visualizacion de la condicion del MI, como se

muestra en la Figura 2.7.

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(g

)

(a)

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(g

)

(b)

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(g

)

(c)

Figura 2.7: Senales de vibracion correspondiente a un MI con 3/4 de carga: (a) sin dano en barras;(b) ruptura de 5 mm en barra; y (c) una barra rota.

Por otra parte, al aplicar tecnicas espectrales a las senales de vibracion [10], puede

ser detectada. Estas componentes pueden ser encontradas cerca de la frecuencia de

alimentacion fs, como se muestra a continuacion

fbLk = fs(1− 2ks)

fbRk = fs(1 + 2ks)(2.1.5)

donde fbLk es la componente espuria a la izquierda, fbRk es la componente espuria

a la derecha, k = 1, 2, 3, ... y s corresponde a (2.1.4).

La amplitud de fbLk y fbRk van en aumento conforme el dano incrementa (ver Fi-

gura 2.8), pero estas se alejan cada vez mas cuando la carga mecanica va en aumento

(ver Figura 2.9). Por lo que las componentes espurias estaran muy cerca de la compo-

nente principal (fs) cuando el MI este sin carga, causando que esta las “absorba”por

efectos del leakage (ver Figura 2.9.a).

Por otra parte, las componentes espurias pueden ser facilmente detectadas cuando

el MI tiene carga, ya como se puede observar en la Figura 2.9, las componentes espurias

se van alejando de la componente principal.

En la practica, la deteccion de fallas usando el ASV con metodos tradicionales se

torna compleja, debido a que las senales de vibracion no solo reflejan la condicion del

MI, sino que tambien puede mostrar componentes indeseadas adquiridas del entorno,

que llegan a dificultar la deteccion de las componentes de interes (ver Figure 2.10).

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 35: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.1 Motores de Induccion 13

45 50 55 60 65 70 75

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

aliza

da

fs

(a)

45 50 55 60 65 70 75

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1fs

fbLk fbRk

(b)

45 50 55 60 65 70 75

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1fs

fbLk fbRk

(c)

Figura 2.8: Variaciones de las componentes espurias bajo diferentes niveles de dano1: (a) Sano; (b)Media barra rota; (c) Una barra rota.

45 50 55 60 65 70 75

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

aliza

da

fs

fbLk fbRk

(a)

45 50 55 60 65 70 75

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1fs

fbLk fbRk

(b)

45 50 55 60 65 70 75

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1fs

fbLk fbRk

(c)

Figura 2.9: Variaciones de las componentes espurias bajo diferentes niveles de carga mecanica1: (a)Sin carga; (b) Media carga; (c) Tres cuartos de carga.

50 55 60 65 70

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

aliza

da

fs

fbLk fbRk

(a)

50 55 60 65 70

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

aliza

da

fs

fbLk fbRk

(b)

Figura 2.10: Ejemplo de espectro de vibracion en un MI: (a) ideal1; y (b) con componentes del entorno.

1Espectro obtenido de manera sintetica para efectos de ilustracion de la condicion indicada.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 36: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

14 2. Marco Teorico

Del dominio del tiempo, al dominio de la frecuencia

Debido a que la senal de vibracion es difıcil de analizar en el dominio del tiempo,

hay hacer una representacion de la senal en el dominio de la frecuencia para poder

detectar las frecuencias espurias (2.1.5). Esto se logra, gracias a la aplicacion de

la conocida transformada de Fourier, el cual representar una senal en tiempo (sin

importar su complejidad) en sus componentes en frecuencias. En su forma continua,

esta transformacion es expresada en la ecuacion (2.11).

X(f) =

∫ ∞

−∞x(t)e−jωtdt (2.1.6)

donde x(t) es la funcion que describe la senal, e−jωt es el nucleo de transformacion

y ω = 2πf representa la frecuencia angular. Ası, una senal puede ser representada en

una suma infinita de senos y cosenos, que representan la energıa de la senal original.

Es notable que la transformada es compleja, por lo que la transformada de una senal

de tipo cuadrada sera como se muestra en la Figura 2.11.

0 5 10 15

Frecuencia (Hz)

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

P(f

)

(a)

0 5 10 15

Frecuencia (Hz)

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

jP(f

)

(b)

0 5 10 15

Frecuencia (Hz)

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

jP(f

)j

(c)

Figura 2.11: Transformada de Fourier continua de una onda cuadrada: (a) parte real; (b) parte ima-ginaria; y (c) magnitud.

En la transformacion, la parte real del numero complejo es representada por

los cosenos y la parte imaginaria por los senos, cumpliendo la identidad de Euler:

e−jwt = cos(ωt)− jsen(ωt). Como es notable, en la Figura 2.11 se muestran algunas

componentes que constituyen a la senal original (ya que en realidad son infinitas) que,

al ser sumadas individualmente, iran formado a la onda cuadrada (Figura 2.12).

Por otra parte, en este trabajo, las senales utilizadas son maestreadas, es decir,

se cuenta con un numero finito de valores capturados de una senal continua (discre-

tizacion), por ello la transformada de Fourier en su forma (2.11) no es aplicable. No

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 37: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.1 Motores de Induccion 15

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5Am

plitu

d(U

)Original1 componente

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(U

)

Original2 componentes

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(U

)

Original3 componentes

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(U

)

Original4 componentes

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(U

)Original31 componentes

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Am

plitu

d(U

)

Original1 componentes

Figura 2.12: Representacion de la senal cuadrada con diferentes numeros de componentes.

obstante, se puede hacer uso de la transformada de Fourier en su forma discreta (DFT

por sus siglas en ingles):

X(k) =N−1∑

k=0

x(n)e−j2πkNn (2.1.7)

donde 2πkN

es la frecuencia normalizada (Ω), N es el numero de muestras y n son

las muestras. Ası, al obtener la DFT y compararla con la transformada de Fourier

continua, tenemos lo que se muestra en la Figura 2.13.

0 1 2 3 4 5 6

Frecuencia (+)

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

P(k

)

TF continuaTF discreta

(a)

0 1 2 3 4 5 6

Frecuencia (+)

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

jP(k

)

TF continuaTF discreta

(b)

0 1 2 3 4 5 6

Frecuencia (+)

-0.8

-0.6

-0.4

-0.2

0

0.2

0.4

0.6

jP(k

)j

TF continuaTF discreta

(c)

Figura 2.13: Comparacion de la transformada de Fourier continua y la transformada de Fourier discreta(DFT) de una onda cuadrada: (a) parte real; (b) parte imaginaria; y (c) magnitud.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 38: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

16 2. Marco Teorico

Como se puede apreciar en la Figura 2.13, la DFT solo muestra k-componentes,

suficientes para obtener una buena representacion de la senal. Otro punto importante

a mencionar, es que la DFT solo permitira detectar frecuencias que sean menores

o iguales a fs2

, lo que se conoce como el teorema de Nyquist [29, p. 308], debido

a efectos de muestreo, lo que tambien provoca que la DFT sea simetrica, es decir,

las frecuencias a partir de fs2

comienzan a repetirse (o mostrando su conjugado, en

su forma compleja) de forma descendente. Esto ultimo hace que la parte izquierda

(tomando como referencia a fs2

) sea el rango de frecuencias util, lo que indica que solo

sera necesario analizar este rango para verificar las frecuencias presentes en la senal

transformada.

Actualmente, existes varios algoritmos para el calculo de DFT, destacando la

FFT, la cual como su nombre lo indica, es el algoritmo cuya eficiencia se refleja en su

velocidad. Para una revision mas profunda acerca de esta tecnica, puede consultar [30].

2.2. Representacion sparse

La representacion sparse de senales, ayuda a representar una senal en su combi-

nacion lineal, es decir mediante la forma

x = Dα + r =m∑

i=1

α[i]di + r (2.2.1)

donde x ∈ Rn es la senal a representar, D = d1, d2, ..., dm ∈ Rn×m es una

matriz diccionario que contiene en sus columnas las m bases necesarias (denominadas

atomos) para realizar la representacion, α ∈ Rm es el vector sparse que permite

realizar la representacion, r ∈ Rn es un vector de error de representacion (residuo de

reconstruccion/descomposicion), α[i] ∈ R y di ∈ Rn son el i-esimo coeficiente sparse

y atomo respectivamente.

De esta manera, podemos decir que una senal puede ser descompuesta en distintos

atomos de D a partir de un numero pequeno (Λ(x) = 1 ≤ i ≤ n|x[i] 6= 0 es de

cardinalidad k n [31]) de valores distintos de cero del vector α (ver Figura 2.14),

cumpliendo con uno de los objetivos de la representacion sparse.

Ası, la eficiencia de descomposicion depende que el diccionario represente adecua-

damente al tipo de senales que se estan analizando y por ende pueda descomponerlas

usando pocos atomos. Cuando las senales a analizar no pueden generarse a partir

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 39: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.2 Representacion sparse 17

de una funcion bien definida (e.g. funcion seno), se debe realizar un proceso de en-

trenamiento. El entrenamiento consiste en construir un diccionario que aprenda a

reconocer las caracterısticas particulares de las senales a analizar. Una herramienta

que ofrece un eficiente entrenamiento es el algoritmo K-SVD [32]. Como se puede

apreciar en la Figura 2.14, la senal de 3200 muestras puede ser representado con solo

ocho coeficientes α, en cambio el espectro de 200 muestras puede ser representado

con solo 3 coeficientes α. Por lo que la representacion en este caso se puede realizar

con el 0.25 % y 1.5 % del tamano del vector original, respectivamente.

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1

-0.5

0

0.5

1

(g)

norm

aliza

da

(a)

1 2 3 4 5 6 7 8

,k 41ndice

-6

-4

-2

0

2

4

,k

coe-

cien

te

(b)

0 50 100 150

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

aliza

da

(c)

1 1.5 2 2.5 3

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(d)

Figura 2.14: Representacion: (a) senal original; (b) representacion sparse de la senal; (c) espectrooriginal; (d) representacion sparse del espectro.

2.2.1. Algoritmo Orthogonal Matching Pursuit

El algoritmo OMP ayuda a resolver el problema de optimizacion mostrado en

(2.2.2), debido a que busca atomo a atomo del diccionario, cual de ellos representa

mejor la energıa de la senal original; este proceso se realiza de forma iterativa hasta

obtener un residual tan pequeno como sea posible.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 40: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

18 2. Marco Teorico

α = argminα‖x−Dα‖ s.t. ‖α‖0 m (2.2.2)

En condiciones ideales r = 0, pero esto no es posible en la practica debido a que

(2.2.2) esta sujeto a errores de cuantizacion, es decir, a los errores numericos estan

presentes durante el calculo. Sin embargo, si esta condicion es aplicada, es valido

decir que x = Dkα, donde Dk ∈ Rn×k es una submatriz que contiene k atomos que

aproximan la reconstruccion la senal deseada x, entonces α = D−1k x. Esta ecuacion

es correcta por definicion, pero la representacion sparse debe de cumplir k n. Por

otra parte, Dk no es cuadrada y la matriz inversa no puede ser calculada por tecnicas

tradicionales.

Este problema puede ser solucionado mediante

α = D†kx (2.2.3)

donde D†k ∈ Rk×n es la matriz pseudoinversa de Moore-Penrose de Dk. Por lo

tanto, en condiciones de alto rendimiento y exactitud r → 0 es posible, lo que satisface

(2.2.1). De esta manera, la representacion sparse de una senal puede ser calculada.

En la literatura, son descritas variantes de algoritmos OMP implementados en

hardware [33–35], los cuales mayormente son utilizados para realizar compressive sen-

sing. Por otra parte, en [5] se utiliza el OMP enfocandolo a la clasificacion de espectros

estelares, demostrando el potencial de esta tecnica mas alla del compressive sensing.

En el Algoritmo 1 son descritos los pasos para obtener la representacion sparse

de una senal. Para ello, es necesario proporcionar: un diccionario (D), la senal a des-

componer (x), el numero maximo de atomos requeridos para descomponer la senal y

especificar la norma ` que se desea utilizar para el calculo del error de descomposicion.

Al terminar, el algoritmo regresara el vector sparse calculado (αk), la posicion de los

atomos seleccionado (Sk), el residuo (rk) y el error obtenido (e).

Es importante tomar en cuenta que la norma esta dada por

‖x‖` = `

√√√√n∑

i=1

|xi|` para ` = 1, 2, 3, ..., k (2.2.4)

donde n es el numero de elementos en el vector.

El algoritmo inicia ejecutando las condiciones iniciales, tal y como se muestra en el

paso 1: r0 = x como preparacion de la senal para realizar la descomposicion; D0 = ∅

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 41: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.2 Representacion sparse 19

Algoritmo 1 Orthogonal Matching Pursuit

Entradas: D, x, k, y `.Salidas: αk, Sk, rk, y e.

1: r0 = x, D0 = ∅, y j = 0.2: while j < k do3: j = j + 14: sj = argmax

i=1,...,m|rj−1di|

5: Sj = Sj−1 ∪ sj6: Dj = [Dj−1 dsj ]7: αj = argmin

α‖x−Djαj‖

8: rj = x−Djαj9: end while

10: e =‖rk‖`‖x‖`× 100 %

ya que ningun atomo ha sido seleccionado; y j = 0 inicia el contador del programa. En

este algoritmo, el criterio de parada esta basado en el numero de atomos seleccionados,

es decir, si el numero de atomos seleccionados se ha alcanzado, el programa sale del

bucle while. Continuando, el contador de programa se incrementa (paso 3) fijando

la j-esima iteracion. Entonces, el atomo que presente la maxima correlacion con el

residuo es buscado en el diccionario (paso 4), guardando su ındice correspondiente

(sj). Debido a que cada atomo seleccionado contiene parte de la energıa de la senal

original, cada ındice (sj) debe ser almacenado (sin repetirse) en un vector (Sj) (paso 5)

y los atomos correspondientes se almacenan en una submatriz (Dk) (paso 6). Despues,

D†k (2.2.3) es calculada (paso 7) y a continuacion el residuo es obtenido (paso 8). Una

vez terminado el proceso iterativo (while), se procede a calcular el error (e) (paso 10)

basado en la norma ` especificada y finalmente terminar el programa.

2.2.2. Algoritmo K-Singular Value Decomposition

La calidad de la descomposicion de senales esta dada por las bases contenidas en

el diccionario utilizado, es decir, el proceso de entrenamiento del diccionario repercute

en la calidad de las bases y por ende, en la calidad de la descomposicion. Como se

menciono anteriormente, la condicion k n debe cumplirse o, en otras palabras: la

representacion sparse de senales debe de realizarse con el menor numero de atomos

como sea posible y cumpliendo r → 0.

Un algoritmo que ayuda a generar bases precisas y necesarias (atomos) que cum-

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 42: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

20 2. Marco Teorico

Algoritmo 2 K-Singular Value Decomposition

Entradas: D0, X, y K.Salidas: DK .

1: for k = 1 to K do2: Usar OMP para obtener α3: for j = 1 to m do4: ω = l ∈ 1, 2, ...,M, αk[j, l] 6= 05: αω[j, ω] = 06: R = Xω −Dkαω7: [U∆V ] = SV D(R)8: dj ∈ Dk = u1

9: αj ∈ αk = v1∆(1, 1)10: end for11: end for

plen con las condiciones anteriormente expuestas, es el algoritmo K-SVD [32]. Este

algoritmo provee diccionarios a partir de un entrenamiento que extrae las caracterısti-

cas de un conjunto de senales (X) dado [5,32]. Ası, el K-SVD se enfoca en solucionar

el problema de optimizacion mostrado a continuacion

argminα,D

‖X −Dα‖ s.t. ‖α‖0 ≤ k (2.2.5)

donde X ∈ RM×n es el conjunto de senales de entrenamiento con M senales

del mismo tipo, D es el diccionario por entrenar, α es el vector sparse, y ‖α‖0 es

la pseudonorma `0 de α. Este algoritmo aplica un proceso denominado dictionary

learning [5] que adapta el diccionario a las caracterısticas de las senales del conjunto

dado.

En el Algoritmo 2 son mostrados los pasos para realizar el proceso K-SVD. El

proceso hace uso de un diccionario aleatorio inicial (D0), un conjunto de senales de

entrenamiento (X) y un numero maximo de iteraciones (K); al finalizar, el algoritmo

nos proporcionara el diccionario entrenado DK . Este se basa en la descomposicion

en valores singulares (SVD por sus siglas en ingles) de un residuo obtenido a partir

de la diferencia entre el conjunto de senales de entrenamiento y el diccionario bajo

adaptacion, el cual, en sus inicios contiene numeros aleatorios.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 43: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.2 Representacion sparse 21

Descomposicion en valores singulares

La SVD de una matriz A ∈ Rm×n de rango r, se basa en la existencia de una

matriz:

∆ =

δ1 0 · · · 0 0

0 δ2 · · · 0 0...

.... . .

......

0 0 · · · δr 0

0 0 · · · 0 0

(2.2.6)

donde ∆ ∈ Rm×n y δ son los r-valores singulares de A. Por otro lado, se realiza

la busqueda de la matriz ortogonal U ∈ Rm×m al igual que una matriz ortogonal

V ∈ Rn×n de manera que:

A = U∆V T (2.2.7)

Donde U es la matriz que contiene los vectores singulares izquierdos y V es la

matriz que contiene los vectores singulares derechos de A.

Como ejemplo, se tomara una matriz m× n y se obtendra su SVD.

A =

0.41 0.77 0.68

0.98 0.34 0.53

0.95 0.66 0.41

0.68 0.24 0.60

0.99 0.29 0.75

Los pasos para el calculo de la SVD se muestran a continuacion.

1.- Obtener la diagonalizacion de ATA. CalcularATA:

ATA =

3.47 1.73 2.34

1.73 1.29 1.34

2.34 1.34 1.84

Calcular los eigenvalores y eigenvectores (λ y v, respectivamente) de ATA:

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 44: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

22 2. Marco Teorico

λ1 = 0.14, λ2 = 0.34, λ3 = 6.12

v1 =

0.37

0.42

−0.83

, v2 =

0.56

−0.81

−0.15

, v3 =

0.74

0.41

0.53

2.- Asignar ∆ y V . Ordenar los eigenvalores de mayor a menor, y aplicar δ =√λ:

estos seran los valores singulares de A:

δ1 =√

6.12, δ2 =√

0.34, δ3 =√

0.14 (2.2.8)

debido a que en este caso r = 3, el rango de A es 3. Posteriormente, asigne los

δ distintos de ceros a ∆:

∆ =

2.47 0 0

0 0.58 0

0 0 0.37

0 0 0

0 0 0

Atribuir los eigenvectores a V en el orden que se asignaron los eigenvalores a

los valores singulares, tomando en cuenta que, si los vectores son cambiados de

posicion, sus elementos seran multiplicados por −1:

V =

−0.74 0.56 −0.37

−0.41 −0.81 −0.41

−0.53 −0.15 0.83

3.- Determinar U . Calcular U mediante u = 1σAv:

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 45: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2.2 Representacion sparse 23

u1 =1

δ1

Av1 =

−0.40

−0.46

−0.48

−0.37

−0.51

, u2 =

1

δ2

Av2 =

−0.85

0.34

−0.11

0.15

0.35

, u3 =

1

δ3

Av3 =

0.26

−0.17

−0.77

0.41

0.38

si el numero de eigenvalores distintos de cero es igual a m, la matriz U se

obtiene a partir de lo calculado anteriormente, por otro lado, si el numero de

eigenvalores distintos de cero es inferior a m, introducimos los vectores faltantes

como vectores nulos, ası:

U =

−0.40 −0.85 0.26 0 0

−0.46 0.34 −0.17 0 0

−0.48 −0.11 −0.78 0 0

−0.37 0.15 0.41 0 0

−0.50 0.35 0.38 0 0

De esta manera, la descomposicion de A en sus valores singulares es:

A =

−0.40 −0.85 0.26 0 0

−0.46 0.34 −0.17 0 0

−0.48 −0.11 −0.78 0 0

−0.37 0.15 0.41 0 0

−0.50 0.35 0.38 0 0

2.47 0 0

0 0.58 0

0 0 0.37

0 0 0

0 0 0

−0.74 −0.41 −0.53

−0.56 −0.81 −0.15

−0.37 −0.41 0.83

A =

0.41 0.77 0.68

0.98 0.34 0.53

0.95 0.66 0.41

0.68 0.24 0.60

0.99 0.29 0.75

lo que demuestra (2.2.7). Con este metodo, el diccionario se va adaptando cada

vez mejor al conjunto de senales de entrenamiento, ya que las bases correspon-

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 46: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

24 2. Marco Teorico

dientes son calculadas y actualizadas entre cada iteracion del Algoritmo 2, lo

que permite reducir el residuo del conjunto de referencia. Para una revision mas

profunda acerca de este metodo, puede consultar [36].

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 47: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Capıtulo 3

Metodologıa Propuesta

En este capıtulo, se describe la metodologıa propuesta para la deteccion de media

y una barra rota en MI con carga mecanica completa. El campıtulo de divide en la

siguiente parte:

Adquisicion de datos. Se describiran los elementos utilizados y las caracterısticas

mas relevantes para la adquisicion de las senales de vibracion, ası como tambien,

el envıo/recepcion de los datos adquiridos entre el sistema de adquisicion de

datos (DAS por sus siglas en ingles) y una computadora personal (PC por sus

siglas en ingles) para el almacenamiento de los mismos.

Analisis de la descomposicion de espectros. Se explica la metodologıa propuestas

que incluye procesos como:

• Preprocesamiento de senales. Muestra el proceso y las tecnicas de pre-

procesado a las senales de vibracion (obtencion de la FFT y seleccion de

ventana) antes de ser sometidas a la descomposicion.

• Entrenamiento de los diccionarios. Este proceso es de vital importancia

para la obtencion de la representacion sparse de los espectros, por lo cual

se incluyen topicos importante para realizar el entrenamiento adecuado de

los diccionarios..

• Descomposicion de espectros. Incluye un analisis del proceso y las carac-

terısticas que nos permiten realizar un diagnostico basado en la tecnica.

Ademas, se incluye informacion relevante al algoritmo OMP propuesto pa-

ra la implementacion.

Cabe mencionar que esta metodologıa fue enviada, aceptada y presentada en 2017

[25]

Page 48: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

26 3. Metodologıa Propuesta

IEEE International Instrumentation and Measurement Technology Conference, lleva-

do a cabo en la ciudad de Turın, Italia (ver Apendice C).

3.1. Adquisicion de datos

Un sistema para la realizacion de adquisicion de datos (senales de vibracion) fue

implementado, el cual consta de un MI de 1-HP de 28 barras, conectado electricamente

a una linea de 220 VAC 60Hz, acoplado por una banda a un alternador (ver Figura

3.1.b) al que se le conecto un arreglo de resistencias para la simulacion de carga

mecanica. En la parte superior del MI se instalo el sensor de vibracion (VE) que

esta alimentado y comunicado al DAS. Este ultimo se encarga de convertir la senal

analogica suministrada por el VE, para posteriormente enviarla a la computadora y

realizar su respectivo almacenamiento y posterior analisis.

(a) (b)

Figura 3.1: (a) Sistema implementado para la realizacion de las pruebas; y (b) Acople del MI alalternador.

Las senales de vibracion fueron obtenidas mediante un VE (ver Figura 3.1.a) que

consiste en un acelerometro triaxial basado en micro-electronic-mechanical systems

(MEMS), con las siguientes caracterısticas: escala seleccionable de ±2g/±6g; resolu-

cion 5 × 10−4 con un ancho de banda 10 Hz y ancho de banda operativa de 1.5 kHz

por eje.

Debido a que salida del VE utilizado es analogica, se uso un convertidor analogico-

digital (ADC por sus siglas en ingles) para la conversion y manejo de datos, con las

siguientes caracterısticas: convertidor ADS7841 con tasa de conversion de datos a 200

kHz y cuatro canales de 12 bits.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 49: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

3.2 Analisis de la descomposicion de espectros 27

Para enviar y almacenar los datos obtenidos a una PC, se utilizo un transceptor

MAX3243 para realizar la comunicacion entre DAS-PC mediante el protocolo RS-232.

3.2. Analisis de la descomposicion de espectros

La metodologıa propuesta se basa en el analisis de la descomposicion de los es-

pectros de las senales de vibracion obtenidas del MI. Este realiza la descomposicion

de cada espectro con diccionarios entrenados con cierto nivel de dano presentado en

el motor. La deteccion es realizada en el dominio de la frecuencia como se denota en

(2.1.5), por lo que las senales de vibracion tienen que ser preprocesadas para que tanto

el proceso de entrenamiento y el proceso de analisis de descomposicion de senales se

lleven a cabo.

3.2.1. Preprocesamiento de senales

Las senales adquiridas (y guardadas, segun sea su caso) son preprocesadas median-

te la FFT para obtener sus componentes en frecuencia, lo que relativamente facilita

la deteccion (ver Figura 3.2).

0.2 0.4 0.6 0.8 1

Tiempo (s)

-1.5

-1

-0.5

0

0.5

1

1.5

Gra

vedad

(g)

(a)

0 500 1000 1500

Frecuencia (Hz)

0

0.05

0.1

0.15

jP(f

)j

(b)

Figura 3.2: Senal de vibracion: (a) Dominio del tiempo; y (b) Dominio de la frecuencia.

Posteriormente el espectro obtenido (que es complejo), es sometido a un proceso

que calcula la magnitud de cada coeficiente por simplicidad y conveniencia (ver Fi-

gura 3.2.b). Durante el estudio realizado, se determino que no es necesario realizar el

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 50: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

28 3. Metodologıa Propuesta

analisis de todo el espectro, puesto que como se ha venido exponiendo, las componen-

tes que estan relacionas con el dano en la barra se encuentran cerca de la componente

principal. Esta localidad permite realizar un analisis mucho mas rapido y eficiente

si es limitado a un intervalo de frecuencias especıficas (ventana). El intervalo usado

para realizar el analisis es de 1–200 Hz (ver Figura 3.3), lo que significa trabajar con

el 12.5 % del espectro util.

0 500 1000 1500

Frecuencia (Hz)

0

0.05

0.1

0.15

jP(f

)j Ventana de an4alisis

Figura 3.3: Ejemplo de ventana del espectro que se somete a analisis.

3.2.2. Entrenamiento de Diccionarios

Figura 3.4: Metodologıa usada para el entrenamiento de diccionarios.

Un proceso importante para lograr la deteccion de RBR con la metodologıa pro-

puesta, es realizar el entrenamiento de diccionarios. Para realizar este proceso, es ne-

cesario contar con grupos de espectros por clase que hayan sido obtenidos de senales

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 51: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

3.2 Analisis de la descomposicion de espectros 29

con el mismo grado de falla, debido a que el proceso de entrenamiento realizara la

caracterizacion de las senales a partir de las particularidades que estas presentan. Es

importante que todas pertenezcan al mismo grupo, de lo contrario, la eficiencia del

diccionario entrenado puede verse comprometida.

0 50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

alizada

(a)

0 50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

(b)

0 50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

(c)

Figura 3.5: Clase de espectros: (a) Espectros de tres senales de un MI en buen estado; (b) Espectrosde tres senales de un MI con media barra rota; y (c) Espectros de tres senales de un MI con una barrarota.

La metodologıa usada para este proceso se muestra en la Figura 3.4, la cual esta

compuesta por tres bloques principales: transformada de Fourier absoluta (|FFT|),recorte y normalizacion (R&N) y algoritmo K-SVD.

Este proceso es repetido para cada grado de dano en el motor y realizado por

el Algoritmo 2. Una vez obtenidos los diccionarios, ya no es necesaria su utiliza-

cion, puesto que la deteccion de RBR se realiza con el mismo grupo de diccionarios

entrenados.

3.2.3. Descomposicion de espectros

Una vez que los diccionarios se han obtenido, la descomposicion de espectros puede

realizarse. El proceso consiste en someter a una senal al preprocesamiento descrito

anteriormente, para despues introducir el espectro obtenido al algoritmo OMP. Este

ultimo, realizara la descomposicion del espectro con cada diccionario obtenido, y la

informacion generada sera sometida a criterios de clasificacion (CCCC): el primero

esta basado en el residuo de descomposicion 4.2.1, el segundo basado en los coeficientes

sparse 4.2.2, y el tercero esta basado en el error de descomposicion 4.2.3.De esta

manera, la deteccion (ver Figura 3.6) es adecuadamente realizada.

La deteccion es posible gracias a que la descomposicion de espectros se realiza de

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 52: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

30 3. Metodologıa Propuesta

Figura 3.6: Metodologıa propuesta para la deteccion de RBR.

acuerdo con las bases contenidas en los diccionarios (atomos). Ası, cada diccionario

ofrecera diferente informacion acorde a las caracterısticas contenidas y que fueron

encontradas durante el proceso de entrenamiento, lo que implica que el nivel y error

de descomposicion sea diferente con cada uno. La relacion espectro-diccionario es la

que determinara el diagnostico, ası como se muestra en la Figura 3.7.

0 50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jnorm

alizada

OriginalReconstrucci4on

(a)

0 50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1OriginalReconstrucci4on

(b)

0 50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

1.2OriginalReconstrucci4on

(c)

Figura 3.7: Reconstruccion de espectros realizada a partir de la informacion proporcionada por elproceso de descomposicion: (a) Reconstruccion con el diccionario tipo A; (b) Reconstruccion con eldiccionario tipo B; y (c) Reconstruccion con el diccionario tipo C.

Como se puede observar en la Figura 3.7, un espectro perteneciente a una senal

obtenida de un MI con media barra rota es sometido a descomposicion con cada dic-

cionario y posteriormente reconstruida con la informacion obtenida, donde los errores

de descomposicion son: 54 %, 29 % y 35 %; para tipo A, B y C, respectivamente. Es

notable, que la mejor reconstruccion se realiza con el diccionario tipo B, el cual tiene

caracterizado los espectros correspondientes a media barra rota. Tambien, se puede

apreciar en las otras reconstrucciones que la diferencia entre la reconstruccion y el

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 53: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

3.2 Analisis de la descomposicion de espectros 31

espectro original es mayor, lo que indica que el algoritmo OMP realizo la descomposi-

cion con el diccionario dado, pero no encontro los atomos con la informacion suficiente

para ofrecer una mejor descomposicion. Gracias a estas diferencias, la clasificacion es

posible.

Modificacion de algoritmo OMP

Algoritmo 3 Orthogonal Matching Pursuit con aproximaciones α

Entradas: D, x, y ε.Salidas: α, r, y e.

1: r0 = x, e = ε+ 1, y j = 0.2: while (e > ε and j < 0.2×m) do3: j = j + 14: i = argmax

i=1,...,m|DT rj−1|

5: αi = DTi rj−1

6: rj = x−Dα7: e =

‖rk‖2‖x‖2× 100 %

8: end while

Por razones de velocidad, complejidad e implementacion, el OMP a implementar se

encuentra basado en el Algoritmo 3 [35]. La principal diferencia entre este algoritmo

y el Algoritmo 1 es la obtencion del vector sparse por medio de aproximaciones

(3.2.1).

αi = DTi rj−1 s.t. i = argmax|DT rj−1| (3.2.1)

donde i = 1, 2, ...,m y j = 0, 1, ..., k. Ası como es demostrado en [35], αi

corresponde al i-esimo coeficiente del vector sparse (α). Esto reduce en gran medida

la complejidad y aumenta la velocidad del algoritmo.

Otro aspecto importante que diferencia al Algoritmo 1 del Algoritmo 3, es el

criterio de parada utilizado. En este ultimo, un criterio de parada basado en el error

maximo de descomposicion es utilizado, ası como tambien, un segundo criterio basado

en el numero de atomos seleccionados es aplicado para evitar bucles infinitos durante

la descomposicion.

En la Figura 3.8 se muestran las diferencias de descomposicion entre el Algorit-

mo 1 y el Algoritmo 3. Como puede apreciarse a simple vista, la descomposicion

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 54: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

32 3. Metodologıa Propuesta

realizada por ambos algoritmos es similar. Sin embargo, al analizar a detalle sus

parametros, podremos ver puntualmente las diferencias entre ellos (ver Tabla 3.1), en

la cual los parametros fueron obtenidos al probar un total de 60 espectros.

Tabla 3.1: Tabla comparativa de parametros promedios de descomposicion para los Algoritmo 1 yAlgoritmo 3.

Algoritmo ‖r‖2 |α|0 e

1 0.3967 32 18.26 %

3 0.6490 3 29.88 %

En primera instancia se podrıa decir que el Algoritmo 1 tiene la mejor descom-

posicion de ambos (ver Figura 3.1, pero hay que recordar que el principal objetivo de

la representacion sparse esta dado mediante |α|0 m, cuya condicion se cumple en

mejor medida por el algoritmo propuesto (Algoritmo 3), ya que esta realizando la

descomposicion con aproximadamente un 9 % de los coeficientes α utilizados por el

algoritmo de referencia (Algoritmo 1), con un error de reconstruccion relativamente

bajo. Tomando en cuenta estos criterios, se puede asumir que la representacion dada

por el algoritmo propuesto es eficiente.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 55: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

3.2 Analisis de la descomposicion de espectros 33

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)jOriginalReconstrucci4on

(a)

50 100 150 200

Frecuencia (Hz)

-0.3

-0.2

-0.1

0

0.1

0.2

jP(f

)j

(b)

1 1.2 1.4 1.6 1.8 2

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(c)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(d)

50 100 150 200

Frecuencia (Hz)

-0.3

-0.2

-0.1

0

0.1

0.2

jP(f

)j

(e)

5 10 15 20 25 30

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(f)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(g)

50 100 150 200

Frecuencia (Hz)

-0.3

-0.2

-0.1

0

0.1

0.2

jP(f

)j

(h)

1 1.5 2 2.5 3 3.5 4

,k 41ndice

-2

-1

0

1

2,

kco

e-ci

ente

(i)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(j)

50 100 150 200

Frecuencia (Hz)

-0.3

-0.2

-0.1

0

0.1

0.2

jP(f

)j

(k)

5 10 15 20 25 30

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(l)

Figura 3.8: Diferencias de descomposicion entre el Algoritmo 1 y el Algoritmo 3: (a) Diferencia entreun espectro original y su reconstruccion basada en el Algoritmo 3; (b) residuo de descomposicionobtenido por el Algoritmo 3; (c) atomos seleccionados por el Algoritmo 3; (d) Diferencia entre unespectro original y su reconstruccion basada en el Algoritmo 1; (e) residuo de descomposicion obtenidopor el Algoritmo 1; (f) atomos seleccionados por el Algoritmo 3; (g) Diferencia entre un espectrooriginal y su reconstruccion basada en el Algoritmo 3; (h) residuo de descomposicion obtenido por elAlgoritmo 3; (i) atomos seleccionados por el Algoritmo 3; (j) Diferencia entre un espectro original ysu reconstruccion basada en el Algoritmo 1; (k) residuo de descomposicion obtenido por el Algoritmo1; y (l) atomos seleccionados por el Algoritmo 1.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 56: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

34 3. Metodologıa Propuesta

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 57: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Capıtulo 4

Implementacion y Resultados

En este capıtulo se detalla la arquitectura propuesta para la implementacion de

algoritmo OMP, ası como tambien, la implementacion en el FPGA. Detalles como

descripcion de modulos incluidos en la arquitectura, distribucion de bits utilizadas

en la implementacion, uso de recursos, entrenamiento de los diccionarios, entre otras,

son mencionados.

Por otro lado, se presentan los resultados obtenidos a partir de la informacion

suministrada por el algoritmo OMP implementado en el FPGA para despues ser

evaluados por los criterios de clasificacion.

4.1. Implementacion del algoritmo OMP

El diseno de un modulo OMP es necesario para la obtencion de la representacion

sparse y realizar la deteccion de RBR con la informacion obtenida. En [35] una ar-

quitectura es propuesta, en la cual los coeficientes sparse son calculado mediante la

aproximacion (3.2.1), aumentando el tiempo de ejecucion, ya que no es necesario el

calculo de una matriz inversa.

4.1.1. Pasos para la obtencion de la representacion sparse

El algoritmo por implementar se encuentra basado en el Algoritmo 3, y su dia-

grama de flujo (para una iteracion) es mostrado en la Figura 4.1.

Para poder ejecutar el algoritmo correctamente, es necesario que el diccionario

(D), la senal a descomponer (x) y el maximo error de descomposicion deseado (ε)

sean suministrados y guardados en las localidades de memoria correspondiente. Al

terminar, el algoritmo pondra a nuestra disposicion: el vector sparse calculado (α), el

[35]

Page 58: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

36 4. Implementacion y Resultados

Figura 4.1: Diagrama de flujo del algoritmo OMP para una iteracion. En F3, ‖rj‖2 y ‖x‖2 son calculadoen paralelo.

residuo obtenido (r) y el error de descomposicion alcanzado (e). El proceso de calculo

es descrito a continuacion.

1.- Condiciones iniciales. Iniciar el contador de iteraciones (j = 0) y hacer que el

residuo inicial sea igual a la senal que se desea descomponer (r0 = x).

2.- Contador de iteraciones. Incrementar el contador de iteraciones (j = j + 1).

3.- Buscar el coeficiente sparse (F1). Calcular (4.1.1) para obtener el coeficiente de

correlacion (Ca) para cada atomo (a). Despues, obtener el maximo coeficiente

absoluto Ci y su posicion i, son guardados como el i−esimo coeficiente sparse

(αi = Ci).

Ca =n∑

k=0

(Dka)t(rk)j−1, a = 0, 1, ...,m (4.1.1)

4.- Obtener el nuevo residuo (F2). Calcular (4.1.2) para obtener los coeficientes del

vector de residuo ((rs)j) y guardarlos.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 59: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4.1 Implementacion del algoritmo OMP 37

(rs)j = xs −m∑

k=0

Dskαk, s = 0, 1, ..., n (4.1.2)

5.- Calcular el error de descomposicion (F3). Primero, calcular (4.1.3) para obtener

los coeficientes de r2k y x2.

yv =n∑

k=0

v2k, v = rj, x (4.1.3)

Despues, calcular (4.1.4) para obtener el error de descomposicion y guardarlo.

e =

√yryx

(4.1.4)

6.- Criterio de parada. Evaluar la desigualdad e > ε, si es verdadera, terminar el

algoritmo, de lo contrario continuar en el paso 2.

4.1.2. Analisis de complejidad

Como se muestra en la Figura 4.1, el algoritmo consiste en tres funciones, y la de-

pendencia entre las operaciones estan fuertemente relacionadas, causando un consumo

de tiempo poco optimizable. En la Tabla 4.1 se muestra el analisis de complejidad

computacional del algoritmo OMP mostrado en la Figura 4.1.

Tabla 4.1: Calculo de complejidad del algoritmo OMP (n es el numero de muestras, y m es el numerode atomos.)

FuncionOperaciones

Sumas/Restas Multiplicacion Comparaciones

F1 nm nm m

F2 nm+ n nm 0

F3 2n+ 48 2n 48

El numero total de sumas/restas, multiplicaciones y comparaciones son: 2nm +

3n + 48, 2nm + 2n y n + 48 por iteracion, respectivamente. Los calculos para la

division y raız cuadrada han sido incluidos en las operaciones de sumas/restas y

comparaciones, debido a que estas dos operaciones son realizadas mediante tecnicas

de comparaciones/sustracciones.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 60: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

38 4. Implementacion y Resultados

Debido a la naturaleza iterativa del algoritmo, resulta difıcil de aplicar tecnicas

de paralelizacion, ya que la mayorıa de las funciones conservan una alta relacion de

dependencia; o la aplicacion de paralelizacion incrementa considerablemente el uso de

recursos. Sin embargo, este no son los casos de F3, donde el calculo de ‖rj‖2 y ‖x‖2

son paralelizados para reducir el tiempo de calculo.

4.1.3. Arquitectura propuesta

La arquitectura propuesta se muestra en la Figura 4.2 esta compuesta de modulos

cuidadosamente seleccionados.

Figura 4.2: Arquitectura propuesta del algoritmo OMP, y utilizacion de modulos.

Como se puede apreciar, los diccionarios, la senal, el vector sparse, y el residuo

son almacenados en modulos implementados a partir de los block random access me-

mories (BRAMs) disponibles en el FPGA; el numero de muestras, el numero de

atomos, el maximo error de descomposicion deseado y el error de descomposicion son

almacenadas en registros implementados a partir de los Flip-Flops disponibles en el

FPGA.

Para ahorrar la utilizacion de recursos, los modulos para el calculo de F1-F2 son

reutilizables. Especialmente, los modulos que realizan las operaciones (4.1.1)–(4.1.3),

donde las operaciones multiplicar-acumular (MAC) son utilizadas. Por esto, y para

el calculo en paralelo de (F3), dos modulos MAC estan incluidos en la arquitectura,

los cuales estan principalmente compuesto de multiplicadores, sumadores y registros

(ver Figura 4.3.a). Un modulo Argmax es incluido para realizar la busqueda de co-

eficientes con el maximo valor absoluto y su posicion en un vector. Este modulo esta

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 61: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4.1 Implementacion del algoritmo OMP 39

principalmente compuesto por comparadores y registros (ver Figura 4.3.b).

(a) (b)

(c) (d)

Figura 4.3: Bloques principales: (a) Modulo MAC; (b) Modulo Argmax; (c) Modulo de division; y (d)Modulo de raız cuadrada.

Finalmente, los modulos de division y raız cuadrada son implementados por tecni-

cas de comparacion/sustraccion. Estos estan principalmente compuestos por restado-

res, comparadores y registros (ver Figura 4.3 c y d). Todos los modulos estan gober-

nados por una maquina de estados finita (FSM por sus siglas en ingles) maestra, la

cual se rige a partir de diagrama de flujo mostrado en la Figura 4.1.

Los formatos numericos utilizados en esta implementacion para la representacion

de los valores en formato binario son mostrados en la Tabla 4.2.

La distribucion de bits fue seleccionada de acuerdo con el maximo numero espe-

rado, cuidando de igual manera que durante el calculo no ocurran desbordamientos o

truncamientos. Por ejemplo, para senales que entran a los modulos MAC, a su entrada

seran valores menores o igual a 1, pero se han implementado para numeros iguales

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 62: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

40 4. Implementacion y Resultados

Tabla 4.2: Formato de numeros utilizados en la implementacion.

ElementoDistribucion

de bitsFormato

Datos del diccionario 11.21 Complemento a dos

Muestras de la senal 11.21 Complemento a dos

Coeficientes sparse 11.21 Complemento a dos

Datos del residuo 11.21 Complemento a dos

Salida MAC0 11.21 Complemento a dos

Salida MAC1 11.21 Complemento a dos

Salida Argmax 11.21 Complemento a dos

Salida Divisor 3.21 Sin signo

Salida raız cuadrada 3.21 Sin signo

Maximo error deseado 3.21 Sin signo

m (numero de atomos) 10 Sin signo

n (numero de muestras) 8 Sin signo

o menores a 1024 (con signo) para mantener la compatibilidad y maximizar el uso

de los BRAMs. Por otra parte, en el modulo de raız cuadrada se espera que haya

una salida de datos menor o igual a 1, sin embargo, se ha dejado implementado con

una distribucion bits para 9 aproximadamente, por cualquier resultado verdadero no

esperado que pueda presentarse.

4.1.4. Implementacion en FPGA

Un FPGA Kintex-7 (Xilinx) en una tarjeta de desarrollo Genesys-2 (Digilent) fue

elegido por su versatilidad, velocidad de operacion y amplia disponibilidad de BRAMs

(16 MB). La arquitectura mostrada en la Figura 4.2 fue optimizada para trabajar a

100 MHz y procesar senales con un gran volumen de datos: hasta 256 muestras y

soporta diccionarios de hasta 1024 atomos.

La arquitectura fue descrita en codigo VHDL con la ayuda del programa Active-

HDL Student Edition (Aldec), y compilada mediante Vivado 2016.1 (Xilinx). Los

resultados de la implementacion son mostrados en la Tabla 4.3.

Grupos de 50 senales de condiciones: MI sano, MI con media barra rota y MI con

una barra rota; fueron usados. Todas las senales fueron obtenidas de 3 MMII de 1-

HP a plena carga, almacenadas en una computadora, y posteriormente preprocesadas

(ver seccion 3.2.1) vıa Matlab.

Los espectros fueron divididos en dos subgrupos: subgrupos de entrenamiento y

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 63: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4.2 Resultados finales 41

Tabla 4.3: Resultados de la implementacion del algoritmo OMP.

Recurso Utilizacion

LUT 1,226 (0.60 %)

Flip-Flop 585 (0.14 %)

BRAM 65.50 (14.72 %)

DSP 8 (0.95 %)

subgrupos de prueba; con 30 y 20 espectros cada uno.

Los subgrupos de entrenamiento fueron usados para obtener los diccionarios nece-

sarios para realizar la deteccion. Ası, el algoritmo K-SVD (el cual fue implementado

en Matlab) fue usado para su entrenamiento. Por lo cual, tres diccionarios con 650

atomos cada uno, fueron obtenidos. Los parametros introducidos al algoritmo K-SVD

fue una matriz generada de forma aleatoria y con un numero maximo de iteraciones

equivalente a 50. Es notable mencionar que este numero fue obtenido de forma expe-

rimental, ya que, no se obtuvieron mejores resultados al realizar los entrenamientos

con un numero menor (en ocasiones mayor, pero esto implicarıa mayor costo compu-

tacional).

La comunicacion entre FPGA-Computadora fue realizada mediante una interfaz

RS-232 con la siguiente configuracion: 38400 bps, 8 bits, con marca de paridad par y

dos bits de parada. Para el envıo de diccionarios, senal y parametros de calculo al FP-

GA; se implemento un codificador/decodificador en ambos lados (FPGA y Matlab),

que de igual manera permite a Matlab recuperar la representacion sparse, el residuo

y el error obtenido.

4.2. Resultados finales

La informacion suministrada por el algoritmo OMP implementado en el OMP

(obtenida a partir de los grupos de prueba), fue evaluada para obtener el diagnosti-

co de RBR. Para ello, la informacion recuperada fue evaluada por tres criterios (y

realizados mediante Matlab) descritos a continuacion.

El primer criterio esta basado en el residuo obtenido [5] (4.2.1), gracias a que la

representacion sparse retiene una parte de la energıa de la senal, lo que indica que,

si la energıa retenida es mayor, la representacion deberıa de ser mejor. Este criterio

es expresado como

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 64: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

42 4. Implementacion y Resultados

i = argminG=A,B,C

‖x−DGαG‖22 (4.2.1)

donde A corresponde a MI sano, B es MI con media barra rota y C es MI con una

barra rota. Residuos obtenidos con diferentes espectros son mostradas en la Figura

4.4 a forma de ilustrar el criterio.

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(a)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5P(f

)

(b)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(c)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(d)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(e)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5P(f

)

(f)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(g)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(h)

50 100 150 200

Frecuencia (Hz)

-0.5

0

0.5

P(f

)

(i)

Figura 4.4: Residuos de descomposicion obtenidos en: (a) espectro tipo A con diccionario tipo A; (b)espectro tipo A con diccionario tipo B; (c) espectro tipo A con diccionario tipo C; (d) espectro tipo Bcon diccionario tipo A; (e) espectro tipo B con diccionario tipo B; (f) espectro tipo B con diccionariotipo C; (g) espectro tipo C con diccionario tipo A; (h) espectro tipo C con diccionario tipo B; y (i)espectro tipo C con diccionario tipo C.

En la Figura 4.4 podemos observar el residuo de descomposicion de un espectro

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 65: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4.2 Resultados finales 43

tipo A con los diccionarios tipo A (a), tipo B (b) y tipo C (c), donde de manera

visual podemos descartar la descomposicion de los diccionarios B (b) y C (c), ya que

presentan mayor numero de picos a diferencia de (a). Al aplicar el primer criterio de

clasificacion tenemos: 0.174, 1.581 y 0.594; para diccionario tipo A, B y C, respecti-

vamente. Con ello, podemos proponer que el espectro involucrado pertenece al grupo

A, lo que resulta una clasificacion acertada. Por otro lado, para la prueba con un

espectro de tipo B con su residuo de descomposicion con el diccionario tipo A (d), el

diccionario tipo B (e) y el diccionario tipo C (f); tambien son diferenciables a simple

vista, descartando los resultados de los diccionarios tipo A (d) y C (f), y proponiendo

que la senal pertenece al grupo C. Para comprobar lo anterior, se evalua el residuo

de descomposicion obtenido mediante el primer criterio de clasificacion: 0.568, 0.176

y 0.619; para los diccionarios tipo A, B y C, respectivamente. Esto sugiere que el

espectro procesado pertenece al grupo B, lo que es correcto. Por ultimo, tenemos el

residuo de descomposicion de un espectro tipo C con el diccionario tipo A (g), el

diccionario tipo B (h) y el diccionario tipo C (i). Al igual que las anteriores, estos

residuos son diferenciables a simple vista, descartando a los residuos obtenidos me-

diante los diccionarios tipo A (i) y B (h). Aplicando el primer criterio de clasificacion

obtenemos: 1.127, 3.193 y 0.799; para los diccionarios tipo A, B y C, respectivamente.

Esto determina que el espectro descompuesto pertenece al grupo C, lo que tambien,

al igual que los casos anteriores, es correcto. Con esto se propone que el residuo de

descomposicion sera menor con diccionarios que pertenezcan al grupo de la senal a

descomponer. Los resultados generales obtenidos con este criterio son presentados en

la siguiente tabla.

Tabla 4.4: Resultados del criterio (4.2.1).

Clasificacion

Grupo A B CExito porclase ( %)

A 19 1 0 95.00

B 0 19 1 95.00

C 1 1 19 90.00

Exito total ( %) 93.33

La Tabla anterior comprueba que el residuo de descomposicion sera menor con

el diccionario que pertenezca al grupo de la senal descompuesta, ya que este tendra

mejores bases para realizar la representacion. Por otro lado, el algoritmo realizara una

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 66: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

44 4. Implementacion y Resultados

busqueda exhaustiva de los atomos que mas informacion aporte a la descomposicion

en el diccionario que no pertenece al grupo del espectro, y al no contar con las bases

necesarias para realizar la representacion, este dara un residuo mayor. Un segundo

criterio basado en los coeficientes sparse fue aplicado. En este criterio, los coeficientes

fueron evaluados de la siguiente manera

i = argminG=A,B,C

m∑

j=1

|αG[j]| (4.2.2)

donde m es el numero de atomos. En la Figura 4.5 se muestra los coeficientes no

nulos α, obtenidos a partir de la descomposicion de ciertos espectros.

La Figura 4.5 es difıcil de interpretar visualmente, debido a la baja cantidad

de coeficientes y la poca variacion que esta presenta. En cambio, si aplicamos el

criterio de clasificacion basado en (4.2.2), podemos resolverlo. Tomando a analisis los

coeficientes obtenidos del espectro tipo A con los diccionarios tipo A (a), B (b) y

C (c), obtenemos: 2.161, 2.138 y 2.506, respectivamente. Lo que indica que la senal

deberıa de pertenecer al grupo B. Este dato es erroneo, ya que en realidad el espectro

es de tipo A. Para el espectro tipo B procesada con el diccionario tipo A (d), B (e) y C

(f); resulta: 1.914, 1.801 y 1.806, respectivamente. Lo que indica que el espectro debe

de pertenecer al grupo B, que en este caso es verdadero. En cuanto al espectro tipo

C, el resultado del segundo criterio de clasificacion es: 2.900, 2.808 y 2.449, para la

descomposicion realizada con el diccionario tipo A (g), B (h) y C (i) respectivamente.

Lo que clasificarıa al espectro como tipo C. Para terminar de evaluar al criterio, se

analizaran los resultados generales de este, los cuales son mostrados en la Tabla 4.5.

Tabla 4.5: Resultados del criterio (4.2.2).

Clasificacion

Grupo A B CExito porclase ( %)

A 8 8 4 40.00

B 1 13 6 65.00

C 5 13 2 10.00

Exito total ( %) 38.33

Como se puede ver en las Tablas 4.4 y 4.5, el mejor criterio de clasificacion es

el (4.2.1), el cual obtuvo resultados superiores al 93 %. Esto debido a que el residuo

obtenido por el Algoritmo 3, proporciona mas informacion que los coeficientes sparse

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 67: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4.2 Resultados finales 45

1 1.2 1.4 1.6 1.8 2

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(a)

1 1.5 2 2.5 3

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(b)

1 1.5 2 2.5 3 3.5 4

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(c)

1 1.5 2 2.5 3

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(d)

1 1.5 2 2.5 3

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(e)

1 1.5 2 2.5 3

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(f)

1 1.5 2 2.5 3 3.5 4

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(g)

1 2 3 4 5

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(h)

1 1.2 1.4 1.6 1.8 2

,k 41ndice

-2

-1

0

1

2

,k

coe-

cien

te

(i)

Figura 4.5: Coeficientes no nulos de α obtenidos a partir de la descomposicion de: (a) espectro tipo Acon diccionario tipo A; (b) espectro tipo A con diccionario tipo B; (c) espectro tipo A con diccionariotipo C; (d) espectro tipo B con diccionario tipo A; (e) espectro tipo B con diccionario tipo B; (f)espectro tipo B con diccionario tipo C; (g) espectro tipo C con diccionario tipo A; (h) espectro tipoC con diccionario tipo B; y (i) espectro tipo C con diccionario tipo C;

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 68: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

46 4. Implementacion y Resultados

(α), ya que al ser calculados por aproximaciones, se introducen pequenos errores

que afectan al criterio (4.2.2), mas no notablemente a la representacion. Ası, un

tercer criterio es propuesto, debido a la equivalencia del criterio basado en el residuo

(Algoritmo 3, paso 6), y la facil implementacion que sugiere. Ası

i = argminG=A,B,C

‖rG‖2

‖x‖2

(4.2.3)

donde el criterio basado en el error de descomposicion (4.2.3) usa el error calculado

en el proceso de descomposicion (Algoritmo 3, paso 7), lo cual solo requiere de

comparaciones para obtener la clasificacion. En la Figura 4.6 se muestras algunas

reconstrucciones y su comparacion con el espectro original.

En el caso de la comparacion entre el espectro original y el reconstruido (ver Figura

4.6) es para ilustrar el error de reconstruccion, mientras mas se parezca el espectro

a la reconstruccion, menor sera su error. En cuanto a la clasificacion, los espectros

pueden ser diferenciados a simple vista. Por ejemplo, en el espectro de tipo A se

puede distinguir una mejor reconstruccion con el diccionario tipo A (a), desechando

a los del tipo B (b) y C (c). Este argumento es validado mediante el criterio de

clasificacion basado en 4.2.3, lo que da como resultado: 24.94 %, 77.67 % y 46.33 %;

para los diccionarios tipo A, B y C respectivamente. Este resultado propone que el

espectro procesado pertenece al grupo A: resultado correcto. Por otro lado, se aprecia

que el espectro tipo B se descompone mejor con el diccionario tipo B (e), omitiendo

el resultado de los diccionarios A (d) y C (f). Los errores de descomposicion son:

44.09 %, 24.51 % y 46.04 %; para los diccionarios tipo A, B, y C, respectivamente.

El resultado del error concuerda con el propuesto de forma visual. Por ultimo, para

espectro tipo C es notable que se descompone mejor con el diccionario tipo C (i). Ası,

sus respectivos errores son: 43.40 %, 73.06 % y 36.55 %; para los diccionarios tipo

A (g), B (h) y C (i). Lo que coincide nuevamente con lo propuesto de forma visual.

El resultado de este criterio es el mismo que se muestra en la Tabla 4.5. La eficiencia

mostrada por este criterio se basa en el mismo principio que el usado en el criterio

basado en 4.2.1, ya que en ambos evaluan el residuo de la descomposicion.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 69: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

4.2 Resultados finales 47

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(a)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(b)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(c)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(d)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(e)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(f)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(g)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(h)

50 100 150 200

Frecuencia (Hz)

0

0.2

0.4

0.6

0.8

1

jP(f

)j

OriginalReconstrucci4on

(i)

Figura 4.6: Diferencias entre espectro original y su reconstruccion: (a) espectro tipo A con diccionariotipo A; (b) espectro tipo A con diccionario tipo B; (c) espectro tipo A con diccionario tipo C; (d)espectro tipo B con diccionario tipo A; (e) espectro tipo B con diccionario tipo B; (f) espectro tipo Bcon diccionario tipo C; (g) espectro tipo C con diccionario tipo A; (h) espectro tipo C con diccionariotipo B; y (i) espectro tipo C con diccionario tipo C;

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 70: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

48 4. Implementacion y Resultados

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 71: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Capıtulo 5

Conclusiones

La representacion sparse de senales es una poderosa herramienta que no solo pue-

de ser aplicable al compressed sensing, ya que como se ha probado en este trabajo, un

proceso de clasificacion es posible a traves de ella. El algoritmo OMP fue usado para

obtener la representacion sparse de una senal (espectro en este trabajo) y el algoritmo

K-SVD fue usado para la adaptacion (entrenamiento) de los diccionarios de acuerdo

con su clase. Ası, se usaron 3 criterios de clasificacion siendo el basado en residuo

(4.2.1) y el basado en error de descomposicion (4.2.3), los que mejores resultados

presentaron (mayor al 93 %). De esta manera, la deteccion de RBR fue posible. Sin

embargo, el proceso de obtencion de la representacion sparse es un proceso iterativo

que requiere de tiempo de ejecucion considerable, debido a que la mayorıa de sus

calculos no pueden ser paralelizables, y en mayor parte, a que los diccionarios tienen

grandes dimensiones, ya que un gran numero de atomos provee una mejor descompo-

sicion de la senal, ademas de que la senal esta constituida por numero considerable de

muestras. No obstante, el algoritmo OMP (implementado en el FPGA) en conjunto

con el criterio de clasificacion basado en el error de descomposicion (4.2.3) provee una

rapida respuesta en cuanto a la deteccion de RBR. Las otras herramientas y procesos

como la FFT y el algoritmo K-SVD, fueron implementadas en Matlab.

El diagnostico fue realizado off-line, pero debido a los resultados positivos obte-

nidos con esta tecnica, como trabajo a futuro un sistema completo para la deteccion

de RBR on-line, sera implementado y probado en un FPGA. Ası como tambien, se

buscara optimizar los tiempos de calculo e incrementar la exactitud de la deteccion.

[49]

Page 72: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

50 5. Conclusiones

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 73: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Apendices

[51]

Page 74: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su
Page 75: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Apendice A

El Algoritmo de deteccion y la vida

real

Desde su nacimiento, el hombre adquiere ciertas habilidades que lo ayudan a

sobrevivir durante toda su vida. Una de las primeras (y quizas la mas relevante) es

aprender a caminar. Posteriormente podemos encontrar la habilidad de aprender a

hablar, continuando con las reglas sociales que lo acompanaran el resto de su vida.

Por otra parte, la especializacion de personas tanto en el ambito cientıfico como en

el industrial va permitiendo el desarrollo de habilidades que desde cierta perspectiva

resultan bastante sorprendentes. Este es el caso de operarios (o ingenieros) que con

anos de experiencia logran determinar la presencia de fallas con solo usar el oıdo, el

tacto e incluso la vista.

La esencia de este trabajo puede asimilarse a un operario (o ingeniero) experto en

la deteccion de RBR. Ası, tenemos dos escenarios: el entrenamiento o la experiencia

y la deteccion.

A.1. Experiencia

En este escenario, tenemos al algoritmo K-SVD que desarrollara la habilidad de

detectar cierta falla y lo transmitira en forma de un diccionario. Para ellos tendra

que entrenarse o adquirir el conocimiento a partir del analisis de un numero finito de

senales con dichas fallas. Esta etapa puede asimilarse con los anos de experiencia que

pasa un operario entrenando a su oıdo para poder relacionar los sonidos a las fallas

y ası, poder distinguirlos. Tambien, podemos asimilar al numero de iteraciones que

realiza el algoritmo para determinar el diccionario, con el numero de anos que pasa

[53]

Page 76: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

54 A. El Algoritmo de deteccion y la vida real

un operario entrenandose. Esto se compara en la Figura A.1.

(a) (b)

Figura A.1: Relacion del algoritmo de entrenamiento (a) con la experiencia de un operador en la vidareal (b).

A.2. Deteccion

Una vez adquirida la experiencia, el operador sera capaz de poder determinar si

existe falla en el MI. En este caso, el OMP en conjunto con el criterio de clasificacion

harıa las veces de un operador experimentado. Ası, al entrar una senal al OMP, serıa

similar que un operador este escuchando los sonidos que produce el motor. De esa

manera, los dos podran determinar la falla a partir de su experiencia (diccionario, en

el caso del OMP); como se muestra en la Figura A.2.

(a) (b)

Figura A.2: Relacion del algoritmo de deteccion (a) con la manera que un operador realiza la deteccionen la vida real (b).

Por lo tanto, el algoritmo de deteccion estarıa realizando la asombrosa habilidad

de un operador sumamente experimentado. No obstante, este algoritmo solo realiza

una muy pequena parte del amplio rango de habilidades que un ser humano puede

acumular a lo largo de su vida, aunque en este caso, el algoritmo aprendio a detectar

las fallas en un tiempo bastante corto, lo que demuestra una gran ventaja en la

utilizacion de la herramienta.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 77: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

FPGA Implementation of Orthogonal Matching Pursuit Algorithm

Carlos Morales-Perez, Jose Rangel-Magdaleno, Israel Cruz-Vega, Juan Ramirez-Cortes

Electronics Department National Institute for Astrophysics, Optics and Electronics

Puebla, Mexico. carlosj.morales, jrangel, icruzv, jmram @inaoep.mx

Ahstract- In this paper, the Orthogonal Matching Pursuit

(OMP) algorithm is implemented on a Field Programmable Gate

Array (FPGA) to obtain the number and position of the atoms in

a dictionary. The dictionary, obtained by K-Singular Value

Decomposition (K-SDV) algorithm and developed in Matlab,

reconstructs a signal from its Sparse representation. With the

atoms selected by the OMP algorithm, a signal classification is

obtained by means of the FPGA. Some experimental tests are

presented to verify the proper operation.

Keywords-FPGA, OMP, Sparse representation.

I. INTRODUCTION

The Sparse representation of a signal has received a great attention in the last years, due to helps to solve the problem of find a compact representation of a signal, in terms of lineal combination of a dictionary's atoms. Comparing other methods based in orthonormal base transformations or time domain processing, Sparse representation offers a better performance in signal modeling. This representation focuses in optimization methods such as: Matching Pursuit (MP) [1], Orthogonal Matching Pursuit (OMP) [2], Basis pursuit (BP) [3], etc; dictionaries construction, such as K-SVD [4] method; and different application tasks such as: separating signals, noise suppressing, encoding, etc.

In recent papers, one can find algorithms implementation for Sparse representation on Hardware (FPGA) in its different variants: implementation of single-precision and floating-point on FPGA [5], reutilizable Intellectual Properties (IP) for FPGAs or System-on-Chip (SoC) [6], efficient design with Inner-Product-Computation (IPC) on FPGAs [7], among others. However, despite of offering efficiency in reconstruction or fast algorithm execution; they use algorithms that include expensive operations on hardware, e. g., floating­point [5], inverse matrix [2, 5-9], application ofb norm [5, 8], among others. These have a complex implementation, which impacts the speed's execution, to name just a few.

The main goal of Sparse representation is reducing the reconstruction error of a signal with the minor number of atoms selected. In [10], OMP algorithm is used as a classification tool of stars. Stars classification is obtained from

978-1-5090-3511-3/16/$31.00 ©20 16 IEEE

Hayde Peregrina-Barreto Computer Science Department

National Institute for Astrophysics, Optics and Electronics Puebla, Mexico

[email protected]

the signal spectrum introduced to the algorithm. In this paper, OMP algorithm is implemented on an FPGA that helps to the selection of the correct atoms, allowing the Sparse representation to construct a signal, reducing the cost of implementation. Later, the atoms selected by the FPGA can be utilized for signal classification as in [10].

II. TEST OF OMP ALG ORITHM

A set of signals with similar characteristics were synthesized, which are made with the sum of sine waves with different amplitudes and frequencies (see Table I), with 1024 samples each one. These signals are normalized (see Fig. I). Then, a dictionary of 8 atoms was obtained (see Fig. 2) through K-SVD algorithm [4, 10] and implemented in Matlab (see Fig. 3).

TABLE 1. WAVES SINE USED TO SYNTHESIZE TEST SIGNALS.

Signal Characteristics of Sine Waves

1 1 Hz 2Hz 7 Hz

0. 05 V IV 0. 1 V

2 1 Hz 2Hz 7 Hz 120 Hz

0. 05 V IV 0. 1 V 0. 01 V

3 1 Hz 2Hz 7Hz 800Hz

0. 05 V lV 0. 1 V 0.008 V

4 1 Hz 2Hz 7Hz 100Hz

0. 05 V IV 0. 1 V 0. 05 V

5 1 Hz 2Hz 7 Hz 120 Hz 100 Hz

0. 05 V lV 0. 1 V 0. 01 V 0. 05 V

6 1 Hz 2Hz 7Hz 800Hz 100Hz

0. 05 V IV 0. 1 V 0.008 V 0.05V

7 1 Hz 2Hz 7 Hz 100 Hz 500 Hz

0. 05 V lV 0. 1 V 0. 05 V omv

8 1 Hz 2Hz 7Hz 120Hz 100Hz 500Hz

0. 05 V lV 0. 1 V 0. 01 V 0. 05 V 0. 07 V

9 1 Hz 2Hz 7 Hz 800 Hz 100 Hz 500 Hz

0. 05 V IV 0. 1 V 0.008 V 0.05V 0. 07V

Page 78: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

Fig. !. Synthesized signals.

Fig. 2. Atoms of the dictionary obtained by K-SVD algorithm.

Fig. 3. K-SVD [10] algorithm used to obtain the dictionary.

After obtaining the dictionary, the OMP algorithm shown in [2], was implemented to test that the obtained atoms can be used as a Sparse representation of the signal. This test was performed on Matlab (see Fig. 4).

Fig. 4. Reconstruction of the signals: a) 5 and b) 8; by OMP algorithm.

The reconstruction error is calculated as follows:

(1)

where, e is the error, r is the residual of signal's reconstruction, and x is the original signal. Reconstruction error of signal 5 and 8 were; 5.6027e-05 and 1.8541 e-04, respectively. So, respecting the obtained results, the signal reconstruction from the atoms selected by the OMP algorithm with their respective a coefficients was proved. The correlation coefficients obtained between the original signal and signal's reconstruction, were near the value of 1 for all signals, as were obtained by the equation:

(2)

where, corr is the correlation coefficient, 0x is the standard deviation of the original signal, 0y is the standard deviation of reconstructed signal, and 0xy is the standard deviation of both signals.

III. OMP ALGORITHM PREPARATION FOR FPGA IMPLEMENTATION

OMP algorithm, in which FPGA implementation is based, is shown in Fig. 5 [10].

Fig. 5. OMP algorithm [10].

The step 9 represents a higher cost on hardware, because an invert matrix is calculated to obtain a. In [9], an invert matrix by Cholesky factorization is implemented, while in [11] an

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

5Ig",, ' 1 Signa l 2 Signa l 3

It\/\J [t\ /\J [~[V\j _1 200 000 600 &00 1000 _1 400 600 &00 1000 _1 ~-=--'''-----cc~~'--c'

,"",'" Signa l 4

,"",'" Signa l S "'~"' Signa l S

[~h /\ I [~h . /\ I [ih . /\ I '~ '~ ' ~L~~-"'-~~~"---'

Samples Samples SaJT1>Ies

[jK2\j [jK2\j [jK2\j 400 600 .~

-'" -'" Fig. 1. Synthesized signals.

.~

~ ~ .

i 0.05

.. ~~~' .. ~ . . < .€

~.os ! 0

~ ~

~ ... - ., SaJl1)1es 200

':"1>: IlOO 1000 ~1 1 _ ..

i'.-' · '< . .oil

~ j I

400 1 1 ~ ., Sa""'.... 200

~""'p: 1000 .£1,1

Fig. 2. Atoms of the dictionary obtained by K-SVD algorithm.

K-Singular Value Decomposition 1. Input: Do, X, K 2. Output Dk 3. Start: k = 0 4. Iterative process

5. for k ~ 1.2 .. " .K do 6. Use OMP to obtain a 7. forj ~ L2 .. ",m do 8. w ~ (IE1.2 . " .• M,UkU,l] ",OJ 9. awU, w] ~ ° 10. R = Xw - Dk a w 11. [UClV I ~ SVD (R) 12. dj E Dk = ul

13. aj E Uk ~ v , ll ( l .l) 14. end for 15. end for

Fig. 3. K-SVD [10] algorithm used to obtain the dictionary.

Sa"",,,,.

,"",'"

After obtaining the dictionary, the OMP algorithm shown in [2], was implemented to test that the obtained atoms can be used as a Sparse representation of the signal. This test was performed on Matlab (see Fig. 4).

al SparH reeon l tu ctlon of s ignal 3

~ ~ .

) TOO Il'IO 900 1000

Samples

~ j •

b) Sparse reconstuctlon of signal 8

~ ~ ~

"'~"'

Fig. 4. Reconstruction of the signals: a) 5 and b) 8; by OMP algorithm .

The reconstruction error is calculated as follows:

e = IIrl12/11xl12

,)

(1)

where, e is the error, r is the residual of signal's reconstruction, and x is the original signal. Reconstruction error of signal 5 and 8 were; 5.6027e-05 and 1.8541e-04, respectively. So, respecting the obtained results, the signal reconstruction from the atoms selected by the OMP algorithm with their respective a coefficients was proved. The correlation coefficients obtained between the original signal and signal's reconstruction, were near the value of 1 for all signals, as were obtained by the equation:

carr = o:,o-y/o-xy (2)

where, corr is the correlation coefficient, ax is the standard deviation of the original signal, ay is the standard deviation of reconstructed signal, and axy is the standard deviation of both signals.

III. OMP ALGORITHM PREPARATION FOR FPGA IMPLEMENTA TION

OMP algorithm, in which FPGA implementation is based, is shown in Fig. 5 [10].

Orthogonal Matching Pursuit Error-Constrained 1. Input: D,x, E 2. Output : a, 7)

3. Start : I = 0, TO = X, e = E + I , j = 0 4. Iterative process 5. while e < E do 6. j ~ j + 1 7. i = argmaxID'1_ 11 8. IV) ~ i 9. U ~ (DJ) - IX

10. 7) = x - D,a

11 . e = ::::::

12. end while

Fig. 5. OMP algorithm [10].

The step 9 represents a higher cost on hardware, because an invert matrix is calculated to obtain a. In [9], an invert matrix by Cholesky factorization is implemented, while in [ll] an

Page 79: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

invert matrix by Chebyshev method is shown. The second method from [ I I] is the selected option for the implementation. Nevertheless, during the developed test, an approximation of a coefficients was found: a were being calculated by D'r (D is the dictionary and r is the residual of Sparse reconstruction) (see Fig. 5, step 7), so the coefficient with the greatest absolute value will be a coefficient of a vector. In this way, it only saves the coefficient that satisfies the step 7 of OMP algorithm shown above.

Also, the implementation cost is minimized, due to that the error calculation of (1) is replaced by the error calculation based in b norm.

Taking into consideration the criterions previously exposed, a block diagram is shown in Fig. 6.

Fig. 6. OMP algorithm representation in block diagram for FPGA implementation.

In Fig. 6, accumulated sums are shown by the n-th subscript. 3.16 format in two complement was selected to binary representation of the values for the FPGA implementation.

A. Blocks olOMP algorithm implemented on HDL code.

A brief description of the main blocks is given in this section.

1) Multiply-accumulate (D(i)n r(j.!)n) block. Allows to multiply two vectors, or in this case is used to multiply the residual and every atom.

I CLR C A 19 31 ,-- CE Q B 1* +

31 D

19 h [>CLK rst clk 31

Fig. 7. Multiply-accumulate (MAC).

2) Arg max selector (arg max) block. The position of the greatest absolute value is found by this block.

Q 4 Argmax

elK

os! elk

Fig. 8. Arg max selector.

3) Register (a) . The data of small volume is saved by this block, that is, save the a coefficients.

RTL ROM

r-A

AI 31

RTL ROM 3

=L2= S A Or-

1

I I

h

L :'''O" 0=1

rst cI

Fig. 9. Register.

I

I CLR

CE -D

.-

I I

-

,---[>CLK

I CLR

CE r-- D

t>CLK

I

I CLR

CE r-- D

[>CLK

4) rjn module. To calculate the rj residual.

Fig. 10. rj module.

31 Of-+--

a 248

O

1

I

31 Or-+--

8

5) RAM memory. Saves the obtained coefficient by rJTI module.

Page 80: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

Fig. 11. RAM memory module.

6) Error module (e). To calculate the error of every iteration.

Fig. 12. Error module.

7) Finite state machine. Control the system for the correctly execution of every operation, following the steps shown in Fig. 5.

Fig. 13. Finite state machine (FSM).

A simulation was performed in Active-HDL Software of Aldec, and a time diagram was obtained (see Fig. 14), which shows the execution of the modules (see Fig. 7-12) of OMP algorithm, controlled by the FSM (see Fig. 13).

Fig. 14. Activation signals of the modules of the OMP algorithm.

The design was compiled by Vivado software v2016.1 (64 bits) of Xilinx, and implemented on FPGA Artix-7 NEXYS 4 DDR of Digilent (see Fig. 15).

Fig. 15. Post-implementation statistics.

B. Results

Due to the inverse matrix to calculate the a coefficients is relatively expensive, is replaced by the coefficient calculated in step 7 of reference OMP algorithm (see Fig. 5), in this case, coefficient of every iteration is saved. The reconstruction with this approximation has no major impact, because the error between both coefficients is minimal. The approximation used in the implementation is represented as follows:

(J,; = D; rj-l (3)

given

i = arg max jD'r/-d (4)

to modify the step 9 of reference OMP algorithm (see Fig. 5) instead of (5). In (3) and (4), j = 0, 1, 2, . . . , n- I; i = 1, 2, . . . , n; ai is the respective coefficient of the a-vector, D is the dictionary, D' is the dictionary's transpose, and r is the residual of Sparse reconstruction.

(5)

j = 0,1,2, . . . , n-l; i = 1, 2, . . . , n; a is the coefficient's vector, D,-l is the inverse matrix of selected atoms, and x is the signal to be reconstructed.

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

addra 11

dina

h

wea elk

Fig. 11. RAM memory module.

RAM CE

D

ClK

Q 19 daula

6) Error module (e). To calculate the error of every iteration.

Fig. 12. Error module.

7) Finite state machine. Control the system for the correctly execution of every operation, following the steps shown in Fig. 5.

INPUT J = Position vector of

selected atoms i = Iterab'on number TO= Initial residual n = Sample numher Din 1in = Module 1

j = Atom position AIg max = Module 2 a = ModuJe3 Tj n = Module 4 en = ModuJe 6

OUTPUT m= Sample number a = Atoms number x = Don't care

Fig. 13. Finite state machine (FSM).

A simulation was performed in Active-HDL Software of Aldec, and a time diagram was obtained (see Fig. 14), which shows the execution of the modules (see Fig. 7-12) of OMP algorithm, controlled by the FSM (see Fig. 13).

Initial signals: I = O. a = 0, "0 = x, e = E + 1,j = 0

\

(al(ulatF D'r /_1 by modules 1

_ Obtain i =;r9 max ID'rj_l l by module 2

... ~ f---

" ~

/ v,,;~e <~ Calculate e by module 6

Calculate " j by module 4 and save to module 5

SavelV) = iva = D/"J-l by module 3

Fig. 14. Activation signals of the modules of the OMP algorithm.

The design was compiled by Vivado software v2016.1 (64 bits) of Xilinx, and implemented on FPGA Artix-7 NEXYS 4 DDR of Digilent (see Fig. 15).

Resource Uti lization Available Utilization % LUT 3380 63400 5.33 FF 704 126800 0.56 BRAM 14.50 135 10.74 DSP 24 240 10.00 10 23 210 10.95 BUFG 32 3. 13

Fig. 15. Post-implementation statistics.

B. Results

Due to the inverse matrix to calculate the a coefficients is relatively expensive, is replaced by the coefficient calculated in step 7 of reference OMP algorithm (see Fig. 5), in this case, coefficient of every iteration is saved. The reconstruction with this approximation has no major impact, because the error between both coefficients is minimal. The approximation used in the implementation is represented as follows:

(J,; = D; rj-l (3)

given

i = arg max jD'r/-d (4)

to modify the step 9 of reference OMP algorithm (see Fig. 5) instead of(5). In (3) and (4),j = 0,1,2, ... , n-I; i = 1,2, ... , n; ai is the respective coefficient of the a-vector, D is the dictionary, D' is the dictionary's transpose, and r is the residual of Sparse reconstruction.

(5)

j = 0,1,2, ... , n-l; i = 1,2, ... , n; a is the coefficient's vector, D,-l is the inverse matrix of selected atoms, and x is the signal to be reconstructed.

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

addra 11

dina

h wea elk

Fig. 11. RAM memory module.

RAM

RD

CE

D

Cl K

QI ;~ Idouta

6) Error module (e). To calculate the error of every iteration.

Fig. 12. Error module.

7) Finite state machine. Control the system for the correctly execution of every operation, following the steps shown in Fig. 5.

INPUT J = Position vector of

selected atoms i = Iteration number TO = Initial residual n = Sample number Din 1in = Module 1

j = Atom position A11I max = Module 2 a = ModuJe3 Tj n = Module 4 en = ModuJe 6

OUTPUT m= Sample number a = Atoms number x = Don't ca re

Fig. 13. Finite state machine (FSM).

Start

A simulation was performed in Active-HDL Software of Aldec, and a time diagram was obtained (see Fig. 14), which shows the execution of the modules (see Fig. 7-12) of OMP algorithm, controlled by the FSM (see Fig. 13).

Initial signals: I = O. a = 0, " 0 = x, e = E + 1,j = 0

\ co''"''[ D',.,_. by mod" .. 1

__ ~ . ,I . 0b"'O i 7" 'nax'iI D " ~_: / 1 by mOd"'I' _ 1 _

Di" '; _ l~ A,.y,,"'" 0.1

--'

~

! v.,,~ e<Z=' Calculate c by module 6

Calculate r j by module 4 and save to module 5

savel(j) = iva = 0 ," ;- 1 bymodule3

Fig. 14. Activation signals of the modules of the OMP algorithm.

The design was compiled by Vivado software v2016.1 (64 bits) of Xilinx, and implemented on FPGA Artix-7 NEXYS 4 DDR of Digilent (see Fig. 15).

Resource Utilization Available Utilization %

LUT 3380 63'100 5.33 FF 704 126800 0.56 BRAM 14.50 13 5 10.74 DSP 24 2'10 10.00 10 23 210 10 .95 BUFG 32 3. 13

Fig. 15. Post-implementation statistics.

B. Results

Due to the inverse matrix to calculate the a coefficients is relatively expensive, is replaced by the coefficient calculated in step 7 of reference OMP algorithm (see Fig. 5), in this case, coefficient of every iteration is saved. The reconstruction with this approximation has no major impact, because the error between both coefficients is minimal. The approximation used in the implementation is represented as follows:

(J,; = D; rj-i (3)

given

i = arg max /D'rj-d (4)

to modify the step 9 of reference OMP algorithm (see Fig. 5) instead of(5). In (3) and (4),j = 0,1,2, ... , n-l; i = 1,2, ... , n; aj is the respective coefficient of the a-vector, 0 is the dictionary, 0' is the dictionary's transpose, and r is the residual of Sparse reconstruction.

(J, = Di1 X (5)

j = 0,1,2, ... , n-I; i = 1,2, ... , n; a is the coefficient's vector, Ol is the inverse matrix of selected atoms, and x is the signal to be reconstructed.

Page 81: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

Also, the step 11 was modified (see Fig. 5) by

(6)

where, e is the error, r is the residual, and x is the original signal. With this approximation is reduced the cost of implementation, because they avoid calculate the square root. The difference between the error based in h norm and the error based in h norm is minimal.

OMP algorithm proposed is shown below.

Fig, 16, OMP algorithm proposed to FPGA implementation,

OMP algorithm (see Fig. 16) was implemented on FPGA and Matlab. Tables 2 and 3 show the results comparison.

TABLE 2, RESULTS OF THE OMP IMPLEMENTED ON FPGA,

OMP implemented on FPGA

Signal Selected Atoms e Correlation

1 1, 2, 4, 6, 7, 0,0110 0,9999 2 1, 2, 4, 6, 7. 0.0109 0.9999 3 1, 2, 4, 7. 0.0201 0.9998 4 2, 5, 0,0238 0,9997 5 2, 5, 0,0242 0,9997 6 2, 5. 0. 0249 0.9996 7 1, 2, 3, 4, 5, 6. 0.0016 1. 0000 8 1, 2, 4, 5, 8, 0,0002 1. 0000

TABLE 3, RESULTS OF THE OMP IMPLEMENTED ON MATLAB,

OMP implemented on MA TLAB

Signal Selected Atoms e Correlation

1 1, 2, 4, 6, 0,0198 0,9998 2 1, 2, 4, 7. 0.0192 0.9998 3 1, 2, 3, 4, 7. 0. 0145 0.9999 4 2, 5, 6, 0,0158 0,9998 5 1, 2, 5, 0,0167 0,9998 6 1, 2, 5. 0.0183 0.9998 7 2, 4, 0,0154 0,9999 8 2, 4, 0,0165 0,9998

The results shown in Tables 2 and 3 were obtained using the same criteria. However, by the OMP algorithm implemented on FPGA an efficient reconstruction in the signals 7 and 8 was obtained, but the OMP algorithm, implemented on Matlab, exceeded the FPGA implementation in signals 1-6. This was proved by the reconstruction error and

the correlation coefficient of (1) and (2), respectively. Although, some differences were found in the implementations, the signal reconstruction realized by the FPGA implementation is coherent and satisfactory (see Fig. 17).

Fig, 17, Reconstruction per atoms of signal 3 using: a) FPGA and b) Matlab,

IV. CONCLUSION

The OMP is an algorithm that finds the atoms from a dictionary and calculates the respectively coefficients, such algorithm permits the Sparse representation of the signal with a minimum error of reconstruction [10]. The dictionary of signals set was obtained by means of the K-SVD algorithm [4, 10] (see Fig. 1), which was designed to calculate a set of 8 atoms. The iteration's number used for K-SVD algorithm were 50, and the initial dictionary was obtained randomly.

The proposed OMP algorithm replaces the step 9 in reference OMP algorithm (see Fig. 5) by the step 9 in the proposed algorithm (see Fig. 16), and the error based in b norm (see step ll, Fig 5) is replaced by the error based in h norm (see step 11, Fig 16). The test made in Matlab gave positive results, because the errors obtained by original OMP [1] and the proposed OMP, do not affect the selection of atoms for Sparse representation. However, the FPGA implementation generates small errors (see Table 2 and 3) due to quantization errors, compared with the Matlab implementation.

On other hand, the selection of atoms by OMP algorithm implemented on FPGA, provides important information about signal's reconstruction, allowing a correct classification of the reconstructed signal.

Future works aims to the minimization of quantization errors, allowing obtaining a better selections of atoms.

ACKNOWLEDGMENT

The author Carlos Javier Morales-Perez wants to thanks to Consejo Nacional de Ciencia y Tecnologia (CONACYT, Mexico) for the support to the master degree studies in the INAOE.

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

Also, the step 11 was modified (see Fig. 5) by

e = IIrl11lllxlii (6)

where, e is the error, r is the residual, and x is the original signal. With this approximation is reduced the cost of implementation, because they avoid calculate the square root. The difference between the error based in h norm and the error based in b norm is minimal.

OMP algorithm proposed is shown below.

Orthogonal Matching Pursuit Proposed 1. Input: D, X, E

2. Output: I

3. Start: I = O/a = O,ro = x,e = E+ 1, j = 0 4. Iterative process 5. while e < £ do 6. j ~ j + 1 7. i = argmaxID'rj_d 8. l(j) ~ i

9. ai = D i1 - 1

10. ? = x - Dla

11. e = ::: :::

12, end while

Fig. 16. OMP algorithm proposed to FPGA implementation.

OMP algorithm (see Fig. 16) was implemented on FPGA and Matlab. Tables 2 and 3 show the results comparison.

TABLE 2. RESULTS OF THE OMP IMPLEMENTED ON FPGA

OMP implemented on FPGA

Signal Selected Atoms e Correlation

1 1,2,4,6,7. 0.0110 0.9999 2 1,2,4,6,7. 0.0109 0.9999 3 1,2,4,7. 0.0201 0.9998 4 2,5. 0.0238 0.9997 5 2,5. 0.0242 0.9997 6 2,5. 0.0249 0.9996 7 1,2,3,4,5,6. 0.0016 1.0000 8 1,2,4,5,8. 0.0002 1.0000

TABLE 3. RESULTS OF THE OMP IMPLEMENTED ON MATLAB.

OMP implemented on MA TLAB

Signal Selected Atoms e Correlation

1 1,2,4,6. 0.0198 0.9998 2 1,2,4,7. 0.0192 0.9998 3 1,2,3,4,7. 0.0145 0.9999 4 2,5,6. 0.0158 0.9998 5 1,2,5. 0.0167 0.9998 6 1,2,5. 0.0183 0.9998 7 2,4. 0.0154 0.9999 8 2,4. 0.0165 0.9998

The results shown in Tables 2 and 3 were obtained using the same criteria. However, by the OMP algorithm implemented on FPGA an efficient reconstruction in the signals 7 and 8 was obtained, but the OMP algorithm, implemented on Matlab, exceeded the FPGA implementation in signals 1-6. This was proved by the reconstruction error and

the correlation coefficient of (1) and (2), respectively. Although, some differences were found in the implementations, the signal reconstruction realized by the FPGA implementation is coherent and satisfactory (see Fig. 17).

• i 0

.) Reconstruction of slgnal 3, FPGA

~ ~

400 m 600 roo IlOO 900 1000

' .....

• i 0

b) ReoonslruClloo of s19n113, MATLAB

Sa~I!!"

~ ~

TOO l'JO() 900 1000

Fig. 17. Reconstruction per atoms of signal 3 using a) FPGA and b) Matlab.

IV. CONCLUSION

The OMP is an algorithm that finds the atoms from a dictionary and calculates the respectively coefficients, such algorithm permits the Sparse representation of the signal with a minimum error of reconstruction [10]. The dictionary of signals set was obtained by means of the K-SVD algorithm [4, 10] (see Fig. I), which was designed to calculate a set of 8 atoms. The iteration's number used for K-SVD algorithm were 50, and the initial dictionary was obtained randomly.

The proposed OMP algorithm replaces the step 9 in reference OMP algorithm (see Fig. 5) by the step 9 in the proposed algorithm (see Fig. 16), and the error based in b norm (see step ll, Fig 5) is replaced by the error based in II norm (see step 11, Fig 16). The test made in Matlab gave positive results, because the errors obtained by original OMP [1] and the proposed OMP, do not affect the selection of atoms for Sparse representation. However, the FPGA implementation generates small errors (see Table 2 and 3) due to quantization errors, compared with the Matlab implementation.

On other hand, the selection of atoms by OMP algorithm implemented on FPGA, provides important information about signal's reconstruction, allowing a correct classification of the reconstructed signal.

Future works aims to the minimization of quantization errors, allowing obtaining a better selections of atoms.

ACKNOWLEDGMENT

The author Carlos Javier Morales-Perez wants to thanks to Consejo Nacional de Ciencia y Tecnologfa (CONACYT, Mexico) for the support to the master degree studies in the INAOE.

Page 82: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

2016 13th International Conference on Electrical Engineering, Computing Science and Automatic Control (CCE), Mexico, City. Mexico

REFERENCES

[1] P. Vincent and Y. Bengio, "Kernel Matching Pursuit". Kluwer Academic Publishers Machine Learning, 48, 165-187, 2002.

[2] T T Cai and L. Wang, "Orthogonal Matching Pursuit for Sparse Signal Recovery Whit Noise". IEEE Transactions on Information Theory, voL 57, no. 7. Julio de 2011.

[3] F. C Mota, M. F. Xavier, P. M. Q Aguiar and M. Puschel, "Distributed Basis Pursuit". IEEE Transactions on Signal Processing, vo1. 60, no. 4, April 2012.

[4] M. Aharon, M. Elad and A Bruckstein, "K-SVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation". IEEE Transactions on Signal Processing, vo1. 54, no. 11. November 2006.

[5] F. Ren, R Dorrace, W. Xu and D. Markovic, "A Single-Precision Compressive Sensing Signal Reconstruction Engine on FPGAs, " 2013 23rd International Conference on Field Programmable Logic and Applications, Porto, 2013, pp. 1-4.

[6] F. Ren, W. Xu and D. Markovic, "Scalable and Parameterised VLSI Architecture for Efficient Sparse Approximation in FPGAs and SoCs". Electronics Letters, voL 49, no. 23, November 2013.

[7] H. Rabah, A Amira, B. K. Mohanty, S. Almaadeed and P. K. Meher, "FPGA Implementation of Orthogonal Matching Pursuit for Compressive Sensing Reconstruction". IEEE Transaction on Very Large Scale Integration (VLSI) System, voL 23, no. 10, October 2015.

[8] H Zhu, G. Yang and W. Chen, "Eflicient Implementations of Orthogonal Matching Pursuit Based on Inverse Cholesky Factorization, "

Vehicular Technology Conference (VTC Fall), 2013 IEEE 78th, Las Vegas, NV, 2013, pp. 1-5.

[9] Y C. Pati, R Rezaiifar and P S. Krishnaprasad, "Orthogonal Matching Pursuit: Recursive Function Approximation with Applications to Wavelet Decomposition, " Signals, Systems and Computers, 1993. 1993 Conference Record of The Twenty-Seventh Asilomar Conference on, Pacific Grove, CA, 1993, pp. 40-44 vo1.1.

[10] R Diaz-Hernimdez, H Peregrina-Barreto, L Altamirano-Robles, J A Gonzalez-Bernal and A E Ortiz-Esquivel, "Automatic Stellar Spectral Classification Via Sparse Representations and Dictionary Learning". Springer Exp Astron, 38: 193-211, 2014.

[11] H. D. Rico-Aniles, J M. Ramirez-Cortes and J d. J Rangel-Magdaleno, "FPGA-based Matrix Inversion Using an Iterative Chebyshev-type

Method in the Context of Compressed Sensing, " 2014 IEEE International Instrumentation and Measurement Technology Conference (I2MTC) Proceedings, Montevideo, 2014, pp. 983-987.

Page 83: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

FPGA-Based Broken Bar Detection on IM UsingOMP Algorithm

Carlos Morales-Perez, Jose Rangel-Magdaleno, Hayde Peregrina-Barreto, Juan Ramirez-Cortes, and Israel Cruz-VegaNational Institute for Astrophysics, Optics and Electronics

Puebla, Mexicocarlosj.morales, jrangel, hperegrina, jmram, [email protected]

Abstract—In this paper, the classification of three InductionMotor conditions using the Orthogonal Matching Pursuitalgorithm is presented. The OMP algorithm was implementedinto a Field Programmable Gate Array to obtain the Sparserepresentation of the signal given a Dictionary. Then, the signalinformation obtained from the Sparse representation is evaluatedand classified. The dictionaries were obtained by K-SingularValue Decomposition (K-SVD) algorithm developed in Matlabsoftware. The FPGA implementation is low-complexity, cheapon hardware, compact, and works at 100MHz.

Keywords—FPGA, OMP, rotor broken bar, signal classification,sparse representation.

I. INTRODUCTION

The sparse representation is a technique that allows torepresent a signal in its linear combination [1]. This techniqueis an efficient manner to reconstruct or discompose signals, dueto the signals are represented by dictionary elements namedatoms. For this reason, Sparse representations are used fordifferent tasks such as: compressed sensing reconstruction [2],signals classification [3], noise suppressing [4], etc. Nowa-days, many algorithms to make the Sparse representation areavailable, such as the Orthogonal Matching Pursuit (OMP)algorithm [5]. OMP makes use of trained dictionaries forobtaining the sparse representation of a signal. A traineddictionary is a base that has learned the characteristics of aparticular type of signal and therefore is able to decomposeit as a linear combination of just a few elemental signals(atoms). The dictionaries can be obtained by algorithms as K-SVD [6]. This technique is difficult to implement on hardware(e.g. FPGA), because many of its calculus are expensive onhardware, for example, the inverse matrix. This problem isa cause of high-complexity, and relatively low velocity, toname a few. Fortunately, a solution can be found in [7],there, an approximation to obtain coefficients of reconstructionis proposed, so the inverse matrix calculation is avoided,reducing the clocks cycles of computation, in the same way itis low-complexity. However, most FPGA implementations arefocuses in compressive sensing reconstruction [8]–[10].

On the other hand, online monitoring systems for failuredetection on Induction Motors (IMs) are a current demand inthe industry, because the early faults detections helps to correctelectrical or mechanical problems before they become seriousand irreversibles. Taking into account that the IM is the most

popular motor used in the industry, the early fault detectionis benefical in cost and maintenance time. A common andimportant fault is the stator dissymmetry caused by a brokenbar, this problem is difficult to detect because the damage isslow and quiet. In most cases, the damage is detected whenit is serious and it has extended to another sections of themotor, causing expensive repairs or total loss of the motor,and in the worst case, it can include damage to the processor to machine related to the damaged motor. In many papershave been proposed FPGA-based techniques for IM faultdetection, where the Fast Fourier Transform (FFT) analysis[11], Discrete Wavelets Transforms (DWT) analysis [12]–[17], Current Signature analysis (CSA) [18]–[20], and otherstechniques are used. All of them are focusing on spuriousfrequencies caused by the stator dissymmetry detection.

In this paper, a novel FPGA-based broken bar detection us-ing OMP algorithm is presented. The use of the FPGA allows areal-time low-cost implementation with the advantage of low-power consumption and fast prototyping. The vibration signalsare obtained from an IM at full load by an accelerometerand converted by an Analog-to-Digital Converter (ADC). AnFFT is applied to the signals [13] as a pre-processing to besending later to OMP algorithm implemented on FPGA [7].The information obtained by OMP is evaluated to obtain aclassification [21]. On this way, the detection of healthy bar,half-broken bar, and one-broken bar on IM is performed.

II. VIBRATION ANALYSIS

The dissymmetry of the stator and rotor can be found fromspectrum analysis of the current [11], [18] and vibration [11],as the dissymmetry is increasing, spurious spectral componentsappear. These spectral components are stated in

fbLk = fs(1− 2ks)

fbRk = fs(1 + 2ks)(1)

where fbLk is the spurious left frequency, fbRk is the spuri-ous right frequency, k = 1, 2, 3, ..., and s is the asynchronousslip between the mechanical speed nm and the rotating speedns.

s =ns − nm

ns(2)

This full text paper was peer-reviewed at the direction of IEEE Instrumentation and Measurement Society prior to the acceptance and publication.

978-1-5090-3596-0/17/$31.00 ©2017 IEEE

Page 84: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Fig. 1. Frequency spectrum for healthy, half-broken, and one-broken barconditions of an IM.

The amplitudes of these frequencies are related by thenumbers of broken bars in the rotor (see Fig. 1). According to[12], the amplitudes are changing as the damage on the bar isincreasing, and this effect can be seen in the frequency spectraof vibration signals.

III. ORTHOGONAL MATCHING PURSUIT

The Sparse representation of a signal helps to solve thelinear equation system given by

x = Dα+ r (3)

where x ∈ Rn is the signal to reconstruct, D ∈ Rn×m

is the dictionary matrix that contains signals characteristicsin its columns or atoms, α ∈ Rm is the sparse vector ofcoefficients that permits the reconstruction, and r ∈ Rn isa residual. On this manner, the signal can be reconstructed byselected elements of D, and α coefficients. Besides, the OMPis a manner to obtain the Sparse representation, and helps tosolve the equation shown below

α ≈ D−1x (4)

As one can see in (4), the OMP is focused on decomposethe signal by selecting atoms that represent some parts of itsenergy, and its corresponding sparse coefficients α. The maingoal of sparse representation is to decompose a signal with theminor number of atoms as possible, but also, the reconstructionerror must be minimal. In [7] and [21], the proposed OMPalgorithms are able to made the sparse representation of asignal. Thus, the Algorithm 1 is based on them, because theyoffer a low-complexity to be implemented.

IV. OVERVIEW OF OMP ALGORITHM IMPLEMENTATION

The design of an OMP module is needed to obtain thesparse representation, and then to perform the broken bardetection from this information. In [7] an architecture isproposed, there, an approximation is used to obtain the sparsecoefficients saving time-consumption, due to (4) is replacedby (5) (Algorithm 1, step 7).

Algorithm 1: Orthogonal Matching Pursuit withApproximation for α Coefficients

1. Input: D, x, and ε.

2. Output: α, r, and e.

3. Start: r0 = x, e = ε+ 1, and j = 0.

4. while (e > ε) do5. j = j + 1

6. i = argmax|DT rj−1|7. αi = Dirj−1

8. rj = x−Dα

9. e =‖rj‖2‖x‖2

10. end while

αi = Dirj−1 s. t. i = argmax|DT rj−1| (5)

where αi is the i−th sparse coefficient, Di is the i−th atomof the dictionary matrix D, and rj−1 is the previously residual.On this manner, the calculation of the sparse coefficient isreduced from many clock cycles to one. An improved versionof the proposed implementation in [7] is making in this work(see Fig. 2 and 3).

A. Computation steps

The OMP algorithm is iterative and in Fig. 2 is depicted theflow graph for one iteration. Before the start, it is needed thatthe dictionary matrix D, the signal to decompose x, and themaximum desired error ε are stored in the appropriate memorystatement (Algorithm 1, step 1). At the end, the algorithm willmake available the obtained: sparse vector α, residual r, anddecomposition error e (Algorithm 1, step 2). The completecomputation steps are described as follow:

1) Initial conditions: Sets iteration counter to zero j = 0,and selects the signal to decompose as residual r0 = x.

2) Iteration counter: Increases the iteration counter.3) Finding the sparse coefficient (F1): Computes (6) to

obtain the correlation coefficient Ca for each atom a. After,obtain the maximum absolute coefficient Ci and its positioni, save it as i− th sparse coefficient αi = Ci.

Ca =n∑

k=0

(Dka)T(rk)j−1 , a = 0, 1, ...,m (6)

4) Calculating the new residual (F2): Computes (7) toobtain the residual coefficients (rs)j and save it.

(rs)j = xs −m∑

k=0

Dskαk , s = 0, 1, ..., n (7)

5) Calculating the decomposition error (F3): First, it com-putes (8) to obtain the coefficients of r2j and x2.

yv =n∑

k=0

v2k , v = rj , x (8)

Page 85: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Fig. 2. OMP flow graph for one iteration. In F3, ‖rj‖2 and ‖x‖2 arecomputed in parallel.

Then, it computes (9) to obtain the decomposition error andsave it.

e =

√yryx

(9)

6) Stop criterion: Evaluates e > ε, if it is true, thealgorithm stops, otherwise, continue to step 2.

B. Complexity analysis

As shown in Fig. 2, the OMP consists on three functions,and the dependence between sections are very related, thiscausing a time-consumption. Table I shows the ComputationalComplexity of the OMP Algorithm performed in the flowgraph shown in Fig. 2.

TABLE ICOMPUTATION COMPEXITY OF OMP ALGORITHM (n IS THE SAMPLES

NUMBERS, AND m IS THE ATOMS NUMBER)

FunctionOperations

Addition/Subtraction Multiplication Comparison

F1 nm nm m

F2 nm+ n nm 0

F3 2n+ 48 2n 48

The total number of additions/subtractions, multiplications,and comparisons are 2nm+3n+48, 2mn+2n, and n+48 periteration respectively. Computations for division and squareroot has been include in operations as additions/subtractions

and comparisons, because the division and square root areperformed by comparison/subtraction techniques.

Due to iterative nature of OMP algorithm, it is difficult toapply parallelism in its functions, because the functions alwaysdepend on previous function; or parallelism of a function (asF1) increase the resource use notably. This is not the caseof F3, where the computation of ‖rj‖2 and ‖x‖2 can beperformed in parallel reducing its time consumption.

C. Proposed Architecture

The proposed architecture depicted in Fig. (3) is composedby careful selection of modules. Thus, the dictionary matrix,signal, sparse vector, and residual can be saved in modulesmade with Blocks Random Access Memories (BRAMs) avail-able on the FPGA; and the samples number, atoms numbers,maximum desired error, and decomposition error can be savedin registers made with Flips-Flops available on the FPGA.

Fig. 3. Proposed architecture for OMP Algorithm, and modules utilization.

To save resources in the architecture, the modules forcompute F1–F2 will be reusable. Especially, the modules thatcompute (6)–(8), where multiply-accumulate (MAC) operationis computed. For this and for realize parallel execution (F3),two MAC modules are include in the architecture. Theseare mainly composed by multiplier, adder, and registers. AnArgmax module is included, in order to find an absolute max-imum coefficient and its position among many coefficients.This process is composed by comparators and registers mainly.

Finally, the divider and square root modules are performedby comparison/subtraction techniques. These are mainly com-posed by adders (subtracters), comparators and registers. Allmodules are controlled by a master FSM. The format numberused in the implementation to represent the values in binaryformat is shown in Table II.

V. IMPLEMENTATION

Broken bars can be found thanks to FFT analysis as shownin [11]. On this way, the spectra are differentiable withinfaults levels, because the spurious frequencies are changingwith the fault. This condition allows a classification of thespectra according to fault levels, and a powerful tool that canmake this classification is the Sparse representation. Indeed,this technique is demonstrated in [21], there the classification

Page 86: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

TABLE IIFORMAT NUMBER USED IN THE IMPLEMENTATION.

Element Bits distribution FormatDictionary data 11.21 Two-complement

Signal samples 11.21 Two-complement

Alpha coefficients 11.21 Two-complement

Residual data 11.21 Two-complement

Output MAC0 11.21 Two-complement

Output MAC1 11.21 Two-complement

Output Argmax 11.21 Two-complement

Output Divider 3.21 Unsigned

Output Square root 3.21 Unsigned

Maximum desired error 3.21 Unsigned

m (atoms number) 10 Unsigned

n (samples number) 8 Unsigned

was performed with provided information by OMP algorithm,which is evaluated by some criterion to finally obtain a cor-rect classification. Therefore, the mentioned works are joinedin this paper, and the FPGA implementation of the OMPalgorithm of [7] is used to obtain the Sparse representationinformation. On this way, the methodology shown in Fig. 4 isused to perform the broken bar diagnosis.

Fig. 4. Used methodology.

A. Vibration sensor

The vibrations signals are obtained by a sensor (VE),that consists of a MEMs-based triaxial accelerometer, andits features are: a ±2 g/±6 g user-selectable full scale; a5 × 10−4 g resolution over a 10 Hz bandwidth; a bandwidthof 1.5 kHz for all axes; and a 12-bits four-channel analog-to-digital converter ADS7841 with a 200-kHz conversion rate. AMAX3243 transceiver for digital data communication throughan RS-232 interface is used. This is the same process usingin [12] to obtain the vibration signals.

B. FPGA implementation

An improved version of the proposed implementation in [7]is making, and an error based in 2 norm is used. A Kintex-7 FPGA (by Xilinx) on Genesys 2 development board (byDigilent) was selected to the implementation. This implemen-tation was performed to work at 100 MHz, and to process

signals with large sample numbers and large atom numbers:configurable up to 256 samples, and supports a dictionary upto 1024 atoms.

1) Implementation results: The implementation was pro-gramed in VHDL code and compiled by Vivado software(by Xilinx). The obtained results are compared with theimplementation of [7] (see Table III).

TABLE IIICOMPARISON OF IMPLEMENTATION RESULTS OF PROPOSED

ARCHITECTURE AND ARCHITECTURE OF [7].

ResourceUtilization

[7] ProposedArtix-7 Kintex-7

LUT 3,380 (5.33%) 1,226 (0.60%)

Flip-Flop 704 (0.56%) 585 (0.14%)

BRAM 14.5 (10.74%) 65.50 (14.72%)

DSP 24 (10%) 8 (0.95%)

Despite to the implementation of [7] is not similar in formatnumber (4.15 vs 11.21), there is less complex, and it has8 MACs modules principally, our implementation is morecompact due to the architecture, and it just has 2 MACsmodules. The BRAM used in the proposed architecture isgreater than the used in [7], because this implementationsupport a large volume of data.

VI. TESTS

Vibration signals were obtained from three 1-hp IM withdifferent conditions, and these signals were processed to con-vert them to digital signals. The motor conditions are healthybar, half-broken bar, and one-broken bar. Sets of 50 signalsevery condition, and 1024 samples per signal were used. Allthe tests were performed at full mechanical load.

Then, the FFT of the signals were obtained by Matlab soft-ware, and every obtained spectrum was cut in the analysis area,because the spurious frequency is close to the fundamentalfrequency [18]. Thus, the normalized spectra sets with 200samples everyone are obtained (see Fig. 5). These spectrawere divided in two subgroups: training subgroup, and testingsubgroup; with 30, and 20 spectra each one, respectively.

Fig. 5. Vibration signal: a) time domain; b) frequency domain.

The training spectra were used to obtain the necessarydictionaries to make the Sparse representation. On this way,

Page 87: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

the K-SVD algorithm developed in Matlab software was used,and three dictionaries, one for each motor condition, with 650atoms each one were obtained.

To continue with the classification step, each spectra of thetest set is sparsed by the three dictionaries. Data were sent tothe FPGA implementation of OMP algorithm through RS-232interface. OMP returns by the same via, the residual r, the αcoefficients, and the decomposition error e. The used processto make the classification is shown in the Fig. 6.

Fig. 6. Used process to make the classification.

The Sparse representation obtained by OMP algorithm foreach spectrum varies according to each dictionary. This isshown in the Fig. 7 where the signal of a half-broken bar isapproximated according to the Sparse representation obtainedwith each dictionary and compared with the original signal.

Fig. 7. Comparison of a signal of the half-broken bar group: a) reconstructionwith healthy group dictionary; b) reconstruction with half-broken bar groupdictionary; and c) reconstruction with one-broken bar group dictionary.

As we can see in the plots of Fig. 7, the best signalrepresentation is made with the dictionary that corresponds tothe group of the signal. In the other cases, the OMP algorithmstrives to decompose the signals, but it is not find atoms in

the dictionary that permits obtain a better representation. Thus,by analysing these differences is possible to reach the spectraclassification.

The signal conditioning, FFT, and K-SVD algorithm weredeveloped in Matlab software; the OMP algorithm, and theclassifier were developed in FPGA. The communication be-tween Matlab-FPGA was realized by RS-232 interface.

VII. RESULTS

Once the tests are done, the full spectra sets were evaluated.The improved information by OMP algorithm is evaluatedto obtain the classification, in this case three criteria arecompared. The first criterion is residual-based (10) [21], thisis possible thanks that the Sparse representation retains a partsignal energy [21], so if the Sparse representation retain moreenergy, the representation is better. The residual-based criteriais expressed as:

i = argminG=A,B,C‖x−DGαG‖22 (10)

where A is the healthy IM condition, B is the half-brokenbar IM condition, and C is the one-broken bar IM condition.The results of this criterion are presented in the Table IV.

TABLE IVRESULTS OF THE CRITERION SHOWN IN (10)

Testing sets

Classification A B CSucess per

class %A 19 0 1 95.00

B 1 19 1 90.45

C 0 1 18 94.74

Total testing signals 20 20 20

Therefore, the second criterion is α coefficients-alpha-based(11) [21], here the obtained α coefficients are evaluated as:

i = argminG=A,B,C

m∑

j=1

|αg[j]| (11)

were m is the number of atoms. The results of this criterionare presented in the Table V.

TABLE VRESULTS OF THE CRITERION SHOWN IN (11)

Testing sets

Classification A B CSucess per

class %A 8 1 5 57.14

B 8 13 13 38.23

C 4 6 2 16.67

Total testing signals 20 20 20

As we can see in Tables IV and V, the best method toclassify is (10). So, a third criterion is proposed (12), because

Page 88: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

this is an equivalent criterion to residual-based (Algorithm 1,step 8), and it is cheaper and faster to implement.

i = argmaxG=A,B,C‖rg‖2‖x‖2

(12)

The error-based criterion (12) uses the error calculated inthe OMP algorithm process (Algorithm 1, step 9), so only acomparative process is needed to obtain the classification. Theresults of this criterion are the same as shown in Table IV.

VIII. CONCLUSION

The Sparse representation of signals is a powerful tool thancan be used not only for compressed sensing reconstructed butalso in a classification process, as shown in this work. TheOMP algorithm was used to obtain the Sparse representationof the signals, and the K-SVD algorithm was used to obtainedadapted dictionaries for each class. Three criterion to classifywere used, being the residual-based (10) and error-based (12)criterion whose provide the higher success in the classification.On this way, the automatic broken bar detection is possible.However, to obtain a sparse representation is a time-consumingprocess given that dictionaries may have high dimensionsdue to higher number of atoms provides better signal de-composition and signals may have a large number of points.Therefore, the OMP algorithm altogether with the error-based(12) classifier (both implemented on FPGA) provides a fastresponse to detect the broken bar. The other tools like theFFT, and the K-SVD algorithm were developed in Matlab.The detection was realized offline, but the positive results ofthe tests of this technique as broken bar detector suggest tobe implemented in a online monitoring system.

In future works a complete system with the use of thistechnique as broken bar detector will be implemented on theFPGA to perform the online detection, also the reduction oftime-consumption of the algorithm will be researched.

ACKNOWLEDGMENT

The author Carlos Morales-Perez wants to thanks to Na-tional Council for Science and Technology (CONACyT, Mex-ico) for the support to the master degree studies in the NationalInstitute for Astrophysics, Optics and Electronics (INAOE,Mexico).

REFERENCES

[1] J. Wright, Sparse Coding. Boston, MA: Springer US, 2014,pp. 744–748. [Online]. Available: http://dx.doi.org/10.1007/978-0-387-31439-6 326

[2] O. Lorintiu, H. Liebgott, M. Alessandrini, O. Bernard, and D. Fri-boulet, “Compressed sensing reconstruction of 3d ultrasound data usingdictionary learning and line-wise subsampling,” IEEE Transactions onMedical Imaging, vol. 34, no. 12, pp. 2467–2477, Dec 2015.

[3] B. Schlkopf, J. Platt, and T. Hofmann, Sparse Representation for SignalClassification. MIT Press, 2007, pp. 609–616. [Online]. Available:http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6287318

[4] T. T. Cai and L. Wang, “Orthogonal matching pursuit for sparse signalrecovery with noise,” IEEE Transactions on Information Theory, vol. 57,no. 7, pp. 4680–4688, July 2011.

[5] J. Wang, S. Kwon, and B. Shim, “Generalized orthogonal matchingpursuit,” IEEE Transactions on Signal Processing, vol. 60, no. 12, pp.6202–6216, Dec 2012.

[6] M. Aharon, M. Elad, and A. Bruckstein, “K-svd: An algorithm fordesigning overcomplete dictionaries for sparse representation,” IEEETransactions on Signal Processing, vol. 54, no. 11, pp. 4311–4322, Nov2006.

[7] C. Morales-Perez, J. Rangel-Magdaleno, I. Cruz-Vega, J. Ramirez-Cortes, and H. Peregrina-Barreto, “Fpga implementation of orthogonalmatching pursuit algorithm,” in 2016 13th International Conferenceon Electrical Engineering, Computing Science and Automatic Control(CCE), Sept 2016, pp. 1–6.

[8] H. Rabah, A. Amira, B. K. Mohanty, S. Almaadeed, and P. K. Meher,“Fpga implementation of orthogonal matching pursuit for compressivesensing reconstruction,” IEEE Transactions on Very Large Scale Inte-gration (VLSI) Systems, vol. 23, no. 10, pp. 2209–2220, Oct 2015.

[9] Z. Yu, J. Su, F. Yang, Y. Su, X. Zeng, D. Zhou, and W. Shi, “Fastcompressive sensing reconstruction algorithm on fpga using orthogonalmatching pursuit,” in 2016 IEEE International Symposium on Circuitsand Systems (ISCAS), May 2016, pp. 249–252.

[10] P. Blache, H. Rabah, and A. Amira, “High level prototyping andfpga implementation of the orthogonal matching pursuit algorithm,”in 2012 11th International Conference on Information Science, SignalProcessing and their Applications (ISSPA), July 2012, pp. 1336–1340.

[11] J. d. J. Rangel-Magdaleno, R. d. J. Romero-Troncoso, R. A. Osornio-Rios, E. Cabal-Yepez, and L. M. Contreras-Medina, “Novel method-ology for online half-broken-bar detection on induction motors,” IEEETransactions on Instrumentation and Measurement, vol. 58, no. 5, pp.1690–1698, May 2009.

[12] A. Ordaz-Moreno, R. de Jesus Romero-Troncoso, J. A. Vite-Frias,J. R. Rivera-Gillen, and A. Garcia-Perez, “Automatic online diagnosisalgorithm for broken-bar detection on induction motors based on discretewavelet transform for fpga implementation,” IEEE Transactions onIndustrial Electronics, vol. 55, no. 5, pp. 2193–2202, May 2008.

[13] P. S. Panigrahy, P. Konar, and P. Chattopadhyay, “Broken bar faultdetection using fused dwt-fft in fpga platform,” in 2014 InternationalConference on Power, Control and Embedded Systems (ICPCES), Dec2014, pp. 1–6.

[14] J. A. Antonino-Daviu, J. Pons-Llinares, V. Climente-Alarcon, andH. Razik, “Evaluation of startup-based rotor fault severity indicatorsunder different starting methods,” in IECON 2014 - 40th AnnualConference of the IEEE Industrial Electronics Society, Oct 2014, pp.3361–3366.

[15] R. Yan, R. X. Gao, and X. Chen, “Wavelets for fault diagnosisof rotary machines: A review with applications,” Signal Processing,vol. 96, Part A, pp. 1 – 15, 2014, time-frequency methods forcondition based maintenance and modal analysis. [Online]. Available:http://www.sciencedirect.com/science/article/pii/S0165168413001588

[16] J. Rangel-Magdaleno, H. Peregrina-Barreto, J. Ramirez-Cortes,R. Morales-Caporal, and I. Cruz-Vega, “Vibration analysis of partiallydamaged rotor bar in induction motor under different load conditionusing dwt,” Shock and Vibration, vol. 2016, 2016.

[17] P. A. Delgado-Arredondo, A. Garcia-Perez, D. Morinigo-Sotelo, R. A.Osornio-Rios, J. G. Avina-Cervantes, H. Rostro-Gonzalez, and R. d. J.Romero-Troncoso, “Comparative study of time-frequency decomposi-tion techniques for fault detection in induction motors using vibrationanalysis during startup transient,” Shock and Vibration, vol. 2015, 2015.

[18] J. de Jesus Rangel-Magdaleno, H. Peregrina-Barreto, J. M. Ramirez-Cortes, P. Gomez-Gil, and R. Morales-Caporal, “Fpga-based broken barsdetection on induction motors under different load using motor currentsignature analysis and mathematical morphology,” IEEE Transactionson Instrumentation and Measurement, vol. 63, no. 5, pp. 1032–1040,May 2014.

[19] R. Puche-Panadero, M. Pineda-Sanchez, M. Riera-Guasp, J. Roger-Folch, E. Hurtado-Perez, and J. Perez-Cruz, “Improved resolution ofthe mcsa method via hilbert transform, enabling the diagnosis of rotorasymmetries at very low slip,” IEEE Transactions on Energy Conversion,vol. 24, no. 1, pp. 52–59, March 2009.

[20] J. H. Jung, J. J. Lee, and B. H. Kwon, “Online diagnosis of induc-tion motors using mcsa,” IEEE Transactions on Industrial Electronics,vol. 53, no. 6, pp. 1842–1852, Dec 2006.

[21] R. Dıaz-Hernandez, H. Peregrina-Barreto, L. Altamirano-Robles, J. A.Gonzalez-Bernal, and A. E. Ortiz-Esquivel, “Automatic stellar spectralclassification via sparse representations and dictionary learning,”Experimental Astronomy, vol. 38, no. 1, pp. 193–211, 2014. [Online].Available: http://dx.doi.org/10.1007/s10686-014-9413-2

Page 89: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

Bibliografıa

[1] S. J. Chapman, Maquinas electricas. McGraw-Hill, 5ta ed., 2012.

[2] D. Halliday, R. Resnick, y J. Walker, Fundamentals of Physics. John Wiley and

Sons, 9th ed., 2011.

[3] T. Wildi, Maquinas electricas y sistemas de potencia. Pearson Education, 6ta ed.,

2007.

[4] F. J. Gonzalez Fernandez, Teorıa y practica del mantenimiento industrial avan-

zado. Fundacion Confemetal, 2da ed., 2005.

[5] R. Dıaz-Hernandez, H. Peregrina-Barreto, L. Altamirano-Robles, J. A. Gonzalez-

Bernal, y A. E. Ortiz-Esquivel, “Automatic stellar spectral classification via spar-

se representations and dictionary learning,” Experimental Astronomy, vol. 38,

no. 1, pp. 193–211, 2014.

[6] R. S. Murphy Arteaga, Teorıa Electromagnetica. Editorial Trillas, 1ra ed., 2001.

[7] J. Rangel-Magdaleno, H. Peregrina-Barreto, J. Ramirez-Cortes, e I. Cruz-Vega,

“Hilbert spectrum analysis of induction motors for the detection of incipient

broken rotor bars,” Measurement, vol. 109, pp. 247–255, 2017.

[8] A. Naha, A. K. Samanta, A. Routray, y A. K. Deb, “A method for detecting

half-broken rotor bar in lightly loaded induction motors using current,” IEEE

Transactions on Instrumentation and Measurement, vol. 65, pp. 1614–1625, July

2016.

[9] J. de Jesus Rangel-Magdaleno, H. Peregrina-Barreto, J. M. Ramirez-Cortes,

P. Gomez-Gil, y R. Morales-Caporal, “Fpga-based broken bars detection on in-

duction motors under different load using motor current signature analysis and

[67]

Page 90: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

68 BIBLIOGRAFIA

mathematical morphology,” IEEE Transactions on Instrumentation and Measu-

rement, vol. 63, pp. 1032–1040, May 2014.

[10] J. d. J. Rangel-Magdaleno, R. d. J. Romero-Troncoso, R. A. Osornio-Rios,

E. Cabal-Yepez, y L. M. Contreras-Medina, “Novel methodology for online half-

broken-bar detection on induction motors,” IEEE Transactions on Instrumenta-

tion and Measurement, vol. 58, pp. 1690–1698, May 2009.

[11] R. Puche-Panadero, M. Pineda-Sanchez, M. Riera-Guasp, J. Roger-Folch,

E. Hurtado-Perez, y J. Perez-Cruz, “Improved resolution of the mcsa method

via hilbert transform, enabling the diagnosis of rotor asymmetries at very low

slip,” IEEE Transactions on Energy Conversion, vol. 24, pp. 52–59, March 2009.

[12] V. F. Pires, M. Kadivonga, J. Martins, y A. Pires, “Motor square current signa-

ture analysis for induction motor rotor diagnosis,” Measurement, vol. 46, no. 2,

pp. 942 – 948, 2013.

[13] M. A. el Malek, A. K. Abdelsalam, y O. E. Hassan, “Induction motor broken

rotor bar fault location detection through envelope analysis of start-up current

using hilbert transform,” Mechanical Systems and Signal Processing, vol. 93,

pp. 332 – 350, 2017.

[14] A. Unsal y A. Kabul, “Detection of the broken rotor bars of squirrel-cage induc-

tion motors based on normalized least mean square filter and hilbert envelope

analysis,” Electrical Engineering, vol. 98, no. 3, pp. 245–256, 2016.

[15] R. A. Lizarraga-Morales, C. Rodriguez-Donate, E. Cabal-Yepez, M. Lopez-

Ramirez, L. M. Ledesma-Carrillo, y E. R. Ferrucho-Alvarez, “Novel fpga-based

methodology for early broken rotor bar detection and classification through ho-

mogeneity estimation,” IEEE Transactions on Instrumentation and Measure-

ment, vol. 66, pp. 1760–1769, July 2017.

[16] R. Valles-Novo, J. de Jesus Rangel-Magdaleno, J. M. Ramirez-Cortes,

H. Peregrina-Barreto, y R. Morales-Caporal, “Empirical mode decomposition

analysis for broken-bar detection on squirrel cage induction motors,” IEEE

Transactions on Instrumentation and Measurement, vol. 64, pp. 1118–1128, May

2015.

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 91: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

BIBLIOGRAFIA 69

[17] S. H. Kia, H. Henao, y G. A. Capolino, “Zoom-music frequency estimation met-

hod for three-phase induction machine fault detection,” en 31st Annual Confe-

rence of IEEE Industrial Electronics Society, 2005. IECON 2005., pp. 1–6, Nov

2005.

[18] D.-H. Hwang, Y.-W. Youn, J.-H. Sun, y Y.-H. Kim, “Robust diagnosis algorithm

for identifying broken rotor bar faults in induction motors,” Journal of Electrical

Engineering and Technology, vol. 9, pp. 37–44, 2014.

[19] S. Chen y R. Zivanovic, “Estimation of frequency components in stator current

for the detection of broken rotor bars in induction machines,” Measurement,

vol. 43, no. 7, pp. 887 – 900, 2010.

[20] G. Didier, E. Ternisien, O. Caspary, y H. Razik, “Fault detection of broken

rotor bars in induction motor using a global fault index,” IEEE Transactions on

Industry Applications, vol. 42, pp. 79–88, Jan 2006.

[21] L. A. Garcıa-Escudero, O. Duque-Perez, D. Morinigo-Sotelo, y M. Perez-Alonso,

“Robust condition monitoring for early detection of broken rotor bars in induc-

tion motors,” Expert Systems with Applications, vol. 38, no. 3, pp. 2653 – 2660,

2011.

[22] M. Pineda-Sanchez, M. Riera-Guasp, J. A. Antonino-Daviu, J. Roger-Folch,

J. Perez-Cruz, y R. Puche-Panadero, “Diagnosis of induction motor faults in the

fractional fourier domain,” IEEE Transactions on Instrumentation and Measu-

rement, vol. 59, pp. 2065–2075, Aug 2010.

[23] M. Riera-Guasp, J. A. Antonino-Daviu, M. Pineda-Sanchez, R. Puche-Panadero,

y J. Perez-Cruz, “A general approach for the transient detection of slip-dependent

fault components based on the discrete wavelet transform,” IEEE Transactions

on Industrial Electronics, vol. 55, pp. 4167–4180, Dec 2008.

[24] A. Ordaz-Moreno, R. de Jesus Romero-Troncoso, J. A. Vite-Frias, J. R. Rivera-

Gillen, y A. Garcia-Perez, “Automatic online diagnosis algorithm for broken-

bar detection on induction motors based on discrete wavelet transform for fpga

implementation,” IEEE Transactions on Industrial Electronics, vol. 55, pp. 2193–

2202, May 2008.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion

Page 92: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

70 BIBLIOGRAFIA

[25] J. A. Antonino-Daviu, M. Riera-Guasp, J. R. Folch, y M. P. M. Palomares,

“Validation of a new method for the diagnosis of rotor bar failures via wavelet

transform in industrial induction machines,” IEEE Transactions on Industry

Applications, vol. 42, pp. 990–996, July 2006.

[26] J. Rangel-Magdaleno, H. Peregrina-Barreto, J. Ramirez-Cortes, R. Morales-

Caporal, e I. Cruz-Vega, “Vibration analysis of partially damaged rotor bar in

induction motor under different load condition using dwt,” Shock and Vibration,

vol. 2016, p. 11, 2016.

[27] J. Cusido, L. Romeral, A. G. Espinosa, J. A. Ortega, y J.-R. Riba Ruiz, “On-

line fault detection method for induction machines based on signal convolution,”

European Transactions on Electrical Power, vol. 21, no. 1, pp. 475–488, 2011.

[28] J. Pons-Llinares, J. A. Antonino-Daviu, M. Riera-Guasp, M. Pineda-Sanchez, y

V. Climente-Alarcon, “Induction motor diagnosis based on a transient current

analytic wavelet transform via frequency b-splines,” IEEE Transactions on In-

dustrial Electronics, vol. 58, pp. 1530–1544, May 2011.

[29] J. Perez y J. Gonzalez, Electronica digital. Delta, 2006.

[30] S. S. Soliman y M. D. Srinath, Senales y Sistemas Continuos y Discretos. Prentice

Hall, 2da ed., 1999.

[31] J.-L. Starck, F. Murtagh, y J. M. Fadili, Sparse image and signal processing:

wavelets, curvelets, morphological diversity. Cambridge university press, 2010.

[32] M. Aharon, M. Elad, y A. Bruckstein, “K-svd: An algorithm for designing over-

complete dictionaries for sparse representation,” IEEE Transactions on Signal

Processing, vol. 54, pp. 4311–4322, Nov 2006.

[33] H. Rabah, A. Amira, B. K. Mohanty, S. Almaadeed, y P. K. Meher, “Fpga

implementation of orthogonal matching pursuit for compressive sensing recons-

truction,” IEEE Transactions on Very Large Scale Integration (VLSI) Systems,

vol. 23, pp. 2209–2220, Oct. 2015.

[34] Z. Yu, J. Su, F. Yang, Y. Su, X. Zeng, D. Zhou, y W. Shi, “Fast compressive

sensing reconstruction algorithm on fpga using orthogonal matching pursuit,” en

Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica

Page 93: Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on entre el Algoritmo1 y el Algoritmo 3: (a) Diferencia entre un espectro original y su

BIBLIOGRAFIA 71

2016 IEEE International Symposium on Circuits and Systems (ISCAS), pp. 249–

252, May 2016.

[35] C. Morales-Perez, J. Rangel-Magdaleno, I. Cruz-Vega, J. Ramirez-Cortes, y

H. Peregrina-Barreto, “Fpga implementation of orthogonal matching pursuit

algorithm,” en 2016 13th International Conference on Electrical Engineering,

Computing Science and Automatic Control (CCE), pp. 1–6, Sept 2016.

[36] D. C. Lay, Algebra Lineal y sus Aplicaciones. Pearson Education, 3ra ed., 2007.

Deteccion de ruptura en barras de Motores de Induccion mediante el analisis de la representacionSparse de senales de vibracion


Recommended