How can I fit a curve with a linear chirp function?

5 views (last 30 days)
Hi everybody!
I have a set of data representing a linear chirp.
From these data, I would like to extract the chirp parameters (initial phase "Phi0", starting frequency "f0" and chirp rate "k") as per the linear chirp definition on wikipedia (<http://en.wikipedia.org/wiki/Chirp)>.
For this, I plan to make a fit... Any idea?
Thanks a lot!
Rikow

Answers (2)

Shashank Prasanna
Shashank Prasanna on 22 Jan 2013
Set up an optimization problem. Use FMINSEARCH if you don't have Optim toolbox or curve fitting toolbox.
Write an objective function such that you minimize the error between the data and the curve parametrized by your 3 variables with the equation from wikipedia.
There are plenty of examples in the documentation.

Matt J
Matt J on 22 Jan 2013
Edited: Matt J on 22 Jan 2013
This should at least get you a good initial guess
polyfit(xdata, asin(ydata)/2/pi,2)
where xdata,ydata are restricted to a monotone increasing portion of the chirp.
Depending on your measurement noise, you might then want to refine using LSQCURVEFIT on the whole curve and without using ASIN.

Community Treasure Hunt

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

Start Hunting!