konversi cis2cts
DESCRIPTION
KonversiTRANSCRIPT
Transformasi Matriks dan Persamaan CIS (ECI) ke WGS84 (ECEF)
Transformasi dari ECI (Earth-Centered Inertial) ke WGS 84 memanfaatkan teori dan nutasi
astronomis), perubahan standar Epoch J2000,0 dan definisi dari waktu universal yang
diadaptasi dari IAU (International Atronomical Union).
Dalam pembahasan ini, semua sistem koordinat menggunakan sistem tangan kanan dan tegak
lurus, serta rotasi positif adalah berlawanan arah dengan jarum jam.
Gambaran Umum
Untuk menyelesaikan masalah trasnformasi dari posisi komponen CIS ke datum WGS
84, hal yang harus kita lakukanadalah membentuk 4 matriks seperti yang terdapat
pada Pers. A.1, yaitu sebagai berikut : matriks presesi (D), matriks nutasi, matriks
sidereal time (B), dan matriks polar (A). Matriks ABCD tersebut akan
mentrasnformasikan dari sistem koordinat ECI ke WGS84.
Waktu dan Epoch
Dua jenis waktu yang dipakai disini adalah sidereal time dan universal/solar time.
Keduanya diukur berdasarkan rotasi harian dari bumi. Sidereal time biasanya
ditentukan dengan cara mengamati pergerakan bintang di bidang meridian pengamat.
Sedangkan solar time dapat dikaitkan dengan rata-rata matahari fiktif yang bergerak
sepanjang ekuator langit dengan gerak sidereal yang sepadan dengan rata-rata dari
gerak tahunan matahari sepanjang ekliptika.
Sejak 1 Januari 1972, skala waktu yang digunakan oleh banyak instansi adalah
coordinated universal time (UTC) yang berdasarkan pada pendefinisian ulang
koordinat waktu tersebut. Sedangkan Universal Time ditentukan dari pengamatan
gerak harian bintang, dan tidak mengandung ketidakseraman karena variasi rotasi dari
bumi
Presesi
Gerakan kompleks dari presesi dapat dibagi menjadi tiga, yatu sudut , z, dan .
Matrik presesi (D) mentransformasikan koordinat dari CIS atau sistem ECI ke sistem
inersial tanggal. Sumbu koordinat untuk CIS di deskripsikan di Pers. A.2 sebagai X1,
Y1, Z1. Sumbu X1 mengarah ke atas dan tegak lurus seperti pada Pers. A.2. Sumbu Z1
merupakan vektor yang tegak lurus bidang epoch di ekuator dan bernilai positif di
kutub utara langit, melengkapi sistem koordinat tangan kanan (90 di timur X1). Epoch
dinyatakan sebagia J2000,0, yang mana dimulai pada siang hari pada 1 Januari tahun
2000. Presesi teridiri dari tiga rotasi yang melalui tiga sudut.
o Rotasi positif sumbu Z1 melalui sudut (90 - )
o Rotasi positif sumbu X1 melalui sudut
o Rotasi negatif sumbu Z2 melalui sudut (90 + z)
Matriks D seperti yang ditunjukkan pada Pers. A.3 merupakan produk dari ketiga
matriks rotasi secara berurutan.
1. Konversi Vektor Julian Date ke Greenwich Apparent Sidereal Time (GAST)
Berikut ini merupakan tampilan awal program MATLABR2014a saat membuka
koding program konversi vektor Julian Date ke Greenwich Apparent Sidereal Time (GAST).
GAST selanjutnya akan digunakan dalam perhitungan koordinat ECI ke ECEF. Berikut ini
penjabarannya :
Dalam proses konversi, dibutuhkan input vektor Julian Date (JD) dalam bentuk
matriks dengan ukuran [N x M x L]
Output yang akan dihasilkan merupakan Greenwich Apparent Sidereal Time
berbentuk matriks vektor [N x M x L] yang mempunya satuan derajat.
Berikut ini adalah informasi tambahan dari program ini :
o Sumber :
Approximate Sidereal Time :
http://www.usno.navy.mil/USNO/astronomical-applications/astronomi
cal-information-center/approx-sider-time
Universal Sidereal Time, The Astronomical Almanac For The Year
2004
Program ini dibuat oleh Darin Koblick pada 17 Juli 2010 di update
pada tanggal 28 Mei 2012 dengan perubahan pada bidang miring
ekliptika
Selanjutnya langsung masuk ke koding utama
Dapat dilihat bahwa hasil GAST di definisikan sebagai hasil fungsi JD2GAST terhada
JD. Lalu didefinisikan pula THETAm sebagai hasil dari fungsi JDGMSTT terhadap JD
dimana THETAm merupakan siderial time dalam satuan derajat.
Lalu program akan menghitung jumlah abad sejak J2000.0
Rumusnya dededifinisikan sebagai :
T = (JD – 2451545.0)./36525.
Langkah selanjutnya adalah menghitung kemiringan dari bidang ekliptika yang
didefinisikan sebagai EPSILONm
Untuk dukungan informasi, dapat mengakses
http://www.cdeagle.com/ccnum/pdf/demogast.pdf (link tidak aktif) dan literatur
Fundamentals of Astrodyamics and Application (edisi kedua) oleh Vallado.
Rumus dari EPSILONm itu sendiri didefinisikan sebagai berikut :
EPSILONm = 23.439291-0.0130111.*T - 1.64E-07.*(T.^2) + 5.04E-07.*(T.^3)
Langkah selanjutnya adalah menghitung nutasi pada kemiringan dan bujut (dalam
derajat)
Disini didefinisikan :
L = 280.4665 + 36000.7698.*T;
dL = 218.3165 + 481267.8813.*T;
OMEGA = 125.04452 - 1934.136261.*T;
Lalu hitung nutasi menggunakan 2 persamaan berikut :
dPSI = -17.20.*sind(OMEGA) - 1.32.*sind(2.*L) - .23.*sind(2.*dL)
+ .21.*sind(2.*OMEGA);
dEPSILON = 9.20.*cosd(OMEGA) + .57.*cosd(2.*L) + .10.*cosd(2.*dL) -
.09.*cosd(2.*OMEGA);
Setelah mendapatkan nilai dPSI dan dEPSILON, makan konversi hasil-hasil tersebut
ke dalam bentuk derajat.
Sebagai langkah terakhir, menghitung GAST dengan cara sebagai berikut :
Rumus yang digunakan adalah :
GAST = mod(THETAm + dPSI.*cosd(EPSILONm+dEPSILON),360)
Perhitungan GAST telah selesai dan menghasilkan nilai dengan satuan derajat.
2. Transformasi Julian Date ke Greenwich Mean Sidereal Time (GMST
%----------------------------- Begin Function -----------------------------
1. Digunakan untuk memulai suatu program , untuk mengawali suatu program
bisa juga dengan mencantumkan nama , misal “%.............MAULIDA.........” atau
bisa juga “%......................... “.
%Purpose:
%--------
%Convert a specified Julian Date Vector to Greenwhich Mean Sidereal Time.
%
%Inputs:
%-------
%JD [N x M x L] Julian Date Vector
%
%
%Outputs:
%--------
%GMST [N x M x L] Greenwich Mean Sidereal
% Time in degrees from
% 0-360
%
2. Setelah itu mencantumkan tujuan dari pembuatan program , bisa dengan kata
“purpose” atau “function” . Tujuan dari transformasi ini adalah mengubah spesifikasi
vector Julian date ke GMST.
3. Input vektor Julian Date dalam bentuk matriks ( N x M x L). Outputnya berupa
waktu GMST dalam bentuk matriks ( N x M x L) yang dituliskan dalam satuan
derajat 0-360˚
4. Fungsi GMST = JD2GMST(JD)
Julian Date Senin 1 Januari 4713 SM (JD0)
5. Masukkan fungsi persamaan :
JD0 = NaN(size(JD));
JD0 : Representasi Julian Date Senin 1 Januari 4713 SM
NaN :Not a Number (fungsi bukan bilangan ,contoh: 0/0)
Size :Banyaknya Orde kolom dan Baris
JDmin = floor(JD)-.5;
Jdmin :WAKTU 12 JAM (0,5hari) sebelum waktu JD
floor(JD) : :Pembulatan kebawah JD
(JD)-.5 :Waktu JD-.5 (setengah hari sebelum JD 1 Januari 4713 SM (12.00
UT))
JDmax = floor(JD)+.5;
Jdmax : WAKTU 12 JAM (0,5hari) sesudah waktu JD
floor(JD) : Pembulatan kebawah JD
(JD)+.5 : Waktu JD-.5 (setengah hari sesudah JD 1 Januari 4713 SM
(12.00 UT))
JD0(JD > JDmin) = JDmin(JD > JDmin);
JD0(JD > JDmax) = JDmax(JD > JDmax);
Merupakan Persamaan rumus Julian Date.
H = (JD-JD0).*24; :Time in hours past previous midnight
D = JD - 2451545.0; : Compute the number of days since J2000
D0 = JD0 - 2451545.0; : Compute the number of days since J2000
T = D./36525; :Compute the number of centuries since J2000
6. Hitung waktu GMST (pada waktu 24 jam) yang ditampilkan dalam derajat
GMST = mod(6.697374558 + 0.06570982441908.*D0 + 1.00273790935.*H + ...
0.000026.*(T.^2),24).*15
7. Transformasi selesai
3. Tranformasi ACI ke ECEF
%----------------------- Begin Code Sequence -----------------------------%
% Purpose: %
% Convert ECI (CIS, Epoch J2000.0) Coordinates to WGS 84 (CTS, ECEF) %
% Coordinates. This function has been vectorized for speed. %
% %
% Inputs: %
%------- %
%JD [1 x N] Julian Date Vector
%
%r_ECI [3 x N] Position Vector
% in ECI coordinate
% frame of reference
%
%v_ECI [3 x N] Velocity Vector in
% ECI coordinate
% frame of reference
%
%a_ECI [3 x N] Acceleration Vector
% in ECI coordinate
% frame of reference
Diatas merupakan Solution structure yang menghitung kesalahan dengan mengeliminasi baris
dan kolom dengan menentukan derajat kebebasannya.
- Tujuan dari program diatas yaitu mengubah koordinat ECI (CIS,Epok J2000.0)
kekoordinat WGS 84(CTS,ECEF).
- Adapun data yang diinputkan
1. Vektor Julian Date (JD) yaitu matriks yang berukuran 1 x N
2. Vektor posisi dalam bidang referensi koordinat ECI(r_ECI) yaitu berupa
matriks berukuran 3 x N
3. Vektor kecepatan dalam bidang referensi koordinat ECI(v_ECI) yaitu berupa
matriks berukuran 3 x N
4. Vektor percepatan dalam bidang referensi koordinat ECI(a_ECI) yaitu berupa
matriks berukuran 3 x N
% Outputs:
%--------- %
%r_ECEF [3 x N] Position Vector in
% ECEF coordinate
% frame of reference
%
%v_ECEF [3 x N] Velocity vector in
% ECEF coordinate
% frame of reference
%
%a_ECEF [3 x N] Acceleration Vector
% in ECEF coordinate
% frame of reference
Diatas disebut Output displacements and reaction . Dari data yang diinputkan , maka
outputnya akan berupa :
1. Vektor posisi dalam bidang referensi koordinat ECI(r_ECI) yaitu berupa
matriks berukuran 3 x N
2. Vektor kecepatan dalam bidang referensi koordinat ECI(v_ECI) yaitu
berupa matriks berukuran 3 x N
3. Vektor percepatan dalam bidang referensi koordinat ECI(a_ECI) yaitu
berupa matriks berukuran 3 x N
- Untuk mendapatkan outputnya maka harus didefinisikan programnya terlebih dahulu .
Misal function(nilai output/r_ECEF v_ECEF a_ECEF)=nama fungsi(tanpa spasi
/ECItoECEF).
- Setelah itu masukkan perintah untuk menghitung nilai Greenwich Apparent Sidereal
Time (THETA) yang dihasilkan dari fungsi sebelumnya yaitu
THETA+JD2GAST(JD)
- Menghitung rotasi inersial rata-rata bumi dalam radian per sekon , yaitu dengan
fungsi omega_e.
- Setelah itu mengumpulkan matriks transformasi yang digunakan untuk mengubah
ECI ke ECEF . Fungsi squeeze digunakan untuk memasukkan matriks
multidimensional.
- Fungsi SUM menyatakan penjumlahan . fungsi bsxfun adalah untuk menerapkan
elemen operasi biner untuk dua susunan dengan ekspansi tunggal yang diizinkan.
Fungsi @times untuk susunan berganda. Fungsi Repmat merupakan untuk
mengulang susunan sebelumnya . Permute berfungsi untuk mengatur kembali
susunan yang diinginkan. Sedangkan Size untuk menyatakan ukuran matriks.
- Setelah itu membuat fungsi T3D input value THETA dengan orde 3 x 3 dan
outputnya adalah T. Fungsi Zeros adalah membuat susunan matriks nol.
- Membuat fungsi Tdot3D dengan input value THETA & omega_e sehingga diperoleh
keluaran Tdot
- Membuat fungsi Tddot3D dengan input value THETA & omega_e sehingga diperoleh
keluaran Tddot
Daftar Pustaka
A.J.M Ferreira.MATLAB Codes for Finite Element Analysis.Solid Mechanics and
Structure,Portugal 2008
Convert Earth-centered inertial (ECI) to Earth-centered Earth-fixed (ECEF)
http://www.mathworks.com/help/aerotbx/ug/dcmeci2ecef.html
Declare function name, inputs, and outputs - MATLAB function
http://www.mathworks.com/help/matlab/ref/function.html
How To: Transform between the Earth Centered Fixed and Earth Centered Inertial reference
frames « AGI Dynamic Geometry Library Blog
http://blogs.agi.com/dynamicGeometry/?p=68