Vous êtes sur la page 1sur 8

CLCULO DE LA CONVOLUCIN LINEAL MEDIANTE LA DFT

Existen algoritmos eficientes para calcular la transformada discreta de Fourier de


una secuencia de longitud finita. Estos algoritmos se los llama algoritmos de
transformada rpida de Fourier (FFT, Fast Fourier Transform). En base a estos
algoritmos es computacionalmente eficiente realizar la convolucin de dos
secuencias mediante el siguiente procedimiento:

X 1 [k ] y X 2 [k ]

a) Calcular las transformadas discretas de Fourier de N puntos


de las secuencias

x 1 [n ] y x 2 [n] , respectivamente.

b) Calcular el producto
c) Calcular la secuencia

X 3 [k ]=X 1 [k ] X 2 [ k ] para

0 k N 1.

x 3 [ n ]=x 1 [ n ] N x 2 [n ] como la DFT inversa de

X 3 [k ] .

Para el tratamiento digital de seales es importante buscar realizar una convolucin


lineal de dos secuencias. Esto ocurre, por ejemplo, al filtrar una secuencia como una
seal de voz o una seal radar, o al calcular la funcin de autocorrelacin de esas
seales. Para obtener una convolucin lineal hay que asegurar que la convolucin
circular tiene el efecto de la convolucin lineal
CONVOLUCIN LINEAL DE DOS SECUENCIAS DE LONGITUD FINITA
Consideremos una secuencia

x 2 [n ]

x1 [ n]

de L puntos de longitud y una secuencia

de P puntos de longitud. Se desea combinar esas dos secuencias mediante

una operacin de convolucin lineal para obtener una tercera secuencia.

x 3 [ n ]=

m =

x 1 [ m ] x 2 [ nm ]

La siguiente figura (a) muestra una secuencia tpica de


secuencia tpica

x 2 [ nm ]

claro que el producto

n<0 y n> L+ P2. Es decir,


Por tanto,

( L+ P1)

para tres casos:

x 1 [ m ] x 2 [ nm ]

x 3 [ n ] 0

x1 [ m ]

n=1, 0 n L1

y la figura (b) una


y

n=L+ P1 . Es

es cero para todo m siempre que

en el intervalo

0 n L+ P2 .

es la longitud mxima de la secuencia

x3 [ n ]

resultante de

la convolucin lineal de una secuencia de longitud L con otra secuencia de longitud


P.

LA CONVOLUCIN CIRCULAR COMO UNA CONVOLUCIN LINEAL CON


SOLAPAMIENTO
El que una convolucin circular correspondiente al producto de dos DFT de N puntos
tenga el mismo valor que la convolucin lineal de las correspondientes secuencias
de longitud finita depender de la longitud de la DFT en relacin con la longitud de
las secuencias de duracin finita. Una interpretacin extremadamente til de la
relacin entra la convolucin circular y la convolucin lineal se puede establecer en
trminos de solapamiento temporal.

Sabiendo que si la transformada de Fourier

X (e jw )

de una secuencia

x [n]

se

k =2 k /N , la secuencia resultante corresponde a

muestrea a las frecuencias

los coeficientes del desarrollo en serie de Fourier de la secuencia peridica

~
x [ n ] = x [ nrN ]
r=

De nuestra presentacin de la DFT se deduce que la secuencia de longitud finita

2 k
N

( ) ) ,0 k N1
X [ k ]= X ( e
j

0 ,en el resto

es la DFT de un periodo de x[n], como indica la Ecuacin (8.130), es decir

~
x p [ n ]= x [n],0 n N1
0 ,en el resto

Obviamente, si

x [n]

solapamiento temporal y

x p [n]

tiene longitud menor o igual que N, no se producir

n
x p [n]=x ]. Sin embargo, si la longitud de

puede no ser igual a

x [n]

x [n]> N ,

para algunos valores de n, o para ninguno. El

subndice p ser utilizado para indicar que una secuencia es un periodo de la


secuencia peridica resultante de realizar la DFT inversa de una transformada de
Fourier muestreada. Se puede eliminar el subndice si est claro que no se produce
solapamiento.

x3 [ n ]

La secuencia

de la convolucin lineal de dos secuencias de longitud finita

tiene como transformada de Fourier


jw

jw

jw

X 3 (e )=X 1 ( e ) X 2 (e )
Si definimos una DFT

X 3 [ k ] =X 3 e

j 2

k
N

)) , 0 k N1

utilizando la dos ecuaciones anteriores tenemos que,

X 3 [ k ] =X 1 e

j 2

k
N

)) X

j 2

k
N

( e ( )) , 0 k N 1

Y, por tanto,

X 3 [k ]=X 1 [k ] X 2 [k ]
Es decir, la secuencia resultante de realizar la DFT inversa de X3[k] es

x3 p [ n ]=

r=

x3 [ nrN ] ,0 n N 1
0, en el resto

Es decir, la convolucin circular de dos secuencias de longitud finita es equivalente


a la convolucin lineal de dichas secuencias, seguida por el solapamiento temporal
que indica la ecuacin.
Ejemplo 8.12
solapamiento
Notese que

La

convolucin

x 1[n] y x 2[n]

circular

como

convolucin

lineal

con

son secuencias constantes idnticas con longitudes

L=P=6 , como se muestra en la figura (a). La convolucin lineal de


x 1[n] y x 2[n]

es de longitud

L+ P1=11 , y tiene la forma triangular que se

muestra en la Figura 8.18(b). En las Figuras 8.18(c) y (d) se muestran dos de las
versiones desplazadas x3[nrN ] de la Ecuacin (8.137), x3[nN ] y x3[n+N ] para
N =6. La convolucin circular de N puntos de x1[n] y x2[n] se puede formar
utilizando la Ecuacin (8.137). Esto se muestra en la Figura 8.18(e) para N =L=6 y
en la Figura 8.18(f) para N =2L=12. Ntese que, para N = L = 6, slo x3[n] y
x3[n+N] contribuyen al resultado. Para N = 2L = 12, slo x3[n] contribuye al
resultado. Como la longitud de la convolucin lineal es (2L1), el resultado de la
convolucin circular para N = 2L es idntico al resultado de la convolucin lineal
para todo 0 n N 1. De hecho, esto sera tambin cierto para N = 2L1 = 11.

REALIZACIN DE SISTEMAS LINEALES E INVARIANTES CON EL TIEMPO MEDIANTE


LA DFT
Consideremos en primer lugar una secuencia de entrada x[n] de L y una respuesta al impulso h[n] de P
puntos. Para que la convolucin circular y la lineal sean idnticas, la convolucin circular debe tener al
menos una longitud de (L+P1) puntos. Como se desea que el producto represente la DFT de la
convolucin lineal de x[n] y h[n] cuya longitud es de (L+P1) puntos, las DFT que vamos a calcular
deben tener al menos esa longitud. As, tanto x[n] como h[n] se deben aumentar con valores de amplitud
cero. Este proceso se denomina relleno con ceros.
Este procedimiento permite el clculo de la convolucin lineal de dos secuencias de longitud finita.

En muchas aplicaciones, como filtrado de seales de voz, la seal de entrada es de duracin indefinida, se
podra almacenar la seal completa y realizar despus el procedimiento utilizando una DFT, pero esto no
es prctico y la solucin a esto es utilizar convolucin por bloques (La seal que se va a filtrar se divide
en secciones de longitud L)
Consideremos la respuesta al impulso h[n] de longitud P y la seal x[n] que se muestran a continuacin.
De aqu en adelante supondremos que x[n] = 0 para n < 0 y que la longitud de x[n] es mucho mayor que
P. La secuencia x[n] se puede representar como una suma de segmentos de longitud finita L.

Es decir:

x [ n ]= xr [ nrL ]
r=0

Siendo

x r [ n ] = x [ n+rL ] , 0 n L1
0,en elresto

Observe que dentro de cada segmento


muestra cero de

x r [ n ] , la primera muestra est en n = 0. Sin embargo, la

x r [ n ] es la muestra rL de la secuencia x[n].

Y de esta manera, se tiene:

y [ n ] =x [ n ]h [ n ] = y r [nrL]
r =0

Siendo

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

Un procedimiento alternativo de convolucin por bloques denominado generalmente mtodo de


solapamientoalmacenamiento, consiste en realizar una convolucin circular de L puntos de la respuesta
al impulso h[n] de P puntos con un segmento de L puntos,

x r [ n ] e identificar la parte de la convolucin

circular que corresponde a la convolucin lineal.


Se puede dividir x[n] en secciones de longitud L de forma que cada seccin de entrada se solape con la
seccin precedente (P1) puntos. Es decir, si definimos las secciones como:

x r [ n ] =x [ n+ r ( LP+ 1 )P+1 ] ,0 n L1,


Este mtodo de seccionar la secuencia se muestra a continuacin. La convolucin circular de cada
seccin con h[n] se denomina

y rp [n] , donde el subndice extra p indica que

y rp [n] es el resultado

de una convolucin circular con solapamiento temporal. La parte de cada seccin de salida en la regin 0
n 2 es la parte que hay que descartar. Las restantes muestras de las secciones sucesivas se van
colocando una detrs de otra para formar la salida filtrada. Es decir,

y [ n ] = y r [ nr ( LP+ 1 )+ P1 ] ,
r =0

Siendo

y r [ n ] = y rp [ n ] P1 n L1
0 en el resto

Descomposicin de la seal x[n] en secciones


que solapan de longitud L.

Resultado de convolucionar cada seccin con


h[n]. Se indican las porciones de cada seccin
filtrada que se descartan para formar la
convolucin lineal.