SGP4 does not match the sample test case in the Spacetrack Report #3
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
I'm testing if I'm using the orbit propagator correctly by trying to recreate the sample data given from the spacetrack report #3. The sample data provides a TLE and the results for orbit position and velocity for certain times since the TLE epoch. The results look similar, but there is still a significant error. E.g. X at time 0 deviates by roughly 23km, which is extreme. I have plotted the orbital position for a comparison and it seems that there's a consistent offset. Here is the TLE-file I use for MATLAB:
Satellite 1
1 88888U 80275.98708465 .00073094 13844-3 66816-4 0 8
2 88888 72.8435 115.9689 0086731 052.6988 110.5714 16.05824518 105
And here is my code, along with the reference data that I'm trying to match.
startUnix = 339291684; %1980-10-1 23:41:24
startTime = datetime(startUnix,'ConvertFrom','epochtime','Epoch','1970-01-01','TicksPerSecond',1,'Format','dd-MMM-yyyy HH:mm:ss');
stopTime = startTime + minutes(1440);
sampleTime = 360*60;
sc = satelliteScenario(startTime,stopTime,sampleTime);
tleFile = "test.tle";
satSGP4 = satellite(sc,tleFile, ...
"Name","satSGP4", ...
"OrbitPropagator","sgp4");
[positionSGP4,velocitySGP4] = states(satSGP4);
validPos = [2328.97048951 -5995.22076416 1719.97067261;
2456.10705566 -6071.93853760 1222.89727783;
2567.56195068 -6112.50384522 713.96397400;
2663.09078980 -6115.48229980 196.39640427;
2742.55133057 -6079.67144775 -326.38095856];
figure()
plot3(validPos(:,1),validPos(:,2),validPos(:,3),'o-');
hold on
axis equal
plot3(positionSGP4(1,:)/1e3,positionSGP4(2,:)/1e3,positionSGP4(3,:)/1e3,'o-');
xlabel('x [km]');
ylabel('y [km]');
zlabel('z [km]');
legend('Report', 'Matlab');
% From Spacetrack Report
% 1 88888U 80275.98708465 .00073094 13844-3 66816-4 0 8
% 2 88888 72.8435 115.9689 0086731 52.6988 110.5714 16.05824518 105
%
% SGP4 TSINCE X Y Z
% 0. 2328.97048951 -5995.22076416 1719.97067261
% 360.00000000 2456.10705566 -6071.93853760 1222.89727783
% 720.00000000 2567.56195068 -6112.50384522 713.96397400
% 1080.00000000 2663.09078980 -6115.48229980 196.39640427
% 1440.00000000 2742.55133057 -6079.67144775 -326.38095856
% XDOT YDOT ZDOT
% 2.91207230 -0.98341546 -7.09081703
% 2.67938992 -0.44829041 -7.22879231
% 2.44024599 0.09810869 -7.31995916
% 2.19611958 0.65241995 -7.36282432
% 1.94850229 1.21106251 -7.35619372
I have double-checked the TLE and the start unix time and I believe they are correct. I wonder if this could be an error in the implemented model, or if there's an error in my code that I don't see. Thank you in advance for taking a look!
0 comentarios
Respuestas (0)
Ver también
Categorías
Más información sobre Reference Applications en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!