Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations cowski on being selected by the Eng-Tips community for having the most helpful posts in the forums last week. Way to Go!

Matlab cftool Fourier

Status
Not open for further replies.

nick_name

Mechanical
Joined
Feb 11, 2017
Messages
1
Location
RS
I am using cftool in Matlab to fit time series values to Fourier model with 8 terms:
General model Fourier8:
f(x) =
a0 + a1*cos(x*w) + b1*sin(x*w) +
a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) +
a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) +
a6*cos(6*x*w) + b6*sin(6*x*w) + a7*cos(7*x*w) + b7*sin(7*x*w) +
a8*cos(8*x*w) + b8*sin(8*x*w)

But I don't understand how Matlab calculate a and b coefficients. I found in literature that I can use formulas: an=2/n * sum ( x(t) cos (2*pi*k*t/n)); bn=2/n * sum ( x(t) sin (2*pi*k*t/n))
but I can't get values which Matlab showed me for these coefficients.

Is that Matlab formula for Fourier model formula for trigonometric Fourier series? Because in literature the first term in formula is a0/2, here is a0?
 
Link [URL unfurl="true"]https://www.mathworks.com/help/curvefit/fourier.html [/url]
Link [URL unfurl="true"]http://mathworld.wolfram.com/FourierSeries.html [/url]

The Matlab Formula is trigonometric. The A0 coefficient change has to do with the limits changing from 1 to inf to -inf to inf. This is because omega in the Matlab Formula is defined from 0 to 2*pi.

In Mathematica, the original equation is divided by two since the limits are 1 --> inf. Notice that the coefficient integrals have to be divided by a pi factor.

That's my best explanation.

God made the integers, all else is the work of man. -Leopold Kroenecker
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top