Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on...
Transcript of Detecci on de ruptura en barras´ Sparse se nales de ... · 3.8. Diferencias de descomposici on...
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
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
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.
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]
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]
iv Resumen
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
vi Abstract
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
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
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]
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
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
xii INDICE DE FIGURAS
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
xiv INDICE DE TABLAS
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
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
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]
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
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
4 1. Deteccion de fallas en Motores de Induccion
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]
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
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
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
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
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
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
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
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
34 3. Metodologıa Propuesta
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
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
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
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
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
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
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
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
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
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
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
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
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
48 4. Implementacion y Resultados
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
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]
50 5. Conclusiones
Coordinacion de Electronica Instituto Nacional de Astrofısica, Optica y Electronica
Apendices
[51]
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]
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
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., floatingpoint [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
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
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
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.
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.
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.
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.
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
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)
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
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,
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
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
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]
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
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
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
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