Está en la página 1de 15

1

ProcesamientoDigitaldeSealesenTiempoReal

TIEMPO REAL
La definicin de tiempo real depende directamente del tipo de aplicacin.

Por ejemplo, en una aplicacin de audio se requiere una frecuencia de muestreo de


40 KHz y asumimos que son necesarias 100 instrucciones en serie para completar
las acciones de la aplicacin.
Se usa un microprocesador de DSP con un tiempo de ciclo de 30 ns, entonces en
tres microsegundos (30 ns x 100) se completa el clculo requerido.
La tasa de muestreo de la seal de entrada es de 25 ms, esto es, al procesador le
llega una muestra cada 25 ms.
Por lo tanto, la aplicacin estar trabajando en tiempo real mientras el tiempo de
espera (o tiempo activo) entre muestras sea mayor que o igual a cero.

tiempodemuestras=1/40KHz=25microsegundos
tiempodecmputo
100instrucciones
3microsegundos

muestran

tiempodeespera

muestran+1

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

PROCESAMIENTO DIGITAL DE SEALES EN TIEMPO REAL (PDSTR)


REAL-TIME DIGITAL SIGNAL PROCESSING (RTDSP)
Conceptos tomados del texto: Ackenhusen John G., Real-time signal processing, Prentice
Hall, 1999.
Aplicaciones de Procesamiento Digital de Seales
Buscan extraer informacin til de seales las cuales estn representadas por secuencias
de nmeros (o muestras).
La bsqueda de informacin se hace mediante algoritmos ejecutndose en hardware digital.
En una aplicacin de Procesamiento de Seales en Tiempo Real (PSTR o RTSP),
generalmente las muestras de la seal arriban a la entrada del sistema digital de acuerdo a
un intervalo de tiempo, hasta que un conjunto de muestras, un FRAME (o segmento), ha
arribado para iniciar su procesamiento.
Realizar el procesamiento del frame requiere de un cierto tiempo computacional.
El PSTR termina el procesamiento de la salida asociada al frame en un tiempo que no
excede la duracin del frame.
Para lograr lo anterior, en ocasiones el sistema de PSTR tendr que realizar algunas
acciones que lo permitan, como modificaciones al hardware o modificaciones al algoritmo o
a ambos.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

1. DEFINICIN DE TIEMPO REAL


Tenemos una seal discreta en el tiempo representada por la secuencia de nmeros [x(n)], < n < .

Tx

Figura 1. Una secuencia discreta.

La secuencia [x(n)] proviene de una seal continua muestreada en incrementos uniformes


de tiempo Tx. Entonces, la muestra n de x(n) sucede en t = nTx.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

Podemos definir una coleccin de I seales discretas en el tiempo: , 0


1. Una
en un segundo conjunto de
aplicacin de DSP transforma el conjunto de seales
seales
, 0
1.

x0(n)

x1(n)

y0(m)

DSP

y1(m)

xI-1(n)

yK-1(m)

Figura 2. Mapeo del conjunto de seales xi(n) al conjunto de seales yk(m).

Los subndices i y k pueden ser diferentes, esto es, diferente nmero de entradas y
salidas.
El tiempo
en la seal de entrada puede ser diferente al tiempo
en la seal de
salida. Sin embargo ambos son constantes durante los intervalos de anlisis.

El sistema de DSP est realizando una transformacin


para obtener las seales de salida
:
.

sobre el conjunto de seales

(1)

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

El caso de un rango limitado de contribuyendo a cada muestra


su deslizamiento con ,
1.

x(n)

T(xn, n=0,1,,L-1)

T(xn, n=L,1,,2L-1)

y el rango avanza en

T(xn, n=2L,1,,3L-1)

n
y(m)

Tc

Ty

Figura 3. Procesamiento por frames, una muestra de salida depende de L muestras de entrada.

1 depende del conjunto de muestras de entrada


Las muestras de entrada se extienden del tiempo
0a
longitud .

,,
1

.
. Un frame de

utilizando
muestras de requiere un
En cualquier computadora, la transformacin
intervalo de tiempo de computacin , despus de la llegada de la ltima muestra del
frame 1 .

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

Para un procesamiento por frames donde una muestra de salida depende de L muestras de
entrada, Ty = LTx, la seal de entrada se divide en frames.
Tenemos varios casos que involucran comparar el Tc contra el tiempo de muestreo Tx:

Si Tc < LTx; L y Tc son fijos, el sistema estar ejecutando su algoritmo de manera


continua por un periodo de tiempo infinito sin problema.

Si Tc > LTx; el sistema no puede estar ejecutndose continuamente. Funciona en un


modo conocido como pulsado pulsed donde la entrada se detiene antes que el
retardo de la salida aumente mucho.

Si Tc = LTx; Umbral, es la lnea de separacin entre tiempo real y no tiempo real. Los
sistemas que tienen Tc LTx, operan en tiempo real, y los sistemas que operan en Tc
> LTx, no operan en tiempo real.

Conclusin. La condicin de Procesamiento en Tiempo Real depende de tres


elementos:
1. Periodo de la muestra de entrada, ,
2. La complejidad de la transformacin, ,
3. La velocidad de la(s) computadora(s) que calculan

, medido como

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

2. NIVELES ESTRUCTURALES DE PROCESAMIENTO


La salida del sistema
:
muestras

, es en base a SEGMENTOS (FRAMES) transformados de

0,1,
,

,
1;
1, ,

0,1, ,
1

1;
1.

(2)

Los sistemas de procesamiento de seales pueden clasificarse en base a COMO y


relativo al tiempo de
CUANDO ocurre el cmputo de las muestras que producen
llegada de las muestras

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

PROCESAMIENTO DE FLUJO (STREAM PROCESSING)


A la llegada de
, todo el cmputo que requiere el uso de esta muestra se termina y
se descarta antes de que llegue la muestra
1 . A este esquema de completar
todos los clculos con una muestra de entrada, antes de que llegue la siguiente muestra se
conoce como Procesamiento de Flujo. Despus del procesamiento del flujo de de tales
muestras, el clculo de
se termina y
sale del sistema.
PROCESAMIENTO DE BLOQUES (BLOCK PROCESSING)
Cada muestra de entrada
se almacena en memoria antes de que ocurra cualquier
procesamiento en ella y despus de que arribaron muestras, se procesan para producir la
. A este esquema se le conoce como Procesamiento de Bloques.
muestra de salida
El procesamiento de flujo y de bloques descritos son los extremos en el espectro de
procesamiento de seales.
PROCESAMIENTO VECTORIAL (VECTOR PROCESSING)
Esta tcnica puede operar en modo Flujo o en modo Bloque, tiene varias seales de
entrada y/o salida, las cuales se calculan al mismo tiempo ( >1 y/o >1).

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

2.1 DETALLES DEL PROCESAMIENTO DE FLUJO


Al arribo de cada muestra se llevan a cabo un conjunto de clculos idnticos con cada una
de ellas y terminan los clculos antes de que arribe la muestra siguiente (Figura 4).

Figura 4. Procesamiento de flujo.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

10

ProcesamientoDigitaldeSealesenTiempoReal

Ejemplo: La ecuacin general de diferencias para describir filtros digitales.


N

k =1

k =0

y (n) = a k y (n k ) + bk x(n k )

(3)

En la Figura 5 se presenta la representacin general de la ecuacin (3). Al arribo de cada


muestra de entrada los valores en la estructura se actualizan y se genera una salida.

Figura 5. Filtro digital IIR (Infinite Impulse Response).

Se necesita memoria (

) para

valores de entrada pasados y

valores de salida.

Es posible presentar en forma de flujo una operacin que normalmente se representa en


ecuaciones como una operacin de bloques.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

11

ProcesamientoDigitaldeSealesenTiempoReal

Ejemplo: La suma de cuadrados de una seal en un segmento de N muestras, esto es, la


ENERGA del segmento de seal,
N 1

R = x ( n) x ( n )
n =0

(4)

Para evaluar la expresin en esquema de flujo, hacemos uso de una variable r para una
acumulacin intermedia y la actualizamos cada vez que arriba una muestra:
Inicializacin:

r = 0,

(5)

For n=0,1,...,N-1:

r = r + x(n) x(n),

(6)

Terminacin:

R = r.

(7)

En muchas aplicaciones el acumulador (registro donde se almacena r) se multiplexa en el


tiempo con varios otros procesos diferentes a la operacin de suma de cuadrados y
entonces habr un overhead (costo adicional) al tener que salvar a, y leer de memoria los
contenidos de r cuando toman y dejan al acumulador los otros procesos.
Ventajas:
Todos los resultados se mantienen siempre actualizados.
El retardo entre una muestra de entrada y una de salida guarda su mnimo terico.
La memoria para entradas y salidas se mantiene en el mnimo terico del algoritmo. Por
ejemplo, la memoria requerida para la ecuacin (3) es solamente la necesaria para las
M muestras x de entrada y las N muestras y de salida.
Desventaja:
El procesador debe ser lo suficientemente rpido para calcular todo antes de que llegue
la siguiente muestra. El mover datos a y de memoria hace esto ms difcil. En (6) se
muestra que para cada muestra de entrada, r debe traerse de memoria y almacenarse
de nuevo despus de la suma de x(n) x(n), esto implica un overhead adicional.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

ProcesamientoDigitaldeSealesenTiempoReal

2.2 DETALLES DEL PROCESAMIENTO DE BLOQUES


El procesamiento es sobre un grupo almacenado de muestras. Como todos los datos estn
disponibles simultneamente, el procesamiento puede acceder las muestras de manera
aleatoria en lugar de restringirse al acceso secuencial.
En la Figura 6 se muestra un ejemplo de cmo es la secuencia de procesamiento para
bloques de N muestras.

Figura 6. Procesamiento en bloques de N muestras.

En la Figura 6 se muestra la existencia de concurrencia de dos procesos, uno de


almacenamiento de los datos de entrada y uno de cmputo de los datos en el bloque para
generar las muestras de salida.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

12

ProcesamientoDigitaldeSealesenTiempoReal

El traslape de bloques de datos de entrada genera un esquema ms complicado. Cada


muestra est en varios bloques y contribuye a salidas adyacentes. En la Figura 7 se
muestra un traslape de bloque, as cada muestra contribuye en la generacin de dos
salidas. Note que estn activas al mismo tiempo dos operaciones de entrada y
almacenamiento, una para el bloque y otra para el bloque
1 y dos operaciones de
procesamiento de clculo.

Figura 7. Procesamiento de bloques con traslape.

Las tcnicas de procesamiento de bloques se pueden usar cuando Ty>>Tx, esto es, para
algoritmos cuya razn de muestreo de salida es menor que la de entrada.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

13

14

ProcesamientoDigitaldeSealesenTiempoReal

Ejemplo: Suma de cuadrados de un segmento. Modificando el problema descrito en las


ecuaciones 4 a 7:
N 1

R = x ( n) x ( n )
n =0

Inicializacin:

r = 0,

Ejecute una vez:

r=r+

(4)
(8)

N1

x(n) x(n) ,

(9)

n=0

Terminacin:

R = r.

(10)

La variable r estara en un registro acumulador de acceso rpido a lo largo de todo el


proceso. As se elimina el overhead de leer y escribir r de y a memoria para cada muestra
que llega.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

15

ProcesamientoDigitaldeSealesenTiempoReal

Existen clculos que estn ms orientados al procesamiento en bloques, por ejemplo el


clculo de la Mediana de los datos en un segmento. La mediana de un segmento se calcula,
ordenando L muestras x(n) en magnitud ascendente formamos X1, X2,...,XL. La mediana es:
/

, para L impar,

y
/

/2, para L par,

El ordenamiento es ms fcil si estn presentes todas las muestras, que si se ajustan


cuando va llegando muestra por muestra.
Tambin es posible la conversin de un esquema en flujo a uno de bloques. Es posible
agregando memoria para todas las muestras del bloque y agregando un tiempo de retardo
de al menos un segmento de duracin usado para acumular las muestras.

Dr.JavierVegaPinedaInstitutoTecnolgicodeChihuahua

También podría gustarte