Latency not working when platform is the target

조회 수: 2 (최근 30일)
Carlos
Carlos 2024년 5월 6일
답변: Ashok 2024년 10월 11일
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.

답변 (1개)

Ashok
Ashok 2024년 10월 11일
Hey @Carlos,
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!

카테고리

Help CenterFile Exchange에서 Scenario Generation and Visualization에 대해 자세히 알아보기

제품


릴리스

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by