Matlab's Satellite Communication Toolbox can be used to study and visualize satellite networks. The following code places a terrestrial station in Otaniemi, and a LEO satellite in km tracking the station. Satellite have to be at least in a elevation angle of
degrees to contact to the base station. Satellites field of view and a
dB footprint of width
degrees is also represented.
clear all; close all; startTime = datetime(2020,8,19,20,55,0); % 19 August 2020 8:55 PM UTC stopTime = startTime + days(1); % 20 August 2020 8:55 PM UTC sampleTime = 60; % seconds sc = satelliteScenario(startTime,stopTime,sampleTime); semiMajorAxis = (6378 + 2000)*1000; % meters eccentricity = 0; inclination = 90; % degrees rightAscensionOfAscendingNode = 0; % degrees argumentOfPeriapsis = 0; % degrees trueAnomaly = 0; % degrees sat1 = satellite(sc, ... semiMajorAxis, ... eccentricity, ... inclination, ... rightAscensionOfAscendingNode, ... argumentOfPeriapsis, ... trueAnomaly, ... "Name","Satellite", ... "OrbitPropagator","two-body-keplerian"); sat1.LabelFontSize = 30; cam1 = conicalSensor(sat1,"MaxViewAngle",90) cam2 = conicalSensor(sat1,"MaxViewAngle",1.5/2) name = "Test Transmitter"; minElevationAngle = 35; % degrees lat = 60.185; lon = 24.83; geoSite = groundStation(sc, lat, lon, "Name", name, "MinElevationAngle", minElevationAngle) geoSite.LabelFontSize = 30; ac1 = access(cam1,geoSite); ac2 = access(cam2,geoSite); fov1 = fieldOfView(cam1, "LineColor",'blue', "LineWidth", 10) ac1.LineColor = 'black'; fov2 = fieldOfView(cam2, "LineColor", 'green', "LineWidth", 10) pointAt(sat1,geoSite); play(sc);
Output:
References: