How to perform access simultaneously for multiple groundstations?

4 views (last 30 days)
Hello,
I am trying to create an access table for multiple groundstations, but I've been getting this error:
"Error using access
Expected input number 2, OBJ2, to be a scalar.
Error in matlabshared.satellitescenario.internal.AddAssetsAndAnalyses.access
Error in matlabshared.satellitescenario.internal.PrimaryAsset/access"
Here is the code:
%Create Sat scenario
startTime = datetime(2021,6,02,8,23,0);
stopTime = startTime + hours(60);
sampleTime = 60;
sc = satelliteScenario(startTime,stopTime,sampleTime);
a = 800e3; e = 0; i = 96; raan = 100; aop = 90; ta = 0;
sat = satellite(sc,a_m,e,i,raan,aop,ta);
show(sat);
groundTrack(sat,"LeadTime",1200)
time = datetime(2021,6,02,12,30,0);
pos = states(sat,time,"CoordinateFrame","geographic");
%add ground stations
name = ["Svalbard, Norway","Tromso, Norway", "Inuvik,Canada",...
"Puertollano,Spain", "Athens,Greece","Los Angeles,USA",...
"Hartebeesthoek,S.Africa","Awarua,New Zealand","Punta Arenas,Chile",...
"Troll,Antartica", "Jeju, S.Korea"];
lat = [78.2, 69.6, 68.2,38.7,37.5,34.0,-25.8, -46.5,-53, -72.0,33.5];
lon = [15.3, 19.0,-133.3,-4,22.4,-118.3,27.7,168.4,-70, 2.5,126.8];
gs = groundStation(sc,"Name",name,"Latitude",lat, ...
"Longitude", lon);
And this is how I am doing the access:
ac = access(sat, gs);
intvls = accessIntervals(ac)
I would like something similar to the image attached, but showing other groundstations
  2 Comments
Daynah Rodriguez
Daynah Rodriguez on 3 Sep 2021
Is it something like this?
ac = access(sat,gs(1),gs(2),gs(3),gs(4),gs(5),gs(6),gs(7),gs(8),gs(9),gs(10),gs(11));
invls = accessIntervals(ac)
But then I get this
invls =
0×8 empty table
Daynah Rodriguez
Daynah Rodriguez on 3 Sep 2021
%% Access between sat and groundstations
ac1 = access(sat,gs(1)); ac2 = access(sat,gs(2)); ac3 = access(sat,gs(3));
ac4 = access(sat,gs(4)); ac5 = access(sat,gs(5)); ac6 = access(sat,gs(6));
ac7 = access(sat,gs(7)); ac8 = access(sat,gs(8)); ac9 = access(sat,gs(9));
ac10 = access(sat,gs(10)); ac11 = access(sat,gs(11));
%access output for each gs
accessIntervals(ac1), accessIntervals(ac2), accessIntervals(ac3),
accessIntervals(ac4), accessIntervals(ac5), accessIntervals(ac6),
accessIntervals(ac7), accessIntervals(ac8), accessIntervals(ac9),
accessIntervals(ac10), accessIntervals(ac11)

Sign in to comment.

Answers (0)

Categories

Find more on CubeSat and Satellites in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!