Procesos aleatorios en procesamiento digital de señales

Electrónica. Analisis discreto y probabilístico. Monitoreo de máquinas rotativas. Modulación de señal. Procesado analógico. Microvibradores

  • Enviado por: El Cochino Y El Mapache
  • Idioma: castellano
  • País: Panamá Panamá
  • 32 páginas
publicidad

ANÁLISIS DISCRETO Y PROBABILÍSTICO

“PROCESOS ALEATORIOS EN PROCESAMIENTO DIGITAL DE SEÑALES”

INTRODUCCIÓN

El procesamiento de señales posee una larga y rica historia. Es una tecnología que se entronca con un inmenso conjunto de disciplinas entre las que se encuentran las telecomunicaciones, el control, la exploración del espacio, la medicina y la arqueología, televisión digital, los sistemas de información y el entretenimiento multimedia. Es más, a medida que los sistemas de comunicación se van convirtiendo cada vez más en sistemas sin hilos, móviles y multifunción, la importancia de un procesamiento de señales sofisticados en dichos equipos se hace cada vez más relevante.

El procesamiento de señales trata de la representación, transformación y manipulación de señales( ya sean determinísticas o aleatorias) y de la importancia que contienen. Cuando se refiere al procesado de señales, se refiere a la representación mediante secuencia de números de precisión finita y el procesado se realiza utilizando un computador digital.

A menudo es deseable que estos sistemas funcionen en tiempo real, lo que significa que el sistema en tiempo discreto se implementa de forma que las muestras de salida se calculan a la misma velocidad a la que se muestrea la señal en tiempo continuo. Son muchas las aplicaciones que requieren esta especificación.

En este trabajo nos hemos centrado en recopilar, analizar e interpretar todos los datos disponibles sobre la tecnología de los procesadores digitales de señales (DSP's) y sus aplicaciones, a la que sus prestaciones y posibilidad de desarrollo convierten en un elemento indispensable de los sistemas del futuro.

TEORÍA RELACIONADA

Comenzaremos explicando algunas definiciones básicas.

Por señal entendemos una variable que lleva o contiene algún tipo de información y que puede ser cometida, manipulada o mostrada. Ejemplos de señales: La voz, Señales biomédicas, Video, Imagen, Radar.

Se denomina señal analógica a las señales que son continuas en el tiempo y en amplitud.

Se denomina señal digital a las señales que son discretas en el tiempo y en amplitud. Cuando la amplitud de la señal solamente puede tomar uno de dos valores entonces se trata de una señal digital binaria.

Una forma de onda Determinística se puede modelar como una función del tiempo completamente especificada. Los valores de esta señal, tanto presentes, pasados o como futuros, se conocen exactamente, sin incertidumbre. Por ejemplo, si

describe una forma de onda en la cual A, w0 y 0 son constantes conocidas, se dice que esta forma de onda es determinística.

Una forma de onda aleatoria( o forma de onda estocástica) no se puede especificar por completo como una función del tiempo y debe modelarse probabilísticamente. Ejemplos de formas de onda aleatorias la salida de un generador de ruido, señales sísmicas y las señales de voz.

Un proceso aleatorio real (o proceso estocástico) es un conjunto indexado de

funciones reales de algún parámetro (casi siempre tiempo) que tiene ciertas

propiedades estadísticas. Por ejemplo, como se muestra en la figura:

Procesos aleatorios en procesamiento digital de señales

Fuente de ruido aleatorio y algunas funciones muestrales del proceso de ruido aleatorio.

El conjunto de las diferentes formas de onda para una misma fuente de ruido representaría un proceso aleatorio.

Un proceso aleatorio continuo se compone de una proceso aleatorio con variables aleatorias asociadas de distribución continua. El ruido en circuitos de comunicación lineales por lo general es del tipo continuo.

Un proceso aleatorio discreto se compone de variables aleatorias con

distribuciones discretas. Por ejemplo, la siguiente figura representa la salida de un comparador ideal, que es un proceso aleatorio binario (discreto con dos niveles).

Procesos aleatorios en procesamiento digital de señales

Funciones muestrales de un proceso aleatorio binario.

ELEMENTOS BÁSICOS DE UN SISTEMA DE PROCESADO DIGITAL DE SEÑALES

El procesado digital de señales proporciona un método alternativo para procesar una señales analógicas. El procesamiento analógico de señales es el que se muestra en la figura.

Procesos aleatorios en procesamiento digital de señales

Diagrama de procesado de una señal analógica

Para Realizar el procesado digitalmente, se necesita un interfaz entre la señal analógica y el procesador digital. Este interfaz se denomina conversor Analógico-Digital(A/D). La salida del conversor A/D es una señal adecuada como entrada al procesador digital.

Procesos aleatorios en procesamiento digital de señales

La información de una señal que será transformada de análoga a digital puede perderse por 2 tipos de formas comunes:

- Como el muestreo solo guarda la amplitud de la señal en un instante en el tiempo. Los cambios que ocurran en la señal entre dos instantes de muestreo no son registrados(aliasing).

- La representación tomada para la amplitud de la señal debe ser ajustada dependiendo del numero de bits asignados para representar dada muestra.

A estos efectos se les conoce como errores de cuantización.

El procesador digital de señales(DSP) puede ser un gran ordenador digital programable o un pequeño microprocesador programado para realizar las operaciones necesarias sobre la señal de entrada. También puede ser un procesador digital cableado configurado para efectuar un conjunto de operaciones sobre la señal de entrada. Las máquinas programable proporcionan la flexibilidad de cambiar las operaciones de procesado de señales mediante un cambio de software. En consecuencia, los DSP's programables son de uso muy frecuente.

Por otro lado, cuando las operaciones de procesado de señales están bien definidas, se puede optimizar la implementación cableada de las operaciones, resultando un procesador más barato y, habitualmente, más rápido que su equivalente programable.

En aplicaciones donde la salida digital del DSP se ha de entregar en forma analógica, como en comunicaciones digitales, debemos proporcionar otra interfaz desde el dominio digital al analógico. Tal interfaz se denomina conversor Digital-Analógico(D/A). De este modo la señal se entrega al usuario en forma analógica, como se ilustra en la figura.

Procesos aleatorios en procesamiento digital de señales
Diagrama de bloques de un sistema digital de procesado de señales.

Puede darse caso en aplicaciones prácticas en donde no se requiere el conversor D/A para el análisis de la señal por ejemplo, en el procesado digital de señales radar, la información extraída de la señal radar, como la posición de la nave y su velocidad, se pueden imprimir directamente sobre el papel.

Ventajas del procesado digital de señales frente al analógico

Un sistema digital programable permite flexibilidad a la hora de configurar las operaciones de procesado digital de señales sin más que cambiar el programa. La reconfiguración de un sistema analógico implica habitualmente en el rediseño del hardware, seguido de la comprobación y verificación para ver que opera correctamente.

Las tolerancias en los componentes en los circuitos analógicos hacen que para el diseñador del sistema sea extremadamente difícil controlar la precisión de un sistema analógico de señales. En cambio, en un sistema digital permite un mejor control en los requisitos de precisión.

Las señales digitales se almacenan en soporte magnético( cinta o disco) sin deterioro o pérdida en la fidelidad de la señal, aparte de la introducida en la conversión A/D. Como consecuencia, las señales se hacen transportables y pueden procesarse en tiempo no real en un laboratorio remoto.

En el procesado de señal analógico es difícil realizar operaciones matemáticas precisas mientras que en el digital esta es una operación rutinaria.

En algunos casos, la implementación digital del sistema de procesado de señales es más barato que su equivalente analógica. El menor costo se debe a que el hardware digital es más barato o, quizás, es resultado de la flexibilidad ante modificaciones que permiten la implementación digital.

PROCESADOR DIGITAL DE SEÑALES (DSP)

El procesamiento digital de señales es una tecnología cuyas aplicaciones están creciendo rápidamente, como en el caso de comunicaciones sin hilo, procesamiento de audio y vídeo y control industrial. A la vez que aumenta la popularidad de las aplicaciones DSP la variedad de procesadores DSP ha aumentado espectacularmente desde la introducción de los primeros chips comerciales a principios de los ochenta.

A lo largo de la última década, la aparición y posterior desarrollo de los dispositivos especializados en el procesado digital de señales o DSPs ha supuesto la apertura de una nueva vía de evolución hacia niveles superiores en el tratamiento de datos.

Un sistema DSP es un sistema electrónico capaz de procesar información procedente de la digitalización de una señal. Sistema capaz de poder realizar unas determinadas operaciones matemáticas sobre datos procedentes de una señal que esté digitalizada. La obtención de esos datos se realiza por un muestreo de la señal. Los datos se adecuan eléctricamente para realizar el muestreo.

Es decir, el medio físico es el que genera las señales por tanto es necesario convertirla en una información digital para que pueda ser entendida por el sistema, se digitaliza a través del muestreo (valores de la señal en ciertos instantes).

OPERACIONES BÁSICAS

Los DSP son microprocesadores que comparten una arquitectura base optimizada. El procesamiento digital de la señal se basa en la manipulación matemática de las señales representadas en un formato digital, este análisis matemático conlleva un volumen de operaciones numéricas muy elevado. Por esto, la arquitectura de los DSP debe responder a las necesidades de las operaciones que soportan, fundamentalmente:

  • Análisis de señales (convolución, transformada de Fourier(FFT),análisis de espectro, correlación).

  • Modificación de la señal(modulación).

  • Extraer información de la señal.

OPERACIONES CLAVES EN EL DSP, PARA EL ANÁLISIS DE SEÑALES:

CONVOLUCIÓN.

Es una operación básica para el filtrado. Fundamentalmente es una operación de dos secuencias x[n] y h[n] (muestreadas). Son series finitas y causales de longitudes

long x[n] ! N1

long x[n] ! N2

Procesos aleatorios en procesamiento digital de señales

n = 0, 1.....(M-1)

siendo Procesos aleatorios en procesamiento digital de señales

Siempre hablamos de productos de datos con sumatorias (sumados en un bucle).

x[n] ! señal de entrada.

h[n] ! define el comportamiento del bloque en el proceso digital, respuesta al impulso.

La convolución será como un producto en el dominio de la frecuencia.

CORRELACIÓN.

Fundamentalmente existen dos tipos:

  • Correlación cruzada (CCF).

Es una función aplicada a dos señales de entrada, nos dará una similitud entre esas dos señales.

Procesos aleatorios en procesamiento digital de señales
donde n = 0, ±1, ±2,...

rxy[n] ! convarianza cruzada de xy.

ryy[n] ! autoconvarianza

rxy[n] = Procesos aleatorios en procesamiento digital de señales
n=0, 1,...

Procesos aleatorios en procesamiento digital de señales
; Procesos aleatorios en procesamiento digital de señales

N ! depende del números de datos.

  • Autocorrelación (ACF).

Nos informa del comportamiento en el dominio del tiempo de la señal de entrada en concreto. También nos informa de las periodicidades de dicha señal (de sus características propias).

Procesos aleatorios en procesamiento digital de señales

Procesos aleatorios en procesamiento digital de señales
n = 0, 1,...

FILTRADO (DIGITAL).

Es básicamente una convolución, donde esté definido uno de los parámetros de la entrada de la convolución.

El filtro será:

Procesos aleatorios en procesamiento digital de señales
k = 0, 1,..., N-1

h(n) ! coeficiente del filtro, constante para un filtro determinado.

x(n) ! entrada

TRANSFORMACIONES DISCRETAS.

Son las que nos van a permitir la representación de señales en el dominio del tiempo transformándolas en el dominio de la frecuencia.

Descomponemos la señal en su componente frecuencial. Se usa para conocer el espectro de la señal y conocer así su ancho de banda, conociendo así las características del medio por el que se va a transmitir la señal.

Otra aplicación es para conocer la eficiencia de ciertos algoritmos como el de filtrado digital (sí es bueno o no).

La transformación más utilizada es la Transformada Discreta de Fourier:

Procesos aleatorios en procesamiento digital de señales
Procesos aleatorios en procesamiento digital de señales

MODULACIÓN.

Para poder transmitir una señal lo que se hace es modularla para obtener de ella unas características adecuadas para que pueda ser transmitido por un determinado medio de transmisión (BW, etc.).

La mayor aplicación de la modulación en la comunicación es poder transmitir o almacenar una señal.

El proceso de modulación se basa en producir variaciones en las propiedades de una señal de alta frecuencia, conocida como portadora, en sintonía con la señal que queremos transmitir o almacenar, denominada moduladora.

ALGORITMOS

Todas estas operaciones se realizan por medio de algoritmos, que simulan estas operaciones. Lo que se intenta es conseguir algoritmos más rápidos para realizar las mismas operaciones en un menor números de pasos. Algunos procesadores DSP poseen dispositivos para poder implementar los algoritmos de manera más fácil.

Algunas de las herramientas utilizadas para el diseño de estos algoritmos son por ejemplo:

  • MATLAB Y SIMULINKL: El cual es uno de los más utilizados en el mundo.

  • VisualDSP (El cual es un editor provisto por Analog Devices, en el cual se pueden escribir programas en lenguaje C o Assembler)

  • PRAAT Y SIGNALYZE (Utilizado principalmente en el campo de la medicina para el estudio de la voz)

PROCESAMIENTO DIGITAL DE LA SEÑAL EN TIEMPO REAL.

Una característica importante de los DSP es que trabajan a tiempo real, es decir, “A medida que el sistema recibe la señal, el sistema, en tiempos de respuesta muy reducidos, es capaz de dar la salida”, frente a la frecuencia fundamental de la señal.

El diagrama de bloques será el siguiente:

Este no tiene que ser el esquema general del procesado en tiempo real, pueden introducirse variaciones. Puede ser que no sean necesarias todas las etapas

  • Filtro de entrada: es un filtro Pasa Bajo que va a limitar el BW de la señal analógico de entrada para eliminar el ALIASING (solapamiento) que se produce en el ADC.

  • ADC: convertir la señal analógica en digital en varias fases. Es necesario un muestreador o mantenedor que mantenga el valor de la señal durante un momento determinado.

La existencia del mantenedor es generalmente obligatoria además mejora mucho el funcionamiento.

  • Procesador digital: procesa la señal muestreada x[n]. Obtenemos y[n].

  • DAC: corriente y[n] en una señal analógica.

  • Filtro de salida: elimina los componentes de alta frecuencia y alisa la señal de salida.

Ventajas de DSP frente a otras alternativas:

  • Precisión garantizada: Un sistema DSP nos da directamente una precisión. Viene determinado por el números de bits de los datos que estén usando en el muestreo, en el sistema DSP y en la conversión D/A.

  • Reproductividad perfecta: Nos permite recuperar la información que teníamos en el medio fuente. La señal se puede reconstruir en cualquier momento, sin obtener una degradación.

  • No existen derivas con la temperatura o el tiempo.

  • Los avances en la tecnología de integración afectan directamente a los avances en la tecnología DSP.

En cuanto a la frecuencia de funcionamiento a mayor frecuencia ! mayor rendimiento.

  • Gran flexibilidad (propia de procesos programables): Por ser procesadores programables es muy fácil modificar las aplicaciones o la secuencia de operaciones.

  • Mayor rendimiento: Se pueden usar incluso donde no se pueden utilizar los dispositivos analógicos.

Inconvenientes de DSP:

  • Velocidad y Costo:

El rendimiento de los dispositivos ha aumentado al usar señales con frecuencias cada vez mayores.

Los dispositivos DSP se suelen usar para el rango de frecuencias 1MHz. ! mayor rendimiento ! mayor costo.

Para señales de 100MHz. se usan sistemas analógicos. Al hacer el muestreo tan elevado repercute directamente a la velocidad.

Al ser más utilizados cada vez ! ! costo.

  • Tiempo de diseño: debido al desconocimiento de circuitos digitales, y los tipos de herramientas usadas para circuitos analógicos están más desarrollados.

Esto está relacionado con el costo ! A mayor tiempo (diseño) ! mayor costo.

  • Problema con la longitud de los datos.

Para obtener una alta precisión necesitamos un elevado número de bits. A medida que aumenta el número de bits, se complica el coste y el rendimiento del dispositivo (el tiempo de procesamiento será mayor).

Hay que escoger un número de bits adecuado que nos de la precisión adecuada el rendimiento y el coste.

A veces es interesante perder precisión para aumentar la frecuencia de muestreo y abaratar el coste ya que trabajamos en tiempo real.

ARQUITECTURA

Todas estas características se ven reflejadas en la adopción de la arquitectura Harvard, por parte de los procesadores digitales de señal frente a la clásica arquitectura Von Neumann utilizada por los procesadores de propósito general.

En la arquitectura Von Neumann solo hay un bus de datos, entonces los operandos no pueden cargarse mientras se buscan instrucciones provocando un cuello de botella. Por su parte en la arquitectura Harvard el procesador puede acceder a varios bancos de memoria empleando grupos independientes de buses, permitiendo cargar operandos mientras se buscan instrucciones.

En los esquemas de las figuras se observan las bases de las arquitecturas, comprobándose las diferencias anteriormente analizadas.

Arquitectura Von Neumann

Arquitectura Harvard

Análisis del MAC

La característica más importante de los DSP es la posibilidad de realizar la operación de multiplicar - acumular (MAC) en un solo ciclo de instrucción. Para poder ejecutar esta instrucción en un solo ciclo, los DSP integran un multiplicador y un acumulador en el camino principal del procesador.

Además para permitir series de operaciones de multiplicación-acumulación evitando desbordamientos aritméticos, generalmente disponen de un número de bits extra en el acumulador para permitir el crecimiento del resultado.

Memoria

Una segunda característica compartida por los DSP es poder realizar varios accesos a memoria en un solo ciclo de instrucción. Esto permite que el procesador busque una instrucción mientras a la vez accede a memoria en busca operandos y/o almacena el resultado de una operación anterior. La mayoría de los DSP son capaces de ejecutar una operación MAC mientras simultáneamente carga los datos y coeficientes para la siguiente instrucción MAC. En general los múltiples accesos a memoria en un solo ciclo tienen varias limitaciones, solo uno de los accesos puede ser a una memoria externa, y los múltiples accesos a memoria solo pueden tener lugar con determinadas instrucciones. Para permitir múltiples accesos simultáneos a memoria, los DSP tienen varios grupos de buses y memorias multipuertos y en algunos casos varios bancos de memoria diferentes.

Direccionamiento

Una tercera característica usada para aumentar la velocidad de procesamiento aritmético en los DSP es una o más unidades generadoras de direcciones. Una vez configurados los registros de direccionamiento, la unidad generadora de direcciones trabaja en paralelo con la ejecución de instrucciones aritméticas construyendo las direcciones necesarias para los accesos a operandos.

Las unidades generadoras de direcciones de los DSP pueden implementar varios modos de direccionamiento específicos para aplicaciones DSP:

Direccionamiento por registro indirecto con postincremento: se usa cuando un cálculo repetitivo se ejecuta sobre series de datos almacenados secuencialmente en memoria.

Direccionamiento de módulo: Se usa para simplificar el uso de buffers circulares. El modo de direccionamiento circular o de módulo permite la generación de buffers circulares, muy útiles para la implementación de correlaciones y convoluciones. Algunos algoritmos necesitan la implementación de un buffer circular en memoria. En la convolución y en la correlación, el buffer circular se usa como una ventana deslizante que contiene los datos que han sido más recientemente procesados; cuando se introduce un nuevo dato, el nuevo dato se escribe sobre el dato más antiguo.

Direccionamiento bits reverse: Se usa para el direccionamiento específico de la FFT. El orden en el que se accede a los datos en una FFT corresponde, en binario, al número de dato dentro de la secuencia pero invertido.

Set de INSTRUCCIONES

Como la mayoría de algoritmos DSP implican el desarrollo de cálculos repetitivos, la mayor parte de los DSP proporcionan un soporte especial para realizar bucles de forma eficaz. Normalmente, depende de una instrucción loop y repeat que permiten al programador implementar un bucle for-next sin gastar ningún ciclo de instrucción para actualizar y chequear el contador de bucle.

Entrada/salida

Para permitir transferencias de entrada/salida eficientes y a bajo costo la mayor parte de los DSP incorporan uno o varios interfaces de entrada/salida series o paralelos y mecanismos generales de entrada/salida para manejar interrupciones y accesos directos a memoria para permitir transferencias sin intervención del procesador.

PARÁMETROS DE SELECCIÓN DEL DSP ADECUADO

Como hemos visto hasta ahora, el DSP adecuado para cada tarea depende enormemente de esa tarea. Por ejemplo, un procesador que desarrolla bien ciertas tareas puede ser una pobre elección para otras. Basándonos en esto podemos considerar ciertas características que varían de un DSP a otro a la hora de elegir un procesador.

1. Rango Dinámico

Una forma de clasificar los dispositivos DSP y sus aplicaciones es por su rango dinámico. Se denomina rango dinámico al conjunto de valores, entre el menor y el mayor, que puede ser procesado en el curso de una operación. Esto nos ha de proporcionar un conjunto de valores para describir por completo una forma de onda señalada, desde el mínimo más profundo hasta el oscilación más alta. El rango ha de ser más amplio que el requerido para los cálculos, ya que se irán generando valores mayores y menores a partir de las multiplicaciones y divisiones.

El dispositivo DSP ha de tener la capacidad de manipular los valores que se generen, si no pudiera se produciría un desbordamiento.

La capacidad del procesador en función de su anchura de datos (él numero de bits que manipula) y del tipo de aritmética que permite (coma fija o flotante), nos permite asignarle un tipo correspondiente de aplicaciones, así como determinar cual dispone de un mayor rango dinámico. Un DSP de 32 bits tiene un rango dinámico mayor que uno de 24 bits, y este a su vez, mayor que uno de 16 bits. Los chips de coma flotante tienen rangos dinámicos más amplios que los dispositivos de coma fija. Cada tipo de procesador es ideal para un rango específico de aplicaciones. Los DSPs de 16 bits de coma fija, como por ejemplo la familia de Motorola DSP 56100 son buenos para sistemas de voz, como teléfonos, ya que estos DSP trabajan con el rango relativamente estrecho de las frecuencias del sonido. Las aplicaciones estéreo de alta fidelidad tienen un rango de frecuencias más amplio, usando un ADC de 16 bits y un DSP de 24 bits de coma fija como los DSP56002; el ADC es de 16 bits ya que es suficientemente amplio para obtener la señal de alta fidelidad completa, el DSP ha de ser de 24 bits para poder manipular los valores que se obtienen al procesar la señal. El procesamiento de imágenes, gráficas en 3D y simulaciones científicas tiene un rango dinámico mucho más amplio y necesitan DSPs de 32 bits con aritmética de coma flotante como por ejemplo el 96002 o el TMS320C30.

2. Formato aritmético

Una de las características más fundamentales de los procesadores digitales programables es el tipo de aritmética utilizada por el procesador. La mayor parte de los DSP usan aritmética de coma fija, donde los número se representan como enteros o como fracciones entre -1.0 y +1.0. Otros procesadores usan aritmética de coma flotante, donde los valores se representan por una mantisa y un exponente como mantisa x 2exp. La mantisa generalmente es una fracción con rango entre -1.0 y +1.0, mientras el exponente es un entero que representa en binario el número de lugares a partir de la coma que se debe desplazar a izquierda o derecha para obtener el valor representado.

La aritmética en coma flotante es mucho más flexible que la de coma fija. En coma flotante, los diseñadores de sistemas tienen acceso a un rango dinámico más amplio ( la distancia entre mayor y el menor valor que puede representar). Como resultado, los DSP de coma flotante son generalmente más fáciles de programar que sus correspondientes de coma fija, pero normalmente más caros. El incremento del costo se debe a la compleja circuitería necesaria para realizar los procesos en coma flotante. En coma flotante el programador no necesita conocer en muchos casos ni el rango dinámico ni la precisión, mientras que, en coma fija, los programadores han de ser cuidadosos asegurándose de que sus señales no excedan el rango dinámico.

Los procesadores de coma fija, se usan en muchas aplicaciones debido a su bajo costo. En estas aplicaciones son necesarios programas y algoritmos diseñados para determinar el rango dinámico y la precisión. En las aplicaciones en las que el costo es poco importante o bien es necesario un amplio rango dinámico o gran precisión, se utilizarán los procesadores en coma flotante.

En los procesadores de propósito general, la aritmética de coma flotante se suele simular mediante software, es decir, generando rutinas que emulen el elemento de aritmética en coma flotante. Estas rutinas tienen un alto costo en términos de ciclos de procesador. Una técnica más eficiente para incrementar el rango numérico de procesadores de punto fijo es el punto flotante de bloque, donde un grupo de números de mantisas diferentes y exponente común se procesan como un bloque de datos. Estos bloques se suelen manejar por software, aunque algunos procesadores tiene circuitería hardware para lograr su implementación.

3. Anchura de datos

Todos los DSP comunes de punto flotante usan una palabra de datos de 32 bits. Para DSP de punto fijo, el tamaño de palabra más común es de 16 bits (Existen excepciones como la familia DSP56000 de Motorola que usa un tamaño de palabra de 24 bits y la familia ZR38000 de Zoran, que emplea una de 20 bits). El tamaño del dato tiene una mayor repercusión en el costo, ya que influye notablemente en el tamaño del chip y el número de pins que requiere, así como el tamaño de los dispositivos externos conectados al DSP. Por todo esto, los diseñadores tratan de emplear anchuras de palabras lo más pequeñas posibles de acuerdo a sus necesidades.

Como en el caso de la elección entre coma fija y coma flotante, hay que buscar el equilibrio entre el tamaño de palabra y la complejidad de desarrollo. Por ejemplo, un procesador de 16 bits puede llevar a cabo operaciones aritméticas de 32 bits en doble precisión a través de encadenar juntas una combinación adecuada de instrucciones. Por supuesto la aritmética de doble precisión es mucho más lenta que la precisión simple. Si el volumen de una aplicación puede manejarse con aritmética de precisión simple, pero la aplicación necesita mas precisión para una sección pequeña del código, valdría la pena emplear selectivamente la aritmética de doble precisión.

Aunque normalmente todos los DSP emplean un tamaño de palabra de instrucción igual al tamaño de palabra de datos, aún así hay excepciones como el caso de la familia ADSP-2100 que trabaja con una palabra de datos de 16 bits y una de instrucciones de 24 bits o el ZR38000 de 20 bits que emplea una palabra de instrucción de 32 bits.

4. Velocidad

Se puede obtener una medida de que tan adecuado es un procesador para una determinada tarea a través de su velocidad de ejecución. Hay muchas formas de medir la velocidad de ejecución de los procesadores. Quizá la fundamental sea el tiempo de ciclo de instrucción: la cantidad de tiempo empleado en ejecutar la instrucción más rápida del procesador. El inverso de este tiempo dividido por un millón es la velocidad de ejecución del procesador en millones de instrucciones por segundo o MIPS.

Un problema al comparar tiempos de ciclos de ejecución es que la cantidad de trabajo terminado por una instrucción varía mucho de un procesador a otro.

Para resolver este problema, se toma una operación básica en lugar de una instrucción, y se usa como punto de referencia al comparar. Una operación común es la operación MAC, aunque desafortunadamente proporciona poca información para diferenciar procesadores, ya que en la mayor parte de los DSP modernos una operación MAC se ejecuta en un solo ciclo de instrucción, y algunos DSP son capaces de realizar mucho mas en una instrucción MAC que otros. Además los tiempos de MAC no reflejan la implementación de otras operaciones importantes como los bucles.

Un acercamiento más general es definir un conjunto de benchmarks estándar y comparar sus velocidades de ejecución en diferentes DSP. Estos benchmarks pueden ser simples algoritmos, funciones de kernel como filtros FIR o IIR, o pueden ser aplicaciones enteras o partes de esas aplicaciones. Implementar estos benchmarks de forma consistente en varios DSP y analizar sus resultados puede ser un objetivo difícil, pero existen programas software que nos facilitan esta tarea, como BDT Benchmarks.

Como ejemplo de la utilidad comparativa de los benchmarks, incluimos a continuación dos ejemplos. El primero es una comparación en la velocidad de ejecución de dos FFT, una de 256 y otra de 1024 puntos, sobre las tres arquitecturas analizadas en capítulos anteriores y un procesador Pentium como representante de las máquinas de propósito general. El tiempo está en microsegundos.

Si la comparación se realiza en términos de "millones de operaciones por segundo" (MOPS) o "millones de operaciones en coma flotante por segundo" (MFLOPS) hay que tener cuidado porque cada fabricante de DSP tiene ideas diferentes de lo que constituye un "operación". Por ejemplo, se dice que muchos procesadores de coma flotante tienen el doble de MFLOPS que de MIPS porque pueden ejecutar una multiplicación en coma flotante en paralelo con una suma en coma flotante.

Multiprocesamiento

Aplicaciones con una gran carga aritmética (como radar o sonar) a menudo requieren varios DSPs. En esos casos, facilidad de interconexión (en términos de tiempo de diseño de la circuitería de comunicaciones y el costo de unir los procesadores) y su funcionamiento (en términos de velocidad de comunicación y latencia) son los factores importantes. Algunas familias de DSPs (especialmente Texas Instruments TMS320C4x y Analog Devices ADSP-2106x) proporcionan hardware especial para el diseño de un sistema multiprocesador.

Potencia

Los DSPs cada vez se usan más en aplicaciones portátiles como teléfonos móviles donde el consumo se convierte en una característica importante. Por esto, la mayoría de los fabricantes de DSPs han reducido los voltajes de alimentación de los procesadores e incluyen algunas características que permiten al programador reducir el consumo, algunas de estas características son las siguientes:

Reducción del voltaje: los fabricantes han introducido versiones de baja potencia (3'3 ó 3'0 V) de sus DSPs. Estos procesadores consumen aproximadamente un 40% que sus equivalentes de 5 V a la misma frecuencia de reloj.

Modos "sleep" o "Idle": estos modos permiten desconectar el reloj del procesador, excepto de ciertas secciones del procesador, reduciendo el consumo. En algunos casos se sale de este estado mediante una interrupción no enmascarable, en otros sólo se sale a través de alguna línea externa de interrupción.

Divisores de reloj programables: algunos DSPs actuales permiten variar la frecuencia del reloj por software para usar la mínima frecuencia de reloj para cada tarea.

Control de periféricos: algunos DSPs permiten al programador deshabilitar los periféricos que no se usan.

A pesar de estas características es difícil obtener el consumo de los DSPs porque este consumo varía, hasta por un factor de 3, dependiendo de la instrucción que está ejecutando. Los vendedores suelen publicar el consumo típico o máximo sin especificar lo que constituye un programa típico.

CAMPO DE USO DE LOS DSPs

Después de analizar las arquitecturas de los dispositivos, se ha obtenido una visión general del abanico de aplicaciones que soportan los DSPs. Por ejemplo:

  • En el campo militar se utilizan los DSPs para procesamiento de radar, sonar o guía de misiles.

  • En el campo del tratamiento de voz y audio para la codificación, síntesis y reconocimiento de voz.

  • En el sector de las telecomunicaciones para la codificación ADPCM(Modulación por Codificación de Pulso Diferencial Adaptativo), cancelación de eco o telefonía móvil.

  • Algunos de los avances de los DSPs en instrumentación médica son las imágenes ultrasónicas, radiografías digitales y varias formas de tomografía (CAT, tomografía asistida por ordenador; PET, tomografía por emisión de positrones; MRI, imágenes por resonancia magnética).

  • Algoritmos avanzados en control de motores.

APLICACIÓN DEL DSP EN PROCESOS ALEATORIOS

Procesador de señales digitales ALEATORIAS para una prótesis auditiva

Se diseñó una prótesis auditiva basada en un procesador de señales digitales (DSP) con arquitectura flexible, que permite extraer la información lingüísticamente relevante, cualquiera que ella sea (El código es adaptable para extraer cualquier información, teóricamente, de una señal de habla que pueda ser procesada por medio de métodos numéricos.), y la transmite a la piel del niño por medio de un par de microvibradores. Se trabajan varios modelos lingüísticos en la determinación de la relevancia de las señales, se implementan varios algoritmos para proporcionar los requerimientos de velocidad y precisión y se experimenta con diferentes tipos de onda en cuanto a forma, frecuencia y amplitud para la transmisión de las vibraciones.

Actualmente en el mercado existen cantidad de soluciones como aparatos, instrumentos y hasta intervenciones quirúrgicas que se acoplan, en general, a las necesidades del individuo sordo.

Se tienen por ejemplo, desde audífonos ordinarios para sorderas leves, pasando por los ultrasensibles para niveles de hipoacusia moderados hasta

implantes cocleares para sorderas de tipo profundo. Es claro que a medida que el artefacto es más sofisticado en su diseño y tecnología sus costos aumentarán exponencialmente.

Este proyecto se acerca a una parte de la solución del problema de la adecuación de la tecnología para pacientes sordos, en particular niños con sorderas profundas.

En este proyecto se presenta una alternativa de prótesis para niños sordos que acompañada con una terapia adecuada.

Información relevante

Se plantean varias alternativas como información a transmitir al individuo sordo, sin embargo se van descartando debido a la relevancia o no de la información. Cabe la anotación que en este caso la relevancia está tratada subjetivamente y hace parte de la hipótesis planteada. Entre los métodos que se plantean están:

Mapeo lineal: Se define un ancho de banda, se divide y a cada división se le asigna una frecuencia central. La información transmitida por el vibrador asignado a una ventana es una oscilación cuya amplitud es proporcional a la cantidad de energía presente en dicha ventana. Es descartado porque existe demasiada información redundante que dificulta el proceso de entendimiento adicional a que el número de vibradores incrementaría sustancialmente y no cumpliría con los objetivos del proyecto de precios accesibles.

Codificación frecuencial: Es una variante del anterior, la diferencia radica en que se pretende crear un código de frecuencias reconocibles por el paciente que representen bloques de frecuencias en el espectro real. Es decir, cierto código representa la ventana vista anteriormente. Esta es una alternativa que no fue estudiada a fondo debido al surgimiento de la hipótesis en la que se basa este proyecto, la cual es descrita posteriormente. Además de contener información no relevante se pierde información importante al no tener en cuenta las variaciones en cada una de las ventanas.

Transmisión de fonemas: Se enfrenta ahora la posibilidad de reconocer la voz y codificarla y transmitirla. Sin embargo se sale del campo de acción ya que el fonema trae consigo la complejidad del idioma lo que implica máquinas de procesamiento complicadas y grandes volúmenes de información para almacenar. Es importante aclarar que entre más complicado sea el proceso más tiempo de ejecución y es deseable que la información sea entregada en tiempo real.

Suprasegmentales: Uno de los objetivos del proyecto es brindar al individuo sordo un instrumento que le permita interactuar acústicamente con el mundo que le rodea. No se trata de reconocer voz en el sentido literal, se trata de reconocer los aspectos discursivos (i.e. el mensaje contextualizado con su entorno) de las señales de habla, por medio de un análisis de la misma. Se plantea entonces a siguiente hipótesis: Si se le transmite de manera

adecuada una información depurada, en este caso, algunas de los componentes suprasegmentales, es posible reducir los tiempos de terapia y adaptación de los niños sordos al elevar su comprensión de traducciones táctiles de las señales acústicas del habla y su capacidad desplegar un comportamiento lingüístico normal. La hipótesis se basa en observaciones de índole lingüístico y terapéutico: lo primero es el desarrollo de una solución empírica y criolla, en el cual la señal en bruto fue amplificada y transmitida directamente con resultados aceptables de aprendizaje. Estudios más elaborados han demostrado que el cerebro tiene la capacidad de discernir los sonidos del mundo de los sonidos lingüísticos. Se trata pues de hacer de una manera global la función que el sistema auditivo (incluida la corteza) desempeña en la discriminación de los sonidos, para así entregar a la piel, elemento no especializado para esta función, una serie de "signos" vibratorios que representen lo relevante en el mensaje. Basado en lo anterior, en esta primera versión se han escogido la frecuencia fundamental y la intensidad, términos a definir a continuación, como parte de la información relevante a transmitírsele al niño.

  • Frecuencia fundamental (pitch): es el fenómeno perceptual auditivo que se relaciona con las variaciones en la tasa de repetición de una señal sonora periódica. Lo que en términos más coloquiales se refiere a la frecuencia a la cual las cuerdas vocales vibran en el momento de la producción del habla. Debido a que esta señal se puede representar como una onda senoidal, fácilmente se le puede transmitir al niño a través de los microvibradores. En la figura 1 se muestra un ejemplo de este tipo de modulación.

- Intensidad: es una medida de la cantidad de energía contenida en la señal. Básicamente la intensidad de la señal es modulada en frecuencia para que la transmisión se simplifique a ondas senoidales fácilmente percibidas por la piel del individuo. Estudios psicoacústicos sugieren que un tratamiento apropiado de estas propiedades físicas de la señal debe tener en cuenta su proceso psicofísico por parte de los sujetos. Por lo anterior este proyecto hace una aproximación a este análisis psicofísico introduciendo un procesamiento adicional. La última parte de información relevante corre por cuenta de la terapia, en este grupo cae información de los formantes y de señales de mayor frecuencia que coinciden en gran parte con las posiciones de la parte superior del tracto vocálico.

Experiencia con los microvibradores

Como el medio de recepción de la información es el tacto es necesario conocer cómo es el tipo de respuesta que presenta a estímulos de tipo vibratorio. Se plantean dos objetivos: encontrar cuál es la frecuencia máxima a la cual la piel alcanza a sentir la vibración y hallar las frecuencias a las cuales la piel responde más adecuadamente. De las pruebas realizadas se concluye: que la frecuencia máxima promedio entre hombres y mujeres está alrededor de los 600Hz. Aunque puede parecer que es una frecuencia baja, se debe reconocer que las cuerdas vocales humanas no vibran más allá de está frecuencia. Posterior a este experimento se hacen barridos en frecuencia para determinar dónde se localizan mayores respuestas. Se encuentra que existen diferencias muy marcadas entre individuos, lo que no permite determinar muy claramente cuáles son las frecuencias de mayor sensibilidad, se pretendía hallar una serie de ventanas análogas a las

encontradas ya para el oído.

Procesos aleatorios en procesamiento digital de señales

Figura 1. Transmisión de frecuencia fundamental

Sin embargo se encuentra que la sensibilidad de la piel está enmarcada más en los cambios de frecuencia de la vibración que en la vibración misma. En este sentido el resultado es importante ya que las funciones lingüísticas de la frecuencia fundamental se centran en los cambios de la misma.

Por otra parte se estudia también la respuesta de los microvibradores a la frecuencia y siendo éstos impedancias, varían con respecto a la frecuencia del estímulo. Esto se corrige fácilmente mediante una escalización en la onda de salida calculada con la inclusión de la impedancia en el modelo.

Diseño del prototipo

Se utiliza una metodología top-down. El planteamiento del problema se describe en las secciones anteriores y con mayor énfasis en la introducción. En cuanto a la arquitectura, se plantean dos opciones: Lógica programable (hardware), o dispositivos programables (software), las dos alternativas son llamativas y son viables como ejercicio de diseño, sin embargo implementar sobre lógica programable las funciones de tipo aritmético con su respectiva validación y verificación posteriormente el encaje del algoritmo de procesamiento, implica tiempos de diseño que no se justifican al tener otras alternativas. Así que todo el procesamiento de datos se basa en software implementado sobre un DSP. Se elige este tipo de dispositivo debido a las múltiples operaciones aritméticas que deben ser realizadas y que deben cumplir con los requerimientos de tiempo y de consumo de energía. La adquisición y posterior entrega de las señales se hace mediante dispositivos hardware de uso comercial, amplificadores y filtros análogos. La partición HW.SW se muestra en la figura.

Procesos aleatorios en procesamiento digital de señales

Partición HW . SW

Las simulaciones y validaciones de los algoritmos desarrollados se realizan mediante programas de procesamiento de datos como es MATLAB y más especializados como son PRAAT y SIGNALYZE para el procesamiento de señales de habla. Para encontrar la frecuencia fundamental se implementan dos algoritmos: autocorrelación directa y autocorrelación a través de la transformada de Fourier. Éstos son implementados en aritmética de punto fijo y punto flotante.

Los dos algoritmos presentan resultados satisfactorios con respecto a la confiabilidad de la información extraída, no obstante debido a que la arquitectura del DSP está diseñada para trabajar con punto fijo los tiempos de ejecución de las rutinas de punto flotante hacen inviable este método. Así pues, el algoritmo que se elige es el de la autocorrelación a través de la transformada de Fourier en punto fijo. Por medio de redimensionamiento y "trucos" matemáticos este algoritmo ofrece los requerimientos de velocidad, espacio y precisión.

Finalmente, dentro de los bloques constitutivos del prototipo se observa un preamplificador de voz, un banco de filtros encargados de reducir el ancho de banda entre 60 y 600Hz que es donde se encuentran las señales de frecuencia fundamental y finalmente está un amplificador de potencia que es el encargado de manejar los microvibradores.

Resultados

En cuanto a resultados de tipo electrónico, el diseño de la prótesis está completo. Los algoritmos simulados y verificados con programas específicos, adicional también se implementaron sobre la tarjeta de evaluación del DSP y los tiempos de procesamiento son satisfactorios. La tarjeta prototipo sobre la cual están los elementos finales de la prótesis está diseñada y sus planos y artes listos. Desafortunadamente se cuentan con dos inconvenientes de tipo comercial y financiero.

Procesos aleatorios en procesamiento digital de señales

Manejo de memoria

Los circuitos integrados sobre los cuales está basada la tarjeta no se consiguen comercialmente en el país y por tanto retrasa el implementación física de la misma. Lo anterior se ha podido solucionar con muestras de algunos componentes, no de la totalidad. El segundo inconveniente es de tipo financiero, debido a que los componentes con los cuales se trabaja el circuito impreso requiere características especiales entre las que se encuentran el diseño multicapa lo cual en el país no hay fábrica que los haga, así que se cotiza el impreso en el exterior. Los precios obtenidos para prototipos, menos de 10 tarjetas, son del orden de un millón y medio de pesos, suma que se sale del presupuesto. No obstante, se cuenta con las tarjetas de evaluación para comenzar a realizar las pruebas sobre niños y/o pacientes sordos. Los resultados de éstas son a mediano plazo debido a que el proceso de aprendizaje y terapia y su correspondiente evaluación no se pueden acelerar.

MONITOREO DE MÁQUINAS ROTATIVAS

La técnica de monitoreo de máquinas usando DSP es usado para mantenimiento preventivo.

El mantenimiento preventivo consiste en anticiparse a la falla de una máquina y con esto evitar el apagado de la producción.

Para detectar una falla en una máquina rotativa antes de que ocurra una, se obtiene el espectro de frecuencia de las vibraciones de la máquina.

Procesos aleatorios en procesamiento digital de señales

Adquisición de datos

Unos Sensores son usados para este propósito, siendo los más usados los acelerómetros. Hay de 2 tipos:

  • Piezoeléctricos

  • Capacitivos

  • Una vez obtenida las vibraciones, se debe convertir la señal de análogo a digital. Para esto se usa un convertidor A/D, AD7862 de 12bits, que puede trabajar a una frecuencia máxima de 200KHz.

    PROCESAMIENTO DE DATOS

    Para el procesamiento de la señal se usa el DSP ADS-2106 de ANALOG DEVICES ,que tiene las siguientes características:

  • 40mps

  • 1Megabit de memoria SRAM

  • unidad de compilación en punto flotante de 32bits

  • Diferentes ventanas que se muestran en pantalla sirven de interface con el DSP mostrando los resultados obtenidos en MATLAB.

    Procesos aleatorios en procesamiento digital de señales

    Una señal digital proveniente del DSP se transforma a analógica para llegar a un indicador cercano a la máquina como una segunda opción de aviso en caso de irregularidades.

    Para el procesamiento de la señal se usa el DSP ADS-2106, que tiene las siguientes características:

  • 40MPS

  • 1 Megabit de memoria SRAM

  • unidad de compilación en punto flotante de 32bits.

    La técnica de monitoreo de máquinas rotativas usando DSP es usado para mantenimiento preventivo.

    El Mantenimiento preventivo consiste en anticiparse a la falla de una máquina y con esto evitar el apagado de la producción.

    Parar detectar una falla en un máquina rotativa antes q pase ésta, las vibraciones de la máquina son reguladas y su espectro de frecuencias es obtenido.

    Para el procesamiento de la señal se usa el DSP ADS-2106, que tiene las siguientes características:

  • 40MPS

  • 1 Megabit de memoria SRAM

  • unidad de compilación en punto flotante de 32bits.

    CONCLUSIONES

    En este trabajo se ha buscado realizar un pequeño estudio, de una tecnología en pleno desarrollo. Durante su ejecución, se ha procedido a la recopilación de material tal como: manuales de usuario, textos y fundamentalmente publicaciones obtenidas de los propios fabricantes a través de Internet, lo que proporciona una alta seguridad acerca de la actualidad y validez de los datos aquí expuestos.

    Fundamentalmente se ha realizado el estudio del tratamiento digital de la señal que explica la existencia de estos procesadores, las arquitecturas fundamentales que éstos adoptan y las aplicaciones que soportan, así también analizado qué dispositivo dentro de la gama de DSPs que existe en el mercado, se adapta de mejor forma a tareas concretas, o cuales serian óptimos para la solución de problemas en campos que van desde militar hasta el medico.

    Siendo conscientes de que la investigación y el desarrollo con procesadores digitales de señal es, aunque muy extendido, de relativamente corta aparición, el objetivo primordial de este informe, es poder mirar los DSPs como herramientas que apoyan el constante desarrollo humano, y que de acuerdo al grado de avance de estos en su estructura y diseño se han incorporado a nuestro diario vivir, tanto en comunicaciones como el procesamiento de imágenes y sonido, es así como muchos artefactos electrodomésticos contienen DSPs sin ni siquiera darnos cuenta de aquello.

    BIBLIOGRAFÍA

  • J.G. Proakis, D. G. Manolakis. Tratamiento Digital de señales. Prentice Hall, 1997

  • A.V. Oppenheim, A s Willsky. Señales y Sistemas, 2da Edición. Prentice Hall, 1998

  • BIBLIOGRAFÍA: “DIGITAL SIGNAL PROCESSING”, Emmanuel C. Ifeachor, Ed.: Addison-Wesley.

  • Gran parte de la información aquí presentada, fue una recopilación de la navegación efectuada a través de Internet, y aquí se mencionan las paginas web que sirvieron de fuente de información para este informe:

  • http://www.ti.com

    http://www.mot.com

    http://www.analog.com

    http://www.bdti.com

    http://www.eg3.com/dspxmix.htm

    http://www.wavelet.org/wavelet/index.html

    http://www.itu.ch

    http://www.dsp.rice.edu

    http://www.cera2.com/dsp.htm

    http://www.geocities.com/Colosseum/Track/8462/

    http://www.bores.com/courses/intro/chips/6_world.htm

    h[n]

    x[n]

    y[n]

    y(n)

    y[n]

    x[n]

    x(t)

    Filtro de entrada

    ADC

    muestreador

    Filtro de salida

    Procesador Digital

    DAC