How to estimate during a batch-least-square the empirical accelerations CPR (one cycle-per rev) in radial, along-track and cross-track

Dear all,
I am trying to estimate during a batch-least square over a series of position and velocity measurements the empirical accelerations one-cycle-per-rev (CRP) in radial, along-track and cross-track directions, for example for radial direction it would be:

Empirical_acceleration_R = a0 + a1 * cos(argument_of_latitude) + a2 * sin(argument_of_latitude)

I am not sure which AccelerationModel (HarmonicAccelerationModel or PolynomialAccelerationModel) to use to estimate the three parameters a0, a1, a2 per direction.

So far, this is what I was doing for example for the radial R direction constant term a0:

AttitudeProvider attitudeProvider = new LofOffset(referenceSpacecraftState.getFrame(), LOFType.NTW);

AccelerationModel a0 = new PolynomialAccelerationModel("aR_0", null, 0);
propagatorBuilder.addForceModel(new ParametricAcceleration(Vector3D.PLUS_I, attitudeProvider, a0));

In order to estimate also the coefficients a1 and a2 of the other two trigonometric terms, should I use the HarmonicAccelerationModel?

Is it fine to pass just once at the beginning the attitude provider instantiated with the initial (or reference) state? Are the proper radial, along-and cross-track directions then computed correctly at each epoch along the orbit?

Many thanks for your help.

Best regards.

Hi @fpan, sorry for the delay

Yes, you should use HarmonicAccelerationModel. This model allows to change both the amplitude (i.e \sqrt{a_1^2 +a_2^2}) and the phase. From these, you could probably compute a_1 and a_2.

Dear Luc,
thanks a lot for your reply.

Best Regards.