Transformada de Fourier

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

Transformada de Fourier

Obteneomos la transformada de Fourier de funciones simples. La más importante es la


función de Gauss

Para una función no periódica P-->∞


∞ ∞
1
𝐹(𝜔) = ∫ 𝑓(𝑡)𝑒−𝑖𝜔𝑡 𝑑𝑡 𝑓(𝑡) = ∫ 𝐹(𝜔)𝑒𝑖𝜔𝑡 𝑑𝜔
2𝜋
−∞ −∞

La primera integral que obtiene F(ω) se denomina transformada de Fourier de f(t), y la


segunda se denomina transformada inversa de Fourier.

El cuadrado f2(t) nos da una idea de cómo la energía contenida en la onda se distribuye
en el tiempo, mientas que F2(ω) nos da una idea de como la energía se distribuye en el
espectro de frecuencias. Naturalmente,
∞ ∞

∫ |𝑓(𝑡)| 𝑑𝑡 = ∫ |𝐹(𝜔)| 𝑑𝜔
2 2

−∞ −∞

Pulso rectangular
Sea un pulso rectangular tal que f(t) es cero excepto en el intervalo [-a,a] que vale A, tal
como se muestra en la figura

La transformada de Fourier de f(t) vale


𝐹(𝜔) = ∫ 𝑓(𝑡)exp ( − 𝑖𝜔𝑡)· 𝑑𝑡


−∞
𝑎
2𝐴
𝐹(𝜔) = ∫ 𝐴exp ( − 𝑖𝜔𝑡)· 𝑑𝑡 = sin (𝜔𝑎)
𝜔
−𝑎
:
>> syms a t w;
>> int('exp(-i*w*t)',t,-a,a)
ans =(2*sin(a*w))/w

Alternativamente, utilizamos la función fourier de MATLAB

syms a t;
ft=heaviside(t+a)-heaviside(t-a);
Fw=fourier(ft);
Fw=simplify(Fw)

ft=subs(ft,a,1);
subplot(2,1,1)
ezplot(ft,[-2,2]);
ylim([-0.2 1.2])
xlabel('t');
ylabel('f(t)')
title('Pulso rectangular')

Fw=subs(Fw,a,1);
subplot(2,1,2)
hg=ezplot(Fw,[-10,10]);
set(hg,'color','r')
ylim([-1 2.2])
xlabel('\omega');
ylabel('F(\omega)')
title('Transformada de Fourier')
grid on

En la figura vemos un pulso rectangular de semianchura a=1 y su transformada de


Fourier
:
No es necesario utilizar Math Symbolic Toolbox para dibujar la función y su transformada
de Fourier como vemos en este script.

t=[-2 -1 -1 1 1 2];
ft=[0 0 1 1 0 0];
subplot(2,1,1)
plot(t,ft,'b');
ylim([-0.2 1.2])
xlabel('t');
ylabel('f(t)')
title('Pulso rectangular')

fw=@(w) 2*sin(w+eps)./w;
subplot(2,1,2)
fplot(fw,[-10,10], 'color','r');
ylim([-1,2.2])
xlabel('\omega');
ylabel('F(\omega)')
grid on

Pulso triangular
:
⎧1+ 𝑡 −𝑎≤𝑡<0
⎪ 𝑎
𝑓(𝑡) = 𝑡
⎨1−𝑎 0≤𝑡<𝑎

⎩ 0 otros 𝑡

La transformada de Fourier es

𝐹(𝜔) = ∫ 𝑓(𝑡)exp ( − 𝑖𝜔𝑡)𝑑𝑡 =


−∞
0 𝑎
𝑡 𝑡 4sin 2 (𝜔𝑎/2)
∫ (1 + )exp ( − 𝑖𝜔𝑡)𝑑𝑡 + ∫ (1 − )exp ( − 𝑖𝜔𝑡)𝑑𝑡 =
𝑎 𝑎 𝑎𝜔2
−𝑎 0

>> syms t a w;
>> f1=(1+t/a)*(heaviside(t+a)-heaviside(t))*exp(-i*w*t);
>> f2=(1-t/a)*(heaviside(t)-heaviside(t-a))*exp(-i*w*t);
>> Fw=int(f1,t,-a,0)+int(f2,t,0,a)
Fw =1/(a*w^2) - (1/exp(a*w*i))/(a*w^2) - (exp(a*w*i) - 1)/(a*w^2)
>> Fw=simplify(Fw)
Fw =(4*sin((a*w)/2)^2)/(a*w^2)

syms t;
ft=(1-t)*(heaviside(t)-heaviside(t-1))+(1+t)*(heaviside(t+1)-heaviside(t));
Fw=fourier(ft);
Fw=simplify(Fw)

subplot(2,1,1)
ezplot(ft,[-2,2]);
ylim([-0.2 1.2])
xlabel('t');
ylabel('f(t)')
title('Pulso triangular')
:
subplot(2,1,2)
hg=ezplot(Fw,[-10,10]);
set(hg,'color','r')
ylim([-0.1 1.1])
xlabel('\omega');
ylabel('F(\omega)')
title('Transformada de Fourier')
grid on

En la ventana de comandos aparece la transformada de Fourier, que es la misma que


hemos deducido con a=1

>> Fw=-(2*cos(w) - 2)/w^2

Función exponencial
Transformada de Fourier de la función f(t)=Aexp(-γ|t|)
:
Primero, calculamos la transformada de Fourier de la función f(t)=Aexp(-γt)·u(t). La
integración de f(t) se extiende entre 0 e ∞
∞ ∞
𝐴 |∞
𝐹(𝜔) = ∫ 𝐴𝑒−𝛾𝑡 𝑒−𝑖𝜔𝑡 𝑑𝑡 = ∫ 𝐴exp (−(𝛾 + 𝑖𝜔)𝑡)𝑑𝑡 = − exp (−(𝛾 + 𝑖𝜔)𝑡)| =
𝛾 + 𝑖𝜔 |0
0 0
𝐴
𝛾>0
𝛾 + 𝑖𝜔

A continuación, tenemos en cuenta la propiedad de la transformada de Fourier de la


función f(-t) es F(-ω), la transformada de las dos exponenciales es la suma

𝐴 𝐴 2𝛾
𝐹(𝜔) = + =𝐴 2
𝛾 + 𝑖𝜔 𝛾 − 𝑖𝜔 𝛾 + 𝜔2

g=1;
ft=@(t) exp(-g*abs(t));
subplot(2,1,1)
fplot(ft,[-5,5],'color','b');
ylim([-0.1 1.1])
xlabel('t');
ylabel('f(t)')
title('Exponencial')

Fw=@(w) 2*g./(g^2+w.^2);
subplot(2,1,2)
fplot(Fw,[-10,10],'color','r');
ylim([-0.1 2.1])
xlabel('\omega');
ylabel('F(\omega)')
grid on
:
Oscilación amortiguada
En este ejemplo calculamos la trasnformada de Fourier de la función que describe una
oscilación amortiguada que parte del instante t=0.

𝑓(𝑡) = exp ( − 𝛾𝑡)cos (𝜔0 𝑡)

Escribimos f(t) en forma equivalente y calculamos su transformada de Fourier

𝑓(𝑡) = exp ( − 𝛾𝑡)(exp (𝑖𝜔0 𝑡) + exp ( − 𝑖𝜔0 𝑡))


∞ ∞ ∞

𝐹(𝜔) = ∫ 𝑓(𝑡)exp ( − 𝑖𝜔𝑡)𝑑𝑡 = (∫ exp (−𝛾𝑡 − 𝑖(𝜔 − 𝜔0 )𝑡)𝑑𝑡 + ∫ exp (−𝛾𝑡 − 𝑖(𝜔 + 𝜔0 )𝑡)𝑑𝑡) =
−∞ 0 0

exp (−𝛾𝑡 − 𝑖(𝜔 − 𝜔0 )𝑡) exp (−𝛾𝑡 − 𝑖(𝜔 + 𝜔0 )𝑡)



( + ) =
−𝛾 − 𝑖(𝜔 − 𝜔0 ) −𝛾 − 𝑖(𝜔 + 𝜔0 )
0

1 1 𝛾 − 𝑖(𝜔 − 𝜔0 ) 𝛾 − 𝑖(𝜔 + 𝜔0 )
( + )=( + 2)

𝛾 + 𝑖(𝜔 𝜔0 ) 𝛾 + 𝑖(𝜔 + 𝜔0 ) 𝛾 + (𝜔 − 𝜔0 )
2 2
𝛾2 + (𝜔 + 𝜔0 )

g=1; %amortiguamiento
w0=6; %frecuencia angular
ft=@(t) exp(-g*t).*cos(w0*t);
:
subplot(2,1,1)
fplot(ft,[0,5],'color','b');
ylim([-1 1.1])
xlabel('t');
ylabel('f(t)')
title('Oscilación amortiguada')

Fw=@(w) abs(((g-1i*(w-w0))./(g^2+(w-w0).^2)+(g-1i*(w+w0))./(g^2+(w+w0).^2))/2);
subplot(2,1,2)
fplot(Fw,[-10,10],'color','r');
ylim([-0.1 0.6])
xlabel('\omega');
ylabel('F(\omega)')
title('Transformada')
grid on

Como F(ω) es complejo, representamos el módulo

Función de Gauss
La función de Gauss es una de las funciones más importantes, se define
:
1 (𝑥 − 𝜇)
2
𝑓(𝑥) = exp (− )
𝜎√2𝜋 2𝜎2

donde µ es la media y σ es la desviación estándar de acuerdo con su interpretación


estadística.

x=-5:0.05:5;
s2=[0.2,1,5,0.5]; %cuadrado de la desviación estándar
mu=[0,0,0,-2]; %media
col=['b','g','r','k'];
hold on
for k=1:length(s2)
y=exp(-(x-mu(k)).^2/(2*s2(k)))/sqrt(s2(k)*2*pi);
str=sprintf('\\mu=%1.1f, \\sigma^2=%1.1f',mu(k),s2(k));
plot(x,y,col(k),'displayName',str)
end
hold off
xlabel('x')
ylabel('f(x)')
legend('-DynamicLegend','location','NorthEast')
title('Función de Gauss')
grid on
:
El máximo de la función se produce para x=µ. Denominamos Δx a la anchura de la
función de Gauss para una ordenada igual a la mitad del máximo. Por ejemplo, en la
curva de color verde el máximo vale y=0.4, aproximadamente. Determinamos el intervalo
de valores de x, Δx cuya ordenada y≥0.2.

1 1 𝑥2
= exp (− 12 )
𝜎√2𝜋 𝜎√2𝜋 2𝜎
𝑥1 = 𝜎√2ln 2
𝛥𝑥 = 2𝜎√2ln 2

Sea f(t) una función de Gauss



1 𝑡2
𝑓(𝑡) = exp (− 2 ) ∫ 𝑓(𝑡)· 𝑑𝑡 = 1
𝜎√2𝜋 2𝜎
−∞

>> syms t;
>> syms s2 positive;
>> f=exp(-t^2/(2*s2))/(sqrt(2*pi*s2));
>> int(f,t,-inf,inf)
ans =1

Para calcular la transformada de Fourier tenemos que partir del resultado de la integral

𝜋
𝐼 = ∫ exp ( − 𝛼𝑥2 )𝑑𝑥 =
√𝛼
0

que se justifica del siguiente modo:


:
∞ ∞

𝐼 = ∫ exp ( − 𝛼𝑥2 )𝑑𝑥 𝐼 = ∫ exp ( − 𝛼𝑦2 )𝑑𝑥


0 0
∞ ∞

𝐼2 = ∫ ∫ exp (−𝛼(𝑥2 + 𝑦2 ))𝑑𝑥· 𝑑𝑦


0 0
𝑥2 + 𝑦2 = 𝑟2 𝑑𝑥· 𝑑𝑦 = 𝑟· 𝑑𝑟· 𝑑𝜃
𝜋/2 ∞ ∞
𝜋 𝜋
𝐼2 = ∫ ∫ exp (−𝛼𝑟2 )𝑟· 𝑑𝑟· 𝑑𝜃 = ∫ exp (−𝛼𝑟2 )𝑟· 𝑑𝑟 =
2 4𝛼
0 0 0

𝜋
𝐼 = ∫ exp ( − 𝛼𝑥2 )𝑑𝑥 = √
𝛼
0

Con ayuda de este resultado calculamos la transformada de Fourier de un pulso descrito


por una función de Gauss
∞ ∞
1 𝑡2
𝐹(𝜔) = ∫ 𝑓(𝑡)· exp ( − 𝑖𝜔𝑡)· 𝑑𝑡 = ∫ exp (− 2 )exp ( − 𝑖𝜔𝑡)· 𝑑𝑡 =
𝜎√2𝜋 2𝜎
−∞ −∞

1 𝑡2
∫ exp (− 2 − 𝑖𝜔𝑡)· 𝑑𝑡
𝜎√2𝜋 2𝜎
−∞

(𝑡 + 𝑖𝜎2 𝜔)
2
1 𝜎2 𝜔2
𝐹(𝜔) = exp (− ) ∫ exp (− )· 𝑑𝑡
𝜎√2𝜋 2 2𝜎2
−∞
𝜎2 𝜔2
𝐹(𝜔) = exp (− )
2

La tansformada de Fourier de una función de Gauss es otra función de Gauss

>> syms t;
>> syms s positive;
>> ft=exp(-t^2/(2*s^2))/(s*sym('sqrt(2*pi)'));
>> Fw=fourier(ft)
Fw =1/exp((s^2*w^2)/2)

Se sugiere comprobar que cuanto es mayor σ, más ancha es la curva f(t) y más estrecha
:
es la curva F(ω) y viceversa.

sigma=2;
ft=@(t) exp(-t.^2/(2*sigma^2))/(sigma*sqrt(2*pi));
subplot(2,1,1)
fplot(ft,[-7,7],'color','b');
ylim([-0.05 0.25])
xlabel('t');
ylabel('f(t)')
title('Función de Gauss')
grid on

fw=@(w) exp(-w.^2*sigma^2/2);
subplot(2,1,2)
fplot(fw,[-7,7],'color','r');
ylim([-0.2,1.2])
xlabel('w');
ylabel('F(w)')
grid on

Función delta de Dirac δ(t)


:
La función delta de Dirac tiene la siguiente definición

0 𝑡≠0
𝛿(𝑡) = {
∞ 𝑡=0

∫ 𝛿(𝑡)· 𝑑𝑡 = 1
−∞

∫ 𝑓(𝑡)𝛿(𝑡 − 𝑎)· 𝑑𝑡 = 𝑓(𝑎)


−∞

Se obtiene a partir de una función de Gauss cuyo parámetro σ tiende a cero

1 𝑡2
𝑓(𝑡) = exp (− 2 )
𝜎√2𝜋 2𝜎
lim 𝑓(𝑡, 𝜎) = 𝛿(𝑡)
𝜎→0

Calculamos la transformada inversa de Fourier de la función delta de Dirac.

𝐹(𝜔) = 2𝜋· 𝛿(𝜔 − 𝜔0 )


∞ 𝜔0−

𝑓(𝑡) = ∫ 𝛿(𝜔 − 𝜔0 )exp ( − 𝑖𝜔𝑡)𝑑𝑡 = exp ( − 𝑖𝜔0 𝑡)∫ 𝛿(𝜔 − 𝜔0 )𝑑𝑡 = exp ( − 𝑖𝜔0 𝑡)
−∞ 𝜔0+

F(ω) es cero para todos los valores de ω, excepto para ω=ω0. El área bajo la curva δ(ω-
ω0) es la unidad.

>> syms w w0;


>> Fw=2*pi*dirac(w-w0);
>> ft=ifourier(Fw)
ft =exp(w0*x*i)

Teniendo en cuenta que

cos (𝜔0 𝑡) = (exp (𝑖𝜔0 𝑡) + exp ( − 𝑖𝜔0 𝑡))

la transformada de Fourier F(ω)=π[δ(ω-ω0)+δ(ω+ω0)]


:
>> syms w w0;
>> Fw=pi*(dirac(w-w0)+dirac(w+w0));
>> ft=ifourier(Fw)
ft =(1/exp(w0*x*i))/2 + exp(w0*x*i)/2
>> simplify(ft)
ans =cos(w0*x)

Tabla de transformadas de Fourier

1
f(t) F(ω)

𝑎 + 𝑖𝜔
exp(-at)·u(t)
1
2
(𝑎 + 𝑖𝜔)
t·exp(-at)·u(t)

δ(t) 1
1 2πδ(ω)
exp(-iω0t) 2πδ(ω-ω0)
cos(ω0t) π(δ(ω+ω0)+δ(ω-ω0))
sin(ω0t) iπ(δ(ω+ω0)-δ(ω-ω0))

𝜔0
u(t) πδ(ω)+1/(iω)

2
(𝑎 + 𝑖𝜔) + 𝜔20
exp(-at)·sin(ω0t)·u(t)

𝑎 + 𝑖𝜔
2
(𝑎 + 𝑖𝜔) + 𝜔20
exp(-at)·cos(ω0t)·u(t)

>> ft=sym('1');
>> Fw=fourier(ft)
Fw =2*pi*dirac(w)

>> syms t;
>> ft=heaviside(t);
:
>> Fw=fourier(ft)
Fw =pi*dirac(w) - i/w

>> ft=dirac(t);
>> Fw=fourier(ft)
Fw =1

>> syms a positive;


>> ft=exp(-a*t)*heaviside(t);
>> Fw=fourier(ft)
Fw =1/(a + w*i)

>> ft=t*exp(-a*t)*heaviside(t);
>> Fw=fourier(ft)
Fw =1/(a + w*i)^2

Transformada de Fourier de una función periódica f(t) de semiperiodo P.

𝑡 𝜋
∞ ∞
𝑓(𝑡) = ∑ 𝑐𝑘 exp (𝑖𝑘𝜋 ) 𝐹(𝜔) = 2𝜋∑ 𝑐𝑘 𝛿(𝜔 − 𝑘𝜔0 ) 𝜔0 =
−∞
𝑃 −∞
𝑃

Transformada de f(t-T)
∞ ∞

∫ 𝑓(𝑡 − 𝑇)exp (−𝑖𝜔𝑡)𝑑𝑡 = ∫ 𝑓(𝜉)exp (−𝑖𝜔(𝜉 + 𝑇))𝑑𝜉 =


−∞ −∞

exp (−𝑖𝜔𝑇) ∫ 𝑓(𝜉)exp (−𝑖𝜔𝜉)𝑑𝜉 = exp (−𝑖𝜔𝑇)𝐹(𝜔)


−∞

Transformada de exp(iω0t)f(t)
∞ ∞

∫ 𝑓(𝑡)exp (𝑖𝜔0 𝑡)exp (−𝑖𝜔𝑡)𝑑𝑡 = ∫ 𝑓(𝑡)exp (−𝑖(𝜔 − 𝜔0 )𝑡)𝑑𝑡 = 𝐹(𝜔 − 𝜔0 )


−∞ −∞

Transformada de f(at) para a>0


∞ ∞
1 1 𝜔
∫ 𝑓(𝑎𝑡)exp (−𝑖𝜔𝑡)𝑑𝑡 = ∫ 𝑓(𝜉)exp (−𝑖𝜔𝜉/𝑎)𝑑𝜉 = 𝐹( )
𝑎 𝑎 𝑎
−∞ −∞
:

También podría gustarte