0% encontró este documento útil (0 votos)
446 vistas4 páginas

Transformadas Fourier con SageMath

Este documento explica cómo calcular transformadas de Fourier utilizando SageMath. Muestra cómo calcular la transformada de Fourier de la función x(t) = H(t)e-kt, dando como resultado X(ω) = A/(k + jω). También muestra cómo calcular la transformada de Fourier de la función x(t) = (H(t - 1) - H(t + 1))A cos(ω0t), dando como resultado X(ω) = sin(ω - ω0)/(ω - ω0) + sin(ω + ω0)/(ω + ω0). Finalmente, muestra gráf

Cargado por

Andrea Monroy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
446 vistas4 páginas

Transformadas Fourier con SageMath

Este documento explica cómo calcular transformadas de Fourier utilizando SageMath. Muestra cómo calcular la transformada de Fourier de la función x(t) = H(t)e-kt, dando como resultado X(ω) = A/(k + jω). También muestra cómo calcular la transformada de Fourier de la función x(t) = (H(t - 1) - H(t + 1))A cos(ω0t), dando como resultado X(ω) = sin(ω - ω0)/(ω - ω0) + sin(ω + ω0)/(ω + ω0). Finalmente, muestra gráf

Cargado por

Andrea Monroy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Transformadas de Fourier con SageMath

Para el calculo de la transformada de Fourier de x(t) = H(t)Ae−kt


Z ∞
X(ω) = Ae−kt e−jωt dt
0

podés utilizar las siguientes líneas

sage: var('A, k, omega, t') # define las variables


(A, k, omega, t)
sage: assume(k>0) # asume k positiva
sage: Int = integrate(A*exp(-k*t)*exp(-I*omega*t),t); Int # calcula la integral indefinida
-A*e b (-k*t - I*omega*t)/(k + I*omega) # llamada Int para evaluarla
sage: limit(Int(t), t = infinity) # evalua en infinito
0
sage: Int(t=0) # evalua en 0
-A/(k + I*omega)
sage:

Así la transformada es,


A
X(ω) =
k + jω

Si A = k = 1, el espectro de amplitud podes obtenerlo con

sage: assume(omega,'real')
sage: X = 1/(1+I*omega)
sage: plot(abs(X), omega, -10, 10, color='blue')
Launched png viewer for Graphics object consisting of 1 graphics primitive

Figura 1: Espectro de amplitud de la T.F. de H(t)e−t .

Para el espectro de fase podes obtenerlo con


sage: prX = real_part(X); piX = imag_part(X) # parte real e imaginaria de X
sage: plot(arctan2(piX, prX),omega, -10, 10, color='red')# arctan2 proporciona el ángulo de fase
Launched png viewer for Graphics object consisting of 1 graphics primitive

Figura 2: Espectro de fase de la T.F. de H(t)e−t .

Para el calculo de la transformada de Fourier de x(t) = (H(t − 1) − H(t + 1))A cos(ω0 t)


Z 1
X(ω) = A cos(ω0 t)e−jωt dt
−1

podes utilizar las siguientes líneas

sage: var('A, k, omega0, omega, t')


(A, k, omega0, omega, t)
sage: assume(k>0)
sage: Int2 = integrate(A*cos(omega0*t)*exp(-I*omega*t),t);Int2
-(-I*omega*cos(omega0*t) + omega0*sin(omega0*t))*A*e b (-I*omega*t)/(omega b 2 - omega0 b 2)
sage: Int2(t=1)-Int2(t=-1)
(-I*omega*cos(-omega0) + omega0*sin(-omega0))*A*e b (I*omega)/(omega b 2 - omega0 b 2)
-(-I*omega*cos(omega0) + omega0*sin(omega0))*A*e b (-I*omega)/(omega b 2 - omega0 b 2)

el último resultado se interpreta como,


[−jω cos(−ω0 ) + ω0 sin(−ω0 )]Aejω [−jω cos(ω0 ) + ω0 sin(ω0 )]Ae−jω
X(ω) = −
ω 2 − ω02 ω 2 − ω02
simplicando con papel y lápiz
[−jω cos(ω0 ) − ω0 sin(ω0 )]Aejω + [jω cos(ω0 ) − ω0 sin(ω0 )]Ae−jω
X(ω) =
ω 2 − ω02

−jω cos ω0 (ejω − e−ω0 ) − jω0 sin ω0 (ejω + e−jω )


X(ω) = A
ω 2 − ω02
2ω cos ω0 sin ω − 2ω0 sin ω0 cos ω
X(ω) = A
ω 2 − ω02
ω sin(ω − ω0 ) + ω sin(ω + ω0 ) + ω0 sin(ω − ω0 ) − ω0 sin(ω + ω0 )
X(ω) = A
ω 2 − ω02
sin(ω − ω0 ) sin(ω + ω0 )
X(ω) = A +A
ω − ω0 ω + ω0
Si ω0 = 20 y A = 1, las grácas de los espectros se obtienen con

sage: var('omega')
omega
sage: X = sin(omega-20)/(omega-20)+ sin(omega+20)/(omega+20)
sage: plot(abs(X), omega, -40, 40)
Launched png viewer for Graphics object consisting of 1 graphics primitive

Figura 3: Espectro de amplitiud de la T.F. de (H(t − 20) − H(t + 20)) cos(20t).

sage: prX = real_part(x); piX = imag_part(X)


sage: plot(arctan2(piX, prX), omega, -30, 30)
Launched png viewer for Graphics object consisting of 1 graphics primitive
sage:

Figura 4: Espectro de fase de la T.F. de (H(t − 20) − H(t + 20)) cos(20t).


Son las gracas de los espectros de un pulso rectangular desplazados ±ω0 = 20, que corresponde la frecuencia angular
de la función cos(ω0 t) = cos(ω0 t)

Refererncia

Dean,Duy Advanced Engineering Mathematics with Mathlab, Second Edition. 2003. Chapman & Hall/CRC

También podría gustarte