주요 콘텐츠

위성 시나리오를 모델링, 시각화, 분석하기

이 예제에서는 궤도에 있는 위성을 모델링하고, 위성과 지상국 간의 액세스를 분석하고, 위성의 시야와 지상 궤적을 시각화하는 방법을 보여줍니다.

위성 시나리오 만들기

시작 시간이 2020년 6월 2일 오전 8:23:00 UTC이고 중지 시간이 5시간 후인 위성 시나리오를 만듭니다. 시뮬레이션 샘플 시간을 60초로 설정합니다.

startTime = datetime(2020,6,02,8,23,0);
stopTime = startTime + hours(5);
sampleTime = 60;
sc = satelliteScenario(startTime,stopTime,sampleTime);

시나리오에 위성 추가하기

threeSatelliteConstellation TLE 파일에서 시나리오에 위성을 추가합니다.

sat = satellite(sc,"threeSatelliteConstellation.tle");

궤도에 있는 위성을 표시하고 20분 동안의 지상 궤적을 표시합니다.

show(sat)
groundTrack(sat,"LeadTime",1200);

궤도 요소와 위성 위치 반환하기

시나리오에서 각 위성의 궤도 요소를 표시합니다.

ele1 = orbitalElements(sat(1))
ele1 = struct with fields:
                       MeanMotion: 0.0525
                     Eccentricity: 1.0000e-03
                      Inclination: 55
    RightAscensionOfAscendingNode: 175.0000
              ArgumentOfPeriapsis: 100
                      MeanAnomaly: 174.9900
                           Period: 6.8557e+03
                            Epoch: 02-Jun-2020 18:43:16
                            BStar: 1.0000e-04

ele2 = orbitalElements(sat(2))
ele2 = struct with fields:
                       MeanMotion: 0.0487
                     Eccentricity: 1.0000e-03
                      Inclination: 55
    RightAscensionOfAscendingNode: 350.0000
              ArgumentOfPeriapsis: 90
                      MeanAnomaly: 310.0877
                           Period: 7.3898e+03
                            Epoch: 02-Jun-2020 18:33:26
                            BStar: 1.0000e-04

ele3 = orbitalElements(sat(3))
ele3 = struct with fields:
                       MeanMotion: 0.0496
                     Eccentricity: 1.0000e-03
                      Inclination: 55
    RightAscensionOfAscendingNode: 270
              ArgumentOfPeriapsis: 95
                      MeanAnomaly: 119.9007
                           Period: 7.2550e+03
                            Epoch: 02-Jun-2020 18:37:40
                            BStar: 1.0000e-04

2020년 6월 2일 오후 12:30:00 UTC에서의 첫 번째 위성의 위도, 경도, 고도를 반환합니다.

time = datetime(2020,6,02,12,30,0);
pos = states(sat(1),time,"CoordinateFrame","geographic")
pos = 3×1
106 ×

    0.0000
   -0.0001
    1.4212

지상국 추가하기

마드리드와 캔버라 심우주 통신 단지의 위도와 경도를 관심 지상국으로 지정합니다.

name = ["Madrid Deep Space Communications Complex", ...
      "Canberra Deep Space Communications Complex"];
lat = [40.43139, -35.40139];
lon = [-4.24806, 148.98167];
gs = groundStation(sc,"Name",name,"Latitude",lat, ...
    "Longitude", lon);

지정된 시간에서의 방위각, 고도각, 거리 반환하기

2020년 6월 2일 오후 12:30:00 UTC에 마드리드 심우주 통신 단지를 기준으로 첫 번째 위성의 방위각, 고도각, 거리를 반환합니다.

time = datetime(2020,6,02,12,30,0);
[az,elev,r] = aer(gs(1),sat(1),time)
az = 264.2457
elev = -34.0669
r = 9.3088e+06

위성과 지상국이 있는 위성 시나리오를 재생합니다.

play(sc)

Output of animation reflecting satellites and ground stations.

참고 항목

객체

함수

도움말 항목