Program Hitungan Geosat 4
description
Transcript of Program Hitungan Geosat 4
KELUARAN PROGRAM Pada Matlab
------------------------------------------------------------------ Program Hitungan : Tugas Geodesi Satelit 4 Oleh : Dany Puguh Laksono - 07/256988/TK/33449
Absen = 93------------------------------------------------------------------
1.Transformasi vektor posisi satelit S pada epok tx dari SKO ke SKL :
Data diketahui :
# Ascending Node (AN) = 100 derajat # Argumen Perigee (w) = 330 derajat # Inklinasi (i) = 55 derajat # Posisi Satelit pada SKO (Dari Tugas 3) : rSKO = -1639598.2184790 m 28556890.0809512 m 0.00 m
Hasil Transformasi vektor posisi dalam SKL : rSKL = 4346619.7069355696 m -3273135.2954460890 m 28081626.3039474260 m
2.Transformasi vektor posisi satelit S pada epok tx dari SKL ke SKT :
Data diketahui :
# Epok t0 pada 17 Agustus 2008, pukul 10.00 WIB # Nilai anomali menengah M = 93 (no. Absen) # Nilai anomali menengah M0 = 0 (Saat satelit di Perigee) # Nilai kec sudut rerata n = 0.0001305329140200 (Dari Tugas 3)
Hitungan epok tx : Nilai epok tx (dalam satuan jam) : 6.4541228687 j Nilai epok tx (dalam h m s) : 6.00 h 27.00 m 14.8423272465 s
Interpolasi epok tx untuk 17 Agustus 2008 pukul 6.00h 27.00m 14.8423272s UT1 Nilai dPsi, dEpsilon, Xp, Yp diperoleh dari Bulletin B (http://hpiers.obspm.fr/eop-pc/) Interval tanggal = 5 hari # Nilai-nilai pada tanggal awal : Nilai dPsi = -69.50 x 0.001"; Nilai dEpsilon = -7.20 x 0.001"; Nilai koordinat x kutub (Xp) = 0.28830"; Nilai koordinat y kutub (Yp) = 0.37153"; # Nilai-nilai pada tanggal akhir : Nilai dPsi = -70.20 x 0.001"; Nilai dEpsilon = -7.40 x 0.001"; Nilai koordinat x kutub (Xp) = 0.28944"; Nilai koordinat y kutub (Yp) = 0.35606";
--> Hasil Interpolasi : Nilai dPsi = -69.6776 x 0.001"; Nilai dEpsilon = -7.2508 x 0.001"; Nilai koordinat x kutub (Xp) = 0.2885893"; Nilai koordinat y kutub (Yp) = 0.3676040";
Julian Date : JD pada 17 Agustus 2008, UT1 = 0, = 2454695.50 JD pada epok t0 = 17 Agustus 2008, UT1 = 3, = 2454695.6250
JD pada epok tx = 17 Agustus 2008, UT1 = 6,... = 2454695.7689217860 JD 2000 = 2451545
Tu = 0.0862559890485969T = 0.0862594113620808t = 3.94036375052467e-006
Epsilon pada epok tx : 84377.4095779623" dalam derajat : 23.4381693272 derajat dalam dms : 23d 26m 17.4095779623s
Hitungan GMSTo dan GAST : GMSTo : 213.7161764692 jam = 213h 42m 58.2352891214s GAST : 213.7161764692 jam = 3302.9561038102 derajat = 62.9561038102 derajat = 62h 57m 21.9737168793s
Transformasi SKL ke SKT :
rSKT = 10816684.2216478470 m -13625595.6037862150 m 22705213.9453651460 m
Nilai Beta dan Lambda :
Beta = 52 d 32 m 24.5603582120 s Lambda = 51 d 33 m 20.4592739563 s
3. Visibilitas satelit S pada epok tx.
Data diketahui : # Koordinat Pengamat di Kampus UGM : - Lintang = 7o 48' 00" - Bujur = 110o 22' 30" - Tinggi = 180 m # Setengah sumbu panjang ellipsoid WGS84 (a) = 6378137.00 # Nilai kuadrat eksentrisitas ellipsoid WGS84 (e2) = 0.006694380000
Hitungan Normal ellipsoid pada lintang tsb (N) : N = 6378530.25453428
Vektor posisi titik pengamatan (raSKT) : raSKT = -2200283.7182611581 m 5924295.4308016971 m -859895.2172009099 m
Nilai-nilai u, -v, dan w : u_vw = 20244791.3615012 5395998.59384264 -25845419.0440215
Nilai Azimuth dan Elevasi :
Azimuth = 14 d 55 m 28.2512403406 s Elevasi = 50 d 58 m 12.2486129495 s
Harga Elevasi positif, satelit berada di atas horizon dan kemungkinan dapat diamat.
--------------------------------Program Selesai-----------------------------------------
LISTING PROGRAM MATLAB, Berikut fungsi-fungsi Eksternal yang digunakan
% TUGAS GEODESI SATELIT 4% Dany Puguh Laksono - 07/256988/TK/33449 clc;clear all;format long g;format compact; warning off;
%FUNGSI-FUNGSI% Fungsi Julian date. Format masukan : Julian Date = JD(D,M,Y,UT)JD = inline('fix(365.25*y) + fix(30.6001*(m+1)) + D + UT/24 + 1720981.5','D','m','y','UT');
% Fungsi Konversi Sudutrad = inline('sdt*pi/180'); deg = inline('sdt*180/pi');decideg = inline('deg+(min/60)+(sec/3600)','deg','min','sec');
%Fungsi matrix rotasiR1 = inline('[1 0 0; 0 cos(sdt) sin(sdt);0 -sin(sdt) cos(sdt)]');R2 = inline('[cos(sdt) 0 -sin(sdt); 0 1 0; sin(sdt) 0 cos(sdt)]');R3 = inline ('[cos(sdt) sin(sdt) 0; -sin(sdt) cos(sdt) 0; 0 0 1]');
fprintf('\n\n');fprintf('------------------------------------------------------------------\n');fprintf(' Program Hitungan : Tugas Geodesi Satelit 4 \n');fprintf(' Oleh : Dany Puguh Laksono - 07/256988/TK/33449\n' );fprintf(' Absen = 93\n’ );
fprintf('------------------------------------------------------------------\n\n');
%---------------------------------------------------------------------------------------%SOAL 1
%diketahuirSKO = [-1639598.21847899350; 28556890.0809511840; 0]; AN = 100; %Ascending Nodew = 330; %Argumen Perigeei = 55; %Inklinasi Orbit
fprintf('\n1.Transformasi vektor posisi satelit S pada epok tx dari SKO ke SKL : \n');fprintf('\nData diketahui : \n');fprintf('\n # Ascending Node (AN) = %0.0f derajat',AN);fprintf('\n # Argumen Perigee (w) = %0.0f derajat',w);fprintf('\n # Inklinasi (i) = %0.0f derajat',i);fprintf('\n # Posisi Satelit pada SKO (Dari Tugas 3) : ');fprintf('\n rSKO = \n %35.7f m \n %35.7f m \n %35.2f m \n',rSKO); rSKL = R3(-AN)*R1(-i)*R3(-w)*rSKO;fprintf('\nHasil Transformasi vektor posisi dalam SKL : ');fprintf('\n rSKL = \n %35.10f m \n %35.10f m \n %35.10f m \n',rSKL);
%---------------------------------------------------------------------------------------%SOAL 2
%diketahuiD0 = 17; m0 = 8; y0 = 2008; UT0 = 3; % t0 M = 93;Mo = 0;n = 0.0001305329140200;
fprintf('\n\n2.Transformasi vektor posisi satelit S pada epok tx dari SKL ke SKT :\n')fprintf('\nData diketahui : \n');fprintf('\n # Epok t0 pada 17 Agustus 2008, pukul 10.00 WIB');fprintf('\n # Nilai anomali menengah M = %0.0f (no. Absen)',M);
fprintf('\n # Nilai anomali menengah M0 = %0.0f (Saat satelit di Perigee)',Mo);fprintf('\n # Nilai kec sudut rerata n = %0.16f (Dari Tugas 3)',n);
% txUTx = UT0 + ((rad(M - Mo)/n)/3600);fprintf('\n\nHitungan epok tx :');fprintf('\n Nilai epok tx (dalam satuan jam) : %0.10f j',UTx);fprintf('\n Nilai epok tx (dalam h m s) : %0.2f h %0.2f m %0.10f s \n',j2hms(UTx));faktor = UTx + (24);
% Interpolasi epok tx untuk 17 Agustus 2008 fprintf('\nInterpolasi epok tx untuk 17 Agustus 2008 pukul %0.2fh %0.2fm %0.7fs UT1',j2hms(UTx))fprintf('\n Nilai dPsi, dEpsilon, Xp, Yp diperoleh dari Bulletin B (http://hpiers.obspm.fr/eop-pc/) ');fprintf('\n Interval tanggal = 5 hari');% tanggal awaldpsiaw = -69.5; depsiaw = -7.2; xpaw = 0.28830; ypaw = 0.37153;fprintf('\n # Nilai-nilai pada tanggal awal : ');fprintf('\n Nilai dPsi = %0.2f x 0.001"; ',dpsiaw);fprintf('\n Nilai dEpsilon = %0.2f x 0.001"; ',depsiaw);fprintf('\n Nilai koordinat x kutub (Xp) = %0.5f"; ',xpaw);fprintf('\n Nilai koordinat y kutub (Yp) = %0.5f"; ',ypaw);% tanggal akhirdpsiak = -70.2; depsiak = -7.4; xpak = 0.28944; ypak = 0.35606;fprintf('\n # Nilai-nilai pada tanggal akhir : ');fprintf('\n Nilai dPsi = %0.2f x 0.001"; ',dpsiak);fprintf('\n Nilai dEpsilon = %0.2f x 0.001"; ',depsiak);fprintf('\n Nilai koordinat x kutub (Xp) = %0.5f"; ',xpak);fprintf('\n Nilai koordinat y kutub (Yp) = %0.5f"; ',ypak); dPsi = (((dpsiak - dpsiaw)*faktor/(5*24)) + dpsiaw)*0.001; %satuan dalam detikdEpsilon = (((depsiak - depsiaw)*faktor/(5*24)) + depsiaw)*0.001; %satuan dalam detik Xp = (((xpak - xpaw)*faktor/(5*24)) + xpaw); %satuan dalam detikYp = (((ypak - ypaw)*faktor/(5*24)) + ypaw); %satuan dalam detik
fprintf('\n\n --> Hasil Interpolasi : ');fprintf('\n Nilai dPsi = %0.4f x 0.001"; ',dPsi/0.001);fprintf('\n Nilai dEpsilon = %0.4f x 0.001"; ',dEpsilon/0.001);fprintf('\n Nilai koordinat x kutub (Xp) = %0.7f"; ',Xp);fprintf('\n Nilai koordinat y kutub (Yp) = %0.7f"; ',Yp);
%Julian Datefprintf('\n\nJulian Date : ');JDUT1 = JD(D0,m0,y0,0); % JD pada 17 Agustus 2008, UT1 = 0JDt0 = JD(D0,m0,y0,UT0); % JD pada epok t0 = 17 Agustus 2008, UT1 = 3JDtx = JD(D0,m0,y0,UTx); % JD pada epok tx = 17 Agustus 2008, UT1 = 6,....JD2000 = JD(1,13,1999,12); % JD2000fprintf('\n JD pada 17 Agustus 2008, UT1 = 0, = %0.2f ',JDUT1);fprintf('\n JD pada epok t0 = 17 Agustus 2008, UT1 = 3, = %0.4f ',JDt0);fprintf('\n JD pada epok tx = 17 Agustus 2008, UT1 = 6,... = %0.10f ',JDtx);fprintf('\n JD 2000 = %0.0f ',JD2000);
fprintf('\n\n');Tu = (JDUT1 - JD2000)/36525T = (JDt0 - JD2000)/36525t = (JDtx - JDt0)/36525
% Epsilon pada epok txEpsilon = (84381.448 - 46.8150*T - 0.00059*(T^2)+ 0.001813*(T^3)... + (-46.8150 - 0.00117*T + 0.005439*(T^2))*t - ... (0.00059 + 0.005439*T)*(t^2) + 0.00813*(t^3));fprintf('\nEpfffsilon pada epok tx : %0.10f" \n',Epsilon);Epsilon = Epsilon / 3600; %dalam derajatfprintf(' dalam derajat : %0.10f derajat\n',Epsilon);fprintf(' dalam dms : %0.0fd %0.0fm %0.10fs \n',deg2dms(Epsilon));
%GMSTo dalam jam (j)
GMSTo = (6+(41/60)+(50.548/3600)) + (8640184.812866/3600)*Tu + (0.093104/3600)*Tu^2 - (6.2*(10^-6)/3600)*Tu^3;%GAST dalam jam (j)GAST = GMSTo + 1.0027379 * UTx + dPsi * cos(Epsilon + dEpsilon); fprintf('\nHitungan GMSTo dan GAST : ');fprintf('\n GMSTo : %0.10f jam',GMSTo); fprintf(' = %0.0fh %0.0fm %0.10fs',j2hms(GMSTo));fprintf('\n GAST : %0.10f jam',GMSTo); % dalam derajatGAST = GAST*15;fprintf(' = %0.10f derajat\n',GAST); GAST = mod(GAST,360); % Hasil akhir GAST, sisa pembagian dari hasil sebelumnyafprintf(' = %0.10f derajat',GAST); fprintf(' = %0.0fh %0.0fm %0.10fs \n',deg2dms(GAST));
%Transformasi SKL ke SKTfprintf('\nTransformasi SKL ke SKT : \n');rSKT = R2(-Xp)*R1(-Yp)*R3(GAST)*rSKL;fprintf('\n rSKT = \n %35.10f m \n %35.10f m \n %35.10f m \n',rSKT); fprintf('\nNilai Beta dan Lambda : \n');abeta = rSKT(3);bbeta = sqrt(rSKT(1)^2+rSKT(2)^2);fprintf('\n Beta = %0.0f d %0.0f m %0.10f s',deg2dms(cektanda(abeta,bbeta)));alambda = rSKT(2);blambda = rSKT(1);fprintf('\n Lambda = %0.0f d %0.0f m %0.10f s \n',deg2dms(cektanda(alambda,blambda))); %---------------------------------------------------------------------------------------%SOAL 3fprintf('\n\n3. Visibilitas satelit S pada epok tx.\n');
% koordinat pengamat diketahuilintg = -decideg(7,48,0); % derajatlintg = rad(lintg);bjr = decideg(110,22,30); % derajatbjr = rad(bjr);h = 180; % meter% datum WGS '84a = 6378137;e2 = 0.006694380;
fprintf('\nData diketahui :');fprintf('\n # Koordinat Pengamat di Kampus UGM :');fprintf('\n - Lintang = 7o 48'' 00"');fprintf('\n - Bujur = 110o 22'' 30"');fprintf('\n - Tinggi = %0.0f m',h);fprintf('\n # Setengah sumbu panjang ellipsoid WGS84 (a) = %0.2f',a);fprintf('\n # Nilai kuadrat eksentrisitas ellipsoid WGS84 (e2) = %0.12f\n',e2);
fprintf('\nHitungan Normal ellipsoid pada lintang tsb (N) : \n');N = a/sqrt(1-e2*(sin(lintg)^2))fprintf('\nVektor posisi titik pengamatan (raSKT) : \n');raSKT = [(N+h)*cos(lintg)*cos(bjr); (N+h)*cos(lintg)*sin(bjr); (N*(1-e2)+h)*sin(lintg)];fprintf(' raSKT = \n %35.10f m \n %35.10f m \n %35.10f m \n',raSKT); fprintf('\nNilai-nilai u, -v, dan w : \n');u_vw = R2(lintg-rad(90))*R3(bjr-rad(180))*((rSKT-raSKT))
fprintf('\nNilai Azimuth dan Elevasi : \n');aAzimuth = -u_vw(2); %vbAzimuth = u_vw(1); %ufprintf('\n Azimuth = %0.0f d %0.0f m %0.10f s',deg2dms(cektanda(aAzimuth,bAzimuth)));aElevasi = u_vw(3); %wbElevasi = sqrt(u_vw(1)^2+ ((-u_vw(2))^2));
fprintf('\n Elevasi = %0.0f d %0.0f m %0.10f s \n',deg2dms(cektanda(aElevasi,bElevasi)));
if sign(cektanda(aElevasi,bElevasi)) == 1, fprintf('\nHarga Elevasi positif, satelit berada di atas horizon dan kemungkinan dapat diamat.');else fprintf('\nHarga Elevasi negatif, satelit berada di bawah horizon dan tidak dapat diamat.');endfprintf('\n\n--------------------------------Program Selesai-------------------------');
Fungsi-fungsi eksternal
function kv = deg2dms(sdt)% Fungsi deg2dms (decimaldegree to degree minute second)% Konversi sudut dari decimal degree menjadi Degree Minute Second
deg = fix(sdt);min = fix((sdt-fix(sdt))*60);sec = (((sdt-fix(sdt))*60)-fix((sdt-fix(sdt))*60))*60;
if sign(deg) == -1, min = abs(min); sec = abs(sec);elseif deg == 0; if sign(min) == -1, sec = abs(sec); endend
kv = [deg min sec];
function kv2 = j2hms(sdt)% FUNGSI KONVERSI SUDUT% Untuk menghitung konversi dari dari [decimal jam] ke [Hour Minute Second]% karena rumus yang digunakan sama persis dengan rumus decdegree ke dms, maka% fungsi yang digunakan juga sama. Hanya perbedaan pada nama
kv2 = [deg2dms(sdt)];
function ck = cektanda(pembilang,penyebut)% untuk melakukan pengecekan terhadap sudut hasil hitungan% apakah pada kuadran I, kuadran II, III atau IV% hasil dalam derajat
deg = inline('sdt*180/pi');vary = deg(atan(pembilang/penyebut));
if sign(pembilang) == -1, if sign(penyebut) == -1, % Kuadran III vary = (180 + vary); else % Kuadran IV vary = (360 - vary); end else if sign(penyebut) == -1, % Kuadran II vary = (180 - vary); else % Kuadran I vary = (vary); end endif vary >360, vary = mod(vary,360);end ck = [vary];
GAMBAR SKETSA Bola Langit SKL dan SKT
Z (SKT)
Y (SKT)
Y (SKL)
X (SKT)
X (SKL)
AN
X (SKO)
DN
O
S
Z (SKO)
Dany Puguh Laksono07/256988/TK/33449
Absen : 93
Z (SKL)
f
i
geod-pengamat
geodZp
= 90 o
=270o CTP
PyP
xP
CTPP