Operator Instructions Source code

Purpose: Fits the data in an "rch" file with a sum of sine waves. It can optionally plot the results and/or update the ronchi results file with the fitted coefficients.

How does it work?

Roanalyze uses non-linear least-squares methods to solve for the amplitudes, and phases of the sine waves that ronchifit found in the data set. (i.e., The periods of the contributing sine-waves are considered to be "known".)

The equation to be solved is:

The code uses the Levenberg-Marquardt Method as described in [4]

Since this optimization method requires derivatives, we need to compute the partial derivatives of the equation given above. These are shown here:

and, for completeness:

(even though the code does not attempt to find the optimal periods).

To help the optimization routine in fitting long period sine waves, the measured signal is repeated a total of 7 times, making sure to leave gaps at the rotator angles where there were no measurments.

On the first pass through the optimizer, the amplitudes, periods, and the constant term are held fixed. Only the phases of the sine waves are optimized since, at this point, we have no no phase information.

A second pass through the optimization routine is then performed holding only the periods fixed. It provides impoved estimates for both the amplitudes and phases.

At this point the routine sorts the results according to the amplitude of each fitted sine wave.

Recall that the the solar image is recentered every 23 minites by briefly turning on the telescope guiding. To make sure that this process has not impacted the ronchi analysis the code tests the lowest amplitude sine wave. If this is not 23 degrees, the code will print the following message:

WARNING! These data contain a 23 degree periodicity!!!

One of the task parameters is nsine. It lets the user set the maximum number of sine waves to retain for the fit. If the requested number of sine waves is less than the default number originally tested for, the code will now limit the next pass through the optimizer to using only the user requested number of sine waves. (These will be the ones having the highest amplitudes.)

To refine the quality of the fit, the optimizer's tolerance value is reduced by 2 orders of magnitude and another pass through the optimization routine is performed followed by a test for grossly discrepent points. Any points that disagree with the latest fit (i.e., exceed the user defined threshold) are rejected.

After the rejection pass is done, there is one more call to the optimizer and the final results are sorted by amplitude (highest to lowest).

If requested, a plot is generated and sent to the desired plotting device (screen or printer).

Also, if requested, the results will be added to the ronchi results file.

Last updated by Cliff Toner on Friday, August 14, 2005, 11:40