Transformada de Fourier Matlab

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Pr actica 2

TRANSFORMADA DE FOURIER
El objetivo de esta pr actica es construir una aproximaci on num erica de la transformada de Fourier y la transformada inversa de Fourier. Tambi en se van a estudiar las principales propiedades de la transformada de Fourier sobre distintas funciones.

2.1. Transformada y transformada inversa de Fourier


1. Preparar una funci on x(t) Gaussiana: 1 (t )2 x(t) = N (t, , ) = exp 2 2 2 2 para unos valores determinados de y , tomando valores de t desde la media menos varias desviaciones est andar hasta la media m as varias desviaciones est andar. 2. Preparar una rutina de MatLab que calcule la transformada de Fourier de una se nal especicada mediante 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)ejt dt
i

xi exp(jti )ti

3. Calcular la transformada de Fourier para la Gaussiana x(t) preparada en el apartado 1, para un conjunto de adecuado de frecuencias (un conjunto de valores sucientemente denso y sucientemente extenso). Representar la transformada de Fourier (m odulo y fase de X ( ) en funci on de ). 4. Preparar una rutina de MatLab que calcule la transformada inversa de Fourier de un espectro especicado mediante los vectores y X , para un instante de tiempo t (o para un vector de tiempos t): x = tr inv four(w,X,t) 1

PRACTICA 2. TRANSFORMADA DE FOURIER

donde x(t) se aproxima del modo siguiente: x(t) = 1 2


X ( )ejt d
i

Xi exp(ji t)i

5. Calcular la transformada inversa del espectro X ( ) obtenido en el apartado 3, y compararla con x(t). 6. Repetir los puntos anteriores para una funci on x(t) de tipo pulso triangular de amplitud A y duraci on .

2.2. Propiedades de la transformada de Fourier


En esta parte de la pr actica se estudiar an las propiedades de la transformada de Fourier con algunos ejemplos.

2.2.1.

Linealidad

Preparar dos se nales x1 (t) y x2 (t) de tipo Gaussiano, con diferentes valores de y , y una combinaci on lineal x(t) = k1 x1 (t) + k2 x2 (t). Calcular las transformadas de Fourier de x1 (t), x2 (t) y x(t) y vericar que X ( ) = k1 X1 ( ) + k2 X2 ( ).

2.2.2.

Dualidad o simetr a

Preparar una se nal x(t) de tipo Gaussiano, con media distinta de cero y una varianza distinta de 1. Calcular su transformada de Fourier X ( ) para un conjunto adecuado de valores . Calcular la transformada de Fourier de X ( ) (para ello, asignar x1 = X y t1 = y calcular la transformada de x1 (t1 ), a la que llamaremos X1 ( )). Comparar X1 ( ) con 2x(t) mediante: plot(w,abs(X1),-t,2*pi*x)

2.2.3.

Escalado

A partir de una funci on x(t) Gaussiana, calcular la transformada de Fourier de x(at), multiplicando la variable de tiempo por una constante a (es decir, Xa=tr four(a*t,x,w)). Vericar que: Xa ( ) = 1 X |a| 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 la media. Comparar tanto los m odulos como las fases de las transformadas de Fourier.

2.2. PROPIEDADES DE LA TRANSFORMADA DE FOURIER

2.2.5.

Desplazamiento en frecuencia (modulaci on)

Preparar una funci on x(t) que sea el producto de una Gaussiana por una exponencial compleja: x(t) = N (t, , )ej0 t y calcular su transformada de Fourier. Analizar el resultado. Repetirlo para el caso en que la Gaussiana se multiplica por una funci on cos(0 t + 0 ).

2.2.6.

Derivada con respecto al tiempo

A partir de x(t) Gaussiana, obtener la derivada con respecto al tiempo: y (t) = d x(t) xi xi1 xi xi1 = dt ti ti1 t

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 ( ) Xi Xi1 Xi Xi1 = d i i1

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

2.2.8. Convoluci on en el dominio del tiempo


Preparar una funci on x1 (t) Gaussiana multiplicada por cos(0 t + 0 ). Preparar una funci on x2 (t) Gaussiana. Calcular la convoluci on x(t) = x1 (t) x2 (t). Calcular las transformadas de Fourier X1 ( ) y X2 ( ) y calcular la convoluci on x(t) como la transformada inversa del producto de los espectros. Comparar ambas aproximaciones a la convoluci on.

2.2.9. Producto en el dominio del tiempo (ventanas temporales)


Considerar x1 (t) una funci on Gaussiana y x2 (t) una funci on senoidal. Calcular el producto de ltima con la convoluci ambas, x(t) y su transformada de Fourier X ( ). Comparar esta u on de los espectros X1 ( ) X2 ( ).

2.2.10. Transformadas de las partes par/impar y real/imaginaria


Preparar la funci on siguiente: x(t) = N (t, 1 , 1 ) cos(1 t + 1 ) + j N (t, 2 , 2 ) cos(2 t + 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))

PRACTICA 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 de sus partes reales e imaginarias para cada una de ellas.

2.2.11.

Teorema de Parseval

Preparar la funci on (real) siguiente: x(t) = N (t, 1 , 1 ) cos(1 t + 1 ) Calcular su energ a en el dominio del tiempo:

Ex =

x2 (t)dt
i

x2 i ti

Compararla con la energ a calculada en el dominio de la frecuencia: EX = 1 2


|X ( )|2 d( )

1 2

(abs(Xi ))2 i
i

2.2. PROPIEDADES DE LA TRANSFORMADA DE FOURIER

Ap endice 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<umbral); x=exp(E)/norma;

Ap endice 2: Rutina para obtener la transformada de Fourier


% function X = tr_four(t,x,w) % presupone que t, x y w son vectores fila % presupone muestreo uniforme de t (no necesariamente de w) function X = tr_four(t,x,w) deltat=t(2)-t(1); A=(-j*w*t); B=exp(A); X=deltat*(x*B);

Ap endice 3: Rutina para obtener la transformada inversa de Fourier


% function x = tr_inv_four(t,X,w) % presupone que t, X y w son vectores fila % presupone muestreo uniforme de w (no necesariamente de t) function x = tr_inv_four(w,X,t) deltaw=w(2)-w(1); A=(j*t*w); B=exp(A); x=(1/(2*pi))*deltaw*(X*B);

Ap endice 4: Rutina para calcular la convoluci on de dos funciones


% function x = convolucion(t,x1,x2) % calcula la integral de convolucion de x1(t)*x2(t) para cada valor (t) % presupone que x1, x2 estan muestreados para los mismos valores de t

PRACTICA 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); for k=1:K i1=1:K; i2=k-i1+1+i0; i_ini=k-K+1+i0; if i_ini<1 i_ini=1; end i_fin=k+i0; if i_fin>K i_fin=K; end

% porque i(t)=round((t-t(1))/deltat)+1 % t(i)=t(1)-deltat+i*deltat % indice para t % indice para tau tau=t(i1) % indice para (t-tau) t-tau=t(i2) % donde i2=i(t-tau)=i(t(k)-t(i1)) % nos limitamos a las muestras para las que tenemos % definidas las funciones

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

También podría gustarte