Implementacion Eficiente de Reconstructor de Se~nales ...

62
Instituto Polit´ ecnico Nacional Escuela Sueprior de C´ omputo Implementaci ´ on Eficiente de Reconstructor de Se ˜ nales Dispersas para el Esquema de Muestreo Compreso QUE PARA OBTENER EL T ´ ITULO DE: Maestro en Ciencias PRESENTA: Daniel Eduardo Rodr´ ıguez Ortiz DIRECTORES: Dr. David Ernesto Troncoso Romero Dr. Alfonso Fernandez Vazquez CDMX, 08-Ene-2020

Transcript of Implementacion Eficiente de Reconstructor de Se~nales ...

Page 1: Implementacion Eficiente de Reconstructor de Se~nales ...

Instituto Politecnico Nacional

Escuela Sueprior de Computo

Implementacion Eficiente deReconstructor de Senales

Dispersas para el Esquema deMuestreo Compreso

QUE PARA OBTENER EL TITULO DE:

Maestro en Ciencias

PRESENTA:

Daniel Eduardo Rodrıguez Ortiz

DIRECTORES:Dr. David Ernesto Troncoso Romero

Dr. Alfonso Fernandez Vazquez

CDMX, 08-Ene-2020

Page 2: Implementacion Eficiente de Reconstructor de Se~nales ...
Page 3: Implementacion Eficiente de Reconstructor de Se~nales ...
Page 4: Implementacion Eficiente de Reconstructor de Se~nales ...
Page 5: Implementacion Eficiente de Reconstructor de Se~nales ...

Agradecimientos

Primero que nada, quiero agradecer a usted lector por darme la oportunidad dedarle un inicio o una perspectiva mas amplia sobre el tema de muestreo compresoy sus algoritmos de recuperacion de senal. Ası como a la gente que estuvo conmigoapoyandome en todo momento.

A mi futura esposa Eugenia Ibarra por la motivacion de adentrarme al maravi-lloso mundo de la ciencia y el saber y siempre hacerme buscar el como superarmea mı mismo.

A mi padre por su interes en el tema y sus consejos de redaccion. A mi madrepor tanto apoyo y paciencia. A mi hermano por la inspiracion de ser mejor perso-na. A mi asesor de Tesis y amigo, Dr. David Troncoso por su paciencia, direcciony amistad a lo largo de mis estudios de maestrıa.

¡Muchas gracias a todos!

5

Page 6: Implementacion Eficiente de Reconstructor de Se~nales ...

Resumen

La transmision de datos a traves de medios electronicos se hace cada vez masdemandante; a su vez, el uso de medios portatiles como smartphones y tablets seha incrementado de manera muy importante.

Estos medios, al ser limitados en capacidad de proceso y uso de energıa, se vencomprometidos en el proceso de transmision de datos. El muestreo compreso surgecomo una alternativa de solucion al problema anterior.

En esta investigacion se abunda en el muestreo compreso. Computacionalmente,la parte mas pesada del proceso es la recuperacion de la senal, que requiere mu-chos calculos. Esta investigacion se centra en la recuparecion de senal; se proponey desarrolla un nuevo metodo de recuperacion, estudiando los metodos anterioresy proponiendo modificaciones a estos, haciendo mas eficiente el proceso de recu-peracion de senal y optimizandolo con modelos de costos, tanto de harware comocomputacionalmente.

Con base en los modelos propuestos de costos y comparandolos con modelos an-teriores, se observa una mejorıa notoria a causa del algoritmo propuesto de lainvestigacion. Con casi un aumento nulo en area con respecto a otros algoritmosse reduce el costo computacional drasticamente y, como consecuencia, se reduce eltimepo de recuperacion sin alterar la senal original.

6

Page 7: Implementacion Eficiente de Reconstructor de Se~nales ...

Abstract

Data transmission via electronic media is becoming more demanding; in turn,the use of portable media such as smartphones and tablets has increased signifi-cantly.

Those sources, are limited in capacity, processing and energy, and compromisethe data transmission process. Compressed sampling emerges as an alternative so-lution to solve the problem above.

Compressed sampling is used extensively in this investigation. Computationally,the heaviest part of the process is signal recovery, which requires many calculations.This research is focused on signal recovery; a new recovery method is proposed anddeveloped, studying the previous methods and proposing modifications to them,making the signal recovery process more efficient and optimizing it with cost mo-dels, both hardware and computational.

Based on the proposed cost models and comparing them with previous models,there is a noticeable improvement due to the proposed research algorithm. Withalmost no increase in area with regard other algorithms, the computational costis drastically reduced and, as a consequence, the recovery time is reduced withoutaltering the original signal.

7

Page 8: Implementacion Eficiente de Reconstructor de Se~nales ...

Indice general

1. INTRODUCCION 131.1. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131.2. Problema de investigacion . . . . . . . . . . . . . . . . . . . . . . . 161.3. Justificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.4. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

1.4.1. Objetivos especıficos . . . . . . . . . . . . . . . . . . . . . . 171.5. Contribucion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . . 171.6. Organizacion de la tesis . . . . . . . . . . . . . . . . . . . . . . . . 17

2. RECONSTRUCCION DE MUESTREO COMPRESO 192.1. Fuerza Bruta (Brute Force) . . . . . . . . . . . . . . . . . . . . . . 212.2. Busqueda Codiciosa (Greedy Pursuit) . . . . . . . . . . . . . . . . . 21

2.2.1. Busqueda por Acoplamiento Ortogonal (Orthogonal Mat-ching Pursuit) . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.2.2. Muestreo Compresivo de Busqueda por Acomplamiento (Com-pressive Sampling Matching Pursuit, COSAMP) . . . . . . . 23

2.2.3. Paso de Mensajes Aproximado (Approximate Messaging Pas-sing, AMP) . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

2.2.4. OMP de Bajo Consumo (Low-Overhead Orthogonal Mat-ching Pursuit) . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.2.5. OMP Mejorado con Seleccion de Indices en paralelo (Impro-ved OMP with parallel index selection) . . . . . . . . . . . . 25

2.3. Bayesian Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 262.3.1. Fast Bayesian Matching Pursuit . . . . . . . . . . . . . . . . 262.3.2. Randomized Orthogonal Matching Pursuit . . . . . . . . . . 26

2.4. Relajacion Convexa (Convex Relaxation) . . . . . . . . . . . . . . . 26

3. ARQUITECTURAS DE HARDWARE 283.1. Arquitecturas Cerradas . . . . . . . . . . . . . . . . . . . . . . . . . 28

3.1.1. Kit Galileo . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.1.2. Raspberri PI . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3.2. Arquitectura abierta . . . . . . . . . . . . . . . . . . . . . . . . . . 313.2.1. Implementacion dedicada a OMP . . . . . . . . . . . . . . . 323.2.2. Implementacion de bajo consumo . . . . . . . . . . . . . . . 343.2.3. Implementacion de doble ındice . . . . . . . . . . . . . . . . 35

8

Page 9: Implementacion Eficiente de Reconstructor de Se~nales ...

INDICE GENERAL 9

4. METODO PROPUESTO 374.1. Mapeo Software-Hardware del algoritmo OMP . . . . . . . . . . . . 37

4.1.1. Mapeo de la estructura de OMP a Hardware . . . . . . . . . 394.2. OMP con poda de doble lado . . . . . . . . . . . . . . . . . . . . . 444.3. Modelos de Costo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

5. RESULTADOS 495.1. Experimentacion en el dominio Identidad . . . . . . . . . . . . . . . 495.2. Recuperacion de senal dispersa en el dominio de Fourier . . . . . . 525.3. Recuperacion de senal dispersa en el dominio de Coseno . . . . . . 535.4. Interpretacion de Resultados . . . . . . . . . . . . . . . . . . . . . . 56

6. CONCLUSIONES Y TRABAJO A FUTURO 586.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586.2. Tabajo a futuro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Page 10: Implementacion Eficiente de Reconstructor de Se~nales ...

Indice de figuras

1.1. Muestreo y reconstruccion de una senal con teorema de muestreo. . 141.2. Efecto Aliasing: Aparicion de componentes de frecuencias menores por incum-

plimiento del teorema de muestreo. . . . . . . . . . . . . . . . . . . . . . 14

2.1. Proceso de adquisicion de la senal compresa. . . . . . . . . . . . . . 202.2. Reconstruccion de la senal haciendo proceso de optimizacion para

encontrar s*. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

3.1. Ejemplo de la implementacion en una arquitectura abierta. . . . . . 293.2. Vista desde arriba de la placa Arduino UNO. . . . . . . . . . . . . . 293.3. Vista desde arriba del kit Galileo (con etiquetas). . . . . . . . . . . 303.4. Kit Raspberry Pi 4 model B. . . . . . . . . . . . . . . . . . . . . . . 313.5. Estructura conceptual de un dispositivo FPGA. . . . . . . . . . . . 323.6. Estructura para la implementacion del algoritmo en [27]. . . . . . . 333.7. Diagrama a bloques para la implementacion del algoritmo en [16]. . 343.8. Arquitectura propuesta para la implementacion del algoritmo en [17]. 36

4.1. a)Senal dispersa aleatoria generada b)Senal dispersa aleatoria recu-perada; con k=20, M=512, N=120 y Θ=Bernoulli 0’s y 1’s. . . . . 38

4.2. Error cuadratico medio obtenido en cada experimento. . . . . . . . 384.3. Grafica de cada error cuadratico medio en cada experimento con

ruido anadido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394.4. Senal del fonema “a” adquirida y recuperada con OMP. . . . . . . . 394.5. Diagrama de flujo con bloques de lo necesitado para la implementa-

cion del algoritmo OMP. . . . . . . . . . . . . . . . . . . . . . . . . 414.6. Diagrama a bloques pensado, con conexiones electricas para la im-

plementacion del algoritmo OMP. . . . . . . . . . . . . . . . . . . . 424.7. Primeros pasos de la implementacion del algoritmo OMP. . . . . . . 424.8. Memoria RAM para la matriz de medicion ΘT . . . . . . . . . . . . 434.9. Memoria RAM para la matriz de medicion ΘT . . . . . . . . . . . . 434.10. Costo en hardware de la memoria RAM hecha en la herramienta

QuartusPrime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.11. Banco de memorias en ilustradas en su forma RTL con un decoder

para guardar ΘT . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454.12. Modulo multiplicador Vector-Matriz para ΘT*r . . . . . . . . . . . 46

5.1. Senal tipo utilizada en la experimentacion. . . . . . . . . . . . . . . 50

10

Page 11: Implementacion Eficiente de Reconstructor de Se~nales ...

INDICE DE FIGURAS 11

5.2. Distribucion de p y de q para los cuales el algoritmo es mas optimopara una matriz identidad. . . . . . . . . . . . . . . . . . . . . . . . 50

5.3. Medicion de la calidad de la senal con diferentes valores para p y qcon matriz de dominio de identidad. . . . . . . . . . . . . . . . . . . 51

5.4. Graficas obtenidas para el costo Computacional y costo en Hardwareen 100 senales para una matriz de dominio inversa. . . . . . . . . . 52

5.5. Distribucion de p y de q para los cuales el algoritmo es mas optimopara una matriz de dominio DFT. . . . . . . . . . . . . . . . . . . . 53

5.6. Medicion de la calidad de la senal con diferentes valores para p y qcon matriz de dominio DCT. . . . . . . . . . . . . . . . . . . . . . . 54

5.7. Graficas obtenidas para el costo Computacional y costo en Hardwarede 100 senales para una matriz de dominio Fourier. . . . . . . . . . 54

5.8. Distribucion p y q para los cuales el algoritmo es optimo para unamatriz de dominio DCT. . . . . . . . . . . . . . . . . . . . . . . . . 55

5.9. Medicion de la calidad de la senal con diferentes valore para p y qcon matriz de dominio DCT. . . . . . . . . . . . . . . . . . . . . . . 55

5.10. para una matriz de dominio de Fourier. . . . . . . . . . . . . . . . . 56

Page 12: Implementacion Eficiente de Reconstructor de Se~nales ...

Indice de cuadros

4.1. Experimentos con diferentes segmentos del fonema. . . . . . . . . . 404.2. Memoria estimada a ocupar por el vector compreso y la matriz de

medicion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1. Tabla Comparativa para EYE. . . . . . . . . . . . . . . . . . . . . . 525.2. Tabla Comparativa para DFT. . . . . . . . . . . . . . . . . . . . . . 535.3. Tabla Comparativa para DCT. . . . . . . . . . . . . . . . . . . . . . 56

12

Page 13: Implementacion Eficiente de Reconstructor de Se~nales ...

Capıtulo 1

INTRODUCCION

En este capıtulo se introduce al lector sobre la forma tradicional de muestreopara convertir una senal analogica en una senal digital y cuales son los requisitospara que sea posible recuperar dicha senal analogica a partir de su version digital.Tambien se introduce al lector sobre las bases de muestreo compreso y se da aconocer el problema relevante y la justificacion de la presente investigacion.

1.1. Antecedentes

El muestreo de una senal es un proceso de conversion donde la senal que se vaa muestrear, cuyo dominio es continuo, es transformada a una senal cuyo dominioes discreto. Usualmente el dominio de la senal es el tiempo, y este dominio es elque se considerara de aquı en adelante.

La forma tradicional de adquirir y reconstruir senales analogicas a partir de senalesmuestreadas se basa en el teorema de muestreo de Nyquist-Sannon [1]. Este estable-ce que se puede reconstruir una senal de tiempo continuo a partir de sus muestrassi esa senal es limitada en banda. Para poder reconstruirla, la tasa de muestreodebe ser al menos el doble del ancho de banda de esa senal. En otras palabras, lacomponente de mas alta frecuencia de dicha senal debe oscilar, como maximo, a lamitad de la frecuencia de muestreo. La Figura 1.1 muestra una senal reconstruidaa partir de un muestreo mucho mayor a la frecuencia maxima de dicha senal. Esdecir, la senal original es muestreada con una frecuencia de muestreo suficientepara que dicha senal pueda ser reconstruida a patir de los valores del muestreo sinsufrir ninguna modificacion.

Lo anterior se puede resumir en las siguientes caracterısticas del teorema de mues-treo:

1. La senal que se va a muestrear debe ser de banda limitada.

2. La tasa de muestreo debe ser al menos el doble del ancho de banda de la senalanalogica para restaurarla completamente sin sufrir perdida alguna.

Las caracterısticas mencionadas antes ponen una limitante. Cuando las senales quese van a muestrear tienen un gran ancho de banda, se requiere hardware especia-

13

Page 14: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 1. INTRODUCCION 14

Figura 1.1: Muestreo y reconstruccion de una senal con teorema de muestreo.

lizado para poder tomar las muestras con la tasa requerida. Conforme avanza eltiempo avanza la tecnologıa, y nuestra necesidad de transmitir, almacenar y re-cuperar mas informacion es cada vez mas alta. Algunos autores han llamado aesto Deluge of Data: un diluvio de datos. Es por esto que el teorema de muestreoresulta ser muy demandante en recursos para los procesadores, puesto que se re-quiere procesar demasiadas muestras. El proceso resulta, entonces, excesivamentecomplicado para algunos dispositivos, principalmente en aplicaciones de manejo deimagenes y los Convertidores Analogico-Digital (ADC) de alta velocidad. Ası, elaumento de la frecuencia de muestreo puede llegar a resultar demasiado costoso y,en algunos casos, hasta irrealizable. Es en estas situaciones donde la frecuencia dela senal analogica supera la frecuencia de muestreo. Debido a esto, al momento dehacer la reconstruccion de la senal se generan frecuencias erroneas como lo muestrala Figura 1.2 donde se presenta este fenomeno, denominado Efecto Aliasing. Enconsecuencia, sera particularmente util una reduccion a la frecuencia de muestreo.Pero, ¿Es posible reducir la frecuencia de muestreo y aun ası garantizar la recons-truccion de la senal?

El campo que se ha ido desarrollando recientemente desde hace un poco mas de

Figura 1.2: Efecto Aliasing: Aparicion de componentes de frecuencias menores por incumpli-miento del teorema de muestreo.

Page 15: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 1. INTRODUCCION 15

una decada, el cual dio respuesta afirmativa a esta pregunta, es el muestreo com-preso (Compressed Sensing, CS [2–5]). Este es un nuevo paradigma muy atractivoy ha captado gran atencion para adquirir, procesar y recuperar las senales disper-sas. Muestreo compreso es una alternativa muy competitiva a las convencionalesde procesamiento de informacion, incluyendo muestreo, deteccion, compresion yestimacion. En este nuevo paradigma resulta que es posible muestrear una senala una tasa inferior a la de Nyquist sin ninguna perdida significativa de informacion.

En muestreo compreso, la senal a ser muestreada es usualmente representada co-mo un vector, digamos x ∈ RN . Se supone que la informacion contenida en x esredundante. Esto significa que x puede ser representada en una base ortonormalΨ ∈ RN×N . Esto es, x puede llegar a ser K-dispersa eligiendo un dominio apro-piado y suponiendo que K N . Esto es, matematicamente hablando, x = Ψs.El vector s ∈ RN tiene solamente K elementos no zero y es llamado la representa-cion dispersa de x. Un proceso de muestreo lineal esta representado por la matrizde medicion Φ ∈ RM×N . La senal muestreada es representada como un vectory = Φx , donde y ∈ RM . El objetivo en muestreo compreso es adquirir la senal xsin perdida significativa de informacion utilizando menos de N muestras, es decir,recuperar con precision x con M < N . Uno de los temas centrales de muestreo com-preso es encontrar una solucion a este sistema indeterminado de ecuaciones lineales.

Una pregunta fundamental en muestreo compreso es: ¿Que tan pequeno es el nume-ro de mediciones M que se pueden realizar en relacion con la dimension N de lasenal? Tambien vale la pena explorar el papel desempenado por la dispersion Kde la senal en el proceso de muestreo. Los resultados teoricos en muestreo compre-so demuestran que el numero mınimo de mediciones M necesarias para capturarla informacion importante en la senal dispersa crece linealmente con K y solo lo-garıtmicamente con N [6]. Esto tiene sentido ya que la cantidad real de informacionen la senal original esta indicada por K y no por N , por lo que M tiene una de-pendencia lineal mas fuerte en K pero una dependencia logarıtmica mas debil en N .

El diseno de la matriz de medicion Φ tambien es un aspecto importante. Se deseaque Φ no sea dependiente de la senal a muestrear, de tal modo que se pueda aplicara cualquier senal dispersa independientemente del contenido real de la senal. Comoresultado, se puede elegir Φ independientemente de la senal muestreada siempreque sea diferente de la base Ψ en la que se sabe, la senal es dispersa. Los resultadosobtenidos en muestreo compreso han demostrado que las matrices aleatorias queposeen la propiedad de isometrıa restringida y/o tienen una baja coherencia mutuaentre sus columnas son excelentes candidatos adecuados para este proposito [2, 5].

La recuperacion de la senal x (o su equivalente s) a partir de su vector com-preso y ha sido caso de estudio en los ultimos anos. Se han desarrollado una seriede tecnicas y algoritmos para este proposito, los cuales pueden clasificarse en lossiguientes tipos representativos [7]:

1. Fuerza Bruta (Brute Force).

2. Marco de referencia Bayesiana (Bayesian Framework).

Page 16: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 1. INTRODUCCION 16

3. Relajacion Convexa (Convex Relaxation).

4. Busqueda Codiciosa (Greedy Pursuit).

Algunas de estas clasificaciones se explicaran a detalle en capıtulos posteriores.

1.2. Problema de investigacion

El principal problema a resolver en esta tesis es que los metodos actuales para larecuperacion de la senal dispersa no son lo bastante simples para ser implementadosen dispositivos con recursos limitados y operados por baterıas. Esto quiere decirque la recuperacion resulta computacionalmente compleja para ser implementadaen dispositivos con energıa limitada, con potencia limitada, con memoria limitaday, tambien, limitados en area.

1.3. Justificacion

En muchas aplicaciones practicas, las senales de interes son dispersas, o puedenser aproximadas a un vector disperso en una base elegida apropiadamente; es decir,en aplicaciones como en las telecomunicaciones, la imagen medica, la sismologıa,etcetera. Las senales que se ocupan son dispersas o pueden llegar a ser dispersas,lo cual favorece la adquisicion y transmision de senales a traves del muestreo com-preso. Puesto que en muestreo compreso no se manda toda la senal, sino solo lainformacion util, las senales a transmitir son de menor tamano y ocupan menosespacio en memoria.

Lo anterior justifica el por que el muestreo compreso se ha extendido rapidamenteen muchas ramas como:

Las telecomunicaciones,

La imagen medica,

El aprendizaje automatico,

La deteccion de radar,

La sismologıa,

La informatica,

La estadıstica,

Por mencionar algunas.

Page 17: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 1. INTRODUCCION 17

1.4. Objetivo

El objetivo de esta investigaacion es implementar un metodo para recuperarla senal original de forma efectiva utilizando una arquitectura de hardware conbajo consumo de potencia, baja utilizacion de area y alta velocidad de operacion,adecuados para computo movil.

1.4.1. Objetivos especıficos

Los objetivos especıficos de esta investigacion son los siguientes:

Comparar los metodos actuales para la recuperacion de la senal dispersa paraencontrar y, de ser posible, mejorar el mas eficiente en velocidad de operaciony consumo de potencia.

Analizar diferentes plataformas de hardware para encontrar la que mas seadapte al metodo elegido y ası poder implementar el metodo.

Examinar la senal de salida comparandola contra la senal de entrada paraverificar si el metodo propuesto es efectivo.

1.5. Contribucion de la tesis

Las siguientes son las principales contribuciones de esta tesis:

Se propone un nuevo algoritmo con base en la examinacion previa de variosresultados teoricos existentes sobre la recuperacion de senal dispersa y delos algoritmos mas computacionalmente eficientes para recuperacion en elesquema de muestreo compreso.

Se presentan modelos para estimar el costo de implementacion en hardwaredel algoritmo, y ası identificar la mejor plataforma para la aplicacion delmetodo con el algoritmo desarrollado.

Se implementa en software el algoritmo propuesto y se comprueba que elmetodo propuesto es efectivo comparando que la senal emitida es igual, dentrode lımites tolerables, a la recibida.

1.6. Organizacion de la tesis

La presente Tesis esta organizada en seis capıtulos. Despues del Capıtulo 1,que ha sido introductorio, en el segundo capıtulo se dan a conocer las reglas ymetodos de muestreo compreso. Se presentan las formulas matematicas para elmuestreo compreso, el como opera y como es posible comprimir una senal a unatasa de muestreo menor a la tradicional de Nyquist-Shannon. Ademas se muestrauna clasificacion de los principales metodos de recontruccion de senal. Se dan a co-nocer algunos metodos de cada una de estas clasificaciones, como operan y algunasformulas matematicas de cada algoritmo incluido en las clasificaciones. Tambien

Page 18: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 1. INTRODUCCION 18

se menciona y se fundamenta el por que el algoritmo de busqueda de acoplamien-to ortogonal, mas bien conocido como OMP por sus siglas en ingles (OrthogonalMatching Pursuit) es esencial para esta tesis y para cualquier implementacion pla-taformas con recursos limitados.

En el tercer capıtulo se detallan algunas arquitecturas de Harware que puedenser utilizadas como plataformas de implementacion. Primero se dan a conocer lasarquitecturas cerradas, las cuales tienen una estructura fija (que no puede modi-ficarse), predisenada por el fabricante para ejecutar diversos algoritmos utilizandoprogramas almacenados en memoria. Luego se presenta la plataforma de Arreglo deCompuertas Programables en Campo (Field Programmable Gate Array, FPGA),la cual es una arquitectura abierta que puede ser reconfigurable y por lo tantopermite implementar algoritmos especıficos utilizando estructuras ad-hoc.

En el cuarto capıtulo se propone un nuevo metodo de recuperacion de senal dis-persa denominado OMP con poda de doble lado, el cual es una modificacion delalgoritmo OMP que generaliza sistematicamente propuestas de otros algoritmosbasados en OMP para hacer de este nuevo algoritmo uno mas eficiente, con me-nor consumo de area y con menor consumo de potencia. Se da una introduccionde como poder mapear el algoritmo a Hardware y se hacen varios experimentoscon OMP tradicional y con el algoritmo propuesto. En este capıtulo tambien seevalua el costo computacional que tiene este nuevo algoritmo y la utilizacion enHardware y se evalua que tan efectivo es, analizando la senal original, comparando-la con la senal de salida y midiendo el valor de relacion senal a ruido que se obtuvo.

En el quinto capıtulo se hace experimentacion con el nuevo algoritmo en los tres do-minios mas concurridos en la literatura.Para esto se utiliza el desarrollo de los costosdado en el capıtulo cuatro. Se evalua cuales seran los casos en los que el algoritmotrabaja mejor y es mas eficiente, es decir, con menor complejidad computacional,cantidad de hardware aceptable y mejor relacion de senal a ruido. Al final se dauna interpretacion de los resultados obtenidos.

En el sexto y ultimo capıtulo se dan las conclusiones generales y se habla sobre eltrabajo a futuro. Se mencionan tambien los logros obtenidos.

Page 19: Implementacion Eficiente de Reconstructor de Se~nales ...

Capıtulo 2

RECONSTRUCCION DEMUESTREO COMPRESO

En este capıtulo se formulara el problema de la recuperacion de la senal dispersaen muestreo compreso. Se daran varias definiciones basicas. Tambien se dara unresumen de las investigaciones mas sobresalientes y sus principales caracterısticasque han visto la recuperacion de senal como un paradigma que puede lograr mayo-res beneficios en la transmision de informacion. Comenzamos el capıtulo con unaformulacion matematica formal del modelo de muestreo compreso.

Supongamos que x ∈ RN (vector de Nx1 elementos) representa la senal origi-nal; es decir, es la senal con toda la informacion que se desea transmitir; se puederepresentar en un vector k-disperso s ∈ RN , donde k es el numero de elementoscon informacion realmente relevante; dentro de un dominio Ψ ∈ RN×N , que puedeser una Transformada Discreta Coseno (DCT, por sus siglas en ingles). Es decir,

x = Ψs. (2.1)

Al ser pre-multiplicadas por una matriz de medicion Φ ∈ RM×N , que puede seruna matriz gaussiana aleatoria, se obtiene un vector compreso y ∈ RM (vectorresultante de Mx1 datos). Por otra parte, se puede obtener, multiplicando las dosmatrices una nueva matriz de medicion llamada Θ ∈ RM×N .Entonces, y se puedever matematicamente como:

y = Θs. (2.2)

En todos los casos siempre se considera k < M < N . La senal de interes x pasapor la matriz de medicion para ası obtener el vector compreso y. Entonces, es facilnotar que, para obtener el vector ya compreso, se multiplica la nueva matriz demedicion con el vector disperso.

La Figura 2.1, da un esquema grafico de como se pueden llegar a separar lassenales y las matrices. Este es el proceso de compresion y es la parte necesariapara la transmision.

La Figura 2.2 muestra la parte del receptor, que es la parte de reconstruccion desenal. El vector s∗ se encuentra en el dominio Ψ. Si se conoce este dominio, se

19

Page 20: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 20

Figura 2.1: Proceso de adquisicion de la senal compresa.

Figura 2.2: Reconstruccion de la senal haciendo proceso de optimizacion para encontrars*.

podra obtener x, que es la aproximacion de la senal adquirida anteriormente.

Ahora bien, para que la senal sea recuperada, se debe hacer un proceso de op-timizacion para poder encontrar el vector disperso, este se puede expresar como:

s* = arg mıns∈RN||s||l0 Sujeto a: y = Θs; (2.3)

La investigacion realizada por Joel A. Trop y Stephen J. Wright [7] hace mencionsobre los principales algoritmos para la recuperacion de senal y los clasifica en lossiguientes tipos representativos.

1. Fuerza Bruta (Brute Force).

2. Busqueda Codiciosa (Greedy Pursuit).

3. Marco de referencia Bayesiana (Bayesian Framework).

4. Relajacion Convexa (Convex Relaxation).

Page 21: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 21

2.1. Fuerza Bruta (Brute Force)

Para poder llevar a cabo la recuperacion de una senal dispersa es necesario ha-cer un proceso de optimizacion, conociendo de antemano la matriz Θ ∈ RM×N quees la combinacion de la matriz de medicion con el dominio en el que se encuentrala senal. Tambien es necesario conocer el vector compreso y; en pocas palabras, sebusca un vector disperso en funcion de la matriz y del vector compreso. Esto sepuede expresar como:

s∗ = f(y,Θ). (2.4)

El proceso de optimizacion consiste en minimizar la norma l0 y la expresion parala norma lp del vector s es:

||s||lp =

numero de elementos de s que no son 0; para p = 0

p√sp1 + sp2 + sp3 · · ·+ spN−1 + spN p ≥ 1.

(2.5)

Puesto que l0 no tiene una expresion cerrada, entonces la busqueda para poderhallar el vector s optimo se debe de hacer exhaustivamente.

Brute Force, como su nombre lo dice, es fuerza bruta. Es decir, se busca a travesde todos los conjuntos de soporte posibles, utilizando metodos de plano de cortepara reducir el numero de posibilidades.

2.2. Busqueda Codiciosa (Greedy Pursuit)

Los metodos greedy se caracterizan por ser computacionalmente eficientes ymenos complejos para poder ser implementados en Hardware. Es por este motivoque se enfatizara en este tipo de metodos en las siguientes subsecciones.

Entre los metodos de busqueda codiciosa se encuentran:

2.2.1. Busqueda por Acoplamiento Ortogonal (OrthogonalMatching Pursuit)

El algoritmo de busqueda por acoplamiento ortogonal o mejor conocido comoOMP por sus siglas en ingles (Orthogonal Matching Pursuit), es una tecnica muyinteresante propuesta por J. Tropp y A. Gilbert [14], en donde utilizan este meto-do, para dar solucion al problema de recuperacion de senales dispersas a partir desenales compresas.

Orthogonal Matching Pursuit escoge una columna de la matriz Θ una vez en cadaiteracion y, si las columnas escogidas son las correctas, entonces se puede convertirde un sistema indeterminado a un sistema sobre-determinado; esto es porque lascolumnas descartadas corresponden a los valores donde s tiene valores no signifi-cativos.

Page 22: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 22

OMP recibe como entrada la matriz de medicion Θ, el vector disperso y y uncoeficiente K, que es la cantidas de valores no son cero en el vector disperso.

Como primer paso se debe igualar un vector residual r0 con el vector de entra-da y. Iniciar un conjunto, Ω, como vacio e iniciar las iteraciones k en 1.

A continuacion se identifica la columna gi de Θ que tiene la mayor correlacioncon el residual. Luego se encuentran los mejores coeficientes para aproximar lasenal con las columnas escogidas hasta ahora. Por ultimo, se actualiza el residual.

Los pasos que conforman el algoritmo de OMP se muestran en el algoritmo 1.Cabe mencionar que lo complicado, computacionalmente, es la multiplicacion de lamatriz pseudo inversa por el vector compreso. Es entonces deducible que la com-plejidad computacional del algoritmo es proporcional al numero de veces que serepiten los pasos; es decir, al numero k [9].

Algoritmo 1: Orthogonal Matching Pursuit (OMP) [14]

Entrada: Θ ∈ RM×N ,y ∈ RM, dispersion KSalida: Estimacion del vector disperso sinicio

r0 = y, Ω← ∅, k = 1, s = 0,mientras k 6= K hacer

gi = arg max |ΘT × r|Ω = Ω ∪ is = Θ†Ω × yr = y −ΘΩ × sk = k + 1

fin

fin

En este sentido, recientemente se ha implementado el metodo OMP en arquitec-turas abiertas. SuJuan Liu et al. [15] implementa el metodo en una arquitecturaabierta tipo FPGA, Virtex 5, y para lograr un alto rendimiento y hardware de altavelocidad, propusieron un diseno basado en el algoritmo Goldschmidt. Este disenopuede duplicar la velocidad de operacion de trabajos anteriores y logra alcanzaruna relacion senal a ruido de recuperacion (RSNR) de 21.15 dB con una frecuenciade reloj de 130.4 MHz usando una senal de N=128 puntos y una matriz Θ detamano M=32 y N=128.

Page 23: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 23

2.2.2. Muestreo Compresivo de Busqueda por Acompla-miento (Compressive Sampling Matching Pursuit,COSAMP)

El algoritmo Compressive Sampling Matching Pursuit [8], tambien conocidocomo CoSaMP, es una variacion del algoritmo OMP, propuesto por D. Needell yJ. A. Tropp. Este metodo agrega nuevos pasos para afinar el conjunto de columnasındice, escogiendo 2K elementos de la matriz de medicion. Recupera los coeficientesde la senal basados en la proyeccion sobre el espacio de las columnas seleccionadasy rechaza las K columnas con resultados de menor valor absoluto.

Como primer paso, se iguala un residual r0 con el vector de entrada y. El co-eficiente inicial del vector s (s0) se iguala a 0. Las iteraciones se inicializan coni = 1. A continuacion se identifican las 2K columnas de Θ que esten fuertementecorrelacionadas con el residual. Luego, se unen las columnas viejas con las nuevasdentro de un conjunto T .

Como siguiente paso, se debe de encontrar los mejores coeficientes para aproxi-mar la senal con estas columnas. A continuacion, se retienen los elementos de imas grandes. Por ultimo se actualiza el residual.

Es importante notar que la complejidad computacional es mayor al algoritmo OMP,puesto que este algoritmo encuentra en cada iteracion el doble de K elementos dis-tintos de cero y luego se eliminan los candidatos de baja calidad [9].

En este sentido, recientemente se ha implementado el metodo CoSaMP en arqui-tecturas abiertas. Como menciona Jicheng Lu et al. [10] en donde se implementael metodo en una arquitectura abierta tipo FPGA, Virtex 4sx55, usando una senalde N=255 puntos y una matriz Θ de tamano M=32 y N=255. Algo interesante deeste artıculo es que CoSaMP es modificado para ser mas eficiente en esa arquitec-tura. El nuevo metodo que adaptaron a la arquitectura le denominaron OptimizedCompressive Sampling Matching Pursuit.

2.2.3. Paso de Mensajes Aproximado (Approximate Mes-saging Passing, AMP)

Los diferentes pasos del algoritmo Approximate Messaging Passing, tambienconocido como AMP [11] se muestran en el Algoritmo 2. En 2012, en el trabajorealizado por Patrick Maechler et al. [12], se compararon posibles algoritmos can-didatos y eligen el algoritmo AMP para que sea adecuado para su arquitectura yası dar solucion a la recuperacion de senales dispersas. Es ası como se presentandos arquitecturas de integracion a gran escala (VLSI por sus siglas en ingles), lasdos basadas en AMP:

Una de ellas es AMP-M, y este algoritmo es disenado para dar solucion a pro-

Page 24: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 24

blemas de recuperacion basados en matrices sin estructura, es decir, matricesaleatorias.

El segundo algoritmo es denominado AMP-T, y este algoritmo es especıfica-mente disenado para problemas de recuperacion, para los cuales las matricesde medicion tienen algoritmos de transformadas rapidas.

Es notable ver que la complejidad computacional que tiene este algoritmo AMPcorresponde a las multiplicaciones de matriz-vector requeridas en cada iteracion.

Es importante senalar que en [12] comparan una arquitectura hecha para OMPpropuesta en otro estudio [13] con sus arquitecturas AMP-M y AMP-T y, aunquela Arquitectura de OMP es mas grande en area, resulta ser mas eficiente que lasarquitecturas propuestas.

Algoritmo 2: Approximate Message Passing (AMP) [11]

Entrada: Θ ∈ RM×N ,y ∈ RM, IMax

Salida: Estimacion del vector disperso sinicio

r0 = y, s(0) = O ∈ RN, i = 1,mientras i ≤ IMax hacer

D = λ(

1√M

)‖ ri−1 ‖2

si = ηD (s(i−1) + ΘT r(i−1))b =

(1M

)‖ si ‖O ri = y −Θsi + br(i−1) i = i+ 1

fin

fin

En la investigacion realizada por Jun Won Choi et al. [9] se analizan los algoritmospara la reconstruccion y las principales caracterısticas de cada algoritmo, ademasde identificar los principales problemas de cada uno de ellos. Lo mas relevante deesta investigacion es que explica la complejidad computacional que tienen los algo-ritmos.

2.2.4. OMP de Bajo Consumo (Low-Overhead OrthogonalMatching Pursuit)

El algoritmo OMP ha sido de los algoritmos mas utilizados en investigacionesy por ende se ha buscado una modificacion de este para hacer el algoritmo maseficiente. Como muestra la investigacion realizada por A. Kulkarni y T. Mohseninen [16] donde se modifica el algoritmo OMP tan solo agregando un paso, el paso4, donde se elimina el 3 % de la matriz diccionario para hacer la busqueda de s*en menos iteraciones que las de OMP tradicional. Los pasos para llevar acabo estealgoritmo se muestran en el algoritmo 3.

Page 25: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 25

Algoritmo 3: Low-overhead Orthogonal Matching Pursuit (LowOMP)[16]

Entrada: Θ ∈ RM×N ,y ∈ RM, dispersion KSalida: Estimacion del vector disperso sinicio

r0 = y, Ω← Λ← ∆← ∅, k = 1, s = 0,mientras k 6= I hacer

gi = arg max |ΘT\Λ × r|

∆← 3 % elem. mıngΩ = Ω ∪ iΛ = Λ ∪∆ s = Θ†Ω × yr = y −ΘΩ × sk = k + 1

fin

fin

2.2.5. OMP Mejorado con Seleccion de Indices en paralelo(Improved OMP with parallel index selection)

El algoritmo Improved OMP with parallel index selection [17] es otra modifica-cion importante que sufre el algoritmo OMP para poder hacer menos iteraciones.En este algoritmo, en lugar de solamente tomar la columna mejor correlacionadacon la matriz diccionario se toman 2 columnas. Es ası como el numero de itera-ciones se reduce hasta la mitad y de esta forma el algoritmo es mas eficiente entiempo. Los pasos del algoritmo Improved OMP with parallel index selection semuestran en el algoritmo 4.

Algoritmo 4: Improved OMP with parallel index selection [17]

Entrada: Θ ∈ RM×N ,y ∈ RM, dispersion KSalida: Estimacion del vector disperso sinicio

r0 = y, Ω← ∅, k = 1, s = 0,mientras k 6= K

2hacer

g = |ΘT\Λ × r|; gi,1 = arg max g,gi,2 = arg max(g\i,1)

Ω = Ω ∪ i, 1 ∪ i, 2Λ = Λ ∪∆; s = Θ†Ω × yr = y −ΘΩ × sk = k + 1

fin

fin

Page 26: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 26

2.3. Bayesian Framework

Los algoritmos greedy descritos en la seccion 2.2 apuntan a recuperar el vectors sin hacer suposiciones previas sobre la distribucion de probabilidad del vectordisperso. En el caso de que se disponga de algun conocimiento previo sobre la dis-tribucion del vector disperso, tendrıa sentido incorporar ese conocimiento previo enel proceso de estimacion. Los metodos Bayesian Frameworks, ven el vector dispersodesconocido como aleatorio, proporcionando un marco sistematico para hacerlo. Alhacer uso de la regla Bayes, estos metodos actualizan el conocimiento previo sobreel vector disperso de acuerdo con la nueva evidencia u observaciones. Al calcular laestimacion de Bayesiana del error de mınimos cuadrados (Minimum Mean SquareError, MMSE) del vector disperso no es tan factible debido a la complejidad com-binatoria del estimador.

Existen varios metodos que proporcionan una buena aproximacion a la estima-cion MMSE que no se discutiran en esta tesis pero se dejan referencias y el nombrede los metodos al lector.

2.3.1. Fast Bayesian Matching Pursuit

El algoritmo Fast Bayesian Matching Pursuit [18] es un algoritmo que aproxi-ma el MMSE de el vector disperso. El algoritmo asume un binomio previo en ladispersion de la senal y uuna distribucion normal multivariante (Ruido Gausiano)previo al ruido en la senal. Tambien asume que los valores que no son cero delvector disperso tienen un pequeno ruido Gausiano anadido previamente al la senal.Dado que la estimacion MMSE exacta del vector disperso requiere un gran numerode calculos combinados, este algoritmo hace uso de iteraciones en contradas en al-goritmos greedy, y deriva una aproximacion factible de la estimacion MMSE. Masinformacion de este algoritmo puede ser encontrada en [18].

2.3.2. Randomized Orthogonal Matching Pursuit

Randomized orthogonal matching pursuit (RandOMP) [19] es un algoritmopara obtener una estimacion del MMSE aproximado al vector disperso en el modelolineal bayesiano. En RandOMP, al igual que OMP, se supone el numero totalde entradas distintas de cero del vector disperso es fijo y conocido. El algoritmoasume distribuciones gaussianas multivariadas para las entradas distintas de cerodel vector disperso y el ruido. RandOMP aproxima el estimado MMSE utilizandoiteraciones greedy basadas en OMP.

2.4. Relajacion Convexa (Convex Relaxation)

Convex Relaxation reemplaza el problema combinatorio con un problema deoptimizacion convexa, la norma l1 es la funcion convexa mas cercana a la funcionl0, con esto se resuelve el problema convexo con algoritmos que pueden explotar laestructura del problema. En otras palabras, los algoritmos de Convex Relaxation

Page 27: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 2. RECONSTRUCCION DE MUESTREO COMPRESO 27

dan otro enfoque para la aproximacion de senal dispersa. En este enfoque se re-emplaza lo que es la funcion combinatoria l0, descrita en las secciones anteriores,con la norma l1. Es de esta forma como se producen problemas de optimizacionconvexa que admiten algoritmos mas amenos. La forma convexa de la ecuacion 2.3es:

s* = arg mıns∈RN||s||l1 Sujeto a: y = Θs; (2.6)

Otra variante es la formulacion del operador de contraccion y seleccion menosabsoluta (least absolute shrinkage and selection operator, LASSO) [20], que sur-gio primero en el contexto de la seleccion de variables. La formula matematica esla mostrada en la ecuacion 2.7

s* = arg mıns∈RN||Θs− y||l2 Sujeto a: ||s||l1 ≤ β. (2.7)

De aquı se debe saber que ||Θs − y||l2 ≤ β. Donde β es la tolerancia de error. Esası como se decuce lo siguiente:

s* = arg mıns∈RN||s||l1 Sujeto a: ||Θs− y||l2 ≤ β. (2.8)

Page 28: Implementacion Eficiente de Reconstructor de Se~nales ...

Capıtulo 3

ARQUITECTURAS DEHARDWARE

3.1. Arquitecturas Cerradas

El rendimiento de una computadora esta determinado por tres factores clave:recuento de instrucciones, tiempo de ciclo de reloj y ciclos de reloj por instruccion(Cycles Per Instruction, CPI). Las arquitecturas del conjunto de instrucciones de-terminan el recuento de instrucciones requerido para cualquier programa [21]. Enlas arquitecturas cerradas todo esto es practicamente inmodificable ya que ellasestan listas para funcionar, con la ventaja de que tienen un menor costo. Algunosejemplos de arquitecturas cerradas se mencionaran en los siguientes parrafos.

Procesador MIPS

El procesador MIPS, por sus siglas en ingles Microprocessor without Interloc-ked Pipeline Stages, es un microprocesador de 32 bits con arquitectura de tipoComputador con Conjunto de Instrucciones Reducidas (Reduced Instruction SetComputer, RISC). Los cuales se pueden describir con Intrucciones de tamano fijo,solo las instrucciones de carga y almacenamiento acceden a la memoria y suelendisponer de multiples registros de proposito general [22].

La Figura 3.1 da una vista abstracta de la implementacion del MIPS. En estase muestran las principales unidades funcionales y las conexiones principales entreellas. Se puede notar que todas las instrucciones comienzan usando el contador delprograma para suministrar la direccion de la instruccion a la memoria. Despues deobtenerla; los operandos de registro usados por una instruccion, son especificadospor los campos de esa instruccion [21].

Arduino UNO

Arduino es una plataforma de creacion de electronica de codigo abierto basadaen hardware y software libre, lo que permite que cualquiera pueda utilizarlos yadaptarlos. Arduino UNO es de los microprocesadores mas utilizados en el ambi-to academico, y es el representativo de la familia de sistemas Arduino. Debido a

28

Page 29: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 29

Figura 3.1: Ejemplo de la implementacion en una arquitectura abierta.

Figura 3.2: Vista desde arriba de la placa Arduino UNO.

esta caracterıstica, se incluye el kit Arduino UNO en esta seccion. No obstante,si se toma en cuenta la complejidad de los algoritmos revisados en el Capıtulo2, se puede ver que este sistema no serıa capaz de ejecutar estos algoritmos. LaFigura 3.2 muestra la placa de Arduino UNO basada en el microcontrolador AT-mega328P. Se puede notar que Tiene 14 pines de entrada/salida digital (de loscuales 6 pueden ser usados con PWM), 6 entradas analogicas, un cristal de 16Mhz,conexion USB, conector jack de alimentacion, terminales para conexion ICSP y unboton de reinicio. Tiene toda la electronica necesaria para que el microcontroladoropere, simplemente hay que conectarlo a la energıa por el puerto USB o con untransformador AC-DC.

3.1.1. Kit Galileo

La Figura 3.3 muestra el procesador de la marca Intel QuarkTMSoC X1000,disenado para el Internet de las cosas. El cual esta instalado en una placa dearquitectura cerrada denominada Board Intel Galileo. Este procesador tiene unamemoria de hasta 2GB y es mas eficiente que el procesador Intel Atom. Tiene unpuerto Ethernet de 100 MB que permite que el Intel Galileo se conecte a las redescableadas.

La placa Intel Galileo es la primera placa Arduino basada en la arquitectura deIntel. Los encabezados se basan en el modelo Arduino 1,0 pinout que se encuentraen las placas Arduino uno R3. Esto proporciona la capacidad de utilizar modulos

Page 30: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 30

Figura 3.3: Vista desde arriba del kit Galileo (con etiquetas).

que se pueden conectar a los encabezados, lo que le permite extender la funciona-lidad de la placa. Al igual que el uno, tiene 14 pines de Entrada/Salida digitales, 6entradas analogicas, un puerto serie y un encabezado ICSP para la programacionen serie [24].

3.1.2. Raspberri PI

Raspberry PI es una placa tipo computadora de bajo costo, alto rendimientoy de tamano reducido. Para operar es necesario teclado y pantalla externos. Lastarjetas de Raspberry PI son desarrolladas en el Reino Unido por la FundacionRaspberry PI.

Este tamano reducido y la posibilidad de conectarle varios tipos de accesorio ledan una versatilidad que permite utilizarse para varios tipos de tareas. Su misionprincipal es la de ensenar informatica en las aulas.

La Raspberry Pi Foundation fue fundada en 2009 por Eben Upton, ingeniero deCambridge. Sin embargo, los primeros disenos de la primera placa de prueba seempezaron a realizar en 2006. Despues de 6 anos de desarrollo, la primera Rasp-berry Pi fue puesta a la venta el 29 de febrero de 2012, y para mediados de mayoya habıan vendido 20.000 unidades.

Aunque la fundacion que los disena y fabrica mantiene el control de la plata-forma de hardware, su sistema operativo (SO) es de codigo abierto. El SO oficial esuna version adaptada de la distribucion Debian llamada Raspbian, pero tambiense pueden instalar otros sistemas operativos, lo que ha hecho que se hayan adapta-do todo tipo de distribuciones GNU/Linux, y tambien versiones de otros sistemascomo Windows 10.

Hay diferentes placas en donde programar, la mas reciente es la placa RaspberryPI 4 Model B, mostrada en la Figura 3.4, la cual tiene dos puertos HDMI quepueden ser ocupados al mismo tiempo y tener dos pantallas conectadas. La ver-

Page 31: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 31

Figura 3.4: Kit Raspberry Pi 4 model B.

sion mas avanzada tiene hasta 4GB de Ram, con entrada Ethernet, Wireless yBluetooth [25].

3.2. Arquitectura abierta

La arquitectura abierta es un tipo de arquitectura de dispositivos de Hardwaredigital que permite al usuario anadir, cambiar o eliminar componentes y/o periferi-cos, para ası lograr hacer al dispositivo mas eficiente para un proposito especıfico.Actualmente, el dispositivo mas representativo de este tipo de arquitectura es elArreglo de Compuertas Programable en Campo, FPGA (por sus siglas en ingesField-Programmable Gate Array). Dichos dispositivos de arquitectura abierta son,en general, mas caros en comparacion con aquellos de arquitectura cerrada, y setienen que programar de forma especializada a traves de una descripcion de Hard-ware para colocar cada elemento.

La ventaja de este tipo de dispositivos es que se pueden configurar y se ajustana las necesidades que el algoritmo requiera. La Figura 3.5 muestra la estructuraconceptual de un dispositivo FPGA. Una celda logica consta de bloques logicosprogramables, los cuales pueden ser acomodados con un sintetizador para realizaruna funcion simple. Con esa base, se puede personalizar un interruptor programablepara proporcionar interconexiones entre las celdas logicas. Se puede implementarun diseno personalizado especificando la funcion de cada celda logica y configu-rando selectivamente la conexion de cada conmutador programable. Una vez quese completa el diseno y la sıntesis, podemos usar un cable adaptador simple paradescargar la celda logica deseada y cambiar la configuracion al dispositivo FPGAy obtener el circuito personalizado [26].

Una celda logica generalmente contiene un pequeno circuito combinable configu-rable con un flip-flop tipo D. El metodo mas comun para implementar un circuitocombinacional configurable es una tabla de consulta (Look Up Table, LUT). UnaLUT de n-entradas se puede considerar como una pequena memoria de 2n por 1.Al escribir el contenido de la memoria, podemos usar la LUT para implementarcualquier funcion combinacional de n-entradas.

Page 32: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 32

Figura 3.5: Estructura conceptual de un dispositivo FPGA.

La mayorıa de los dispositivos FPGA tambien incorporan ciertas macro celdaso macrobloques. Estos estan disenados y fabricados a nivel de transistor, y susfuncionalidades complementan las celdas logicas generales. Las macroceldas de usocomun incluyen bloques de memoria, multiplicadores combinacionales, circuitos degestion de reloj y circuitos de interfaz de E / S. Los dispositivos FPGA avanzadospueden incluso contener uno o mas nucleos de procesadores prefabricados.

Hay diferentes placas de FPGA para de programar y hay diferentes vendedoresde placas entre ellos estan:

Xilinx,

Intel (anteriormente Altera),

Intelligent Memory (IM),

Beagleboard, entre otros.

3.2.1. Implementacion dedicada a OMP

La implementacion del algoritmo OMP para reconstruccion de senal compresaen hardware es un desafıo, ya que tiene fases interdependientes. Basicamente estoalgoritmo requiere el calculo de una matriz inversa, operaciones de productos conpuntos flotantes (o fijos) y nucleos de clasificacion.

Ya se ha implementado el algoritmo OMP en diferentes ocasiones. Sin embargo,una de las implementaciones de este algoritmo en arqitecturas abiertas que sirvede referencia en la presente investigacion, fue introducida en el ano 2015 [27]. Enesa propuesta se presento una arquitectura implementada en un FPGA (Virtex 6),

Page 33: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 33

Figura 3.6: Estructura para la implementacion del algoritmo en [27].

donde se hace la reconstruccion de senal compresa y. Para la implementacion deesa arquitectura se analizaron las complejidades computacionales y la dependenciade datos entre las diferentes etapas del algoritmo OMP, con la finalidad de obtenerun mayor rendimiento con un menor consumo de area.

Dado que la solucion del problema de mınimos cuadrados implica una gran partedel tiempo de calculo general, en ese artıculo se implemento una arquitectura para-lela de baja complejidad para la solucion del sistema lineal. El tiempo de ejecuciondel diseno propuesto se reduce maximizando el paralelismo mediante el nivel apro-piado de despliegue, mientras que los recursos de FPGA se reducen al compartirel hardware para la multiplicacion matriz-vector. Tambien se proporciona un valormaximo de relacion senal a ruido de 38.9 dB con un tiempo de reconstruccion de0.34 µs.

La estructura que fue propuesta para la implementacion del algoritmo OMP eneste artıculo se muestra en la Figura 3.6. Donde se muestran 4 bloques, 1) k-VMUy unidad comparador (K-point inner product and comparator unit, K-IPCU), 2)Modulo de calculo de Cholesky (Cholesky Module), 3) unidad de calculo residual(Residual Computation Unit) y 4) unidad de calculo de senal reconstruida. Lamatriz de medicion Θ y el vector compreso y estan almacenadas en un banco dememorias. Del mismo modo, El modulo de Cholesky recibe los componentes de lamatriz intermedia C de las unidades de memoria, para calcular la inversa de C. Launidad de control genera las direcciones para realizar las operaciones de lectura yescritura en la unidad de memoria y envıa las senales de control necesarias a las uni-dades de computo para ası iniciar sus operaciones [27]. Para esta implementacionse utilizo una N=1024, M=256 y una K=36.

Page 34: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 34

Figura 3.7: Diagrama a bloques para la implementacion del algoritmo en [16].

3.2.2. Implementacion de bajo consumo

En la investigacion de 2017 [16] se implemento una modificacion del algorit-mo OMP (se hablo de este metodo en el capıtulo anterior). En esta seccion sedescribira la implementacion en Hardware de ese algoritmo. En este artıculo seda la razon de que la implementacion del algoritmo OMP, a causa del nucleo delproducto punto, gerena basicamente un cuello de botella. Por lo tanto, proponeuna tecnica que descarta la magnitud mas baja en el algoritmo de reconstruccionOMP, llamada Thresholding Technique OMP Reconstruction Algorithm (tOMP),mostrada en la seccion 2.2.4 del capıtulo anterior.

La implementacion en hardware en esta investigacion es reconfigurable para di-ferentes tamanos de senal de entrada que van desde N = 128 . . . 1024, K = 8 . . . 64y una M = 25 % . . . 35 % de la senal original.

La Figura 3.7 muestra el diagrama a bloques de la arquitectura implementadaen Hardware del algoritmo. Se puede notar que la Etapa 1 es especıfica para en-contrar la magnitud mas baja del nucleo del producto punto. En esta etapa seimplementa un algoritmo de clasificacion de fusion.

La fase de actualizacion residual y de aumento no depende de la fase de la eli-minacion de la columna, por lo tanto, la clasificacion de fusion se implementa enparalelo con ellas para evitar penalizaciones en el tiempo de reconstruccion.

Se usa otro bloque para encontrar elementos descendentes. Normalmente se se-lecciona el elemento mas pequeno entre dos elementos, mientras que se usa otroelemento para el proximo ciclo.

Se implementa la combinacion de clasificacion para clasificar 2 × NK

elementos encada iteracion de manera que se pueda obtener el ındice de la columna de menor

Page 35: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 35

magnitud al comienzo de la fase de identificacion. Finalmente, el ındice de ele-mentos de valor mas pequeno del nucleo de los productos de punto se transfiere aun contador; Este contador evitara las llamadas a columnas de menor magnitud,reduciendo ası el tamano de los calculos del producto punto para cada iteracion.En la tecnica de umbralizacion, se agrega la fase de reduccion de columna paramejorar el tiempo de reconstruccion.

3.2.3. Implementacion de doble ındice

Debido a que el algoritmo OMP es muy ameno para ser implementado, ya seha programado en diferentes plataformas de Hardware y, para que este pueda serprogramado en plataformas mas veloces, se hacen modificaciones al algoritmo comoel de la subseccion anterior. Otra modificacion e implementacion importante quedestaco en esta investigacion fue en [17]. En este artıculo, mejoran el algoritmoOMP utilizando un mecanismo nuevo de seleccion paralela de ındices con mejorcorrelacion con la matriz en cada iteracion y utilizan el algoritmo Goldschmidtpara dar una solucion rapida al problema de matriz inversa.

Es de suponerse que el algoritmo OMP mejora reduciendo el numero de itera-ciones y baja complejidad de hardware. Esta nueva implementacion tiene mayorexito en cuanto a la relacion senal-ruido (RSNR).

En esa investigacion se propone una arquitectura de hardware que se implementaen FPGA Xilinx Virtex-6 y se utiliza para la recostruccion de senales en parte real eimaginaria con una precision de datos de 24 bits, un N = 1024, K = 36 y M = 256.Los resultados de la implementacion mostraron que el algoritmo OMP mejoradologro un RSNR un poco mejor en comparacion con el algoritmo OMP original.Cabe mencionar que para la implementacion del algoritmo OMP con seleccion depares en Hardware, se utiliza la representacion en punto fijo.

La implementacion de hardware del algoritmo OMP se divide principalmente entres unidades como se muestra en la Figura 3.8 en tres bloques. 1) Multiplicacioncompleja paralela (parallel complex multiplication); 2) inversion matricial (matrixinversion); y 3) estimacion de senal y calculo residual (signal estimation and resi-dual calculation.). Ademas, tiene RAM de doble puerto y circuito de control. Lamatriz Θ y el vector de medicion se almacenan en las RAM, respectivamente. Paraaumentar el rendimiento, la correlacion se calcula en la multiplicacion complejaparalela. Las dos columnas mas relevantes se encuentran por circuito de compara-cion (unidad de algoritmo de clasificacion) y las extraen de acuerdo con los ındicesasociados de la RAM de la matriz. Se guardan las direcciones de dos columnasen la nueva RAM y se actualizan despues de cada iteracion. La unidad de controlen este diseno opera en las unidades RAM generando una direccion de lectura oescritura, y genera senales de habilitacion (en) para que algunas unidades iniciensus operaciones.

Page 36: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 3. ARQUITECTURAS DE HARDWARE 36

Figura 3.8: Arquitectura propuesta para la implementacion del algoritmo en [17].

Debido a que en muchas investigaciones donde se implementa el algoritmo OMPo en las implementaciones de sus modificaciones se utilizan diferentes plataformasde Hardware, podrıa ser muy conveniente utilizar modelos de costos. Tanto parapoder justificar cuanta area se ocupa en Hardware, como para ver que tan pesadoes el algoritmo propuesto computacionalmente hablando. Es con esa base que, encualquier caso, es preferible desarrollar modelos de costos generales a alto nivelde abstraccion, para que el algoritmo propuesto o implementado pueda usarse encualquier plataforma donde se necesite implementar el algoritmo.

Page 37: Implementacion Eficiente de Reconstructor de Se~nales ...

Capıtulo 4

METODO PROPUESTO

En este capıtulo se propone un nuevo metodo de recuperacion de senales dis-persas, el cual consiste en la union y a la vez la generalizacion sistematica de lasrecientes propuestas hechas por A. Kulkarni y T. Mohsenin en [16] y por S. Liu,N. Lyu y H. Wang en [17], las cuales son dos modificaciones al algoritmo OMP.Para poder llegar a la propuesta de este nuevo metodo primero se analizo el mapeosoftware-hardware del algoritmo OMP, y esto se revisa en la Seccion 4.1. Despuesse detalla el metodo propuesto en la Seccion 4.2. Al final se describen los mode-los de costo propuestos para sintonizar la correcta operacion de este metodo en laSeccion 4.3.

4.1. Mapeo Software-Hardware del algoritmo OMP

Se implemento en Matlab el algoritmo OMP para ası demostrar que este puederecuperar senales y, como muestra la Figura 4.1, se hizo la prueba con 100 senalesaleatorias distintas. Para este experimento se utilizo una matriz de medicion Ber-noulli aleatoria de 0’s y 1’s. Para la recuperacion de la senal, al algoritmo se leintrodujo la misma matriz Bernoulli que se utilizo para comprimir. Se midio elerror cuadratico medio entre la senal de entrada y la senal de salida del algoritmo.La Figura 4.2 muestra una grafica de las mediciones obtenidas en cada experimentodonde se grafica el error cuadratico medio en cada experimento realizado. El pro-medio del error cuadratico medio para cada senal original generada aleatoriamentees de: 0.0751.

Se hizo un experimento mas donde a la senal transmitida se le sumo una senalmenor (se le anadio ruido a la senal y) la senal anadida fue de un 10 porcientode la senal original. La matriz que se utilizo para la recuperacion fue una matrizBernoulli de 0’s y 1’s y se realizo el experimento 100 veces y se midio en cadaexperimento el Error Cuadratico Medio y al terminar las 100 pruebas se calculo elpromedio de todos los errores y este fue de 0.5903. La Figura 4.3 muestra la graficadel error cuadratico medio obtenido en cada iteracion.

37

Page 38: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 38

Figura 4.1: a)Senal dispersa aleatoria generada b)Senal dispersa aleatoria recuperada;con k=20, M=512, N=120 y Θ=Bernoulli 0’s y 1’s.

Figura 4.2: Error cuadratico medio obtenido en cada experimento.

Page 39: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 39

Figura 4.3: Grafica de cada error cuadratico medio en cada experimento con ruido anadi-do

Figura 4.4: Senal del fonema “a” adquirida y recuperada con OMP.

La senal que se desea comprimir puede ser de cualquier tipo, ya sea una imagen,un video, un archivo de audio, o incluso un texto. En este caso la senal a comprimirsera un archivo de audio, un fonema “a”. La Figura 4.4 muestra las senales originaly recuperada a traves de OMP utilizando, para comprimir, una matriz Bernoullialeatoria de 0’s y 1’s y una matriz de dominio tipo DCT.Se probo el algoritmo 20 veces con diferentes tramos de la senal y se midio el errorcuadratico medio en cada iteracion. El promedio de las iteraciones fue de 0.0081.La Tabla 4.1 muestra los resultados de los experimentos.

4.1.1. Mapeo de la estructura de OMP a Hardware

En el capıtulo anterior se menciono lo que es la arquitectura abierta. La cual sepuede configurar con lo que se requiera. Es por eso que en la implementacion del

Page 40: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 40

Tabla 4.1: Experimentos con diferentes segmentos del fonema.

No. de experimento Longitud del segmento Dispersion-k Error Cuadratico Medio

1, 2 1199, 1217 46, 46 0.0078, 0.00783, 4 1217, 1217 49, 51 0.0082, 0.00775, 6 1033, 1107 33, 42 0.0090, 0.00777, 8 1125, 1107 39, 46 0.0077, 0.00829, 10 1126, 1088 47, 39 0.0081, 0.007511, 12 1089, 1070 44, 47 0.0084, 0.008613, 14 1162, 1255 46, 44 0.0078, 0.008615, 16 1070, 1162 47, 46 0.0079, 0.008517, 18 1255, 1051 44, 42 0.0080, 0.008119, 20 923, 1052 33, 43 0.0088, 0.0086

algoritmo se puede de tener un bloque de memorias para almacenar Θ. Un bloqueVMU (Vector Multiplication Unit) para hacer las multiplicaciones matriciales, uncomparador, un bloque para el calculo del vector disprso y para el calculo del re-sidual. Tal como se muestra en la Figura 4.5.

El diagrama a bloques de la arquitectura con base en FPGA es mostrado en laFigura 4.6. Donde se muestra la conexon de los bloques necesarios para la imple-mentacion.

Primero, siguiendo los primeros pasos que se necesitan para la implementacion delalgoritmo (Figura 4.7), se diseno el modulo de muliplicacion matriz por vector uti-lizando, para sintetizar, la herramienta Quartus Prime Lite Edition y el lenguajeSystemVerilog.

Uno de los aspectos mas importantes a considerar, para poder implementar el al-goritmo, es el tamano maximo de la memoria que se debe ocupar. Considerandoque el dispositivo debe almacenar el vector y y la matriz de medicion Θ se puedehacer un aproximado de la memoria a ocupar. La Tabla 4.2 muestra el tamano dememoria estimada que podrıan ocupar el vector y junto con la matriz de medicionΘ. Considerando cada elemento, tanto del vector como de la matriz, de 16 bits.La Figura 4.8 muestra como sera almacenado cada uno de los elementos de lamatriz de medicion Θ, el valor Θi,j es el elemento de la i-esima fila y la j-esimacolumna de la matriz. Es decir, cada fila es almacenada en una memoria RAM. En-tonces, para guardar toda la matriz se necesitara un banco de memorias. Para esteproyecto se utilizan 32 memorias RAM de 128 de profundidad. En cada espacio dela memoria puede ser almacenado un dıgito de 16 bits. El diagrama RTL generadopor el sintetizador se muestra en la Figura 4.9. Para guardar el vector residual rse utilizara un bancos de registros.

Page 41: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 41

Figura 4.5: Diagrama de flujo con bloques de lo necesitado para la implementacion delalgoritmo OMP.

Tabla 4.2: Memoria estimada a ocupar por el vector compreso y la matriz de medicion.

Columnas Filas Memoria estimada

512 128 1,050,624 (b)1,024 256 4,198,400 (b)2048 512 16,785,408 (b)4,096 1024 67,125,248 (b)8,192 2,048 268,468,224 (b)

Page 42: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 42

Figura 4.6: Diagrama a bloques pensado, con conexiones electricas para la implementa-cion del algoritmo OMP.

Figura 4.7: Primeros pasos de la implementacion del algoritmo OMP.

Page 43: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 43

Figura 4.8: Memoria RAM para la matriz de medicion ΘT

Las multiplicaciones son hechas en paralelo para cada ciclo de reloj. Es decir, sehacen N multiplicaciones las cuales son guardadas en registros, para posteriormen-te ser sumadas en un arbol de sumadores en cascada. De esta manera obtener elprimer valor del vector g.

Es importante mencionar el costo computacional arrojado por el sintetizador paratener en cuenta que cantidad de memoria y de pines se esta ocupando. Entonces,es importante mencionar la Figura 4.10La matriz de medicion sera almacenada en un banco de memorias. Para que ca-da elemento pueda acceder se utilizara un de-multiplexor. Es decir, un decoderconectado a las memorias donde se elegira en que memoria sera guardada dichainformacion. La implementacion en la herramienta Quartus y generada por el sin-

Figura 4.9: Memoria RAM para la matriz de medicion ΘT

Page 44: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 44

Figura 4.10: Costo en hardware de la memoria RAM hecha en la herramienta Quartus-Prime

tetizador se puede observar en la Figura 4.11 La Figura 4.12 muestra el diagramaRTL del modulo con solo 2 valores para ΘT y dos valores para el vector r. RAM1es donde es guardado cada dato de la primer columna de la matriz transpuestay tiene 128 datos de profundidad. El modulo rfile es en donde son guardados losvalores del vector r

4.2. OMP con poda de doble lado

Como se menciono en capıtulos anteriores, en [16] se implementa el algoritmoOMP con una modificacion, la cual consiste en identificar el 3 % de las columnasde Θ menos correlacionadas con el vector residual r y de esa forma poder saltarlasen cada iteracion. Esto se hace con el objetivo de llevar a cabo menos iteraciones,haciendo la busqueda solamente en una parte del diccionario y no en todo el dic-cionario completo.

Por otra parte, en [17] se propone tomar un par de columnas de la matriz Θen cada iteracion, es decir, las dos columnas mejor correlacionadas. Con esto sepretende disminuir el numero de veces que se repite el algoritmo.

En esta seccion se propone un nuevo algoritmo donde se combinan y a la vezse generalizan de forma sistematica ambas propuestas, [16] y [17]. La generaliza-cion consiste en utilizar, por una parte, la variable entera p para denotar el numerode columnas de la matriz Θ que estan mas correlacionadas con el vector residual.Con esto, es posible dejar abierta la opcion de seleccionar una cantidad arbitrariade ındices, y no solamente dos como se sugiere en [17]. Por otra parte, se usa lavariable entera q para denotar el numero de columnas de la matriz Θ que estanmenos correlacionadas con el vector residual. Con esto, es posible dejar abiertala opcion de seleccionar una cantidad arbitraria de ındices, y no solamente el 3 %como se sugiere en [16]. La integracion sistematica de las dos ideas se refiere a que,para evitar posibles traslapes en caso de tener valores de correlacion muy parecidoso incluso iguales, en el algoritmo propuesto primero se lleva a cabo la busqueda

Page 45: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 45

Figura 4.11: Banco de memorias en ilustradas en su forma RTL con un decoder paraguardar ΘT

Page 46: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 46

Figura 4.12: Modulo multiplicador Vector-Matriz para ΘT*r

de las p columnas mas correlacionadas y luego la eliminacion de las q columnasmenos correlacionadas. Si algun ındice de columna se repite, se debe preservar yno eliminar. Los pasos del nuevo metodo se muestran a continuacion.

Algoritmo 5: OMP two sided pruning

Entrada: Θ ∈ RM×N ,y ∈ RM,Salida: Estimacion del vector disperso sinicio

r0 = y, Ω← Γ← Λ← ∆← ∅, k = 1, s = 0,para I iteraciones hacer

g = |ΘT\Λ × r|

Γ ≤ p elem. max g,Ω = Ω ∪ Γ∆ ≤ q elem. mın g,Λ = Λ ∪∆s = Θ†Ω × yr = y −ΘΩ × sk = k + 1

fin

fin

Page 47: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 47

4.3. Modelos de Costo

En el algoritmo propuesto, el objetivo es determinar los mejores valores de py q, que provean un algoritmo mas eficiente, es decir, que tenga un bajo costo dehardware, un bajo costo computacional y que preserve una buena recuperacion.Por lo tanto, es necesario desarrollar los modelos de costo correspondientes.

Para determinar el modelo de costo de Hardware se desgloso el costo de Hard-ware de cada elemento, teniendo como resultado lo siguente: Costo de Hardware:

Matriz Θ= N x M.

Senales y y r= 2M.

Senal s=pxI.

VMU=M.

Conjuntos Γ y ∆=p + q

Conjuntos Ω y Λ=(p + q)x I

Considerando el costo que toma Cholesky (C)

C y C−1=(p x I)2.

D y D−1=2 x (p x I).

L y L−1=(p x I)2-2 x (p x I).

Se deben de sumar los costos de cada una de las componentes que conforman elmetodo y esto se expresa en la ecuacion 4.1

h(p, q) =N ×M + 2 + p× I +M + p+ q + (p+ q)× I + (p× I)× (p× I)+

2× (p× I) + (p× I) + (p× I)− 2× (p× I).

(4.1)

Ahora bien, se debe de tomar en cuenta el costo computacional que tiene el algo-ritmo para eso se debe de hacer un calculo estimado de la complejidad o costo decada parte del algoritmo. El costo desglosado es el siguiente:

Costo computacional:

Calculo de g: 2M × (I × N) -∑I−1

i=0 i× q

Calculo de C: 2M ×∑I−1

i=0 i2 × q2

Calculo de C−1:∑I−1

i=0 (i× p)3

Calculo de Θ†Ω: 2M∑I−1

i=0 i2 × q2

Calculo de s: 2M×∑I−1

i=0 i× q

Page 48: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 4. METODO PROPUESTO 48

Calculo de r: M×(1+2×∑I−1

i=0 i× q)

El modelo de costo computacional total se expresa en la ecuacion 4.2:

c(p, q) =2M × (I ×N)−I−1∑i=0

i× q + 2M ×I−1∑i=0

i2 × q2 +I−1∑i=0

(i× p)3+

2M ×I−1∑i=0

i2 × q2 + 2M ×I−1∑i=0

i× q +M × (1 + 2×I−1∑i=0

i× q)

(4.2)

Tambien es necesario el calculo de la calidad de la senal para esta estimacionse usa la ecuacion 4.3 Recovered Signal to Noise Ratio [17]:

RSNR = 20 log‖xorig‖

‖xorig − xrec‖(4.3)

Page 49: Implementacion Eficiente de Reconstructor de Se~nales ...

Capıtulo 5

RESULTADOS

En este capıtulo se detallan los resultados al recuperar senales dispersas con elmetodo propuesto. Las Secciones 5.1 a 5.3 presentan la recuperacion de diversassenales de prueba en los dominios mas frecuentemente utilizados en casos practicos,junto con su correspondiente analisis. Finalmente, la Seccion 5.4 resume de maneraconcisa la interpretacion de los resultados obtenidos.

Se hicieron experimentos generando 100 senales sinteticas de longitud de M=256con valores aleatorios de dispersion k que iban desde 10 hasta 36. La Figura 5.1muestra un ejemplo de este tipo de senales. Es decir, la snales con las que seprobo este algoritmo tenıan valores relevantes que variaban entre 10 a 36.

La senal fue recuperada combinando diferentes valores de p que van desde 0 hasta16 y q desde 0 hasta 15; Es decir, se usan (p, q) = (1, 0), (1, 1), (1, 2) . . . (16, 15). Encada experimento se guarda la calidad de senal y los costos para cada configuracionusando los modelos de costos descritos en el capıtilo anterior (modelos de costos).

En cada experimento se extrae el mejor par p, q. Esto se evalua al seleccionartodos los pares con RSNR mayor a 60 dB, el costo computacional mas bajo y elmas eficiente en el costo de hardware. En otras palabra se seleccionan los paresh(p, q) menor o igual h(1, 0) (o que supere este hasta en un 10 %). De los paresresultantes, se selecciona el del mınimo c(p, q), es decir, el mınimo costo compu-tacional.

Los dominios que se utilizan son 3 diferentes. Los cuales son los dominios masconcurridos en diferentes literaturas. A continuacion se describen.

5.1. Experimentacion en el dominio Identidad

Probando con 100 senales dispersas con valores de dispersion 10 ≥ K ≤ 36, seutilizo una matriz identidad de NxN (1024x1024). Diferentes senales de entrada.Para cada senal se utilizan diferentes valores de p, desde 1, que es el algoritmoOMP tradicional, hasta 16 y diferentes valores de q, desde 0 hasta 15. Del cual,para cada valor de estos se mide el costo de Hardware, el costo computacional y la

49

Page 50: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 50

Figura 5.1: Senal tipo utilizada en la experimentacion.

relacion senal a ruido entre la senal original y la recuperada.

Dicho de otra forma: para cada experimento y cada combinacion de p y q, (p, q) =(0, 0), (0, 1), . . . , (1, 0), (1, 1), . . . , (16, 14), (16, 15), se midio la calidad de senal uti-lizando la ecuacion 4.3 para evaluar la calidad de de la senal, la ecuacion 4.2 paraevaluar el costo computacional y la ecuacion 4.1 para evaluar el costo en Hardwaredel algoritmo.

En la Figura 5.2 se muestran dos gaficas. La grafica del lado izquierdo es la distribu-cion de p en donde se encontraron las mejores condiciones de costo computacional,costo de Harware y Relacion senal a ruido; todo esto con respecto a las ecuacionesanteriores. Por otro lado se encuentra la distribucion de q en las cuales se encontra-ron las mejores condiciones de costo computacional, costo de Harware y Relacionsenal a ruido. Es notable que la mejor distribucion donde p tuvo un mejor desem-peno es cuando p es igual a 8 y, por el otro lado, al eliminar columnas de la matrizdiccionario la relacion senal a ruido es mayor y es por eso q se mantiene en 0 pa-ra cada una de las 100 senales. Esto se muestra mejor en la grafica de la Figura 5.3.

Figura 5.2: Distribucion de p y de q para los cuales el algoritmo es mas optimo para unamatriz identidad.

Page 51: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 51

Figura 5.3: Medicion de la calidad de la senal con diferentes valores para p y q con matrizde dominio de identidad.

Como se menciona; en cada una de las 100 senales se evalua cada combinacionde p y de q. Es decir, (p, q) = (0, 0), (0, 1), . . . , (1, 0), (1, 1), . . . , (16, 14), (16, 15) seevaluo el costo computacional c(p, q) y el costo en Hardware h(p, q) utilizando lasecuaciones 4.2 y 4.1 respectivamente. Con los resultados obtenidos se elaboro unagrafica por cada experimento realizado; es decir, una grafica para el costo compu-tacional c(p, q) y otra por el costo en Hardware h(p, q) las cuales se pueden observaren la Figura 5.4. La grafica para el costo computacional c(p, q) se puede observaren la Figura 5.4(a). Por otra parte, el costo en Hardware h(p, q) se puede observaren la Figura 5.4(b).

Como se puede observar en las graficas de la Figura 5.4, la complejidad compu-tacional y de hardware sube exponencialmente si p y q aumentan. Sin embargo, losresultados de la simulacion muestran que el costo computacional disminuye en losvalores mas bajos de p, mientras que en esos mismos valores el costo de hardwa-re aumenta por debajo del 10 % con respecto al metodo OMP. Esto no se puedeapreciar facilmente en las figuras debido a la perspectiva, donde se prefiere mostrarel comportamiento de los costos sobre todos los valores de p y q. En la Tabla 5.1se muestra una tabla comparativa en los modelos de costos de los tres diferentesalgoritmos mas influyentes en esta investigacion. Se hizo el experimento con 100senales diferentes y se realizo un promedio de los 100 experimentos. Los resultadospara el costo en Hardware, y el costo computacional se muestran normalizadoscon respecto a OMP. Cabe recordar que OMP tiene una p = 1 y una q = 0, Lowoverhead OMP tiene una p = 1 y una q = 32, OMP with parallel index selectiontiene una p = 2 y una q = 0 y OMP two sided pruning tiene una p = 7 y una q = 0

Page 52: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 52

(a) Costo computacional. (b) Costo en hardware.

Figura 5.4: Graficas obtenidas para el costo Computacional y costo en Hardware en 100senales para una matriz de dominio inversa.

Tabla 5.1: Tabla Comparativa para EYE.

PPPPPPPPPAlg.Costo

h(p,q)(norm) c(p,q)(norm) RSNR

OMP 1 1 295.2514Low Overhead 1.0023 1.1382 1.3037Parallel index 1.0000 0.5138 295.2170OMP two sided 1.0009 0.2091 296.3875

5.2. Recuperacion de senal dispersa en el domi-

nio de Fourier

Se repitieron los experimentos mencionados en la Seccion 5, ahora en el domi-nio de Fourier para saber el comportamiento del nuevo algoritmo en un dominiodiferente y comprimir y recuperar cada senal en este dominio. En la Figura 5.5se muestran dos graficas; la grafica de la Izquierda es la distribucion de p, la cualmuestra en cuantas senales se seleccionaron que numeros p (el numero de columnasseleccionadas en una sola iteracion) que satisfacen las condiciones anteriormentemencionadas tomando en cuenta las ecuaciones 4.2, 4.1 y 4.3, y obteniendo lacantidad de columnas seleccionadas que fueran las mas apropiadas, eficientes y/oaceptables, de acuerdo a esas ecuaciones. Del lado derecho se encuentra la graficapara la distribucion de q (numero de columnas eliminadas). Que al igual que en p,sean las mas optimas.

Se midio en cada experimento la calidad la realcion senal a ruido utilizando laecuacion 4.3, para ası evaluar la calidad de la senal. El resultado de cada senal segrafico y este se puede observar en la grafica de la Figura 5.6, donde se muestra elaumento de p y de q.

En las graficas de la Figura 5.7, se puede observar la complejidad computacionaly de hardware como aumenta exponencialmente si se dan mayores valores de p y

Page 53: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 53

Tabla 5.2: Tabla Comparativa para DFT.

PPPPPPPPPAlg.Costo

h(p,q)(norm) c(p,q)(norm) RSNR

OMP 1 1 294.2764Low Overhead 1.01 1.0943 1.0980Parallel index 0.9996 0.5028 297.35OMP two sided 1.0009 0.2881 295.7818

q. No obstante, los resultados de la simulacion muestran que el costo computacio-nal disminuye en los valores menores de p, mientras que en esos mismos valoresel costo de hardware aumenta por debajo del 10 % con respecto al metodo OMP.Esto no se puede apreciar facilmente en las figuras debido a la perspectiva, dondese prefiere mostrar el comportamiento de los costos sobre todos los valores de p y q.

En la Tabla 5.2 se muestra una tabla comparativa en los modelos de costos delos tres diferentes algoritmos mas influyentes en esta investigacion y comparando-los con OMP; siendo este algoritmo la base para los demas. Los resultados para elcosto en Hardware, y el costo computacional muestran normalizados con respectoa OMP. Cabe recordar que OMP tiene una p = 1 y una q = 0, Low overhead OMPtiene una p = 1 y una q = 32, OMP with parallel index selection tiene una p = 2y una q = 0 y OMP two sided pruning tiene una p = 7 y una q = 0

5.3. Recuperacion de senal dispersa en el domi-

nio de Coseno

De igual forma se hizo el experimento en un dominio Discreto Coseno. En laFigura 5.8 se muestra las dos gaficas en las cuales se selecciono la distribucion enlos mejores numeros de p y la distribucion en los mejores numeros de q que cumplencon los requerimientos de un principio. Se puede notar que el promedio de mejornumero para p es 7 y para q es 0.

Figura 5.5: Distribucion de p y de q para los cuales el algoritmo es mas optimo para unamatriz de dominio DFT.

Page 54: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 54

Figura 5.6: Medicion de la calidad de la senal con diferentes valores para p y q con matrizde dominio DCT.

(a) Costo Computacional. (b) Costo en Hardware.

Figura 5.7: Graficas obtenidas para el costo Computacional y costo en Hardware de 100senales para una matriz de dominio Fourier.

Page 55: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 55

Figura 5.8: Distribucion p y q para los cuales el algoritmo es optimo para una matriz dedominio DCT.

Figura 5.9: Medicion de la calidad de la senal con diferentes valore para p y q con matrizde dominio DCT.

Se midio la calidad de senal. El resultado se puede observar en la grafica de laFigura 5.9.

Se evaluo el costo computacional c(p, q) y costo en Hardware h(p, q) obtenido paracada senal y se graficaron. Las graficas se muestran en la Figura 5.10. En donde laFigura 5.10(a) es la grafica evaluada en el costo computacional para las 100 senalesy la grafica 5.10(b) es la grafica para la evaluacion con los costos en Hardware. Seobserva que q puede ser descartado porque la complejidad sube exponencialmentesi este numero aumenta. En otras palabras, la Figura 5.10 muestra la complejidadcomputacional y de hardware. Se puede apreciar como sube exponencialmente si py q aumentan. Sin embargo, se muestra que el costo computacional disminuye enlos primeros valores de p, mientras que en esos mismos valores el costo de hardwareaumenta pero se mantiene debajo del 10 % con respecto al metodo OMP. Estono se puede apreciar facilmente en las figuras debido a la perspectiva, en estas

Page 56: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 56

(a) Costo Computacional. (b) Costo en Hardware.

Figura 5.10: para una matriz de dominio de Fourier.

Tabla 5.3: Tabla Comparativa para DCT.

PPPPPPPPPAlg.Costo

h(p,q)(norm) c(p,q)(norm) RSNR

OMP 1 1 294.9945Low Overhead 1.0029 1.0982 1.1773Parallel index 1.0000 0.5175 297.2294OMP two sided 1.0001 0.1557 293.0497

graficas se prefiere mostrar el comportamiento de los costos sobre todos los valoresde p y q. En la Tabla 5.3 se muestra una tabla comparativa en los modelos decostos de los tres diferentes algoritmos mas influyentes en esta investigacion. Sehizo el experimento con 100 senales diferentes y se realizo un promedio de los 100experimentos. Los resultados para el costo en Hardware, y el costo computacionalse muestran normalizados con respecto a OMP. Cabe recordar que OMP tiene unap = 1 y una q = 0, Low overhead OMP tiene una p = 1 y una q = 32, OMP withparallel index selection tiene una p = 2 y una q = 0 y OMP two sided pruningtiene una p = 7 y una q = 0

5.4. Interpretacion de Resultados

Al observar los resultados obtenido en la implementacion de Matlab se puedeconcluir lo siguiente:

El algoritmo propuesto hace el proceso de reconstruccion mas eficiente queel popular metodo conocido como OMP de [14] y que los recientes metodosde [16] y [17] porque con los modelos de costos se permite encontrar la mejorconfiguracion (p, q).

Al eliminar las columnas (aumentando q) la calidad de la senal recuperadabaja drasticamente. El aumento de q, es decir, el eliminar mas columnas dela matriz diccionario no tiene ventaja en el costo computacional ya que lacalidad de la senal disminuye. Por lo anterior se debe usar q = 0.

Page 57: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 5. RESULTADOS 57

Lo mas complicacdo computacionalmente es el paso 5, puesto que la pseu-doinversa de Moore-Penrose es pesada. El algoritmo de Cholesky disminuyemucho esa complejidad.

El costo computacional disminuye en los primeros valores de p. Despues devalores mayores a 8, el costo computacional aumenta considerablemente.

El costo de hardware aumenta conforme aumenta p, pero en los valores dondeno hay mucho cambio es en los primeros valores de p.

El algoritmo propuesto es mas efectivo si trabaja con valores de p entre 6 y8 y con un valor q = 0.

Page 58: Implementacion Eficiente de Reconstructor de Se~nales ...

Capıtulo 6

CONCLUSIONES Y TRABAJOA FUTURO

6.1. Conclusiones

Actualmente es necesario manipular y transportar cantidades masivas de infor-macion y esto se debe hacer de manera eficiente. Si los algoritmos involucrados eneste proceso son muy pesados computacionalmente hablando, se necesitan arqui-tecturas con mayor robustez. La complejidad de cada algoritmo se debe reducirdesde el mas alto nivel de abstraccion posible.

El nuevo algoritmo desarrollado en esta tesis se ha optimizado desde alto nivelde abstraccion, combinando y modificando propuestas recientes del estado del ar-te. Este algoritmo puede ser implementado en un dispositivo de uso comercial ymenos especıfico. De esta manera, puede ser usado en aplicaciones que vayan a sur-gir. Esto se puede anticipar ası porque muestreo compreso puede llegar a ser unarama de mayor uso y por ende de mayor explotacion entre la comunidad academicadebido a las ventajas que ofrece.

Es importante mencionar que Muestreo compreso es una herramienta que se puedeusar para poder enviar mas informacion en un lapso menor y con menos recursospara comprimir la informacion. Sin embargo, el precio que se puede llegar a pagares en la recuperacion de senal. Este precio a pagar es utilizar un Hardware mascomplejo para poder descomprimir. Es por eso que muestreo compreso es una ramade investigacion que aun debe ser mas explorada de forma que nutra en gran medi-da el progreso en aplicaciones practicas como la emergente necesidad de manipulareficientemente grandes cantidades de informacion.

Vale la pena mencionar que el conocimiento es un continuo cambio, el cual im-plica la necesidad de actualizacion continua. La presente tesis contribuye en estaactualizacion de conocimientos ya que se propone un algoritmo que puede redu-cir costo computacional sin aumentar drasticamente la utilizacion de recursos dehardware, y preservando la calidad de la senal recuperada.

58

Page 59: Implementacion Eficiente de Reconstructor de Se~nales ...

CAPITULO 6. CONCLUSIONES Y TRABAJO A FUTURO 59

6.2. Tabajo a futuro

Vale la pena implementar y probar el algoritmo en un dispositivo movil. Espor esa razon que, como trabajo a futuro, se implementara el algoritmo Two-SidedPrunning OMP en una arquitectura abierta tipo FPGA de uso comercial.

RESULTADOS DERIVADOS DE ESTA INVESTIGACION

D. E. T. Romero, M. G. C. Jimenez, D. E. R. Ortiz, “Orthogonal MatchingPursuit with two-sided pruning for computationally-efficient sparse recovery,”IETElectronics Letters, (under review).

Page 60: Implementacion Eficiente de Reconstructor de Se~nales ...

Bibliografıa

[1] C. E. Shannon, “A Mathematical Theory of Communication”, Mobile Compu-ting and Communications Review, Volume 5, no. 1, pp. 3-55, 1939

[2] D. L. Donoho, “Compressed sensing”, Information Theory, IEEE Transactionson, vol. 52, no. 4, pp. 1289-1306, 2006

[3] R. G. Baraniuk, “Compressive sensing [lecture notes], ”IEEE Signal Process.Mag., vol.24, no. 4, pp. 118-121, 2007.

[4] E. J. Candes and M. B. Wakin, “An introduction to compressive sam-pling,”IEEE Signal Process. Mag., vol. 25, no. 2, pp. 21-30, 2008.

[5] E. J. Candes, J. Romberg, and T. Tao, “Robust uncertainty principles: Exactsignal reconstruction from highly incomplete frequency information,” Informa-tion Theory, IEEE Transactions on, vol. 52, no.2, pp. 489-509, 2006.

[6] Fred Chen, Anantha P. Chandrakasan and Vladimir M. Stojanovic,“Designand analysis of a hardware-efficient compressed sensing architecture for datacompression,”IEEE journal of solid-state circuits, vol. 47, no. 3, pp. 744-756,2012.

[7] Joel Tropp and Stephen Wright, “Computational Methods for Sparse Solutionof Linear inverse Problems,” Proceedings of IEEE, vol. 98, No. 6, pp. 948-958,2010.

[8] D. Needell and J. A. Tropp, “CoSaMP: Iterative signal recovery from incom-plete and inaccurate samples,” Appl. Comput. Harmonic Anal., vol. 26, no. 3,pp. 301-321, 2009.

[9] Jun Won Choi et al., “Compressed Sensing for Wireless Communication: UsefulTips and Tricks,”IEEE Communications Surveys and Tutorials, vol. 9, no. 3,2017.

[10] Jicheng Lu, Hao Zhang, Huadong Meng,“Novel Hardware Architecture ofSparse Recovery Based on FPGAs,ın International Conference on Signal Pro-cessing Systems (ICSPS), Beijing, China, 2010.

[11] D. Donoho, A. Maleki, and A. Montanari, “Message-passing algorithms forcompressed sensing,” Proc. Nat. Acad. Sci., vol. 106, no. 45, pp. 18914-18919,Sep. 2009.

60

Page 61: Implementacion Eficiente de Reconstructor de Se~nales ...

BIBLIOGRAFIA 61

[12] P. Maechler et al., “VLSI Design of Approximate Message Passing for Sig-nal Restoration and Compressive Sensing,” IEEE Journal on Emerging andSelected Topics in Circuits and Systems, Vol. 2, No. 3, September 2012.

[13] P. Maechler, P. Greisen, B. Sporrer, S. Steiner, N. Felber, and A. Burg, “Im-plementation of greedy algorithms for LTE sparse channel estimation,ın Proc.44th Asilomar Conf. Signals, Syst. Comput., Pacific Grove, CA, Nov. 2010, pp.400-405.

[14] Joel A. Tropp and Anna C. Gilbert, “Signal Recovery From Random Measure-ments Via Orthogonal Matching Pursuit,”IEEE Transactions On InformationTheory, vol. 53, no. 12, December 2007.

[15] SuJuan Liu, Ning Lyu and ZiSheng Wang, “High-Speed FPGA Implementa-tion of Orthogonal Matching Pursuit for Analog to Information Converter, ” inIEEE 12th International Conference on ASIC, pp. 152-155, Guiyang, China,Oct. 2017.

[16] A. Kulkarni and T. Mohsenin, “Low-overhead architectures for OMP compres-sive sensing reconstruction algorithm,” IEEE Trans. Circ. and Syst. I, 2017,64, (6), pp. 1468-1480.

[17] S. Liu, N. Lyu and H. Wang, “The implementation of the improved OMPfor AIC reconstruction based on parallel index selection,”IEEE Trans. VLSISystems, 2018, 26, (2), pp. 319-328.

[18] P. Schniter, L. Potter, and J. Ziniel, “Fast bayesian matching pursuit,” Proc.IEEE Information Theory and Applications Workshop, 2008, San Diego, CA,Jan 27-Feb 1 2008, pp. 326–333.

[19] M. Elad and I. Yavneh, “A plurality of sparse representations is better thanthe sparsest one alone,” Information Theory, IEEE Transactions on, vol. 55,pp. 4701–4714, 2009.

[20] R. Tibshirani, “Regression shrinkage and selection via the LASSO,” J. R. Stat.Soc. B, vol. 58, pp. 267–288, 1996.

[21] D. A. Patterson and J. L. Hennesy, Computer Organization and Design. Bur-lington, Massachusetts: Morgan Kaufmann; 5 edicion, 2013.

[22] P. Schnabel, Computertechnik-Fibel. Alemania: Elektronik-Kompendium; 4edicion, 2012.

[23] Intel Atom. (2019, Sep. 13). Atom-Series Datasheet (3rd ed.) [online]. Availa-ble: https://www.intel.la

[24] Intel Galileo. (2019, March 05). Galileo Datasheet (2nd ed.) [Online]. Availa-ble: https://www.intel.com

[25] Raspberry Pi. (2019, Jun. 24). Raspberry Pi 4 Tech Specs [Online]. Available:https://www.raspberrypi.org

Page 62: Implementacion Eficiente de Reconstructor de Se~nales ...

BIBLIOGRAFIA 62

[26] P. P. Chu, FPGA Prototyping by VHDL Examples. Cleveland, USA: WileyInterscience; 3 edicion, 2008.

[27] H. Rabah, “FPGA Implementation of Orthogonal Matching Pursuit for Com-pressive Sensing Reconstruction,” IEEE Transactions on very large scale inte-gration (VLSI) systems, vol. 23, No. 10, pp. 2209-2220, 2015.