You are on page 1of 28

Fundamentos de procesamiento digital de seal Introduccin a DSP

Ventajas del Procesamiento Digital Conversin analgico-digital Muestreo y Aliasing. Procesadores digitales de Seal.

Francisco.Gomez@ii.uam.es

Qu es DSP?
DSP: Es una disciplina identificada por el acrnimo en Ingls de Digital Signal Processing. Comprende los fundamentos matemticos y algortmicos que describen como procesar, en un ambiente de computo digital, informacin asociada a seales provenientes del mundo real. Digital: Sistema electrnico (digital) que opera con datos discretos representados en binario y de precisin finita. Seal: Un parmetro variable por medio del cual la informacin es transmitida en un sistema electrnico Procesamiento: la realizacin de operaciones en los datos mediante una secuencia de instrucciones programadas de acuerdo a un algoritmo que modifica dichos datos o extrae informacin de los mismos. DSP: Es el dispositivo identificado por el acrnimo Digital Signal Processor. Implementa ciertas soluciones especializadas de hardware que aceleran la ejecucin de los algoritmos de DSP.
Francisco.Gomez@ii.uam.es

Un poco de historia
1948: Claude Shannon, A mathematical theory of communication Bell System Tech Journal 1948 1956: Texas instruments desarrolla un procesador digiral para datos ssmicos. 1965: James Cooley & John Tukey: algoritmo FFT 1970: Bishnu Atal: Linear predictive coding. 1980s: Primeros DSPs de Texas intruments, Intel, NEC. 1990:MPEG-1 layer 3 (MP3) 2000s: MPEG-7 (Multimedia Content Description Interface)
Francisco.Gomez@ii.uam.es

Procesamiento Digital de Seal

Francisco.Gomez@ii.uam.es

Conceptos bsicos
Algunas ventajas sobre procesamiento analgico Simplicidad y Versatilidad Los sistemas pueden ser programados Portabilidad a diferente hardware Estabilidad y Repetitibilidad Fcilmente duplicable No cambia con la temperatura Utilizacin de una representacin o formato digital Admiten cdigos de deteccin de errores Se pueden realizar funciones especiales

Francisco.Gomez@ii.uam.es

Conceptos bsicos
Se pretende cambiar o analizar informacin qu es medida como una secuencia discreta de nmeros. El procesamiento con un DSP es un campo del procesamiento digital en general que se caracteriza por Las seales vienen del mundo real Necesidad de trabajar en tiempo real Necesidad de medir seales y convertirlas en nmeros Las seales son discretas: Informacin entre muestreos se pierde

Francisco.Gomez@ii.uam.es

Conceptos bsicos
Bases matemticas
Modelado de seales continuas. Series y Transformada de Fourier, Transformada de Laplace, filtros analgicos. Convolucin y Correlacin Sistemas muestreados, cuantificacin de seales: ruido de cuantificacin Modelado de seales muestreadas: la Transformada Z Transformada discreta de Fourier (DFT), transformada discreta del coseno (DCT), otras transformaciones (Wavelet,Hartley,..)

Mtodos algortmicos:
Transformada rpida de Fourier (FFT) otros algoritmos tpicos: (Ej: Algoritmo de Goertzel, ...) Diseo de filtros digitales
Francisco.Gomez@ii.uam.es

Representacin de seales en el dominio de tiempos y en el de frecuencias

Francisco.Gomez@ii.uam.es

Seales reales: conceptos bsicos

Las seales reales son la combinacin de muchas frecuencias Ancho de Banda = 2 f m Espectro = Contenido en frecuencias.

Francisco.Gomez@ii.uam.es

Tratamiento de seales

La mayora de los fenmenos naturales macroscpicos estn asociados a seales continuas: temperatura, radiacin, sonido, velocidad y direccin del viento, humedad, .. Lo mismo sucede con muchos fenmenos fsicos usados en aplicaciones tecnolgicas: fuerza, velocidad de giro, potencia, etc... Sin embargo, a veces es til definir seales imaginarias (usando nmeros complejos) para facilidad de clculo
Francisco.Gomez@ii.uam.es

Tratamiento de seales
Las seales reales son analgicas Transductor Conversor a seal elctrica A-D cuantizacin muestreo DSP Manipulacin digital

Francisco.Gomez@ii.uam.es

Conversin A/D
Muestreo temporal => Periodo TM Cuantificacin => Nmero de bits N

Francisco.Gomez@ii.uam.es

Cuantificacin

Francisco.Gomez@ii.uam.es

Muestreo
Tomar una medida a intervalos peridicos. Periodo de muestro fijo. Estimar el valor del precio de la accin en el tiempo que no disponemos de datos.
Tiempo ( Das)

Valor (pesetas)

Periodo de Muestreo: tiempo entre medidas. Tiempo de Muestreo: tiempo empleado en tomar una medida.

Francisco.Gomez@ii.uam.es

Prdida de Informacin
Tomar muestras a intervalos NO peridicos en los puntos de inters La interpretacin de informacin es ms difcil. Periodo de muestro fijo
Se pierde informacin?
Precio de venta

Valor (pesetas)

Precio de venta

Valor (pesetas)

Es ms fcil de interpretar.

La CLAVE es la Frecuencia de Muestreo.


Francisco.Gomez@ii.uam.es

Eleccin del periodo de muestreo

Francisco.Gomez@ii.uam.es

Problema de mltiples Alias

Francisco.Gomez@ii.uam.es

Problema de mltiples Alias

Francisco.Gomez@ii.uam.es

Problema de mltiples Alias

Francisco.Gomez@ii.uam.es

Problema de mltiples Alias

Francisco.Gomez@ii.uam.es

Problema de mltiples Alias

Francisco.Gomez@ii.uam.es

Seales 2D: Imgenes


Una imagen digital es una imagen f(x,y) que ha sido discretizada o cuantificada en las coordenadas espaciales y en su brillo. As pues una imagen digital se puede considerar como una matriz cuyos ndices de filas y columnas (NxM) identifican a un punto en la imagen y el valor de la matriz en ese punto ser el nivel de gris en ese punto (caso de una imagen monocroma con varios niveles de gris). Perdida de informacin al capturar una imagen: Discretizacin a pxeles (muestreo). Resolucin Rango limitado de valores de intensidad luminosa (cuantificacin).

Muestreo y cuantificacin
El muestreo de la imagen tiene el efecto de reducir la resolucin espacial de la misma. La diapositiva siguiente muestra el efecto de captar una misma imagen a diferentes resoluciones. Todas ellas han sido transformadas al mismo tamao para su visualizacin:

De izquierda a derecha y de arriba a abajo. Muestreo a 256 x 256, 128 x 128, 64 x 64 y 32 x 32 pxeles

Cuantificacin
El efecto de la cuantificacin viene dado por la imposibilidad de tener un rango infinito de valores de medida para la intensidad de brillo de los pxeles.

Efecto de la cuantificacin: De izquierda a derecha, 8 bits, 1 bits y 4 bits. bits

Muestreo y cuantificacin
Muestreo y cuantificacin no uniforme un esquema adaptativo donde el proceso de muestreo depende de las caractersticas de la imagen. En general se requiere un muestreo ms preciso en las cercanas las transiciones ms bruscas de niveles de gris que en las regiones ms suaves donde se puede aplicar un muestreo ms burdo. El aplicar este mtodo supone un estudio previo de las caractersticas de la imagen. Aliasing espacial Para que una frecuencia de muestreo sea correcta, esta ha de ser, al menos, el doble de la frecuencia espacial de la imagen que se est muestreando. Si no se respeta se produce lo que se conoce como Aliasing, apareciendo artificios y visualizndose frecuencias que no existan en la imagen original

Bibliografa en Web
The Scientist and Engineer's Guide to Digital Signal Processing by Steven W. Smith California Technical Publishing ISBN 0-9660176-3-3 (1997) http://www.dspguide.com/ http://www.bores.com/

Francisco.Gomez@ii.uam.es

Procesadores digitales de Seal


Estructura tpica de un sistema DSP Caractersticas y ventajas de los DSPs Arquitecturas/tipos de DSPs Aplicaciones de los DSPs

Francisco.Gomez@ii.uam.es

Procesamiento Digital de Seal

La entrada es una seal analgica Se convierte la seal analgica a digital Procesar matemticamente la representacin de la seal Volver a convertir de digital a analgica Dar como salida una seal analgica Procesamiento en tiempo Real de la representacin Matemtica de la seal
Francisco.Gomez@ii.uam.es

Procesamiento Digital de Seal


Por qu usar procesamiento digital de seales?

Francisco.Gomez@ii.uam.es

Estructura de un sistema DSP: Filtro IIR


Sistema muy utilizado, permite por ejemplo aislar las seales con una caractersticas de frecuencia especficas

Funcin de transferencia

Ecuacin en diferencias

H (z) =

b0 + b1 z 1 + b2 z 2 1 + a1 z 1 + a 2 z 2
x(n)

y(n) = a( k ) y(n k ) + b( k ) x(m k )


k =1 k =0

Diagrama de flujo
+ Z-1 + -a1 Z-1 -a2 b2 b1 + b0 + y(n)

Francisco.Gomez@ii.uam.es

Por qu es necesario un procesador de propsito especfico?


Estas operaciones requieren muchos clculos de la forma: A = B*C + D Esta ecuacin simple involucra una multiplicacin y una operacin de suma La instruccin de multiplicacin de un procesador de propsito general es muy lenta en comparacin con la instruccin de suma El microprocesador Motorola 68000 necesita 10 ciclos de reloj para una suma 74 ciclos de reloj para una multiplicacin

Francisco.Gomez@ii.uam.es

Qu es un DSP?
Es un microprocesador con un juego de instrucciones dedicado al procesado digital de seal: Mayor paralelismo Juego de instrucciones orientado a MAC y = ax1 + bx2 + cx3 + ... Filosofa microcontrolador: CPU + memoria interna + perifricos Es raro que tengan conversores A/D o D/A

Francisco.Gomez@ii.uam.es

Procesadores DSP
DSP tpico

Francisco.Gomez@ii.uam.es

DSP vs microprocesador genrico En qu difiere un DSP de una CPU tradicional?


por sus aplicaciones de software: aplicaciones cclicas, de duracin acotada, donde se requiere altsima eficiencia de ejecucin uso de Assembler y dialectos especiales del lenguaje C para optimizar el cdigo algoritmos usuales: filtrado
convolucin (interaccin de dos seales) correlacin (comparacin entre seales)
Francisco.Gomez@ii.uam.es

DSP vs microprocesador genrico En qu difiere un DSP de una CPU tradicional?


por sus recursos de hardware:
disponibilidad de modos de direccionamiento especializados (Ej: bit-reversal, colas circulares) varias unidades de procesamiento operando en forma concurrente (MAC, Barrel Shift,... operaciones aritmticas especiales: algunos DSPs con unidades FP. esquema de Timing e Interrupciones mucho ms orientado a acciones en tiempo real pocos o nulos recursos que generan latencias, como memoria virtual, caches, etc.
Francisco.Gomez@ii.uam.es

DSP vs microprocesador genrico


En qu difiere un DSP de una CPU tradicional?
por sus recursos de hardware:
Arquitecturas tipo HARVARD con mapas de datos e instrucciones separados Dos o ms mapas de memoria de datos que permiten leer concurrentemente operandos y coeficientes Manejo especializado de punteros de direcciones a travs de unidades de clculo dedicadas Opciones para la digitalizacin y captura de seales con intervalos regulares (DMA) Recursos internos o dispositivos perifricos especializados para la conversin A/D y D/A de seales, as como para el filtrado anti-alias y la reconstruccin

Francisco.Gomez@ii.uam.es

DSP vs microprocesador genrico En qu difiere un DSP de una CPU tradicional?


por sus recursos de hardware:
Elevada capacidad de procesamiento aritmtico de datos en tiempo real, con elevada precisin, para evitar problemas de redondeo y truncamiento Etapas Multiplicadora/Acumuladora (MAC) apta para resolver ecuaciones del tipo A = A + (B x C) en un nico ciclo Circuitos BS (Barrel Shifter) para desplazar un dato varios bits a derecha/izquierda en un nico ciclo de instruccin Una ALU operando en forma independiente al MAC y al BS Cdigos de operacin para controlar MAC, ALU y BS en una nica instruccin (varias operaciones concurrentes )
Francisco.Gomez@ii.uam.es

Procesadores DSP
Evolucin de los procesadores DSP

Francisco.Gomez@ii.uam.es

Procesadores DSP
Tipos
Multiprocesadores DSP en un chip
TMS320C80 TMS320C6000 TI TMS320C4x Motorola 96000 AT&T DSP32C Analog Devices ADSP21000 TI TMS320C2x Motorola 56000 AT&T DSP16 Analog Devices ADSP2100

Procesadores 32Bit- Floating Point

Procesadores 16Bit- Fixed Point

Francisco.Gomez@ii.uam.es

Consideraciones para optimizar un DSP


#1: La CPU se disea considerando la aplicacin DSP. Un entorno que permite la ejecucin eficiente de operaciones de un proceso DSP, tal como realizar MAC en un ciclo. #2: Buses mltiples para un flujo eficiente de instrucciones y de datos Sistema de gestin de datos que permite un procesamiento eficiente de vectores y streams de datos en tiempo real. (Arquitectura Harvard) #3: Conjunto de instrucciones muy especifico para conseguir gran potencia de calculo en DSP. (Highly-tuned instruction set) Instrucciones sofisticadas que se pueden ejecutar en muy pocos ciclos , con menos cdigo y menor consumo de potencia.

Francisco.Gomez@ii.uam.es

Caractersticas de los Procesadores DSP


Muchos registros Permiten guardar datos temporalmente Registros enteros y de punto flotante Generador eficiente de direcciones Poseen registros de direcciones Usualmente se genera en operaciones de fetch o store Operaciones tpicas
*rP *rP++ *rP-*rP++rI ( registro indirecto) *rP++rIreverse ( util para algoritmo FFT)

- Buffers Circulares
Francisco.Gomez@ii.uam.es

Procesadores DSP
Arquitectura Harvard Un bus instrucciones, otro para datos Usualmente permiten usar ambos para operandos Normalmente memoria cache para instrucciones Requiere gran cantidad de pines

Francisco.Gomez@ii.uam.es

Procesadores DSP
Formato de datos Enteros 0 10 1 00 1 1
-27 26 25 24 23 22 21 20 = 26 + 24 + 21 + 20 = 83

Coma fija: el punto decimal est prefijado ( nmeros <1)

0 10 1 00 0 0
-20 2-1 2-2 2-3 2-4 2-5 2-6 2-7

= 2-.1 + 2-3 = 0.5+0.125 = 0.625

Francisco.Gomez@ii.uam.es

Procesadores DSP
Coma fija con 32 bit (Q31): Formato x=(-1)s+0.f

30

0
2-32 2-31

-20 2-1 2-2 2-3 2-4

m31x(-2)0+m30x2-1+ m29x2-2+.+ m1x2-30+m0x2-31 Ejemplo Q3 (4bit) (-2)0 0 0 0 1 1 1 2-1 2-2 2-3 0 0 1 1 1 0 1 1 1 1 0 0 1 0 1 0 1 1 = 0+0+0+0.125 = 0.125 = 0+0.5+0.25+0 = 0.75 = 0+0.5+0.25+0.125 = 0.875 = -1 = -1+0.5+0+0.125 = - 0.375 = -1+0.5+0.25+0.125 = - 0.125 menor negativo
Francisco.Gomez@ii.uam.es

menor positivo

mayor positivo mayor negativo

Procesadores DSP
Punto flotante Escalado automtico de nmeros Un nmero muy grande es automticamente escalado hacia abajo. Un nmero pequeo es automticamente escalado hacia arriba.
Formato 32 bit ANSI/IEEE 754-1985 precisin simple

Francisco.Gomez@ii.uam.es

Procesadores DSP
Punto flotante

Ejemplo1

Ejemplo2

Francisco.Gomez@ii.uam.es

Criterio de seleccin de un DSP


Formato Aritmtico Punto fijo vs coma flotante Ancho de palabra Rendimiento
Bajo: ~ 25 a 50 MHz, bajo consumo y coste. Medio: ~150 MHz, multiproceso Alto: Arquitectura mejorada, VLIW o SIMD

PARAMETROS Rango dinmico


valor mximo Rango Dinmico = 20 log10 valor mnimo

Mayor Rango dinmico supone la representacin de un conjunto mayor de datos sin overflow

Otros Interfases externos Multiproceso Consumo de potencia Coste

Diferentes aplicaciones tienen diferentes necesidades Telecom : 50 dB High Fidelity : 90 dB Precisin


valor mximo Max Pr ecisinbits = log 2 max . error de cuantizacin
Francisco.Gomez@ii.uam.es

Procesadores DSP
Punto flotante

Mayor nmero = (2-223) x 2128 = 6.8 x 1038 Valor menor (incremento) = (1.0) x 2-127 = 5.9 x 10-39 A los que hay que quitar los patrones que el estndar reserva para definir 0, , NaN Valor absoluto mximo= (2-223) x 2127 = 3.4 x 1038 Valor absoluto mnimo= 1.0 x 2-126 = 1.2 x 10-38

valor mximo Rango Dinmico = 20 log10 valor mnimo = 1529 dB.


Francisco.Gomez@ii.uam.es

Seleccin de un DSP

Hardware mas sencillo Menos silicio Menor coste Mayor velocidad de CPU Menor consumo de potencia

Mayor Rango dinmico Arquitectura de la CPU Perifricos Menor esfuerzo en la codificacin No es necesario un escalado Mayor precisin Aunque depende del tamao de la palabra.
Francisco.Gomez@ii.uam.es

Procesadores DSP
Precisin en punto flotante Ejemplos de espaciado entre nmeros en coma flotante de simple precisin. El espaciado esta entre una 1 parte en 8 millones y 1 parte en 17 millones del valor del nmero

Francisco.Gomez@ii.uam.es

Procesadores DSP
Punto flotante de doble precisin (64 bits) Signo 1 bit Exponente 11 bit Mantisa 52 bit

Francisco.Gomez@ii.uam.es

DSP de Texas Instruments


Rendimiento eficiente y Consumo Control
Almacenamiento Control de Motores Memoria Flash A/D Generadores PWM Wireless, Telfonos moviles Modems / DTMF para Telf VoIP .32ma/MIPS $5 / 100 MIPS

C6000
(C62x, C67x) C3x C4x C8x

C5000
(C54x) C5x

Alto Rendimiento Multi-Canal / Function


Comunicaciones xDSL Imagenes, Video arquitectura VLIW 2400 MIPS + Hasta 1 GHZ

C2000
(C20x, C24x) C1x C2x

Francisco.Gomez@ii.uam.es

Aplicaciones
Filtrado y compresin de audio y video, cancelacin de ruido:
ecualizacin y tratamiento alineal para mejorar la relacin seal/ruido o el uso del ancho de banda (Ej: ADPCM, MPEG2, MP3, FAX)

modems:
mtodos de modulacin y demodulacin digital de datos sobre un canal de ancho de banda y ruido propio dado. P.Ej:(ASK, FSK, PSK, DPSK, QAM, TCM)

sealizacin:
envo y deteccin de informacin de control sobre un canal de voz o datos (P.Ej: DTMF, R2, CallerID)

cancelacin de eco:
para compensar ecos en sistemas de elevado tiempo de propagacin (Ej: VOIP: Voice Over IP) o con elevado tono local (telefona de manos libres)

cifrado:
para comunicaciones seguras

deteccin y correccin de errores:


agregado de datos a la informacin transmitida para detectar y corregir eventuales errores de recepcin

Francisco.Gomez@ii.uam.es

Aplicaciones

telefona celular:
manejo dinmico de frecuencias y potencias en estaciones base Multiplexores T1 y Switches PBX: T1 para uso combinado de datos y voz PBX para centrales telefnicas digitales Sntesis digital directa: para estaciones de broadcast totalmentedigitales Tratamiento de seales de RF: telefona celular, modulacin y demodulacin digital, spread-spectrum. Medicina: tomografa, MNR, ecografa, scanners, electrocardiograma, electroencefalograma, diagnstico asistido Visin artificial y OCR: Optical Character Recognition telemetra: monitoreo satelital de recursos, prospeccin petrolera/minera/submarina Sonar y Radar: radares de apertura sinttica, arrays de antenas, deteccin de blancos mviles, deteccin doppler, navegacin, oceanografa Instrumental: analizadores de red, de espectro, etc.... Francisco.Gomez@ii.uam.es

Aplicaciones
Control de motores: robtica, sistemas de transporte, sistemas de impresin, control de cabezales en sistemas de almacenamiento masivo de datos (discos rgidos, DVD, etc.) Control de procesos: controladores PID, control adaptativo Anlisis de vibraciones: deteccin preventiva de fallas por anlisis del espectro de vibraciones Sistemas de navegacin: GPS, piloto automtico, sistemas de gua de misiles, etc Telefona: Caller ID, generacin DTMF, deteccin de DTMF, Call Progress y Pulsos de tarificacin (16kHz) Automotriz: AirBags, control de combustin, inyeccin y emisiones, ABS, etc.. Electrodomsticos inteligentes, domtica y sistemas de seguridad heladeras, lavarropas, aire acondicionado audio hogareo semi-profesional: sistemas surround Equipos de msica: organos, sintetizadores radio digital y televisin: Set-Top boxes Francisco.Gomez@ii.uam.es

Procesadores digitales de Seal


Bibliografa en Web
Hong Kong City U Image Processing Labs Introduction to DSP: www.ee.cityu.edu.hk/~lmpo/ee32211/notes/dsp/dsp.html BORES On-Line Introduction to DSP: www.bores.com/courses/intro/ Texas Intsruments: www.ti.com OGI ECE544: http://www.ece.ogi.edu/~macon/ECE544/ Berkeleys EECS 20: http://robotics.eecs.berkeley.edu/~mayi/imgproc/

Francisco.Gomez@ii.uam.es

You might also like