Está en la página 1de 11

Convolucin de FFT

Convolucin
En matemticas, una convolucin es un operador matemtico que transforma dos funciones
f y g en una tercera funcin que en cierto sentido representa la magnitud en la que se
superponen f y una versin trasladada e invertida de g. Una convolucin es un tipo muy
general de media mvil, como se puede observar si una de las funciones se toma como la
funcin caracterstica de un intervalo.
Se denota como f*g. Se define como la integral del producto de ambas funciones despus
de desplazar una de ellas a una distancia t.

Sean las funciones: f (t ) y g (t )

Entonces la convolucin de funciones dadas est definida mediante:


f *g f ( x).g (t x).dx

Interpretacin de la convolucin

La forma utilizada en este apartado, ser analizada mediante la respuesta a un tipo


de entrada, en especial, para los siguientes sistemas:

Sea: y (t ) ( f * g )(t )
Entonces para un sistema g t donde aplicaremos un tipo de entrada P (t ) ,como se
pareca en la, la cual la representaremos de la siguiente manera:

FIG1 Funcin Impulso Unitario y el Delta de Dirac

Podemos apreciar que para este tipo de entrada ( P (t )) existe un tipo de respuesta (Q (t ))
; como se aprecia en la Fig2., en este caso asumamos que sea de la siguiente manera:
FIG2 Respuesta a la entrada P (t )
Una de las propiedades importantes de la funcin impulso es la traslacin o corrimiento,
como se puede apreciar en la Fig.

FIG Propiedad de corrimiento


El proceso de corrimiento

FIG3Proceso de corrimiento
De las dos ltimas grficas (FIG.2 y FIG.3) podemos deducir:

g * (t ) TP(t KT ).g ( KT )
K 0


y* (t ) TP(t KT ).g ( KT )
K 0

Cuando llevamos al lmite T 0



limT 0 y* (t ) limT 0 TQ(t KT ).g ( KT ) f (t x).g ( x).dx
0
K 0


y f ( x).g (t x).dx extrapolando: y f ( x).g (t x).dx
0


y f * g f ( x).g (t x).dx

Demostracin del teorema de convolucin


Tenemos por definicin de la Transformada de Fourier:

F ( ) f (u).eiu .du , G() g (v).eiv .dv

Si hacemos el cambio de variable: u+v=x; en la integral doble, la cual deseamos transformar


de variables (u, v) a las variables (u, x). Por clculo diferencial conocemos:

(u, v)
du.dv .du.dx
(u, x)
Entonces hallando el Jacobiano, el cual est dado por:

u u
(u, v) u x 1 0
det det 1
(u, x) v v 0 1
u x
De donde:

F ().G() f (u).g ( x u).du.dx

ei x f (u ).g ( x u ).du .dx


F

f (u ).g ( x u ).du
Como:

f * g f (u).g ( x u).du

Entonces:

F ( ).G ( ) F ( f * g )

Y como cumple la transformada de Fourier, realizamos el proceso inverso y tambin ser


vlida para la Transformada Inversa de Fourier.
Es decir:

1 i x
2
f *g . e .F ( ).G ( ).d

Aplicaciones de la convolucin
En estadstica, como un promedio mvil ponderado.

En teora de la probabilidad, la distribucin de probabilidad de la suma de dos variables


aleatorias independientes es la convolucin de cada una de sus distribuciones de
probabilidad.

En ptica, muchos tipos de "manchas" se describen con convoluciones. Una sombra (la
sombra en la mesa cuando tenemos la mano entre sta y la fuente de luz) es la
convolucin de la forma de la fuente de luz que crea la sombra y del objeto cuya sombra
se est proyectando. Una fotografa desenfocada es la convolucin de la imagen
correcta con el crculo borroso formado por el diafragma del iris.

En acstica, un eco es la convolucin del sonido original con una funcin que represente
los objetos variados que lo reflejan.

En fsica, all donde haya un sistema lineal con un "principio de superposicin", aparece
una operacin de convolucin.

FIG Aplicacin a la rama de la acstica


Transformada de Fourier
La transformada de Fourier, denominada as por Joseph Fourier, es una transformacin
matemtica empleada para transformar seales entre el dominio del tiempo (o espacial) y
el dominio de la frecuencia, que tiene muchas aplicaciones en la fsica y la ingeniera. Es
reversible, siendo capaz de transformarse en cualquiera de los dominios al otro. El propio
trmino se refiere tanto a la operacin de transformacin como a la funcin que produce.
En el caso de una funcin peridica en el tiempo (por ejemplo, un sonido musical continuo
pero no necesariamente sinusoidal), la transformada de Fourier se puede simplificar para
el clculo de un conjunto discreto de amplitudes complejas, llamado coeficientes de
las series de Fourier. Ellos representan el espectro de frecuencia de la seal del dominio-
tiempo original.

FIG Tabla sobre la transformada de Fourier


Aplicaciones

La transformada de Fourier se utiliza para pasar una seal al dominio de frecuencia para as
obtener informacin que no es evidente en el dominio temporal. Por ejemplo, es ms fcil
saber sobre qu ancho de banda se concentra la energa de una seal analizndola en el
dominio de la frecuencia.
La transformada tambin sirve para resolver ecuaciones diferenciales con mayor facilidad y,
por consiguiente, se usa para el diseo de controladores clsicos de sistemas realimentados,
si conocemos la densidad espectral de un sistema y la entrada podemos conocer la densidad
espectral de la salida. Esto es muy til para el diseo de filtros de radiotransistores.
La transformada de Fourier tambin se utiliza en el mbito del tratamiento digital de
imgenes, como por ejemplo para mejorar o definir ms ciertas zonas de una imagen
fotogrfica o tomada con una computadora.

En funcin de su continuidad, existen dos transformadas de Fourier utilizadas en el PDS:

Discrete Time Fourier Transform (DTFT)


Discrete Fourier Transform (DFT)

FIG Grafica de DFT


Transformada Rpida de Fourier (FFT)
FFT es la abreviatura usual (del ingls Fast Fourier Transform) de un eficiente algoritmo
que permite calcular la transformada de Fourier discreta (DFT) y su inversa. La FFT es de
gran importancia en una amplia variedad de aplicaciones, desde el tratamiento digital de
seales y filtrado digital en general a la resolucin de ecuaciones en derivadas parciales o
los algoritmos de multiplicacin rpida de grandes enteros. El algoritmo pone algunas
limitaciones en la seal y en el espectro resultante. Por ejemplo: la seal de la que se
tomaron muestras y que se va a transformar debe consistir de un nmero de muestras igual
a una potencia de dos. La mayora de los analizadores TRF permiten la transformacin de
512, 1024, 2048 o 4096 muestras. El rango de frecuencias cubierto por el anlisis TRF
depende de la cantidad de muestras recogidas y de la proporcin de muestreo.
Uno de los algoritmos aritmticos ms ampliamente utilizados es la transformada rpida de
Fourier, un medio eficaz de ejecutar un clculo matemtico bsico y de frecuente empleo.
La transformada rpida de Fourier es de importancia fundamental en el anlisis matemtico
y ha sido objeto de numerosos estudios. La aparicin de un algoritmo eficaz para esta
operacin fue una piedra angular en la historia de la informtica.
Las aplicaciones de la transformada rpida de Fourier son mltiples. Es la base de muchas
operaciones fundamentales del procesamiento de seales, donde tiene amplia utilizacin.
Adems, proporciona un medio oportuno para mejorar el rendimiento de los algoritmos para
un conjunto de problemas aritmticos comunes.
Sean x0 ,..., xN 1 nmero complejos
N 1 i 2 k .
n
X k xn .e N k 0,..., N 1
n 0

La evaluacin directa de esa frmula requiere O(N) operaciones aritmticas. Mediante un


algoritmo FFT se puede obtener el mismo resultado con slo O (N log N) operaciones. En
general, dichos algoritmos dependen de la factorizacin de n, pero, al contrario de lo que
frecuentemente se cree, existen FFT para cualquier n, incluso con n primo.
La idea que permite esta optimizacin es la descomposicin de la transformada a tratar en
otras ms simples y stas a su vez hasta llegar a transformadas de 2 elementos donde k
puede tomar los valores 0 y 1. Una vez resueltas las transformadas ms simples hay que
agruparlas en otras de nivel superior que deben resolverse de nuevo y as sucesivamente
hasta llegar al nivel ms alto. Al final de este proceso, los resultados obtenidos deben
reordenarse.
Dado que la transformada discreta de Fourier inversa es anloga a la transformada discreta
de Fourier, con distinto signo en el exponente y un factor 1/n, cualquier algoritmo FFT puede
ser fcilmente adaptado para el clculo de la transformada inversa. Por lo general, tenemos
que:

xn IDFT X k
1

DFT X k *
*

N
Desarrollo de la FFT
La idea bsica detrs de la FFT consiste en la divisin del tiempo, es decir, en la
descomposicin iterativa en Transformadas de Fourier Discretas ms simples. La FFT hace
uso de dos propiedades de la Transformada de Fourier Discreta. La FFT presentada asume
que N es potencia de 2, sin embargo, existen mtodos para adaptar otros valores de N a
las condiciones necesarias de este algoritmo.
Las propiedades que se aprovechan son las siguientes:
Sea la FFT:
N |
x[k ] x[n].WN kn , k 0,1,..., N 1 }
n 0

2
j
donde : WN e N

Aplicamos las propiedades de FFT:

Simetra conjugada compleja: WN k ( N n ) WN kn (WN kn )*


Periodicidad en n,k : WN kn WN k ( N n ) WN ( k N ) n

La FFT divide la Transformada de Fourier Discreta a calcular en dos TFD menores segn
la paridad de los
trminos:

2
j.
Sabiendo que WN e 2 N /2
WN /2 se puede expresar la FFT de N muestras en la suma de dos
FFT de N/2 muestras:
N /2 1 N /2 1
X [k ] r 0
x[2r ].(WN /2 ) rk WNk . x[2r 1].((WN /2 ) rk )
r 0
Dado que se tratan de dos FFT, esto significa que podemos aplicar el mismo mtodo de
divisin en pares e impares para as obtener dos pares de TFD de N/4 muestras. El mtodo
es as aplicado hasta que se obtienen FFT de 1 muestra, cuyo clculo resulta sencillo. Una
vez obtenidos los valores de las FFT simples, es cuestin
de adicionar los resultados.

Se puede observar que si se tena inicialmente una FFT de N muestras, se podrn llevar a
cabo p log 2 N divisiones. Si calculamos el costo de las operaciones que hay que llevar
a cabo con este mtodo, se tiene que el algoritmo es de 0 ( N ,log 2 N ) .

Aplicaciones de FFT

Tratamiento de imagen (JPEG) y audio (MP3)


Reduccin de ruido en seales, como el ruido blanco
Anlisis en frecuencia de cualquier seal discreta
Anlisis de vibraciones
Anlisis de materiales y estadstica
Sntesis, mediante la transformada inversa FFT

FIG Diagrama de flujo de una FFT de una seal de 4 elementos


FFT en MATLAB
Matlab tiene implementada una funcin para calcular una FFT:
>>fft(x)
>>fft(X,n)
>>fft(X,[],dim)
>>fft(X,n,di006D)
En donde x es nuestra seal discreta (secuencia discreta de datos)
.
El resultado numrico de la transformacin son nmeros complejos, que tendrn un
mdulo (la amplitud, un ngulo de fase, etc.)

Adems, estarn repetidos, dando una serie de datos simtrica. Nos interesa slo la
mitad. Y adems estarn multiplicados por N/2, siendo N el nmero de datos de
nuestra serie. Si recuperaremos la ltima seal que generamos
Ejemplo
clear all
t=[0:0.01:1];
x1=5*sin(4*pi*t);
x2=2*sin(8*pi*t+1);
x=x1+x2;
plot(t,x)

Si nuestro espacio de tiempo es 1 seg, nuestra frecuencia f es 1/1seg = 1Hz. Si hacemos


ahora la fft, y nos quedamos slo con las amplitudes (con la funcin abs) podemos escribir:

>>y=abs(fft(x));

Representaremo un grfico de barra con la funcin bar:


bar(y)
Aplicamos el cdigo:
bar(y(1:20))

Y ahora vemos sus componentes en la FFT:

>>y=fft(x);
>>A=abs(y)/50;
>>bar(A)

En el grfico de barras podemos ver ahora la componente de ruido. Esa componente podr
eliminada ahora

.
Otro ejemplo

clear all
Fs=1000;
t=0:1/Fs:0.5;
s1=cos(2*pi*25*t).*sin(2*pi*50*t);
plot(t,s1)
L=length(s1);

NFFT = 2^nextpow2(L); % Next power of 2 from length of y


Y = fft(s1,NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);

% Plot single-sided amplitude spectrum.


plot(f,2*abs(Y(1:NFFT/2+1)))
title('Single-Sided Amplitude Spectrum of y(t)')
xlabel('Frequency (Hz)')
ylabel('|Y(f)|')

También podría gustarte