Help with fourier transform
显示 更早的评论
Hello.
How does this function do Fourier transform?
f(t)=(1/√2)e^(-t^2/2a^2)
A is a constant.
回答(1 个)
Star Strider
2019-8-29
Try this:
syms a t w
f(t)=(1/sqrt(2))*exp(-t^2/2*a^2)
F(w) = int(f*exp(1j*w*t), t);
F(w) = simplify(F, 'Steps', 050)
producing:
F(w) =
((-pi)^(1/2)*erf((2^(1/2)*(t*a^2*1i + w))/(2*(-a^2)^(1/2)))*exp(-w^2/(2*a^2)))/(2*(-a^2)^(1/2))
or:

6 个评论
YiJing Pan
2019-8-29
Bruno Luong
2019-8-29
编辑:Bruno Luong
2019-8-29
This results looks odd.The FT of a Gaussian is a Gaussian
Not sure why MATLAB returns ERF term (actually I do know).
Star Strider
2019-8-29
My pleasure.
This calculates the indefinite integral. You need to substitute the appropriate time values for ‘t’, and then evaluate it as you would for any integral. (If the ‘t’ values are symmetrical, for example [-T +T] some terms may cancel, resulting in a simpler expression for the definite integral.) Then plot it as a function of ‘w’ (actually ω or
). Add a constant of integration as well, if you want to.
It is also necessary to provide numerical values for ‘a’ and ‘T’:
syms a t T w
f(t)=(1/sqrt(2))*exp(-t^2/2*a^2)
F(w) = int(f*exp(1j*w*t), t, -T, T);
F = subs(F,{a,T},{5, 10});
F(w) = simplify(F, 'Steps', 500)
a = 1;
figure
fplot(real(F(w)), [-20 20]*pi)
hold on
fplot(imag(F(w)), [-20 20]*pi)
hold off
The evaluated and substituted function is then:

Experiment to get the result you want.
Yi-Jing Pan
2019-8-31
Thank you very much!!!!
I will try it !
Star Strider
2019-8-31
My pleasure!
Bruno Luong
2019-8-31
This formula is wrong. The ERF terms must be removed, otherwise it is not Fourier transform.
类别
在 帮助中心 和 File Exchange 中查找有关 Calculus 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!