Documente Academic
Documente Profesional
Documente Cultură
parte 2 - aplicaciones
Ao 2008
Tcnicas Digitales III
Operacin, Transformacin
Ejemplo de seales:
Analgicas: Voz, msica, fotos, Video, radar, sonar,
En el dominio Discreto/Digital:
Voz digitalizada, msica, imgenes, video, radar , ...
Y las seales...
Seal Procesamiento
Analgica A/D Digital D/A
Porqu
Digital??
Ejemplo:
Procesador a120 MHz, puede realizar 120MIPS
Frec . De Muestreo = 48KHz (Digital Audio Tape - DAT)
numero de inst. por muestra = (120 x 106)/(48 x 103) =
2500.
fs = 8KHz (Banda de voz, telefona) nmero de
instrucciones por muestra= 15000.
fs = 75MHz (CIF 360x288 Video a 30 cuadros por
segundo) nmero de instrucciones por muestra= 1.6.
Limitaciones:
Las aplicacions DSP quedan limitadas a casos
donde la frecuencia de muestreo es
suficientemente menor a la velocidad de ejecucin
de instrucciones.
Desafo:
Cdigo;
Compacto para ser ejecutado en tiempo real.
Buena cantidad de instrucciones entre muestras.
RF
RF Microcontroller
Microcontroller Pager
Pager
Receiver
Receiver Chip
Chip Peripherals
Peripherals
Pager
Pager DSP
DSP
ADC Protocol
Protocol DAC
ADC DAC
Chip
Chip
Decoder
Decoder
-Decodificacin del
FLEX is a popular pager protocol espectro
created by Motorola
- Compresin
http://www.motorola.com/FLEX
-Procesamiento de voz
RF
RF Microprocessor
Microprocessor Cell
Cell
Receiver
Receiver Chip
Chip Peripherals
Peripherals
RF
RF Voice
Voice
DSP
DSP
Codec
Codec Codec
Codec
Chip
Chip
-Codificador de voz
-Reconocimiento de voz
- Ecualizadores
- Cancelacin de ruido de antena
-Tcnicas de mejoramiento de imgen
Micro
Micro DSP
DSP
processor
processor Chip
Chip
Memory
Memory Voice
Voice
(Card
(Cardoror Codec
Codec Audio Coders
Chip)
Chip) -MP3
Peripherals -AC3
-AAC
20%
24%
Texas Instruments
40% 43%
Motorola 9%
Agere
8% Analog Devices
Other
14%
16%
12% 14%
Ao 2003
4% 3%
6%
8% WIRELESS
CONSUMER
MULTIPURPOSE
11% WIRELINE
COMPUTER
68% AUTOMOTIVE
1 9
2
3 Clr A ;Clear Accumulator A
Rep N ; Rep N times the next instruction
MAC *(R0)+, *(R1)+, A ; Fetch the two memory locations pointed by R0 and R1,
multiply them together and add the result to A, the final result is
stored back in A
Mov A, *R2 ; Move result to memory
Mas instrucciones/tareas
Memoria comn para datos y programa
Limitado ancho de banda de bus/memoria
ALU
Un chip DSP es un
microprocesor
especialmente diseado
para aplicaciones DSP. ALU
Arquitectura optimizada
para proveer
procesamiento veloz de
seales discretas en el
tiempo, ej: Multiplicar y Accumulator
Acumular (MAC) en un
solo ciclo
Arquitectura de memoria
Arquitectura de memoria Harvard vs. Von Neuman
Transferencias de datos concurrentes
diferente manejo de la cache
Memoria on-chip
MAC
Multiply ACcumulate instruction
Instrucciones de multiplicar y acumular
Tcnicas Digitales III 31
DSP vs PPG
Multiple unidades en paralelo
Multiplicar y acumular (posiblemente varias unidades)
Clculos de direcciones en paralelo para procesar
Registo circular
Accesos a memoria
ALU especial para calculo de direcciones
Bit reversed addressing
Direccionamiento circular
Loops automticos (lazo)
Software looping: escrito en cdigo assembly para mejorar los saltos
Hardware looping: hardware dedicado usando lazos con registros contadores
Hardware para manejo de cmputo aritmtico(en PPG es
necesario multiples ciclos)
Desplazamientos (Shifters)
Guard bits Previenen
Saturation Overflow!
Mayor paralelismo
Incrementando el nmero de operaciones que se
puede realizar en cada instruccin
Adicionando ms unidades de ejecucin(ej: Multiplicadores)
Incrementando el nmero de instrucciones que
pueden ser emitidas y ejecutadas en cada ciclo.
Hardware del ncleo altamente especializado.
Co-procesadores
2G ~100MIPS
8-13 Kbps
Bit Rate
Multiplicacin y suma
permite una rpida ejecucin
de operaciones iterativas
Diagrama de bloques de la
arquitectura del PIC-12C5XX
Velocidad
Consumo de potencia bajo
costo/performance
Flexibilidad para diseo
FPGA
Aplicaciones Aplicaciones
Modems Productos portables
C24x C28x C3x C54x C54x + RISC C55x C55x + RISC C62x C64x C67x
C5416
F2407, F2406 C6211 C6416 C6713
F2810 C33 C5470 C5510 OMAP5910
C5410
F2403, F2402 F2812 C32 C5509 C6205 C6415 C6712
C31 C5409 C5471
F2401, C2406 C5502 C6414
C30 C6204 C6711
C5407 C5501
C2404, C2402 C6203 C6412 C6701
C5404
C2401, F243 C6202 C6411
C5402
F241, C242 C6201 DM640
C5401
F240 DM641
C549
DM642
C54CST, C54V90
Escribir cdigo en C
Compilar para crear cdigo en asembler
Ensamblar el cdigo para crear el cdigo
objeto y linkear
Usar el simulador para testeo de la velocidad
del cdigo
Si el cdigo no es lo suficientemente rpido
reescribir el cdigo en C y volverlo a testear.
Si an no es lo suficientemente rpido ,
escribirlo en lenguaje Assembly.
x[n] h[n]
{0.5,2,-3}
y[ n] x[ n] h[n]
y[ n] x[k ]h[n k ]
k
Tcnicas Digitales III 75
Pseudo cdigo de una convolucin