Hello everyone!! I’am trying to create measurements (AngularAzEl) using measurements.generation.Generator(). I have a known position (RCSC_state) for the satellite at certain time t2. The idea is to calculate the orbit of the satellite at t2 with IodLaplace with different time difference between created measurements to see if it fits the known orbit. I want to find out how far should the measurements be spaced in time to calculate accurate orbit of the satellite at specified height.
meas_length = 90.0
date_start = datetime_to_absolutedate(DATE_RCSC[int(len(DATE_RCSC)/2)]).shiftedBy(-meas_length/2)
date_end = datetime_to_absolutedate(DATE_RCSC[int(len(DATE_RCSC)/2)]).shiftedBy(meas_length/2)
myMeasurements = myGenerator.generate(date_start, date_end)
updateTime = 2
fixedStepSelector = FixedStepSelector(float(updateTime), utc)
for i in range(1, int(len(myMeas_list)/updateTime)+1, 1):
mean_mes = int(len(myMeas_list)/2)
est_orb = laplace.estimate(inertialFrame, myMeas_list[mean_mes-i], myMeas_list[mean_mes], myMeas_list[mean_mes+i])
#which is equivalent to laplace.estimate(inertialFrame, t2-updateTime*i, t2, t2+updateTime*i)
res.append(abs(est_orb.getPosition().getNorm()-RCSC_state))
time = np.linspace(0, (updateTime*len(res)-updateTime)*2, len(res))
plt.plot(time, res)
I am changing the value of meas_length not changing updateTime and get different accuracy of calculated position. If we’re increasing meas_length the graph we get should continue (cause I’m creating measurements for the same time moments) but it shifts upwards or downwards (see the graph below). Do you have any suggestions of this behavior??
I can provide the whole script if it’ll be needed.
The graph shows that accuracy improves when you increase the range (meas_length) to 100 seconds, and then it deteriorates while converging at about 100 seconds. Why does the result depends on the meas_length itself while updateTime remains unchanged??