transformada de fourier matlab

Upload: jc-pacheco

Post on 30-Oct-2015

42 views

Category:

Documents


0 download

TRANSCRIPT

  • Practica 2

    TRANSFORMADA DE FOURIER

    El objetivo de esta practica es construir una aproximacion numerica de la transformada de Fouriery la transformada inversa de Fourier. Tambien se van a estudiar las principales propiedades de latransformada de Fourier sobre distintas funciones.

    2.1. Transformada y transformada inversa de Fourier

    1. Preparar una funcion x(t) Gaussiana:

    x(t) = N (t, , ) = 12pi2

    exp( (t )

    2

    22

    )para unos valores determinados de y , tomando valores de t desde la media menos variasdesviaciones estandar hasta la media mas varias desviaciones estandar.

    2. Preparar una rutina de MatLab que calcule la transformada de Fourier de una senal especificadamediante los vectores t y x para la frecuencia (o para un vector de frecuencias):

    X = tr four(t,x,w)

    donde X() se aproxima del modo siguiente:

    X() =

    x(t)ejtdt i

    xi exp(jti)ti

    3. Calcular la transformada de Fourier para la Gaussiana x(t) preparada en el apartado 1, paraun conjunto de adecuado de frecuencias (un conjunto de valores suficientemente denso ysuficientemente extenso). Representar la transformada de Fourier (modulo y fase de X() enfuncion de ).

    4. Preparar una rutina de MatLab que calcule la transformada inversa de Fourier de un espectroespecificado mediante los vectores y X , para un instante de tiempo t (o para un vector detiempos t):

    x = tr inv four(w,X,t)

    1

  • 2 PR ACTICA 2. TRANSFORMADA DE FOURIER

    donde x(t) se aproxima del modo siguiente:

    x(t) =12pi

    X()ejtd i

    Xi exp(jit)i

    5. Calcular la transformada inversa del espectro X() obtenido en el apartado 3, y compararlacon x(t).

    6. Repetir los puntos anteriores para una funcion x(t) de tipo pulso triangular de amplitud A yduracion .

    2.2. Propiedades de la transformada de Fourier

    En esta parte de la practica se estudiaran las propiedades de la transformada de Fourier con algu-nos ejemplos.

    2.2.1. Linealidad

    Preparar dos senales x1(t) y x2(t) de tipo Gaussiano, con diferentes valores de y , y unacombinacion lineal x(t) = k1x1(t) + k2x2(t). Calcular las transformadas de Fourier de x1(t), x2(t)y x(t) y verificar que X() = k1X1() + k2X2().

    2.2.2. Dualidad o simetra

    Preparar una senal x(t) de tipo Gaussiano, con media distinta de cero y una varianza distinta de1. Calcular su transformada de Fourier X() para un conjunto adecuado de valores . Calcular latransformada de Fourier de X() (para ello, asignar x1 = X y t1 = y calcular la transformada dex1(t1), a la que llamaremos X1()). Comparar X1() con 2pix(t) mediante:

    plot(w,abs(X1),-t,2*pi*x)

    2.2.3. Escalado

    A partir de una funcion x(t) Gaussiana, calcular la transformada de Fourier de x(at), multipli-cando la variable de tiempo por una constante a (es decir, Xa=tr four(a*t,x,w)). Verificar que:

    Xa() =1|a|X

    (a

    )Hacerlo para valores de a mayores y menores que la unidad. Repetirlo para valores negativos de a.

    2.2.4. Desplazamiento en el tiempo

    Calcular las transformadas de Fourier de funciones x(t) Gaussianas con distintos valores de lamedia. Comparar tanto los modulos como las fases de las transformadas de Fourier.

  • 2.2. PROPIEDADES DE LA TRANSFORMADA DE FOURIER 3

    2.2.5. Desplazamiento en frecuencia (modulacion)Preparar una funcion x(t) que sea el producto de una Gaussiana por una exponencial compleja:

    x(t) = N (t, , )ej0t

    y calcular su transformada de Fourier. Analizar el resultado. Repetirlo para el caso en que la Gaussianase multiplica por una funcion cos(0t+ 0).

    2.2.6. Derivada con respecto al tiempoA partir de x(t) Gaussiana, obtener la derivada con respecto al tiempo:

    y(t) =d x(t)dt

    xi xi1ti ti1 =

    xi xi1t

    Calcular Y () (la transformada de Fourier de y(t)) y compararla con jX().

    2.2.7. Derivada con respecto a la frecuencia

    A partir de X() del apartado anterior, calcular la derivada con respecto a la frecuencia:

    Z() =d X()d

    Xi Xi1i i1 =

    Xi Xi1

    Calcular z(t) (transformada inversa de Z()) y compararla con jtx(t).

    2.2.8. Convolucion en el dominio del tiempoPreparar una funcion x1(t) Gaussiana multiplicada por cos(0t+0). Preparar una funcion x2(t)

    Gaussiana. Calcular la convolucion x(t) = x1(t)x2(t). Calcular las transformadas de FourierX1()y X2() y calcular la convolucion x(t) como la transformada inversa del producto de los espectros.Comparar ambas aproximaciones a la convolucion.

    2.2.9. Producto en el dominio del tiempo (ventanas temporales)Considerar x1(t) una funcion Gaussiana y x2(t) una funcion senoidal. Calcular el producto de

    ambas, x(t) y su transformada de Fourier X(). Comparar esta ultima con la convolucion de losespectros X1() X2().

    2.2.10. Transformadas de las partes par/impar y real/imaginariaPreparar la funcion siguiente:

    x(t) = N (t, 1, 1) cos(1t+ 1) + jN (t, 2, 2) cos(2t+ 2)

    y a partir de x(t) preparar las siguientes funciones:

    xp(t) = (x(t) + x(t))/2 (parte par de x(t))xi(t) = (x(t) x(t))/2 (parte impar de x(t))

  • 4 PR ACTICA 2. TRANSFORMADA DE FOURIER

    xre(t) = real(x(t)) (parte real de x(t))xim(t) = imag(x(t)) (parte imaginaria de x(t))xrep(t) (parte real-par de x(t))xrei(t) (parte real-impar de x(t))ximp(t) (parte imaginaria-par de x(t))ximi(t) (parte imaginaria-impar de x(t))

    Obtener la transformada de Fourier de cada una de estas funciones y estudiar la paridad/imparidad desus partes reales e imaginarias para cada una de ellas.

    2.2.11. Teorema de Parseval

    Preparar la funcion (real) siguiente:

    x(t) = N (t, 1, 1) cos(1t+ 1)

    Calcular su energa en el dominio del tiempo:

    Ex =

    x2(t)dt i

    x2iti

    Compararla con la energa calculada en el dominio de la frecuencia:

    EX =12pi

    |X()|2d() 12pi

    i

    (abs(Xi))2i

  • 2.2. PROPIEDADES DE LA TRANSFORMADA DE FOURIER 5

    Apendice 1: Ejemplo de rutina para generar funciones Gaussianas% function x = gaussiana(t,mu,sig)

    function x = gaussiana(t,mu,sig)

    lim=log(1e100); % (es importante poner este limite)var=sig2;E=-(t-mu).2/(2*var);norma=sqrt(2*pi*var);E0=max(E); umbral=E0-lim;E=E.*(E>umbral)+umbral.*(E

  • 6 PR ACTICA 2. TRANSFORMADA DE FOURIER

    % presupone muestreo uniforme

    function x = convolucion(t,x1,x2)

    deltat=t(2)-t(1);K=length(t);i0=-round(t(1)/deltat); % porque i(t)=round((t-t(1))/deltat)+1

    % t(i)=t(1)-deltat+i*deltatfor k=1:K % indice para t

    i1=1:K; % indice para tau tau=t(i1)i2=k-i1+1+i0; % indice para (t-tau) t-tau=t(i2)

    % donde i2=i(t-tau)=i(t(k)-t(i1))i_ini=k-K+1+i0; % nos limitamos a las muestras para las que tenemosif i_iniK

    i_fin=K;end

    x(k)=deltat*sum(x1(i1(i_ini:i_fin)).*x2(i2(i_ini:i_fin)));end