Continue to Site

Eng-Tips is the largest engineering community on the Internet

Intelligent Work Forums for Engineering Professionals

  • Congratulations KootK 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
Feb 11, 2017
1
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?
 
Replies continue below

Recommended for you

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