Introducción aIntroducción a DSP Parte 1DSP Parte 1
Ing. LucioIng. Lucio J. Martinez GarbinoJ. Martinez Garbino
Page 1
[email protected]@cae.cnea.gov.ar
Sistema Analógico
Filtro Analógico-El sistema queda definido por su topología (circuito) y losvalores de los componentes físicos (R, L, C, Amp-Op, etc.)
2
Sistema DigitalElementos básicos de un sistema de procesamiento digital
-Filtro Anti-Alias
-Conversor Analógico-Digital (ADC)
-Procesador de Señales (DSP)
-Conversor Digital-Analógico
3
-Conversor Digital-Analógico
-Filtro de Reconstrucción
Procesamiento Digital Vs Analógico
La diferencia fundamental entre un sistema deprocesamiento analógico y un sistema digital, radica en queen un sistema analógico el comportamiento del mismoqueda definido completamente por la topología de uncircuito y los valores de los componentes, mientras que enun sistema digital, el comportamiento quedafundamentalmente definido por un ALGORITMO y losparámetros del mismo almacenados en memoria.
4
parámetros del mismo almacenados en memoria.
Ventajas del Procesamiento DigitalVs. Analogico
- Flexibilidad. Fácilmente modificable y actualizable.
- Fácilmente reproducible. No depende de la tolerancia de loscomponentes.
5
- Confiabilidad. No envejece ni sufre desvíos por causasambientales.
- Complejidad. Facilita la implementación de sistemascomplejos en un solo chip.
Cadena de Procesamiento Digital Tipica
6
Acondicionamiento y adquisición de señal
7
Muestreo de señales continuas
8
El problema de AliasCondición de Nyquist
FsBWFs .2≥
BWFs .2≥
9
FsBWFs .2≥
Cuantizacion de Amplitud
Conversión Analógico a Digital
-Cuantización en amplitud (nº de bits, Vref)
-Discretización del tiempo (Ts=1/Fs)
10
Procesador Digital de Señales
11
Procesador Digital de Señales
Un procesador digital de señal es un dispositivo concapacidad de procesamiento en línea, o en tiempo real, deinformación que presenta, a la vez, características demicrocontrolador y microprocesador.
Posee una CPU de gran potencia de cálculo preparada para eltratamiento digital de señales en tiempo real y para larealización del mayor número de operaciones aritméticas en
12
realización del mayor número de operaciones aritméticas enel menor tiempo posible.
Por tanto, su circuitería interna ha sido optimizada para laimplementación de funciones tales como el filtrado, lacorrelación, el análisis espectral, etc., de una señal digital deentrada al sistema.
Que podemos hacer con un DSP ?
- Prácticamente cualquier sistema lineal y no lineal
- Filtros Digitales IIR – FIR
- Sistemas Adaptativos (algoritmos tipo LMS)
13
- Moduladores y demoduladores
- Algoritmos matematicamente intensivos (FFT-DCT-WT)
Implementacion de un sistema LTI en Tiempo Continuo
-Un sistema LTI en tiempo continuo esta definido por surespuesta al impulso h(t)
-La respuesta del mismo se puedehallar mediante una ecuaciondiferencial y/o su integral
14
∫+∞
∞−−= τττ dthxthtx )().()(*)(
diferencial y/o su integralde convolucion
)()(.)(
txtyadt
tdy =+
Implementacion de un sistema LTI en tiempo discreto
-Un sistema LTI en tiempo discreto queda definido por surespuesta al impulso h[n]- La respuesta del sistema se puede hallar mediante suecuacion en diferencias
15
- Cuando todos los coeficientes Ap (p=1...N) son nulos(FIR) las ecuaciones anteriores se transforman en laconvolucion en tiempo discreto
Convolucion Discreta(Filtro FIR)
- Ejemplo de convolucion discreta
- Filtro FIR Direct Form 1
16
- Filtro FIR Direct Form 1
Procesamiento En tiempo Real
- La definicion de Tiempo real es fuertemente dependientede la aplicacion (se debe trabajar mas rapido que laevolucion del sistema)
- El tiempo de algoritmo (Ta) debe ser menor que el tiempode muestreo (Ts=1/Fs)
- El tiempo de algoritmo nos impone un limite a la maxima
17
- El tiempo de algoritmo nos impone un limite a la maximafrecuencia que el sistema puede trabajar
- Podemos aumentar el Ta, mediante el procesamiento enbloques (a expensas de mayor latencia en el sistema)
Filtro Fir Muestra a Muestra
Void ADC_ISR(void){ // rutina de interrupcion del ADC// interrumpe cada Ts = 1/Fs
int ADC_New;
ADC_New = func_ReadADC(); // leo muestra nueva del ADC
func_UpdateDelayLine( VecSamples , ADC_New); // Actualizo linea de demora
int Mult;int Acum = 0; // inicializo acumulador en cero
18
int Acum = 0; // inicializo acumulador en cerofor(i=0 ; i< N ; i++){
Mult = VecSamples[i] * VecFilter[i] // calculo producto parcialAcum = Acum + Mult ; // acumulo producto parcial
}
func_WriteDAC( Acum ); // saco por el DAC el nuevo valor de salida del filtro
}
Catacteristicas Deseables de un DSP
- Operaciones aritmeticas optimizadas y combinaciones deestas (1 ciclo de reloj)
- Modos de direccionamiento especiales :- Buffers circulares- Bit reversal- Zero overhead loops
- Set de intrucciones :
19
- Set de intrucciones :- MAC con registro acumulador extendido (bits de guarda)- shift aritmetico- artimetica con saturacion- modos de redondeo- normalizacion y escalamiento- extension de signo
- Intrucciones especiales para:- Video- Audio- control
La operacion mas importante en DSP
20
MAC
- MAC- Bits de guarda-Casting Acum -> Reg
21
Aritmetica con Saturacion y redondeo-RedondeoRound to nearest (biased-mode)Convergent (unbiased-mode)truncation
- Saturacion
22
Modos de Direccionamiento
- Direccionamiento circular
23
Buffers Circulares
Reg Base: indica la direccion de la base del buffer
Reg Largo: indica el largo del buffer
Reg Indice: posicion actual en el buffer
24
Reg Indice: posicion actual en el buffer
Reg Incremento: incremento del puntero indice
Modos de Direccionamiento
- Bit Reversal (FFT)
25
Hardware Loops (ZOL)
-Zero Overhead Loop
Reg Inicio: indica la direccion de la primera instrucciondel Loop
Reg Fin: indica la direccion de la ultima instruccion del
26
Reg Fin: indica la direccion de la ultima instruccion delLoop
Reg Repetición: Cantidad de iteraciones del Loop
PreguntasPreguntas
27
PreguntasPreguntas
Top Related