Você está na página 1de 11

60

4. CONVOLUCIN

Mediante la convolucin se calcula la respuesta de un sistema (y(t)) a una entrada arbitraria (x(t)). Existen dos condiciones para realizar una convolucin. En primer lugar el sistema estudiado debe ser lineal e invariable en el tiempo (LTI). Adems, el sistema debe tener definida su respuesta al impulso h(t). Una seal arbitraria de entrada x(t) puede expresarse como un tren infinito de impulsos. Para ello se divide x(t) en tiras rectangulares de anchura ts y altura x(k ts )(Fig 4.1). Cada tira es reemplazada por un impulso cuya amplitud es el rea del pulso: La funcin xs (t) compuesta por un tren de pulsos que aproxima x(t) es:

x s (t) =

k =

k =

t x (kt ) (t kt )
s s s

( 4-1)

x(t) es el lmite cuando ts d0, kts :


k =

x (t ) = lim

ts 0

k =

ts x(k ts) (t kts ) =

x () (t ) d

( 4-2)

Y aplicando el principio de superposicin se tiene que:

y (t ) = L{x (t )} = L x ( ) (t ) d =

x( ) L{ (t )} d =

( 4-3)

x( ) h(t ) d = x (t ) h(t )

61 Los smbolos x(t)*h(t) define la operacin de la convolucin, si se cuenta con la operacin x(t)*h(t)=y(t): se pueden resumir en las siguientes propiedades: La funcin h(t) se define para t0 y decrece cuando t , para la mayora de los sistemas fsicos. Por tanto, la respuesta en t0 depende de los valores actuales y pasados de la entrada y de la respuesta al impulso. Los valores ms recientes de x(t) son multiplicados por sus correspondientes ms antiguos (y ms grandes) valores de h(t).

4.1. CONVOLUCION DISCRETA


Cuando se trata de hacer un procesamiento digital de seal no tiene sentido hablar de convoluciones aplicando estrictamente la definicin ya que slo se dispone de valores en instantes discretos de tiempo, disponiendo adems de tan solo un conjunto de estos valores, por lo anterior es necesario, una aproximacin numrica de la misma. Para realizar la convolucin entre dos seales, se evaluar el rea de la funcin x(l)h(t-l), para ello, se realiza el muestreo de ambas seales en los instantes de tiempo nts , que se llaman xs [k] y h s [n-k] (donde n y k son enteros). El rea pasa a ser una suma ponderada de los valores de las dos secuencias discretas correspondientes a cada seal, por tanto se tendr que:

y s [n ] =

k =

ts xs [k ]hs [n k ] =ts

k =

x [k ]h [n k ]
s s

( 4-4)

La convolucin discreta se define para un intervalo finito de muestreo ts =1

y[n] = x[n] h[n] =

k =

x [k ]h [n k ]
s s

( 4-5)

En la prctica se trabaja con secuencias de longitud finita. para hacer la convolucin, una de las secuencias se refleja y se desplaza sucesivamente como se muestra en la figura 4-1.

62 En la figura 4-1 se realiza la convolucin entre una seal de tipo exponencial (a) de ocho muestras, y un tren de pulsos (b) de ocho muestras, la operacin descrita en la ecuacin se aprecia en azul y rojo, por otra parte la salida del sistema se puede apreciar en verde. Se trabajarn algunos mtodos para calcular la convolucin a partir de dos secuencias.

Figura 4-1. Convolucin de dos seales

63

4.1.1.

MTODO DE LA SECUENCIA DESLIZANTE (SLIDING STRIP

METHOD)
Se tienen dos secuencias de nmeros dadas por; h[n]={2,5,0,4} x[n]={4,1,3} ts =1/2 y se quiere un y[n] donde: y[n]=x[n]*h[n] Las dos secuencias comienzan en n=0. Se realiza el reflejo de una de ellas; x[-n]={3,1,4}.

t=0 x h 2 5 0 4 3 1 4 0 0 8 0 0 0 Suma=8 ys[0]=8=4 t=3ts x h 2 5 0 4 3 1 4 0 15 0 16 Suma=31 ys[3]=31=15.5

t=ts 2 5 0 4 3 1 4 0 2 20 0 0 Suma=22 ys[1]=22=11 t=4ts 2 5 0 4 3 1 4 0 0 0 4 0 Suma=4 ys[4]=4=2

t=2ts 2 5 0 4 3 1 4 6 5 0 0 Suma=11 ys[2]=11=5.5 t=5ts 2 5 0 4 3 1 4 0 0 0 12 0 0 Suma=12 ys[5]=12=6

La convolucin discreta y[n] es {8,22,11,31,4,12}, y La convolucin numrica es {4,11,5.5,15.5,2,6}.

64

4.1.2.

MTODO DE LA SUMA POR COLUMNAS

Se realiza el mismo ejemplo. pero sin reflejar una de las secuencias.

n 0 1 2 3 4 5 h 2 5 0 4 x 4 1 3 8 20 0 16 2 5 0 4 6 15 0 12 y 8 22 11 31 4 12
Donde: y[n]={8,22,11,31,4,12}, n=0,1,2,...,5

No hay que asustarse con las operaciones anteriores. El proceso es el siguiente

Es el numero de muestra

n h x

0 2 4

1 5

2 0

3 4

La secuencia h[n] original, es multiplicada por el primer termino de la secuencia x[n], en este caso x[0]=4 La secuencia h[n] original, es multiplicada por el segundo termino de la secuencia x[n], en este caso x[1]=1 La secuencia h[n] original, es multiplicada por el tercer termino de la secuencia x[n], en este caso x[2]=3

1 3

20 0 16 2 5 0 4

6 15 0 12

8 22 11 31 4 12

La respuesta y[n], es la suma de las tres filas.

Lo anterior puede ser representado grficamente por medio del siguiente mtodo.

65

4.1.3.

MTODO DE LA MALLA. x[n] 5 0 20 5 15 4 0 0 0 12

2 8 8 22 11 2 6 31

4 16 4 4 1 h[n]

12 3

De donde se tiene que y[n]={8,22,11,31,4,12}, n=0,1,2,...,5 Puede observarse como el procedimiento es el mismo del caso anterior, cada escaque contiene el producto de la multiplicacin del valor de fila por columna, el resultado se logra al realizar la suma de los diagonales.

4.2. CORRELACIN
La correlacin es una operacin entre dos secuencias, y su objetivo es el de medir o cuantificar el parecido que existe entre dos seales. Cuando se transmite una seal x(n) por un medio no Ideal, se tiene que en el proceso de propagacin esta se ve modificada en sus caractersticas principales, como lo es la fase, frecuencia, amplitud y otras seales que pudieran ser adicionadas (ruido), los anteriores factores pueden alterar seriamente la seal siendo la seal de respuesta una funcin que pudiera expresarse como: y(n) = x(n - D) + w(n)

( 4-6)

66 donde: Es un factor de atenuacin que contiene las prdidas debidas al trayecto y que afectan a la seal x(n) y D Es el factor de retardo de la seal en caso de presentarse. w(n) representa el ruido aditivo el cual no solo es del medio de propagacin, sino tambin es propio de los elementos utilizados para el procesamiento, transmisin y recepcin de la seal. La seal puede contaminarse y atenuarse de tal forma que a la seal de llagada consta de ruido en casi su totalidad, a la cual se denomina como y(n), siendo la seal (o secuencia por tratarse de seales digitales) original x(n). Se cuenta con dos secuencias reales x(n) e y(n), cada una de ellas de energa finita, por tanto se define la correlacin cruzada como:

rxy ( l ) =

n=

n =

x (n) y (n l)

para

l = 0,1,2,3,...

( 4-7)

Donde l es el parmetro de desplazamiento, el orden de los coeficientes xy indica la direccin en la cual una de las secuencias cruza a la otra. La correlacin da una medida de la similitud entre dos seales. No existe la propiedad conmutativa por lo que dadas dos seales x(t) e y(t) sus resultados sern distintos, dependiendo del orden en la correlacin. Las similitudes entre el clculo de la correlacin cruzada y la convolucin de dos secuencias son evidentes. En el clculo de la convolucin, una de las seales se refleja, se desplaza y entonces se multiplica por la otra secuencia; finalmente se suman todos los valores de la secuencia producto. Con excepcin de la operacin de reflexin, el clculo de la correlacin cruzada supone exactamente las mismas operaciones: desplazamiento de una de las secuencias, multiplicacin de ambas y suma de todos los trminos de la secuencia producto. Por tanto la correlacin es una operacin similar a la convolucin, con la diferencia de que en la correlacin no hay que reflejar una de las seales:

67

Rxy (t ) = x (t ) y (t ) =

x() y ( t)d = x(t ) y (t)

( 4-8)

Esta expresin indica que la relacin que existe entre la convolucin y la correlacin. La correlacin nos da una medida de la similitud entre dos seales. Por tanto no existe la propiedad conmutativa por lo que dadas dos seales x(t) e y(t) se definen dos correlaciones:

Rxy ( t ) = x (t ) y (t ) = Ryx (t ) = y (t ) x( t ) =

x () y ( t )d y () x( t )d
( 4-9)

Las cuales slo coinciden en t=0: Rxy(0)= Ryx(0)

4.2.1.

AUTOCORRELACIN

Cuando se realiza la correlacin de una seal consigo misma se denomina autocorrelacin es decir:

Rxx (t ) = x( t ) x (t ) =

x()x ( t)d

( 4-10)

La autocorrelacin representa la similitud entre una seal y su desplazada. El mximo de autocorrelacin se obtiene cuando no hay desplazamiento (t=0). La autocorrelacin es simtrica con respecto al origen, ya que Rxx (t)=Rxx(-t). De inmediato se puede observar como una de las aplicaciones inmediatas que podra tener la autocorrelacin se encuentra en los radares.

68

4.3. PRCTICA #4 (CONVOLUCIN)


4.3.1. OBJETIVOS

Tener un contacto directo con las herramientas de desarrollo de software del DSK (DSP Starter Kit) y con la programacin del mismo. (Assembler, Debugger, Loader) Aprender a reutilizar rutinas o programas assembler existentes. Usar lasventanas de trabajo del debugger como herramienta de desarrollo de aplicaciones DSP Introducir el conjunto de operaciones matemticas de uso regular en el DSP. Ganar familiaridad acumulador y otros registros usados en operaciones de multiplicar y desplazar. Comprender el uso de operaciones de producto, acumulacin y desplazamiento. Ganar familiaridad con el formato de las instrucciones que componen un segmento de cdigo fuente. Valorar la utilidad de las herramientas de medici{on y de los modelos empleados Generar seales y procesarlas en el DSP, para comparar los resultados del diseo en MATLAB.

4.3.2.

IMPLEMENTACIN EN MATLAB

Manejo Bsico de la Convolucin Ejecutar el codigo de MATLAB convoluc.m. Construir seales de la forma sugerida en ese script e incluirlas en un proceso de convolucin similar al descirto en el cdigo Convolucin de Seales Significativas Generar seales discretas periodicas y someterlas al proceso de convolucin con una funcin conocida.

69 Almacenar el resultado en un vector y mediante sound de MATLAB generar un sonido.

4.3.3.

IMPLEMENTACIN EN EL C50

Reconocimiento de caractersticas en un segmento de cdigo Revisar y ejecutar el codigo seno.asm. Observar que el cdigo presenta una ramificacin, la cual no se encuentra en uso. Reconocer la configuraci{on del chip, a partir de valores programados.

Estudio de las funciones matemticas del DSK C50 Consultar la documentacin relacionada con MACD y APAC. Listar y describir brevemente las operaciones matemticas disponibles en el set de instrucciones del DSK C50 Comparacin de seales provenientes de diferentes fuentes Inyectar al DSK una seal generada mediante senosnd.m. Observar el espectro de la seal de salida del DSK (Grabarla en el disco duro del PC) Generar una seal mediante el programa senosnd.asm. (Grabarla en el disco duro) Usar los datos grabados para estimar el efecto del sistema sobre la seal. MATLAB como herramienta de anlisis, y comparar lors resultados Manejo de las funciones de escalamiento de datos. Variar el tipo de excitacin (amplitud) y observe el comportamiento de la salida. Modificar el programa con el fin de obtener una salida cuya amplitud sea la mitad de la actual. Modificar el programa hasta de obtener una salida en overflow. (saturacin del ADC) No olvidar las normas de seguridad relacionadas con potencia mxima de entrada. Usar

70

4.3.4.

TAREA

Explicar y comparar los cdigos seno.asm y senosnd.m. Usar herramientas del Cool96 que permitan observar el comportamiento espectral de seales almacenadas en forma de sonidos. Explicar la presencia de componentes espectrales no esperadas. Mediante prueba de escritrio, explicar la generacin de la onda seno en el programa seno.asm

4.4. REFERENCIAS
[1]

PROAKIS John G., MANOLAKIS Dimitris G; Digital Signal Processing: Principles, Algorithms, and Applications. Prentice Hall , 1996 New . Captulo 4

[2]

OPPENHEIM Alan V. And SCHAFER, Ronald W. Digital Signal Processing. Englewood Cliffs, New Jersey: Prentice Hall, 1975. p 156-157. CAPWELL, Gerald ; TMS320 DSP Designers Notebook Number 57: Initializing the TMS320C5x DSK Board. Texas Instruments, 1996.

[3]

Você também pode gostar