Latency not working when platform is the target
4 views (last 30 days)
Show older comments
I was trying to replicate the example
where the latency and the Doppler is calculated in a satellite scenario. I can replicate it perfectly, but when I try to substitute the Ground Station in the example for a Platform (i.e. a plane moving represented by a geoTrajectory), the delay output of the latency function comes out as all-NaN.
This is how I define my trajectory:
%% Aircraft Trajectory
waypoints = [... % Latitude (deg), Longitude (deg), Altitude (meters)
40.6289,-73.7738,3;...
40.6289,-75.4618,10000;...
40.6289,-78.8618,10000;...
];
timeOfArrival = duration([... % time (HH:mm:ss)
"00:00:00";...
"00:13:40";...
"10:00:00"]);
aircraft.trajectory = geoTrajectory(waypoints,seconds(timeOfArrival),AutoPitch=true,AutoBank=true);
This is how I add it to the scenario and create the access:
aircraft.obj = platform(mission.scenario,aircraft.trajectory);
ac = access(iridiumSatellites,aircraft.obj);
And then this is how I calculate the delay:
[delay,time] = latency(iridiumSatellites,gs);
The funny thing is that dopplershift function works just fine, and it is able to calculate observed doppler and doppler rate using the Platform object as the target, so I'm guessing there is something wrong with the latency function implementation.
EDIT 1 (6th May 24)
There is a workaround to this issue that consists in defining the aircraft as a satellite object instead of a platform object (you can do this by specifying a positiontable with the trajectory - see https://www.mathworks.com/help/aerotbx/ug/satellitescenario.satellite.html)
This approach presents other issues because if you consider the aircraft a satellite, the orbit will obey the laws of Kepler and its motion will be propagated around the Earth, but it works for the latency analysis. Of course this doesn't solve the issue but it lets you work in the meantime.
Another thing that I noticed is that the latency function takes considerably longer to run when the target is a platform than when I use the satellite workaround (it takes 11 seconds to run with a constellation of 66 source satellites at 3600 samples each and a target satellite object, whereas if I define the aircraft as a target platform object, it takes 95 seconds). I am guessing this reinforces my idea that the latency implementation might have a bug when targeting platform objects.
0 Comments
Answers (1)
Ashok
on 11 Oct 2024
I was facing the same issue with MATLAB R2024a, and I have been using a similar workaround. I have upgraded to MATLAB R2024b and I no longer face the issue. The functions “latency” and “dopplerShift” work as expected.
I recommend upgrading to MATLAB R2024b. I am also attaching the obtained plots for your reference.
I hope this resolves your query!
0 Comments
See Also
Categories
Find more on Scenario Generation and Visualization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!