Fourier Transform in terms of frequency instead of angular frequency
21 次查看(过去 30 天)
显示 更早的评论
Hi,
It might be a dumb question, but, I was just wondering if there was a way to easily have symbolic fourier transforms be in terns of frequency instead of angular frequncy? I know you can just divide by 2pi, but I was just curious. Additonally, as a side question, is there a way to have the transform for a square pulse or triangular pulse be sinc and sinc^2 like it should be?
thank you
Andrew
0 个评论
回答(2 个)
Walter Roberson
2021-9-11
syms t w
F = fourier(sin(t),t,w)
oldVal = sympref('FourierParameters',[1/(2*sym(pi)) 1])
F = fourier(sin(t),t,w)
sympref('FourierParameters', 'default')
0 个评论
Paul
2021-9-11
编辑:Paul
2021-9-12
WRT to the first part of your question, the answer is yes. The parameters of the Fourier transform can be set via sympref
syms s(t) w f a
s(t) = sin(a*t);
fourier(s(t),t,w)
s(t) = sin(a*t);
sympref('FourierParameters',[1 -2*sym(pi)]);
fourier(s(t),t,f)
This result looks a bit funny, but you can show it's equivalent to the expeted result
simplify(ans - (dirac(f - a/2/sym(pi)) - dirac(f + a/2/sym(pi)))/2i)
Check the bottom of the doc page for fourier() to see how it's parameterized, and then the doc page for sympref to see how to set the parameters and how to use sympref() properly within and across Matlab sessions.
As the second part of your qeustion, the doc page for sinc says: "Although sinc appears in tables of Fourier transforms, fourier does not return sinc in output." Trying to get an expression rewritten in terms of sinc() seems to be pretty hard.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!