i
Simulasi Pelacakan Target Tunggal Untuk Mengetahui Jarak,
Sudut Azimuth, Sudut elevasi dan kecepatan target
Willy Sukardi / 0322041
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jl. Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia
Email : [email protected]
ABSTRAK
Istilah radar merupakan singkatan dari “Radio Detection and Ranging”, dan berkat perkembangan teknologi, radar telah mampu menyediakan informasi mengenai sasaran lebih dari sekedar mendeteksi dan mengukur jarak. Saat ini radar dapat menentukan kecepatan dan posisi sudut suatu target yang dilacak.
Gelombang microwave dikirim oleh transmitter lalu sebuah receiver menerima gelombang pantul yang berasal dari target. Dalam simulasi, sinyal pantul inilah yang digunakan sebagai input pada sistem matlab. Lalu sinyal tersebut diolah dengan menggunakan Kalman filter untuk mendapatkan sinyal tanpa noise.
Hasil yang diperoleh dari simulasi ini berupa grafik yang menampilkan lintasan, kecepatan, sudut azimuth dan sudut elevasi target yang memiliki noise dan yang sudah difilter. Dengan penurunan grafik lintasan dapat ditentukan jarak, kecepatan, sudut azimuth dan sudut elevasi. Dari grafik dapat disimpulkan bahwa lintasan yang diprediksi sudah mendekati lintasan yang diinginkan.
ii
Single Target Simulation To Determine The Distance, Azimuth
Angle, Elevation Angle And Speed Of The Target
Willy Sukardi / 0322041
Department of Electrical Engineering, Faculty of Techniques, Maranatha Christian University
Jalan Prof. Drg. Suria Sumantri 65, Bandung 40164, Indonesia Email: [email protected]
ABSTRACT
The term radar is an acronym for "Radio Detection and Ranging", by development of technology, the radar has been able to provide information about the target more than just detect and measure the distance. Currently radar can determine the speed and angular position of a tracked target.
Microwave waves sent by a transmitter and a receiver receives a reflected wave from the target. In the simulation, a reflected signal is used as input to the system matlab. Then the signal is processed by using a Kalman filter to obtain the signal without noise.
The results of this simulation in the form of graphs showing the path, velocity, azimuth angle and elevation angle with the target and the noise is filtered. With the decline in trajectories can be determined graph of distance, velocity, azimuth angle and elevation angle. From the graph it can be concluded that the predicted path was approaching the desired trajectory.
v
DAFTAR ISI
ABSTRAK ...i
ABSTRACT ...ii
KATA PENGANTAR ...iii
DAFTAR ISI ...v
DAFTAR GAMBAR ...vii
BAB I PENDAHULUAN 1.1.Latar Belakang ...1
1.2.Perumusan Masalah ...2
1.3.Tujuan ...2
1.4.Pembatasan Masalah ...2
1.5.Sistematika Penulisan ...3
BAB II DASAR TEORI II.1 Diskripsi Radar ...4
II.2 Frekuensi Radar ...4
II.3 Radar Cross section (RCS) ...6
II.4 Magnetron ...6
II.4.1. Bentuk Fisik Magnetron ...7
II.5 Persamaan Radar ...8
II.6 Macam Informasi Yang Dapat Diperoleh Dari Radar...12
II.6.1 Jarak Sasaran ke Radar ...13
II.6.2 Kecepatan Target Terhadap Radar ...13
II.6.3 Sudut ...15
II.7 Filter Kalman ...16
II.8 White Gausian Noise ...17
II.9 Pemograman Matlab...18
II.9.1 Fungsi M-File ...18
vi
BAB III PERANCANGAN DAN IMPLEMENTASI
III.1. Pelacakan Sudut ...21 III.2. Pelacakan Jarak ...21
BAB IV DATA dan ANALISIS DATA
IV.1. Kondisi 1 ...25 IV.2. Kondisi 2 ...35
BAB V Kesimpulan dan Saran
V.1. Kesimpulan ...47 V.2. Saran ...47
DAFTAR PUSTAKA ...47
vii
DAFTAR GAMBAR
Gambar 2.1. Daerah frekuensi radar ...5
Gambar 2.2. Bentuk inti magnetron ...7
Gambar 2.3. Bentuk rongga resonan...7
Gambar 2.4. Deret pulsa yang dikirim dan yang diterima radar ...13
Gambar 2.5. Skema pemantulan gelombang elektromagnetik oleh sasaran ...14
Gambar 2.6. Gambar 2.6 Koordinat target ...16
Gambar 2.7. Persoalan estimasi menggunakan filter Kalman ...17
Gambar 3.1. Struktur kalman filter ...21
Gambar 3.2. Tampilan fungsi matlab “kalman _gui.m” ...23
Gambar 4.1. Input lintasan yang tidak dipengaruhi noise kondisi 1 ...26
Gambar 4.2. Lintasan input yang dipengaruhi noise kondisi 1...26
Gambar 4.3. Posisi x yang dipengaruhi dan tidak dipengaruhi pada noise kondisi 1 ...27
Gambar 4.4. Posisi y yang dipengaruhi dan tidak pada dipengaruhi noise kondisi 1 ...28
Gambar 4.5. Posisi z yang dipengaruhi dan tidak dipengaruhi noise pada kondisi 1 ...29
Gambar 4.6. Posisi x, y, z yang dipengaruhi noise dan yang difilter pada kondisi 1 ...30
Gambar 4.7. Kecepatan pada bidang x, y, z yang diprediksi pada kondisi 1 ...31
Gambar 4.8. Besar sudut azimuth pada kondisi 1 ...32
Gambar 4.9. Besar sudut elevasi pada kondisi 1 ...33
Gambar 4.10. Residual posisi kondisi 1...34
Gambar 4.11. Residual kecepatan posisi kondisi 1 ...35
Gambar 4.12. Lintasan input yang tidak dipengaruhi noise pada kondisi 2………36
Gambar 4.13. Lintasan input yang dipengaruhi noise pada kondisi 2...37
Gambar 4.14. Posisi x yang dipengaruhi dan tidak dipengaruhi noise pada kondisi 2....38
Gambar 4.15. Posisi y yang dipengaruhi dan tidak dipengaruhi noise pada kondisi 2....39
Gambar 4.16. Posisi z yang dipengaruhi dan tidak dipengaruhi noise pada kondisi 2 ....40
Gambar 4.17. Posisi x, y, z yang dipengaruhi noise dan yang difilter pada kondisi 2 ....41
Gambar 4.18. Kecepatan pada bidang x, y, z yang diprediksi pada kondisi 2 ...42
Gambar 4.19. Besar sudut azimuth pada kondisi 2 ...43
viii
A-1
plot(angle,y1,'k',angle,y2,'k'); grid;
xlabel('Angle - radians') ylabel('Squinted patterns') figure(2)
plot(angle,ysum,'k'); grid;
xlabel('Angle - radians') ylabel('Sum pattern') figure(3)
plot(angle,ydif,'k'); grid;
xlabel('Angle - radians') ylabel('Difference pattern') angle = -pi/4:0.01:pi/4;
xlabel('Angle - radians') ylabel('voltage gain')
2. “maketraj.m”
function [times , trajectory] = maketraj(start_loc, xvelocity, yamp, yperiod, zamp, zperiod, samplingtime, deltat)
% CARA MENGGUNAKAN: [times , trajectory] = maketraj(start_loc, xvelocity, yamp, yperiod, zamp, zperiod, samplingtime, deltat) %
A-2
times = 0: deltat: samplingtime ;
x = start_loc(1)+xvelocity.*times ;
if yperiod~=0
y = start_loc(2)+yamp*cos(2*pi*(1/yperiod).*times) ;
else
y = ones(1, length(times))*start_loc(2) ;
end
if zperiod~=0
z = start_loc(3)+zamp*cos(2*pi*(1/zperiod).*times) ;
else
z = ones(1, length(times))*start_loc(3) ;
end
trajectory = [x ; y ; z] ;
3. “addnoise.m”
function [noisytraj ] = addnoise(trajectory, sigmaaz, sigmael, sigmarange )
%
% CARA MENGGUNAKAN: [noisytraj ] = addnoise(trajectory, sigmaaz, sigmael, sigmarange )
A-3
noisytraj = zeros(3, size(trajectory,2)) ;
for loop = 1 : size(trajectory,2) x = trajectory(1,loop);
y = trajectory(2,loop); z = trajectory(3,loop);
azimuth_corrupted = atan2(y,x) + sigmaaz*randn(1) ;
elevation_corrupted = atan2(z, sqrt(x^2+y^2)) + sigmael*randn(1) ;
range_corrupted = sqrt(x^2+y^2+z^2) + sigmarange*randn(1) ; x_corrupted =
range_corrupted*cos(elevation_corrupted)*cos(azimuth_corrupted) ; y_corrupted =
range_corrupted*cos(elevation_corrupted)*sin(azimuth_corrupted) ; z_corrupted = range_corrupted*sin(elevation_corrupted) ;
noisytraj(:,loop) = [x_corrupted ; y_corrupted; z_corrupted ] ;
end % loop berikutnya
4. “kalfit.m”
function [filtered, residuals , covariances, kalmgains] = kalfilt(trajectory, x0, P0, phi, R, Q )
% CARA MENGGUNAKAN: [filtered, residuals , covariances, kalmgains] = kalfilt(trajectory, x0, P0, phi, R, Q )
%
% INPUT %
% nama dimensi keterangan satuan %--- --- --- --- % trajectory NUMMEASUREMENTS X NUMPOINTS trajectory in radar reference coords [m;m;m]
A-4
% kalmgains (NUMSTATES X NUMMEASUREMENTS)
% X NUMPOINTS Kalman gain matrix
NUMMEASUREMENTS = 3 ;
NUMPOINTS = size(trajectory, 2) ;
% inisialisasi output matiks
filtered = zeros(NUMSTATES, NUMPOINTS) ; residuals = zeros(NUMSTATES, NUMPOINTS) ; covariances = zeros(NUMSTATES, NUMPOINTS) ;
kalmgains = zeros(NUMSTATES*NUMMEASUREMENTS, NUMPOINTS) ;
% set matrix relating measurements to states H = [1 0 0 0 0 0 ; 0 0 1 0 0 0 ; 0 0 0 0 1 0];
% menghitung penguatan kalman
K = Pminus*H'*inv(H*Pminus*H' + R) ;
kalmgains(:,loop) = reshape(K, NUMSTATES*NUMMEASUREMENTS, 1) ;
A-5
xhat = xhatminus + K*(z - H*xhatminus) ; filtered(:,loop) = xhat ;
residuals(:,loop) = xhat - xhatminus ;
% update the error covariance for the updated estimate P = ( eye(NUMSTATES, NUMSTATES) - K*H)*Pminus ;
function kalm(start_loc, velocity, yamp, yperiod, zamp, zperiod, samplingtime, deltat, sigmaaz, sigmael, sigmarange, x0, P0, R, Q)
% membuat lintasan berdasarkan parameter
[times trajectory] = maketraj(start_loc, velocity, yamp, yperiod, zamp, zperiod, samplingtime, deltat) ;
figure(1)
plot3( trajectory(1,:), trajectory(2,:), trajectory(3,:) ) grid on
title('lintasan yang diinginkan') xlabel('x (meter)')
A-6 view(22,66)
% menambah niose untuk menggangu lintasan
[noisytraj] = addnoise(trajectory, sigmaaz, sigmael, sigmarange ) ;
figure(2)
plot3( noisytraj(1,:), noisytraj(2,:), noisytraj(3,:) ) grid on
title('lintasan yang diberi noise') xlabel('x (meter)')
plot(times, noisytraj(1,:), times, trajectory(1,:),'r') title('posisi x')
xlabel('detik') ylabel('meter')
legend('terganggu','tak terganggu') grid on
figure(4)
plot(times, noisytraj(2,:), times, trajectory(2,:),'r') title('posisi y')
xlabel('detik') ylabel('meter')
legend('terganggu','tak terganggu') grid on
figure(5)
plot(times, noisytraj(3,:), times, trajectory(3,:),'r') title('posisi z')
xlabel('detik') ylabel('meter')
legend('terganggu','tak terganggu') grid on
% menampilkan pemfilteran kalamn pada lintasan yang diberi noise
[filtered, residuals , covariances, kalmgains] = kalfilt(noisytraj, x0, P0, phi, R, Q ) ;
% menampilkan lintasan yang telah difilter dan lintasan yang memiliki noise
figure(6) subplot(3,1,1)
plot(times, noisytraj(1,:), times, filtered(1,:),'r' ) ; grid on
title('posisi x')
A-7 ylabel('meter')
subplot(3,1,2)
plot(times, noisytraj(2,:), times, filtered(3,:),'r' ) ; grid on
title('posisi y')
legend('lintasan','telah difilter') xlabel('detik')
ylabel('meter') subplot(3,1,3)
plot(times, noisytraj(3,:), times, filtered(5,:),'r' ) ; grid on
title('posisi z')
legend('lintasan','telah difilter') xlabel('detik')
ylabel('meter')
% menampilkan kecepatan yang sudah difilter figure(7)
subplot(3,1,1)
plot(times, filtered(2,:) ) ; grid on
title('kecepatan pada sumbu x') xlabel('detik')
ylabel('meter per detik')
axis([0 times(length(times)) min(filtered(2, 3:length(times))) max(filtered(2, 3:length(times))) ]);
subplot(3,1,2)
plot(times, filtered(4,:) ) ; grid on
title('kecepatan pada sumbu y') xlabel('detik')
ylabel('meter per detik')
axis([0 times(length(times)) min(filtered(4, 3:length(times))) max(filtered(4, 3:length(times))) ]);
subplot(3,1,3)
plot(times, filtered(6,:) ) ; grid on
title('kecepatan pada sumbu z') xlabel('detik')
ylabel('meter per detik')
axis([0 times(length(times)) min(filtered(6, 3:length(times))) max(filtered(6, 3:length(times))) ]);
% Mencari sudut azimut dan sudut elevasi target figure(8)
plot(times, 180/pi.*atan(filtered(1,:)./filtered(3,:)) ,'r' ) ;
grid on
title('Sudut Azimut')
A-8
title('Sudut Elevasi')
xlabel('detik') ylabel('derajat')
% menampilkan residu dari posisi figure(10)
subplot(3,1,1)
plot(times, residuals(1,:) ) ; grid on
title('residual posisi pada sumbu x') xlabel('detik')
ylabel('meter')
axis([0 times(length(times)) min(residuals(1,
3:length(times))) max(residuals(1, 3:length(times))) ]); subplot(3,1,2)
plot(times, residuals(3,:) ) ; grid on
title('residual posisi pada sumbu y') xlabel('detik')
ylabel('meter')
axis([0 times(length(times)) min(residuals(3,
3:length(times))) max(residuals(3, 3:length(times))) ]); subplot(3,1,3)
plot(times, residuals(5,:) ) ; grid on
title('residual posisi pada sumbu z') xlabel('detik')
ylabel('meter')
axis([0 times(length(times)) min(residuals(5,
3:length(times))) max(residuals(5, 3:length(times))) ]);
% menampilkan residu dari kecepatan figure(11)
subplot(3,1,1)
plot(times, residuals(2,:) ) ; grid on
title('residual kecepatan pada sumbu x') xlabel('detik')
ylabel('meter per sdetik')
axis([0 times(length(times)) min(residuals(2,
3:length(times))) max(residuals(2, 3:length(times))) ]); subplot(3,1,2)
plot(times, residuals(4,:) ) ; grid on
A-9 xlabel('detik')
ylabel('meter per detik')
axis([0 times(length(times)) min(residuals(4,
3:length(times))) max(residuals(4, 3:length(times))) ]); subplot(3,1,3)
plot(times, residuals(6,:) ) ; grid on
title('residual kecepatan pada sumbu z') xlabel('detik')
ylabel('meter per detik')
axis([0 times(length(times)) min(residuals(6,
3:length(times))) max(residuals(6, 3:length(times))) ]);
Bab I Pendahuluan
1 Universitas Kristen Maranatha
BAB I
PENDAHULUAN
Pada bab ini akan dibahas mengenai latar belakang, identifikasi masalah, perumusan masalah, tujuan tugas akhir, pembatasan masalah dan sistematika penulisan tugas akhir ini.
1.1. Latar Belakang
Radar (radio detection and ranging) adalah sistem yang digunakan untuk mendeteksi, mengukur jarak dan membuat peta benda-benda seperti pesawat dan hujan. Gelombang elektromagnetik yang kuat dikirim melalui transmitter dan sebuah receiver menerima gema yang kembali. Dengan menganalisa sinyal pantul, dapat ditentukan lokasi target dan kadang-kadang dapat ditentukan jenis targetnya. Walaupun sinyal elektromagnetik yang diterima kecil, tapi sinyal tersebut dapat diperkuat kemudian dideteksi.
Gelombang radar dapat diproduksi dengan kekuatan yang diinginkan, dan mendeteksi gelombang yang lemah, dan kemudian diamplifikasi (diperkuat) beberapa kali. Oleh karena itu radar digunakan untuk mendeteksi objek jarak jauh. Penggunaan radar sangat luas, alat ini bisa digunakan di bidang meteorologi, pengaturan lalu lintas udara, deteksi kecepatan oleh polisi, dan terutama oleh militer.
Bab I Pendahuluan 2
Universitas Kristen Maranatha Dengan menggabungkan kedua teknik pelacakan diatas maka akan dapat diketahui posisi objek secara akurat dan pergerakan objek dapat diprediksi.
1.2 Perumusan Masalah
Bagaimana jarak dan kecepatan suatu objek bergerak dapat diketahui dengan teknik pelacakan jarak?
Bagaimana posisi angular suatu objek yang bergerak dapat diketahui dengan menggunakan pelacakan sudut?
1.3 Tujuan
Membuat sebuah simulasi pelacakan objek tunggal untuk mengetahui jarak, sudut azimuth, sudut elevasi dan kecepatan dengan teknik pelacakan jarak dan pelacakan sudut.
1.4 Pembatasan Masalah
Dalam penyusunan tugas akhir ini permasalahan dibatasi dalam beberapa hal yaitu:
Objek yang dilacak merupakan objek tunggal.
Variabel yang dihitung hanya meliputi jarak, sudut, dan kecepatan. Tugas akhir ini sebatas simulasi.
Simulasi Tugas Akhir ini menggunakan software Matlab 7.1. Pelacakan sudut menggunakan teknik pelacakan sudut monopulse. Menggunakan Filter Kalman dalam mengoptimasi output.
Bab I Pendahuluan 3
Universitas Kristen Maranatha Penulisan tugas akhir ini terdiri dari 5 bab dengan susunan sebagai berikut :
BAB I PENDAHULUAN
Bab ini berisi latar belakang tugas akhir, identifikasi masalah, perumusan masalah, tujuan tugas akhir, pembatasan masalah, dan sistematika penulisan.
BAB II TEORI PENUNJANG
Bab ini menjelaskan tentang landasan teori yang berkaitan denagn Tugas Akhir ini, seperti dasar teori radar, persamaan radar, magnetron, efek dopler, RCS.
BAB III PERANCANGAN DAN SIMULASI SISTEM
Berisi tentang perancangan perangkat lunak dari pelacakan sudut dan pelacakan jarak.
BAB IV PENGUJIAN SISTEM DAN DATA PENGAMATAN
Berisi tentang hasil data percobaan dan analisa terhadap hasil yang diperoleh dari pengujian perangkat lunak yang sudah dibuat.
BAB V KESIMPULAN DAN SARAN
Bab V Kesimpulan dan Saran
47 Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
V.1. Kesimpulan
Berdasarkan hasil pengamatan dan analisa yang telah dilakukan, dapat disimpulkan bahwa :
1. Simulasi sistem tracking pada Tugas Akhir ini memberikan performansi yang baik untuk pelacakan jarak dan pelacakan sudut, karena sistem tracking ini melakukan tracking pada koordinat target dan mengkompensasi komponen-komponen gerakan target yang dapat diprediksi.
2. Algoritma Kalman filter yang mengoptmasi tracking, merupakan faktor yang sangat penting untuk meningkatkan performasi sistem tracking.
V.2 Saran
Adapun saran yang dapat berguna bagi pengembangan Tugas Akhir ini selanjutnya adalah sebagai berikut
1. Pelacakan target tunggal lainnya dapat dilakukan di koordinat lain, misalnya koordinat tabung.
Daftar Pustaka
48 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1. Barton, David K, Radar System Analysis, Englewood Cliffs, New York, 1964. 2. Bierson, George, Optimal Radar Tracking System, Jhon Willey and son, New
York, 1990.
3. Dwi, Endiek Adi Moelyono, Optimasi Sistem Tracking Radar Dengan Bantuan Kalman Filter, Bandung, 1993.
4. http://id.wikipedia.org/wiki/Radar.html 5. http://www.radartutorial.eu
6. Mahafza, Bassem R, MATLAB Simulations For Radar Systems Design, Bassem R. Mahafza, Atef Z. Elsherbeni,2003.
7. Mahafza, Bassem R, Radar Systems & Analysis And Design Using Matlab, 2000.
8. R. Popoli, dan S. Blackman, 1999. Design and Analysis of Modern Tracking Systems. Boston : Artech House.
9. Skolnik,Merrill I, Introduction To Radar Systems, McGraw-Hill,Inc (3rd edition) 2001.