Entradas populares

miércoles, 5 de octubre de 2011

Teorema de convolución

De Wikipedia, la enciclopedia libre
En matemática, el teorema de convolución establece que bajo determinadas circunstancias, la Transformada de Fourier de una convolución es el producto punto a punto de las transformadas. En otras palabras, la convolución en un dominio (por ejemplo el dominio temporal) es equivalente al producto punto a punto en el otro dominio (es decir dominio espectral).
Sean f y g dos funciones cuya convolución se expresa con  f \ast g . (notar que el asterisco denota convolución en este contexto, y no multiplicación; a veces es utilizado también el símbolo \otimes). Sea \mathcal{F} el operador de la transformada de Fourier, con lo que \mathcal{F}[f] y \mathcal{F}[g] son las transformadas de Fourier de f y g, respectivamente.
Entonces
\mathcal{F}[f*g]=\sqrt{2\pi} (\mathcal{F}[f]) \cdot (\mathcal{F}[g])
donde · indica producto punto. También puede afirmarse que:
\mathcal{F}[f \cdot g]=\frac{\mathcal{F}[f]*\mathcal{F}[g]}{\sqrt{2\pi}}
Aplicando la transformada inversa de Fourier \mathcal{F}^{-1}, podemos escribir:
f*g=\sqrt{2\pi} \mathcal{F}^{-1}[\mathcal{F}[f]\cdot\mathcal{F}[g]]

[editar] Demostración

La demostración funciona para normalizaciones unitarias y no unitarias de la transformada de Fourier, pero en la versión unitaria tiene factores extras de \sqrt{2\pi} que son inconvenientes aquí. Sean  f, g \in L^1(\mathbb{R}^n)
Sean F la transformada de Fourier de f y G la transformada de Fourier de g:
F(\omega) = \int_{\mathbb{R}^n} f(x) e^{-2 \pi i x\cdot\omega} \,dx
G(\omega) = \int_{\mathbb{R}^n}g(x) e^{-2 \pi i x\cdot\omega} \,dx .
Sea h la convolución de f y g
h(z) = \int\limits_{\mathbb{R}^n} f(x) g(z-x)\, \mathrm{d} x.
Nótese que
 \int\int |f(z)g(x-z)|\,dx\,dz=\int |f(z)| \int |g(z-x)|\,dx\,dz = \int |f(z)|\,\|g\|_1\,dz=\|f\|_1 \|g\|_1.
Del teorema de Fubini tenemos que h\in L^1(\mathbb{R}^n), así que su transformada de Fourier está definida. Sea H la transformada de Fourier de h:
H(\omega) = \int_{\mathbb{R}^n} h(z) e^{-2 \pi i z\cdot\omega}\, dz = \int_{\mathbb{R}^n} \int_{\mathbb{R}^n} f(x) g(z-x)\, dx\, e^{-2 \pi i z\cdot \omega}\, dz.
Obsérvese que  |f(x)g(z-x)e^{-2\pi i z\cdot\omega}|=|f(x)g(z-x)| y gracias al argumento de arriba podemos aplicar nuevamente el teorema de Fubini:
H(\omega) = \int_{\mathbb{R}^n} f(x)\left(\int_{\mathbb{R}^n} g(z-x)e^{-2 \pi i z\cdot \omega}\,dz\right)\,dx.
Sustituyendo y = zx; tenemos dy = dz, y por lo tanto:
H(\omega) = \int_{\mathbb{R}^n} f(x) \left( \int_{\mathbb{R}^n} g(y) e^{-2 \pi i (y+x)\cdot\omega}\,dy \right) \,dx
=\int_{\mathbb{R}^n} f(x)e^{-2\pi i x\cdot \omega} \left( \int_{\mathbb{R}^n} g(y) e^{-2 \pi i y\cdot\omega}\,dy \right) \,dx
=\int_{\mathbb{R}^n} f(x)e^{-2\pi i x\cdot \omega}\,dx \int_{\mathbb{R}^n} g(y) e^{-2 \pi i y\cdot\omega}\,dy.
Estas dos integrales son las definiciones de F(ω) y G(ω), así que:
H(\omega) = F(\omega) \cdot G(\omega).
Que es lo que queríamos demostrar.

www.youtube.com/watch?v=6F1tvOZF02o&noredirect=1

representacion de señales

REPRESENTACIONES DE FOURIER PARA LAS SEÑALES

Existen cuatro representaciones distintas de Fourier, cada una aplicable a diferentes tipos de señales. Estas cuatro clases están definidas por las propiedades de periodicidad de una señal y si el tiempo es de tipo continuo o discreto. Las señales periódicas tienen representación en series de Fourier. La Serie de Fourier (FS) aplica a señales periódicas de tiempo continuo mientras que la Serie Discreta de Fourier (DTFS) aplica a señales periódicas de tiempo discreto. Las señales no periódicas tienen representación en forma de transformada. Si la señal es continua en el tiempo y no periódica, la representación es llamada Transformada de Fourier (FT). Si la señal es discreta en el tiempo y no periódica entonces la representación usada es la transformada de Fourier en tiempo discreto (DTFT). La siguiente tabla ilustra la relación entre las propiedades de tiempo de una señal y la representación de Fourier adecuada.

Tiempo
Periódicas
No periódicas
Continuas
Series de Fourier
( FS )
Transformada de Fourier
( FT )
Discretas
Series discretas de Fourier
( DTFS )
Transformada discreta de Fourier
( DTFT)

La siguiente tabla muestra las relaciones matemáticas utilizadas para calcular las representaciones de Fourier.

Tiempo
Periódicas
No periódicas
Continuas
Series de Fourier

http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image001.jpg
Transformada de Fourier

http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image002.jpg
Discretas
Series discretas de Fourier

http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image003.jpg
Transformada discreta de Fourier


http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image004.jpg

La Transformada Discreta de Fourier (DTFS)

La DTFS es la única representación de Fourier que es de valor discreto tanto en el tiempo como en la frecuencia y de esta manera implícitamente conveniente para una implementación computacional en MATLAB. Las expresiones utilizadas para esta representación son fácilmente implementables en MATLAB como archivos. Sin embargo los comandos built-in de MATLAB fft y ifft pueden también ser utilizados para evaluar la DTFS. Dado un vector llamado x de longitud N representando un periodo de una señal periódica  x[n]. el comando:

>> X=fft(x)/N

Produce un vector llamado X de longitud N que contiene los coeficientes de la DTFS. Matlab asume que el periodo evaluado en la señal es desde 0 hasta N-1, de manera que el primer elemento de x y X corresponden a x[0] y X[0] respectivamente, mientras que los últimos elementos corresponden a x[N-1] y X[N-1]. Nótese que la división por N es completamente necesaria, debido a que el comando fft evalúa la siguiente expresión sin realizar la división por N.

  http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image005.gif

Similarmente, dados los coeficientes de una DTFS en un vector llamado X el comando:

>>x=ifft(X)*N

Produce un vector x que representa un periodo de la señal en el tiempo. Nótese que el comando ifft debe estar multiplicado por N para evaluar la siguiente ecuación.

http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image006.jpg


Los comandos fft e ifft son computados usando un algoritmo rápido o numéricamente eficiente, conocido como “Fast Fourier Transform”.

Considere el siguiente ejemplo:

Determinar los coeficientes DTFS para la siguiente señal:


http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image007.gif

La señal tiene un periodo de 24, de manera que tan solo se hace necesario definir un periodo y evaluar sobre este periodo la DTFS. Los comandos usados para realizar dicho cálculo son:
>> n = 0:23;
>> x = ones(1,24) + sin( (n * pi / 12) + (3 * pi / 8 ) );
>> X = fft(x)/24;
El resultado teórico del ejemplo es el siguiente:


http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image008.gif


El resultado obtenido mediante los comandos presentados anteriormente es:

X =

  Columns 1 through 5

   1.0000             0.4619 - 0.1913i   0.0000 + 0.0000i  -0.0000 + 0.0000i  -0.0000 + 0.0000i

  Columns 6 through 10

  -0.0000 - 0.0000i   0.0000 - 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i  -0.0000 - 0.0000i

  Columns 11 through 15

  -0.0000 - 0.0000i  -0.0000 - 0.0000i        0            -0.0000 + 0.0000i  -0.0000 + 0.0000i

  Columns 16 through 20

  -0.0000 + 0.0000i   0.0000 - 0.0000i   0.0000 + 0.0000i   0.0000 + 0.0000i  -0.0000 + 0.0000i

  Columns 21 through 24

  -0.0000 - 0.0000i  -0.0000 - 0.0000i   0.0000 - 0.0000i   0.4619 + 0.1913i


Como se puede ver, tres componentes tienen valor diferente de cero.

Un uso común de la transformada de Fourier, es encontrar las componentes frecuenciales de una señal en el dominio del tiempo que esta contaminada con ruido. Considérese dos señales senoidales que tienen frecuencias fundamentales de 50Hz y 120Hz, luego considérese estas señales contaminadas con ruido aleatorio. Los comandos para generar una señal con las especificaciones anteriormente mostradas son los siguientes:


http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image009.jpg 
>> t = 0:0.001:0.6;
>> x = sin ( 2 * pi * 50 * t ) + sin ( 2 * pi * 120 * t );
>> y = x + 2 * randn ( size ( t ) );
>> plot( 1000 * t (1:50), y (1:50) )






Es de gran dificultad identificar las componentes de frecuencia mirando la señal original. Sin embargo al realizar la conversión de esta señal al dominio de la frecuencia, la identificación de estas componentes se hace más sencilla. La conversión de la señal al dominio de la frecuencia se hace calculando la Transformada R ápida de Fourier, tomando para el cálculo los primeros 512 puntos de la señal. El espectro de potencia es una medida de la potencia a varias frecuencias, y este puede ser calculado con los siguientes comandos.

>>Pyy = Y .* conj (Y) / 512;

Para realizar la gráfica se puede tener en cuenta que la información que aparece en el arreglo Pyy es por propiedades de la transformada, simétrica con respecto a la frecuencia media, es decir que si tenemos 512 puntos de muestra, la señal que esta almacenada en el arreglo es simétrica con respecto a la muestra 256, por lo tanto dibujar las ultimas 256 muestras del arreglo será completamente innecesario. De manera que para visualizar el espectro de potencia los comandos deben ser como se muestran a continuación:

http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image010.jpg 


>> f = 1000*(0:256)/512;
>> plot(f,Pyy(1:257))






Para ver todas las muestras y entender la característica de simetría descrita anteriormente se pueden utilizar los siguientes comandos:

http://gemini.udistrital.edu.co/comunidad/estudiantes/ocala/matlabTut/fourier_archivos/image011.jpg 


>> f = 1000*(0:511)/512;
>> plot(f,Pyy)






Del espectro de potencia se puede visualizar que las componentes con mayor frecuencia se encuentran a los 50 y 120 Hz respectivamente. Comprobando así que las señales de las cuales se formo la señal contaminada con ruido tienen estas frecuencias fundamentales.

Guia 3 MATLAB