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

回答(2 个)

Walter Roberson
Walter Roberson 2021-9-11
syms t w
F = fourier(sin(t),t,w)
F = 
oldVal = sympref('FourierParameters',[1/(2*sym(pi)) 1])
oldVal = 
F = fourier(sin(t),t,w)
F = 
sympref('FourierParameters', 'default')
ans = 

Paul
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)
ans = 
s(t) = sin(a*t);
sympref('FourierParameters',[1 -2*sym(pi)]);
fourier(s(t),t,f)
ans = 
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)
ans = 
0
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.

标签

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by