Está en la página 1de 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

Valor (pesetas)

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)

Periodo de Muestreo: tiempo entre medidas.


Tiempo de Muestreo: tiempo empleado en tomar una medida.

Francisco.Gomez@ii.uam.es

Valor (pesetas)

Valor (pesetas)

Prdida de Informacin

Precio de venta

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

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

10

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).

11

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


bits y 4 bits.

12

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

13

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

14

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

H (z) =

Ecuacin en diferencias

b0 + b1 z 1 + b2 z 2
1 + a1 z 1 + a 2 z 2

k =1

k =0

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


Diagrama de flujo

x(n)

b0

b1

y(n)

Z-1
+

-a1
Z-1
-a2

b2

Francisco.Gomez@ii.uam.es

15

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

16

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

17

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

18

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

19

Procesadores DSP
Tipos
Multiprocesadores DSP en un chip
-

TMS320C80
TMS320C6000

Procesadores 32Bit- Floating Point

TI TMS320C4x
Motorola 96000
AT&T DSP32C
Analog Devices ADSP21000

Procesadores 16Bit- Fixed Point

TI TMS320C2x
Motorola 56000
AT&T DSP16
Analog Devices ADSP2100

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

20

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

21

Procesadores DSP
Formato de datos
Enteros
0 10 1 00 1 1
-27

26

25

24

23

22

21

= 26 + 24 + 21 + 20 = 83

20

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

0 10 1 00 0 0

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

-20 2-1 2-2 2-3 2-4 2-5 2-6 2-7

Francisco.Gomez@ii.uam.es

Procesadores DSP

Coma fija con 32 bit (Q31):


Formato x=(-1)s+0.f

30

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

0
2-32 2-31

m31x(-2)0+m30x2-1+ m29x2-2+.+ m1x2-30+m0x2-31

Ejemplo Q3 (4bit)
(-2)0
0

0
1

2-1 2-2 2-3


0 0 1

= 0+0+0+0.125 = 0.125

= 0+0.5+0.25+0 = 0.75

1
0

1
0

1
0

= 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

menor positivo

mayor positivo
mayor negativo

Francisco.Gomez@ii.uam.es

22

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

23

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

Otros
Interfases externos
Multiproceso
Consumo de potencia
Coste

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

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
= 1529 dB.
Rango Dinmico = 20 log10
valor mnimo
Francisco.Gomez@ii.uam.es

24

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

25

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

C5000
(C54x)

C2000
(C20x, C24x)

C5x

C6000
(C62x, C67x)
C3x C4x C8x

Alto Rendimiento
Multi-Canal / Function
Comunicaciones
xDSL
Imagenes, Video
arquitectura VLIW
2400 MIPS +
Hasta 1 GHZ

C1x C2x
Francisco.Gomez@ii.uam.es

26

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

27

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

28

También podría gustarte