<?xml version="1.0" encoding="ISO-8859-1"?><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<front>
<journal-meta>
<journal-id>0254-0770</journal-id>
<journal-title><![CDATA[Revista Técnica de la Facultad de Ingeniería Universidad del Zulia]]></journal-title>
<abbrev-journal-title><![CDATA[Rev. Téc. Ing. Univ. Zulia]]></abbrev-journal-title>
<issn>0254-0770</issn>
<publisher>
<publisher-name><![CDATA[Facultad de Ingeniería, Universidad del Zulia]]></publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id>S0254-07702011000300009</article-id>
<title-group>
<article-title xml:lang="en"><![CDATA[A hardware implementation of Compressive Sensing Theory]]></article-title>
<article-title xml:lang="es"><![CDATA[Implementación a nivel de hardware de la teoría de Compressive Sensing]]></article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Velázquez]]></surname>
<given-names><![CDATA[Alexis D]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Paredes]]></surname>
<given-names><![CDATA[José Luis]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname><![CDATA[Viloria]]></surname>
<given-names><![CDATA[Francisco]]></given-names>
</name>
<xref ref-type="aff" rid="A01"/>
</contrib>
</contrib-group>
<aff id="A01">
<institution><![CDATA[,Universidad de Los Andes  ]]></institution>
<addr-line><![CDATA[Mérida ]]></addr-line>
<country>Venezuela</country>
</aff>
<pub-date pub-type="pub">
<day>00</day>
<month>12</month>
<year>2011</year>
</pub-date>
<pub-date pub-type="epub">
<day>00</day>
<month>12</month>
<year>2011</year>
</pub-date>
<volume>34</volume>
<numero>3</numero>
<fpage>263</fpage>
<lpage>272</lpage>
<copyright-statement/>
<copyright-year/>
<self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_arttext&amp;pid=S0254-07702011000300009&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_abstract&amp;pid=S0254-07702011000300009&amp;lng=en&amp;nrm=iso"></self-uri><self-uri xlink:href="http://ve.scielo.org/scielo.php?script=sci_pdf&amp;pid=S0254-07702011000300009&amp;lng=en&amp;nrm=iso"></self-uri><abstract abstract-type="short" xml:lang="en"><p><![CDATA[In this paper, the new theory of compressive sensing (CS) that unifies signal sensing and compression into a single task is implemented on a Digital Signal Processing (DSP) board. An iterative algorithm for signal reconstruction known as Matching Pursuit is implemented on the DSP and used to the reconstruction of real signals from a reduced set of random projections. Two kinds of validation procedures are used to test the reconstruction algorithm implemented. More precisely, sparse signals synthesized on the DSP and sparse signals generated by a special-purpose generator are used to experimentally test the compressive sensing theory verifying in this way its potential. It is shown that the CS theory is able to recover the most significant values of the underlying signal, while yielding negligible differences between the original signals and the reconstructed ones.]]></p></abstract>
<abstract abstract-type="short" xml:lang="es"><p><![CDATA[En este artículo, la nueva teoría de Compressive Sensing es implementada en una tarjeta de adquisición. Esta teoría permite realizar en forma simultánea los procesos de muestreo y compresión de señales poco densas. El algoritmo iterativo de reconstrucción Matching Pursuit es implementado y usado para la reconstrucción de señales reales a partir de un conjunto reducido de proyecciones aleatorias. El algoritmo implementado es sometido a dos diferentes tipos de validación: 1) la reconstrucción de señales sintetizadas en la tarjeta y 2) la reconstrucción de señales pocos densas producidas por un generador de propósitos especiales. Se corrobora experimentalmente el potencial de esta teoría al comparar las señales reconstruidas con respecto a las señales originales observándose prácticamente no diferencia apreciable.]]></p></abstract>
<kwd-group>
<kwd lng="en"><![CDATA[Compressive Sensing]]></kwd>
<kwd lng="en"><![CDATA[sparse signals]]></kwd>
<kwd lng="en"><![CDATA[signal reconstruction]]></kwd>
<kwd lng="en"><![CDATA[Matching Pursuit]]></kwd>
<kwd lng="es"><![CDATA[Compressive Sensing]]></kwd>
<kwd lng="es"><![CDATA[señales poco densas]]></kwd>
<kwd lng="es"><![CDATA[reconstrucción de señales]]></kwd>
<kwd lng="es"><![CDATA[Matching Pursuit]]></kwd>
</kwd-group>
</article-meta>
</front><body><![CDATA[ <p align="center"><font face="Verdana" size="2">Rev. Téc. Ing. Univ. Zulia.  Vol. 34, Nº 3, 263 - 272, 2011</font></p>     <p align="center"><font face="Verdana" size="2"><b>  A hardware implementation of Compressive  Sensing Theory</b></font></p>     <p align="center"><font face="Verdana" size="2"><b>  Implementación a nivel de hardware de la teoría  de Compressive Sensing</b></font></p>     <p align="center"><font face="Verdana" size="2">  Alexis D. Velázquez, José Luis Paredes, Francisco Viloria</font></p>     <p align="center"><font face="Verdana" size="2">  Escuela de Ingeniería Eléctrica, Universidad de Los Andes. Mérida 5101,  Venezuela.  Tel-Fax: (0274) 240 2903</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Abstract</b></font></p>     <p align="justify"><font face="Verdana" size="2">  In this paper, the new theory of compressive sensing (CS) that unifies signal  sensing and compression  into a single task is implemented on a Digital Signal Processing (DSP) board. An  iterative algorithm  for signal reconstruction known as Matching Pursuit is implemented on the DSP  and used to the reconstruction  of real signals from a reduced set of random projections. Two kinds of  validation procedures are  used to test the reconstruction algorithm implemented. More precisely, sparse  signals synthesized on the  DSP and sparse signals generated by a special-purpose generator are used to  experimentally test the compressive  sensing theory verifying in this way its potential. It is shown that the CS  theory is able to recover  the most significant values of the underlying signal, while yielding negligible  differences between the original  signals and the reconstructed ones.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Keywords: </b>Compressive Sensing, sparse signals, signal reconstruction,  Matching Pursuit.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Resumen</b></font></p>     <p align="justify"><font face="Verdana" size="2">  En este artículo, la nueva teoría de Compressive Sensing es implementada en una  tarjeta de adquisición.  Esta teoría permite realizar en forma simultánea los procesos de muestreo y  compresión de señales  poco densas. El algoritmo iterativo de reconstrucción Matching Pursuit es  implementado y usado  para la reconstrucción de señales reales a partir de un conjunto reducido de  proyecciones aleatorias. El  algoritmo implementado es sometido a dos diferentes tipos de validación: 1) la  reconstrucción de señales  sintetizadas en la tarjeta y 2) la reconstrucción de señales pocos densas  producidas por un generador  de propósitos especiales. Se corrobora experimentalmente el potencial de esta  teoría al comparar las  señales reconstruidas con respecto a las señales originales observándose  prácticamente no diferencia  apreciable.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  <b>Palabras clave:</b> Compressive Sensing, señales poco densas, reconstrucción  de señales, Matching  Pursuit.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  1. Introducción</b></font></p>     <p align="justify"><font face="Verdana" size="2">  Compressive Sensing (CS) es una teoría recientemente  introducida por Candes [1] y Donoho  [2], la cual intenta unificar el proceso de  muestreo y compresión de señales pocos densas  en forma simultánea. En principio, la teoría de  CS establece que una señal poco densa puede recuperarse,  con alta probabilidad, a partir de un  conjunto reducido de proyecciones lineales aleatorias  usando algoritmos de reconstrucción no lineal.  La señal puede ser poco densa en cualquier  dominio (tiempo, frecuencia, wavelet, etc.) y el  número de proyecciones aleatorias usadas para  recuperar la señal, en general, es mucho menor  que el número de muestras, permitiendo así re-  Rev. Téc. Ing. Univ. Zulia. Vol. 34, No. 3, 2011  ducir la frecuencia de muestreo y como consecuencia  disminuir los recursos de conversión  analógico-digital, los recursos de almacenamiento  y/o los recursos de transmisión.  Innumerables trabajos han sido reportados  recientemente donde se muestra el potencial de  uso de esta teoría (Ver el compendio de trabajos  disponibles en www.dsp.ece.rice.edu/cs/), incluyendo  la implementación a nivel de dispositivo  de adquisición de señales bidimensionales [3].  Ante tales prometedores resultados surge la necesidad  de realizar una implementación a nivel  de hardware (tarjeta de desarrollo) de la teoría de  Compressive Sensing (CS) con lo cual se permita  corroborar experimentalmente y a nivel de dispositivos  de hardware tal teoría, así como también  estudiar las limitaciones y los aspectos inherentes  a un proceso de implementación. En este trabajo  se implementa la teoría de Compressive Sensing  en la tarjeta de desarrollo TMS320C30. Inicialmente,  se hacen pruebas del algoritmo de reconstrucción  no lineal implementado en la tarjeta  así como del proceso de proyección usando señales  sintetizadas generadas en la misma tarjeta.  Seguidamente, usando un generador programable  se generan señales poco densas en el dominio  de la frecuencia (señales cuadradas, triangulares,  o combinaciones lineales de funciones senos/  cosenos) las cuales se adquieren a través de  la tarjeta de desarrollo, se proyectan y se ejecuta  el algoritmo de reconstrucción en la tarjeta de desarrollo.  A fin de validar el proceso de reconstrucción,  se compara la señal analógica producida  por el generador programable con la obtenida por  el algoritmo de reconstrucción, ambas mostradas  en un osciloscopio digital.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  2. Revisión de la teoría  de Compressive Sensing</b></font></p>     <p align="justify"><font face="Verdana" size="2">  Sea <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.1.jpg" width="55" height="20"> el vector cuyas  componentes  representan la versión discretizada de una señal  analógica de interés y<img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.2.jpg"> la matriz  cuyas columnas definidas en 2N conforman un  diccionario de funciones básicas, ortogonales o  no, que son usadas para representar señales  como combinaciones lineales de ellas. A los vectores  <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.3.jpg" width="138" height="17">, se les denominan  átomos  del diccionario y pueden ser funciones bases  senos y/o cosenos, funciones ortogonales generadas  a partir de una función generatriz tipo wavelet,  o funciones no ortogonales generadas a  partir de una función generatriz cualquiera [4].  Se dice que X es poco densa si ésta puede  representarse como una combinación lineal de K  componentes del diccionario <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.4.gif" width="23" height="20">, es decir:</font></p>     
<p align="justify"><font face="Verdana" size="2">  <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.5.jpg" width="336" height="49"></font></p>     
<p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana" size="2">  <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.6.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">  T es un vector con K componentes  distintas de cero; el valor de #i representa  la contribución de la i-ésima componente  del diccionario en la conformación de la señal X a  lo largo de todo su dominio de definición.</font></p>     <p align="justify"><font face="Verdana" size="2">  Sea <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.7.jpg"> la matriz de proyección aleatoria,  donde cada componente de dicha matriz,  5i , j, proviene de una distribución normal de media  cero y varianza1/ N o de una distribución de  Bernoulli. Adicionalmente, se considera que las  filas de la matriz de proyección sean incoherentes  con las columnas de 3, es decir, ningún vector  columna de 3 puede ser una combinación lineal  de unas pocas filas de . El conjunto de mediciones  aleatorias, denotado por Y, se obtienen  al proyectar la señal original X en la base creada  por la matriz de proyección <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.8.gif"></font></p>     
]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.9.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">    Como se puede observar en la Ec. (2), el vector  M-dimensional Y contiene la proyección de la  señal de interés sobre una base aleatoria. En general,  M &lt;&lt; N, por lo que se tiene entonces un  proceso de compresión, dado que la información  representada por el vector N-dimensional X ha  sido compactada en sólo M componentes.</font></p>     <p align="justify"><font face="Verdana" size="2">  La teoría de CS establece que existe un factor  c &gt; 1, tal que con sólo M f (cK) medidas incoherentes  son necesarias para reconstruir, con  una alta probabilidad, la señal X a partir del conjunto  de proyecciones aleatorias Y, resolviendo  para ello el problema de optimización [1, 2]:</font></p>     <p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.10.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">donde <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.11.gif"> representa la norma l0, definida como el  número de componentes del vector <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.12.gif">distintas de  cero y <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.13.gif"> es el diccionario holográfico dado  por la proyección de cada átomo del diccionario,  donde la señal original es poco densa, en el espacio  expandido por la matriz aleatoria de proyección.</font></p>     
<p align="justify"><font face="Verdana" size="2">  La minimización de la norma l0 es un problema  de optimización no-convexo de elevada  complejidad, por lo que envuelve dificultades  computacionales en su solución [2, 5]. A fin de  superar tal inconveniente, el problema de minimización  dado por la Ec. (3) se puede reformular  mediante la solución de un problema no-cuadrático  convexo conocido como Basis Pursuit [6],  cuya solución rinde el vector 4 de baja densidad  y como consecuencia la señal original X es recuperable  a partir de sus proyecciones aleatorias.  Específicamente, el problema de optimización (3)  usando Basis Pursuit se reduce a:</font></p>     <p align="justify"><font face="Verdana" size="2">  <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.14.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">  donde <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.15.gif" width="19" height="23"> denota la norma <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.16.gif" width="14" height="21"> definida como:</font></p>     
<p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.17.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">  Obsérvese que en la formulación de CS  sólo se requiere como información a priori el dominio  en el cual la señal es poco densa. Obsérvese  además que las proyecciones obtenidas son  completamente independientes de la estructura  de la señal.  Ahora bien, resolver el problema de optimización  Basis Pursuit dado por Ec. (4) sigue siendo  computacionalmente costoso y no apropiado  para aplicaciones en tiempo real, por lo que se  han desarrollado un conjunto de algoritmos iterativos,  rápidos y eficientes, que a costa de un pequeño  incremento en el número de proyecciones,  resuelven el problema de optimización definido  en (4). Entre estos algoritmos de reconstrucción  se encuentran el Matching Pursuit [7], Orthogonal  Matching Pursuit [8], Regularized Orthogonal Matching  Pursuit [9], entre otros. En este trabajo se  realiza el proceso de reconstrucción usando el algoritmo  Matching Pursuit, el cual presenta un  menor costo computacional en comparación a los  demás algoritmos [8].</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  <b>Algoritmo de reconstrucción Matching  Pursuit (MP)</b></font></p>     <p align="justify"><font face="Verdana" size="2">  El algoritmo de reconstrucción MP es un algoritmo  iterativo computacionalmente sencillo  que recupera la señal original siguiendo el procedimiento  descrito a continuación. Inicialmente se  determina cuál de los átomos del diccionario holográfico  es el que aporta la mayor contribución a  la definición de la señal proyectada, se encuentra  un estimado de dicha contribución y se remueve  el correspondiente átomo de la conformación de  la señal proyectada, definiéndose así una señal  residuo. Seguidamente, se busca de nuevo cuál  de los átomos del diccionario holográfico está  presente con mayor fuerza en la señal residuo y  se le sustrae del mismo. Este procedimiento es  iterativamente repetido hasta que el residuo contenga  información irrelevante de la señal original.  La <a href="#f1">Figura 1</a> muestra el algoritmo MP.  Como se puede observar en la <a href="#f1">Figura 1</a>, en  cada iteración se determina el grado de similitud  entre la señal residuo (proyección aleatoria para  la primera iteración) y cada átomo del diccionario  usando el producto escalar como medida se similitud  entre señales. Aquel átomo del diccionario  holográfico que más se parezca a la señal residuo  tendrá asociado el máximo producto escalar.  Encontrado dicho átomo, se substrae del residuo  eliminándose así su contribución. Seguidamente,  se actualiza el estimado del vector 4 que en la  medida en que progrese el algoritmo iterativo  contendrá el estimado de la contribución de cada  átomo en la definición de la señal. Finalmente, el  estimado de la señal original se obtiene mediante  la superposición de los distintos átomos encontrados  en el proceso iterativo ponderados por su  correspondiente contribución, es decir:</font></p>     <p align="justify"><font face="Verdana" size="2">  <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.18.gif"></font></p>     
<p align="justify"><font face="Verdana" size="2">  Observe además que el algoritmo debería  iterar tantas veces como átomos conformen a la  señal1, sin embargo es posible que un mismo átomo  sea seleccionado varias veces como el átomo  que contribuye mayormente a la definición del  residuo, en cuyo caso el número de iteraciones  crece, aumentando el tiempo y el costo computacional  para reconstruir la señal dada. </font></p>     <p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.19.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2"><a name="f1"></a></font></p>     <p align="center"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.20.jpg" width="624" height="602"></font></p>     
<p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana" size="2">Como se mostró en [8], el costo  computacional de este algoritmo  está determinado principalmente por el  paso en que se busca el átomo del diccionario holográfico  que aporta la mayor contribución a la  definición de la señal proyectada, siendo el costo  computacional de este paso de orden O(K×M×N),  donde K es el nivel de densidad de la señal original,  M el número de proyecciones, y N la dimensión  de la señal original.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  3. Implementación en la tarjeta  de desarrollo de la teoría  de Compressive Sensing</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  Tal como se describió en la introducción, la  implementación a nivel de hardware de la teoría  de Compressive Sensing requiere implantar tanto  el proceso de reconstrucción (algoritmo iterativo  MP) a nivel de la tarjeta de desarrollo, como el  proceso de proyección que implica adquisición de  la señal y su posterior proyección. El primer aspecto  requiere implementar en la tarjeta de desarrollo  el diccionario en el cual la señal en estudio  es poco densa, presentándose aquí una primera  limitación en cuanto a las componentes del diccionario  (número de átomos) que en este caso  está restringido por la capacidad de la memoria  de la tarjeta de desarrollo, la cual en nuestro caso  es de 256 k-palabra de 32 bit. La segunda consideración  es el número de muestras que pueden  manejarse en la tarjeta, limitado por la velocidad  de muestreo de la tarjeta de adquisición (20 kHz  para la tarjeta usada). Adicionalmente, a fin de  reducir el número de iteraciones del algoritmo de  reconstrucción y facilitar el proceso de comparación  entre la señal adquirida y los átomos del diccionario,  deben implementarse rutinas que permitan  sincronizar la señal adquirida con el diccionario.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  3.1. Descripción del sistema  de desarrollo</b></font></p>     <p align="justify"><font face="Verdana" size="2">  En esta sección se describe brevemente las  características del sistema de desarrollo  TMS320C30 tales como la velocidad del procesador,  capacidad de memoria, puertos de entrada y  salida, velocidad de muestreo, consumo de energía  y lenguaje de programación soportado por la  tarjeta de desarrollo, incluyendo las librerías disponibles  para realizar las operaciones matemáticas  necesarias en el sistema de desarrollo (Ver referencia  [10] para mayores detalles.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Procesador:</b> El procesador de la tarjeta  TMS320C30 contiene unidades aritméticas de  tipo entero y punto flotante, procesa palabras de  2048 × 32 bit on-chip RAM, palabras de 4096 ×  32 bit on-chip ROM, posee una unidad de control  de interfaces en serie y en paralelo y velocidad  del reloj de 33,3 MHz, para un rendimiento  de 16,7 millones de instrucciones procesadas  por segundo.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Memoria: </b>La tarjeta incluye dos áreas de  memoria denominadas por el fabricante como  áreas A y B. El área A se divide en tres bloques de  64 k-palabra de 32 bit cada uno para un total de  192 k-palabra de 32 bit. El área B, es un solo bloque  de 64 k-palabra de 32 bit para un total de  memoria disponible de 256 k-palabra de 32 bit  para almacenamiento temporal de los datos.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Interfaz analógica: </b>La tarjeta de desarrollo  incluye cuatro canales analógicos, dos de conversión  analógica-digital de 16 bits y dos para la  conversión digital-analógica, soportando velocidades  de muestreo de hasta los 200 kHz. Los canales  de entrada incluyen circuitos de muestreo  y retención, ambos protegidos a través de un filtro  paso bajo del tipo Sallen-Key de cuarto orden.  La velocidad de muestreo es de 20 kHz limitada  por el ancho de banda de los filtros de protección.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Programación:</b> SPOX es el software que incluye  las librerías necesarias para la ejecución de  instrucciones en el procesador de señales  TMS320C30, sin embargo, es posible ejecutar dichas  instrucciones sin el uso de las librerías utilizando  programación de bajo nivel (código assembler).  SPOX presenta un software de alto nivel  para el hardware del DSP que no sé requiere de  una experiencia avanzada para su programación,  ya que se puede programar usando líneas  de código del C estándar. La librería que maneja  el DSP se pueden agrupar en dos grandes módulos:  <b>Un Módulo básico</b> el cual incluye el conjunto  de funciones para la gestión de memoria y el manejo  de buffer de entrada-salida, y un <b>Módulo  matemático</b> el cual incluye las librerías que permiten  realizar operaciones aritméticas, lógicas e  incluso de procesamiento de señales tales como  convolución, auto-correlación, transformada de  Fourier, operación de filtrado vía enventanado,  entre otras. Además, el módulo matemático permite  realizar operaciones básicas vectoriales y  matriciales como producto escalar entre vectores,  suma y multiplicación de matrices, transposición,  y asignación de matrices. Adicionalmente,  posee funciones para la generación de números  seudo aleatorios que siguen una distribución  gausiana y una distribución uniforme entre 0 y 1.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>3.2. Montaje experimental</b></font></p>     <p align="justify"><font face="Verdana" size="2">  El algoritmo de reconstrucción MP descrito  en la <a href="#f1">Figura 1</a> se implementó en la tarjeta de desarrollo  TMS320C30, optimizándose la implementación  mediante el uso de las librerías que  dispone la tarjeta. Se realizó una serie de pruebas  que validaron el funcionamiento del algoritmo así  como también la teoría de Compressive Sensing  en forma experimental.</font></p>     <p align="justify"><font face="Verdana" size="2">  A fin de validar la implementación desarrollada,  se realizan dos tipos de pruebas. Inicialmente  se generan señales sintetizadas en la tarjeta  de desarrollo para su posterior proyección  aleatoria y reconstrucción mediante el algoritmo  MP, ambos implementados en la tarjeta de desarrollo,  tal como se muestra en la <a href="#f2">Figura 2(a)</a>.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  Se aprovecha completamente el potencial de  la tarjeta mostrándose tanto la señal sintetizada  vía software como la reconstruida usando el algoritmo  MP. Ambas señales se envían a los canales  analógicos de salida del DSP y se visualizan usando  un osciloscopio digital de doble canal y amplio  ancho de banda. Adicionalmente, se guardan en  archivos señales de interés para su posterior manipulación  vía software de alto nivel (Matlab©).</font></p>     <p align="justify"><font face="Verdana" size="2"><a name="f2"></a></font></p>     <p align="center"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.21.jpg" width="537" height="184"></font></p>     
<p align="justify"><font face="Verdana" size="2">  Como un segundo grupo de pruebas, se adquieren  señales reales poco densas en el dominio  de la frecuencia, producidas por un generador  programable. Se muestrean dicha señal a través  de uno de los canales de entrada de la tarjeta de  desarrollo, tal como se muestra en la <a href="#f2">Figura 2(b)</a>.</font></p>     <p align="justify"><font face="Verdana" size="2">  Seguidamente, se proyecta aleatoriamente dicha  señal y se reconstruye usando el algoritmo MP implementado  en el DSP. Se valida el procedimiento  de reconstrucción mediante la observación de la  señal real generada y la señal reconstruida ambas  visualizadas en un osciloscopio digital.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  4. Resultados y análisis</b></font></p>     <p align="justify"><font face="Verdana" size="2">  <b>4.1. Reconstrucción de señal  sintetizada poco densa  en el dominio de la frecuencia</b></font></p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana" size="2">  Sea la señal</font></p>     <p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.22.jpg" width="321" height="100"></font></p>     
]]></body>
<body><![CDATA[<p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana" size="2">para n = 0,1,…, 800 sintetizada  en la tarjeta de  desarrollo. Dicha señal contiene tres componentes  de frecuencia, por lo tanto es una señal poco  densa en el dominio de la frecuencia. Considere  la construcción del diccionario de Fourier dado  por las funciones parametrizadas:</font></p>     <p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.23.jpg" width="347" height="119"></font></p>     
<p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.24.jpg" width="333" height="38"></font></p>     
<p align="justify"><font face="Verdana" size="2">  para otros valores de f, siendo N el tamaño de la  señal sintetizada. Obsérvese que los átomos del  diccionario, columnas de la matriz <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.25.gif">, se  generan  al definir valores discretos para el parámetro f. En  nuestra aplicación f= 0,5,10,15,…F<sub>0</sub>, siendo F<sub>0</sub> la  frecuencia máxima contenida en el diccionario.</font></p>     
<p align="justify"><font face="Verdana" size="2">  Para nuestro caso esta frecuencia máxima fue fijada  en 100 Hz. Así, el diccionario está conformado  por 42 átomos usándose 33.6 k-palabra de 32  bit de la memoria del dispositivo. La cantidad de  átomos en el diccionario puede ser mucho mayor  si se realiza la implementación en una tarjeta con  mayor capacidad de memoria que la empleada en  este trabajo. A modo de prueba los 42 átomos disponibles  son suficientes para corroborar la teoría  Compressive Sensing y el algoritmo Matching Pursuit  (MP), y demostrar que sí es posible recuperar  una señal poco densa a partir de un conjunto muy  reducido de proyecciones aleatorias.</font></p>     <p align="justify"><font face="Verdana" size="2">  La <a href="#f3">Figura 3(a)</a> muestra de arriba hacia abajo  la señal sintetizada, la señal reconstrucción y  el error como la diferencia entre las dos señales  anteriores, respectivamente. La <a href="#f3">Figura 3(b)</a>  muestra las proyecciones de la señal y el error de  reconstrucción en modo expandido. Observe con  particularidad el orden de magnitud de la señal  de error. Estas dos últimas figuras se generaron a  partir de los registros guardados en archivos y  posteriormente leídos usando Matlab©.</font></p>     <p align="justify"><font face="Verdana" size="2"><a name="f3"></a></font></p>     <p align="center"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.26.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">  <b>4.2. Reconstrucción de señales reales  adquiridas por el sistema  de desarrollo</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  Las señales usadas para explorar el potencial  de la teoría de Compressive Sensing son generadas desde el generador programable  HP33120A el cual se programa adecuadamente a  fin de producir señales que cumpla la propiedad  de poca densidad. En particular, es de interés la  generación de señales poco densas en el dominio  de la frecuencia como por ejemplo una señal conformada  por la suma de varias señales sinusoidales  a frecuencias distintas y señales periódicas  cuadradas o triangulares, las cuales como es  bien sabido puede descomponerse mediante el  uso de serie de Fourier como la sumas de sinusoides  [11] y por tanto resultan señales poco densas  en el dominio de la frecuencia.</font></p>     <p align="justify"><font face="Verdana" size="2">  La <a href="#f4">Figura 4(a)</a> muestra la señal original proveniente  del generador, su reconstrucción y el  error que se comete al recuperar la señal a partir  del conjunto de proyecciones. La señal original es  adquirida por la tarjeta, proyectada usando la  base aleatoria y reconstruida a partir de tan sólo  10 proyecciones aleatorias. La <a href="#f4">Figura 4(b)</a> muestra  las proyecciones y el error ampliado que se comete  en la reconstrucción.</font></p>     <p align="justify"><font face="Verdana" size="2">  Observe en la <a href="#f4">Figura 4(a)</a> la limitación de la  frecuencia de trabajo del convertido digital analógico  donde se observa el efecto de cuantización a  16 bits y el valor constante de la señal reconstruida  entre sucesivos instantes de muestreo. Obsérvese  además, en la <a href="#f4">Figura 4(b)</a>, que la señal mostrada  no sólo refleja el error de reconstrucción  sino además el error típico de cuantización propio de un proceso de conversión  analógico-digital-  analógico.</font></p>     <p align="justify"><font face="Verdana" size="2"><a name="f4"></a></font></p>     <p align="center"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.27.jpg"></font></p>     
<p align="center"><a name="t1"></a></p>     <p align="center"><img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.32.jpg" width="564" height="209"></p>     
<p align="center"><a name="f5"></a></p>     <p align="center"><img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.33.jpg"></p>     
<p align="justify"><font face="Verdana" size="2">  Finalmente, considere una señal X(t) triangular  anti-simétrica y periódica con valor medio  cero y frecuencia fundamental 100 Hz generada  por el Generador de Señales. Como es conocido  dicha señal puede ser aproximada por la superposición  de señales sinusoidales con frecuencia  múltiplos de la frecuencia fundamental. Específicamente,</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.28.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">son los coeficientes de Fourier  que para el caso de  la señal triangular es dado por</font></p>     <p align="justify">&nbsp;</p>     <p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.29.jpg"></font></p>     
<p align="justify"><font face="Verdana" size="2">Para un valor de  K´&gt;10, dicha aproximación es bastante buena,  por lo que se puede considerar que X(t) es poco  densa en el dominio de la frecuencia y por lo tanto  la teoría de Compressive Sensing puede ser aplicada.</font></p>     <p align="justify"><font face="Verdana" size="2">  En la <a href="#f5">Figura 5</a> se muestra los correspondientes  resultados. Como se puede observar el  error cometido en el proceso de reconstrucción es  elevado en los picos de la señal triangular debido  a las discontinuidades existentes en estos puntos  que implica altas frecuencia que no se encuentran  definidos como parte del diccionario.</font></p>     <p align="justify"><font face="Verdana" size="2">  Para este caso el diccionario contiene un conjunto  finito de 21 componentes de frecuencia donde  se encuentran contenidos los 5 primeros armónicos  diferentes de cero de la señal original.</font></p>     <p align="justify"><font face="Verdana" size="2">  Al igual que en las pruebas anteriores la  cantidad de armónicos en el diccionario está limitado  a la capacidad de almacenamiento de la  tarjeta. Observe que la señal es poco densidad en  el dominio de Fourier y de manera aproximada se  puede reconstruir una señal triangular ó cuadrada  a partir de sus 5 primeros armónicos.</font></p>     <p align="justify"><font face="Verdana" size="2">  La <a href="#t1">Tabla 1</a> muestra los coeficientes del vector  <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.30.gif">que arroja el algoritmo Matching Pursuit</font></p>     
<p align="justify"><font face="Verdana" size="2">  para la reconstrucción de la señal triangular  para diferentes realizaciones de la matriz de proyección.</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  Se muestran los coeficientes asociados a  los primeros 10 armónicos, todos los demás son  cero o prácticamente despreciables. Como es de  esperarse estos coeficientes se aproximan a los  10 primeros coeficientes dados por la Serie de  Fourier, </font></p>     <p align="justify"><font face="Verdana" size="2"> <img border="0" src="/img/fbpe/rtfiuz/v34n3/art09.31.jpg" width="149" height="37"></font></p>     
<p align="justify"><font face="Verdana" size="2">para m impar, en  consecuencia la señal reconstruida se aproxima  a la señal triangular.</font></p>     <p align="justify"><font face="Verdana" size="2">  Finalmente cabe mencionar que se hicieron  experimentos con señales poco densas en el dominio  del tiempo y en el dominio wavelet corroborándose  experimentalmente la aplicación de la  teoría, por razones de espacio no son incluidos en  el presente artículo. Ver referencia [12] para mayores  detalles.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  5. Conclusiones</b></font></p>     <p align="justify"><font face="Verdana" size="2">  En este trabajo se comprobó de manera  práctica el potencial que tiene la teoría de CS en  la reconstrucción de señales poco densas a partir  de un conjunto limitado de proyecciones aleatorias.</font></p>     <p align="justify"><font face="Verdana" size="2">  Se implementó el algoritmo MP en una tarjeta  de desarrollo, se adquirió las señales reales  poco densas en la frecuencia y se usó el algoritmo  MP para su correspondiente reconstrucción. Se  mostró que, con pocas iteraciones, el algoritmo  MP detecta las componentes sinusoidales que  conforman la señal de interés. El potencial de uso  de una implementación a nivel de hardware como  la desarrollada en este trabajo emerge en el escenario  donde las proyecciones aleatorias son  transmitidas a través de un canal de comunicación  y el receptor requiere reconstruir la señal  para su posterior manipulación. Al realizar tal  operación a nivel de hardware (tarjeta de desarrollo)  evita el uso de recursos de software y acelera  el proceso de reconstrucción.</font></p>     <p align="justify"><font face="Verdana" size="2">  <b>Agradecimiento</b></font></p>     <p align="justify"><font face="Verdana" size="2">  Los autores desean expresar su gratitud al  Fondo Nacional de Ciencia, Tecnología e Innovación  (FONACIT) bajo el Proyecto G-2005000342 y  al Consejo de Desarrollo Científico, Humanístico  y Tecnológico de la Universidad de Los Andes  (CDCHT-ULA) bajo el proyecto I-1109-08-02-F  por el soporte económico dado en el desarrollo de  presente trabajo. Igualmente, agradece al Laboratorio  de Investigación y Desarrollo en Automatización  e Instrumentación (LABIDAI) por ceder  sus equipos y espacios para el desarrollo de este  trabajo.</font></p>     <p align="justify"><font face="Verdana" size="2"><b>  Referencias bibliográficas</b></font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  1. Candés, E., Romberg, J., y Tao, T. Robust  Uncertainty Principles: Exact Signal Reconstruction  from Highly Incomplete Frequency  Information. IEEE Transactions On Information  Theory, Vol. 52 Nº 2, (2006) 489-509.</font></p>     <p align="justify"><font face="Verdana" size="2">  2. Donoho, D. Compressed Sensing. IEEE  Transactions On Information Theory, Vol.  52, Nº 4, (2006) 1289-1306.</font></p>     <p align="justify"><font face="Verdana" size="2">  3. Duarte Marco, Davenport Mark, Takhar  Dharmpal, Laska N. Jasson, Sun Ting, Kelly  F. Kevin, y Baraniuk Richard G. Single-Pixel  Imaging via Compressive Sampling. IEEE  Signal Processing Magazine. Vol. 25, Nº 2,  (2008) 83-91.</font></p>     <p align="justify"><font face="Verdana" size="2">  4. Paredes J.L., Arce, G y Wang Z. Ultra-  Wideband Compressed Sensing: Channel  Estimation. IEEE Journal of Selected  Topics in Signal Processing, Vol. 1,(3) (2007)  pp. 383-395.</font></p>     <p align="justify"><font face="Verdana" size="2">  5. Mancera, L., y Portilla, J. L0-Norm-Based  Sparse Representation Through Alternate  Projections. Proc. of the IEEE ICIP 2006, pp.  2089-92, Atlanta, GA, USA.</font></p>     <p align="justify"><font face="Verdana" size="2">  6. Chen S. S., D. L. Donoho, y M. A. Saunders,  “Atomic decomposition by basis pursuit,”  SIAM J. Sci. Comput., Vol. 20, Nº 1, (1998)  pp. 33-61.</font></p>     <p align="justify"><font face="Verdana" size="2">  7. Mallat, S. G., y Zhang, Z. Matching Pursuit  With Time-Frequency Dictionaries. IEEE  Transactions On Signal Processing, Vol. 41  (12), (1993) 3397-3415.</font></p>     <p align="justify"><font face="Verdana" size="2">  8. Tropp, J. A., y Gilbert, A. C. Signal Recovery  From Random Measurements Via Orthogonal  Matching Pursuit. IEEE Transactions On  Information Theory, Vol. 53, Nº 12, (2007)  4655-4666.</font></p>     <p align="justify"><font face="Verdana" size="2">  9. Needell D. y Vershynin R.. Uniform Uncertainty  Principle and Signal Recovery via Regularized  Orthogonal Matching Pursuit.  Found. Comput. Math., Vol. 9, Nº 3, pp.  317-334.</font></p>     <p align="justify"><font face="Verdana" size="2">  Rev. Téc. Ing. Univ. Zulia. Vol. 34, No. 3, 2011  Implementación a nivel de hardware de la teoría de Compressive Sensing 271</font></p>     ]]></body>
<body><![CDATA[<p align="justify"><font face="Verdana" size="2">  10. LSI - Loughborough Sound Images Ltd.  (1989). SPOX Application Programming Reference  Manual, TMS320C30 PC System  Board Technical Reference Manual.  TMS320C30 PC System Board User Guide.  Spectron Micro System.</font></p>     <p align="justify"><font face="Verdana" size="2">  11. Proakis, J. G., y Manolakis, D. G. Tratamiento  Digital de Señales. 3ra Edición, Madrid,  España: Prentice Hall. 1998.</font></p>     <p align="justify"><font face="Verdana" size="2">  12. Velazquez Alexis, Paredes José L. y Viloria  Franscisco. Implementación a Nivel de Hardware  de la Teoría de Compressive Sensing.  Proyecto de Grado. Escuela de Ing. Eléctrica.  Universidad de Los Andes. Mérida. Jun.  2008.</font></p>     <p align="justify"><font face="Verdana" size="2">  Recibido el 10 de Enero de 2010  En forma revisada el 26 de Septiembre de 2011</font></p>     <p align="justify"><font face="Verdana" size="2">  Rev. Téc. Ing. Univ. Zulia. Vol. 34, No. 3, 2011  272 Velázquez y col.</font></p>       ]]></body>
<back>
<ref-list>
<ref id="B1">
<label>1</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Candés]]></surname>
<given-names><![CDATA[E.]]></given-names>
</name>
<name>
<surname><![CDATA[Romberg]]></surname>
<given-names><![CDATA[J.]]></given-names>
</name>
<name>
<surname><![CDATA[y]]></surname>
<given-names><![CDATA[Tao T]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Robust Uncertainty Principles: Exact Signal Reconstruction from Highly Incomplete Frequency Information]]></article-title>
<source><![CDATA[IEEE Transactions On Information Theory]]></source>
<year>2006</year>
<volume>52</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>489-509</page-range></nlm-citation>
</ref>
<ref id="B2">
<label>2</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Donoho]]></surname>
<given-names><![CDATA[D]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Compressed Sensing]]></article-title>
<source><![CDATA[IEEE Transactions On Information Theory]]></source>
<year>2006</year>
<volume>52</volume>
<numero>4</numero>
<issue>4</issue>
<page-range>1289-1306</page-range></nlm-citation>
</ref>
<ref id="B3">
<label>3</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Duarte]]></surname>
<given-names><![CDATA[Marco]]></given-names>
</name>
<name>
<surname><![CDATA[Davenport]]></surname>
<given-names><![CDATA[Mark]]></given-names>
</name>
<name>
<surname><![CDATA[Takhar]]></surname>
<given-names><![CDATA[Dharmpal]]></given-names>
</name>
<name>
<surname><![CDATA[LaskaN]]></surname>
<given-names><![CDATA[Jasson]]></given-names>
</name>
<name>
<surname><![CDATA[Sun]]></surname>
<given-names><![CDATA[Ting]]></given-names>
</name>
<name>
<surname><![CDATA[KellyF]]></surname>
<given-names><![CDATA[Kevin]]></given-names>
</name>
<name>
<surname><![CDATA[BaraniukRichard]]></surname>
<given-names><![CDATA[G]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Single-Pixel Imaging via Compressive Sampling]]></article-title>
<source><![CDATA[IEEE Signal Processing Magazine]]></source>
<year>2008</year>
<volume>25</volume>
<numero>2</numero>
<issue>2</issue>
<page-range>83-91</page-range></nlm-citation>
</ref>
<ref id="B4">
<label>4</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Paredes]]></surname>
<given-names><![CDATA[JL.]]></given-names>
</name>
<name>
<surname><![CDATA[Arce]]></surname>
<given-names><![CDATA[G.]]></given-names>
</name>
<name>
<surname><![CDATA[Wang]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Ultra-Wideband Compressed Sensing: Channel Estimation]]></article-title>
<source><![CDATA[IEEE Journal of Selected Topics in Signal Processing]]></source>
<year>2007</year>
<volume>1</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>383-395</page-range></nlm-citation>
</ref>
<ref id="B5">
<label>5</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mancera]]></surname>
<given-names><![CDATA[L.]]></given-names>
</name>
<name>
<surname><![CDATA[Portilla,]]></surname>
<given-names><![CDATA[J]]></given-names>
</name>
</person-group>
<source><![CDATA[L20060-Norm-Based Sparse Representation Through Alternate Projections]]></source>
<year>2006</year>
<page-range>2089-92</page-range><publisher-loc><![CDATA[Atlanta^eGA GA]]></publisher-loc>
<publisher-name><![CDATA[Proc of the IEEE ICIP,]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B6">
<label>6</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Chen]]></surname>
<given-names><![CDATA[SS.]]></given-names>
</name>
<name>
<surname><![CDATA[DL.]]></surname>
<given-names><![CDATA[Donoho]]></given-names>
</name>
<name>
<surname><![CDATA[MA]]></surname>
<given-names><![CDATA[Saunders]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Atomic decomposition by basis pursuit]]></article-title>
<source><![CDATA[SIAM J. Sci. Comput.]]></source>
<year>1998</year>
<volume>20</volume>
<numero>1</numero>
<issue>1</issue>
<page-range>33-61</page-range></nlm-citation>
</ref>
<ref id="B7">
<label>7</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Mallat]]></surname>
<given-names><![CDATA[SG.]]></given-names>
</name>
<name>
<surname><![CDATA[Zhang]]></surname>
<given-names><![CDATA[Z]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Matching Pursuit With Time-Frequency Dictionaries]]></article-title>
<source><![CDATA[IEEE Transactions On Signal Processing]]></source>
<year>1993</year>
<volume>41</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>3397-3415</page-range></nlm-citation>
</ref>
<ref id="B8">
<label>8</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Tropp]]></surname>
<given-names><![CDATA[JA.]]></given-names>
</name>
<name>
<surname><![CDATA[Gilbert]]></surname>
<given-names><![CDATA[AC]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Signal Recovery From Random Measurements Via Orthogonal Matching Pursuit]]></article-title>
<source><![CDATA[IEEE Transactions On Information Theory]]></source>
<year>2007</year>
<volume>53</volume>
<numero>12</numero>
<issue>12</issue>
<page-range>4655-4666</page-range></nlm-citation>
</ref>
<ref id="B9">
<label>9</label><nlm-citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Needell]]></surname>
<given-names><![CDATA[D.]]></given-names>
</name>
<name>
<surname><![CDATA[Vershynin]]></surname>
<given-names><![CDATA[R]]></given-names>
</name>
</person-group>
<article-title xml:lang="en"><![CDATA[Uniform Uncertainty Principle and Signal Recovery via Regularized Orthogonal Matching Pursuit]]></article-title>
<source><![CDATA[Found. Comput. Math.]]></source>
<year></year>
<volume>9</volume>
<numero>3</numero>
<issue>3</issue>
<page-range>317-334</page-range></nlm-citation>
</ref>
<ref id="B10">
<label>11</label><nlm-citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Proakis]]></surname>
<given-names><![CDATA[JG.]]></given-names>
</name>
<name>
<surname><![CDATA[Manolakis]]></surname>
<given-names><![CDATA[DG]]></given-names>
</name>
</person-group>
<source><![CDATA[Tratamiento Digital de Señales]]></source>
<year>1998</year>
<publisher-name><![CDATA[X, x, 3ra Edición Madrid España: Prentice Hall]]></publisher-name>
</nlm-citation>
</ref>
<ref id="B11">
<label>12</label><nlm-citation citation-type="">
<person-group person-group-type="author">
<name>
<surname><![CDATA[Velazquez]]></surname>
<given-names><![CDATA[Alexis]]></given-names>
</name>
<name>
<surname><![CDATA[Paredes]]></surname>
<given-names><![CDATA[JoséL.]]></given-names>
</name>
<name>
<surname><![CDATA[Viloria]]></surname>
<given-names><![CDATA[Franscisco]]></given-names>
</name>
</person-group>
<source><![CDATA[Implementación a Nivel de Hardware de la Teoría de Compressive Sensing]]></source>
<year></year>
</nlm-citation>
</ref>
</ref-list>
</back>
</article>
