Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
-
Upload
nadya-amalia -
Category
Documents
-
view
226 -
download
1
Transcript of Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
1/13
LAPORAN PRAKTIKUM
DIGITAL SIGNAL PROCESSING
PRAKTIKUM I
DASAR-DASAR OPERASI MATLAB
NAMA : NADYA AMALIA
NIM : J1D108034
ASISTEN : JEDIYANU WIGAS TU’U
PROGRAM STUDI S-1 FISIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS LAMBUNG MANGKURAT
BANJARBARU
2011
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
2/13
PRAKTIKUM I
DASAR-DASAR OPERASI MATLAB
I. TUJUAN PERCOBAAN
Tujuan dari percobaan ini adalah agar mahasiswa mampu mengoperasikan
MATLAB dan memanfaatkannya sebagai perangkat simulasi untuk praktikum
Sinyal Digital Signal Processing.
II. TINJAUAN PUSTAKA
2.1 Definisi MATLAB
MATLAB adalah sebuah bahasa dengan (high-performance) kinerja tinggi
untuk komputasi masalah teknik. MATLAB mengintegrasikan komputasi,
visualisasi, dan pemrograman dalam suatu model yang sangat mudah untuk pakai
dimana masalah-masalah dan penyelesaiannya diekspresikan dalam notasi
matematika yang familiar. Penggunaan MATLAB meliputi bidang–bidang:
1. Matematika dan komputasi
2. Pembentukan algorithm
3. Akusisi data
4. Pemodelan, simulasi, dan pembuatan prototipe
5. Analisa data, explorasi, dan visualisasi
6. Grafik keilmuan dan bidang rekayasa
MATLAB merupakan suatu sistem interaktif yang memiliki elemen data
dalam suatu array sehingga tidak lagi kita dipusingkan dengan masalah dimensi.
Hal ini memungkinkan kita untuk memecahkan banyak masalah teknis yang
terkait dengan komputasi, kususnya yang berhubungan dengan matrix dan
formulasi vektor, yang mana masalah tersebut merupakan momok apabila kita
harus menyelesaikannya dengan menggunakan bahasa level rendah seperti
Pascall, C dan Basic.
Nama MATLAB merupakan singkatan dari matrix laboratory. MATLAB
pada awalnya ditulis untuk memudahkan akses perangkat lunak matrik yang telah
dibentuk oleh LINPACK dan EISPACK. Saat ini perangkat MATLAB telah
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
3/13
menggabung dengan LAPACK dan BLAS library, yang merupakan satu kesatuan
dari sebuah seni tersendiri dalam perangkat lunak untuk komputasi matrix.
Dalam lingkungan perguruan tinggi teknik, MATLAB merupakan perangkat
standar untuk memperkenalkan dan mengembangkan penyajian materi
matematika, rekayasa dan kelimuan. Di industri, MATLAB merupakan perangkat
pilihan untuk penelitian dengan produktifitas yang tingi, pengembangan dan
analisanya.
Fitur-fitur MATLAB sudah banyak dikembangkan, dan lebih kita kenal
dengan nama toolbox. Sangat penting bagi seorang pengguna Matlab, toolbox
mana yang mandukung untuk learn dan apply technologi yang sedang
dipelajarinya. Toolbox toolbox ini merupakan kumpulan dari fungsi-fungsi
MATLAB (M-files) yang telah dikembangkan ke suatu lingkungan kerja
MATLAB untuk memecahkan masalah dalam kelas particular. Area-area yang
sudah bisa dipecahkan dengan toolbox saat ini meliputi pengolahan sinyal, system
kontrol, neural networks, fuzzy logic, wavelets, dan lain-lain.
2.2 Kelengkapan pada Sistem MATLAB
Sebagai sebuah system, MATLAB tersusun dari 5 bagian utama:
1. Development Environment.
Merupakan sekumpulan perangkat dan fasilitas yang membantu anda untuk
menggunakan fungsi-fungsi dan file-file MATLAB. Beberapa perangkat ini
merupakan sebuah graphical user interfaces (GUI). Termasuk didalamnya
adalah MATLAB desktop dan Command Window, command history,
sebuah editor dan debugger, dan browsers untuk melihat help, workspace,
files, dan search path.
2. MATLAB Mathematical Function Library.
Merupakan sekumpulan algoritma komputasi mulai dari fungsi-fungsi dasar
sepertri: sum, sin, cos, dan complex arithmetic, sampai dengan fungsi-fungsi
yang lebih kompek seperti matrix inverse, matrix eigenvalues, Bessel
functions, dan fast Fourier transforms.
3. MATLAB Language.
Merupakan suatu high-level matrix/array language dengan control flow
statements, functions, data structures, input/output, dan fitur-fitur object-
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
4/13
oriented programming. Ini memungkinkan bagi kita untuk melakukan kedua
hal baik "pemrograman dalam lingkup sederhana" untuk mendapatkan hasil
yang cepat, dan "pemrograman dalam lingkup yang lebih besar" untuk
memperoleh hasil-hasil dan aplikasi yang komplek.
4. Graphics.
MATLAB memiliki fasilitas untuk menampilkan vector dan matrices
sebagai suatu grafik. Didalamnya melibatkan high-level functions (fungsi-
fungsi level tinggi) untuk visualisasi data dua dikensi dan data tiga dimensi,
image processing, animation, dan presentation graphics. Ini juga melibatkan
fungsi level rendah yang memungkinkan bagi anda untuk membiasakan diri
untuk memunculkan grafik mulai dari benutk yang sederhana sampai
dengan tingkatan graphical user interfaces pada aplikasi MATLAB anda.
5. MATLAB Application Program Interface (API).
Merupakan suatu library yang memungkinkan program yang telah anda tulis
dalam bahasa C dan Fortran mampu berinterakasi dengan MATLAB. Ini
melibatkan fasilitas untuk pemanggilan routines dari MATLAB (dynamic
linking), pemanggilan MATLAB sebagai sebuah computational engine, dan
untuk membaca dan menuliskan MAT-files.
III. PERANGKAT YANG DIPERLUKAN
1. PC yang dilengkapi dengan perangkat multimedia (sound card, Microphone,
Speaker active, atau headset).
2. Sistem Operasi Windows dan Perangkat Lunak Matlab yang dilengkapi
dengan tool box DSP
IV. PROSEDUR KERJA
1. Mengaktifkan program MATLAB.
2. Memulai Perintah Sederhana
Langkah kita yang pertama adalah dengan menentukan variable scalar
dengan cara melakukan pengetikan seperti berikut:
» x = 2 (selanjutnya tekan “Enter”)
x =
2
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
5/13
» y = 3
y =
3
» z = x + y
z =
5
Mendefinisikan dua buah vector, yaitu vector x dan vector y:
» x = [ 1 2 3 ]
x =
1 2 3
» y = [ 4 5 6 ]
y =
4 5 6
Menjumlahkan keduanya:
» x+y
ans =
5 7 9
Menghitung inner product:
» x*y'
ans =
32
Mengalikan matriks A dengan transpose dari x:
» A*x'
ans =
14
32
50
Mendefinisikan Matriks dan Vector. Sebagai contoh suatu matrik nol
dengan dimensi 3 baris dan 6 kolom dapat dinyatakan sebagai:
>> zeros(3,6)
ans =
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
3. Pendefinisian Vektor-vektor Besar
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
6/13
Suatu vektor 1 kali 100 yang menyusun sample pada sinyal cosinus dapat
dibangkitkan dengan
>> x = cos(0.1*pi*(0:99));
Untuk membangkitkan suatu "ramp" dari 1 sampai 50 coba:
>> x = [1:1:50];
bilangan kedua mengindikasikan step kenaikan dari dari 1 sampai 50. Untuk
membangkitkan suatu fungsi "ramp" dari 1 sampai 50 coba berikut ini:
>> x = [1:1:50];
4. Penggambaran Grafik
>> time = [0:0.001:0.099];
>> x = cos(0.1*pi*(0:99));
>> plot(time,x)>> xlabel('time (msec)')
>> ylabel('x(t)')
Menampilkan sederetan nilai fungsi waktu diskrit adalah dengan
menggunakan perintah "stem".
>> stem(time,x)
>> xlabel('time (msec)')
>> ylabel('x(t)')
5. Menyusun progam sederhana dengan menggunakan MATLAB.
V. HASIL DAN PEMBAHASAN
5.1 Data Hasil Praktikum
1. Membangkitkan grafik sederhana dengan perintah plot
Source code :
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
7/13
Output :
2. Membangkitkan grafik sederhana dengan perintah stem
Source code :
Output :
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
8/13
3. Membangkitkan grafik sederhana dengan perintah plot untuk for 1
Source code :
Output :
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
9/13
4. Membangkitkan grafik sederhana dengan perintah plot untuk for 2
Source code :
Output :
5. Membuat fungsi
Source code :
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
10/13
Output :
5.2 Pembahasan
Program Pertama :
>> time = [0:0.001:0.099];>> x = cos(0.1*pi*(0:99));
>> plot(time,x)
>> xlabel('time (msec)')
>> ylabel('x(t)')
Output berupa gelombang sinusoidal, tepatnya gelombang sinus yang
dibangkitkan dari time pada sumbu x dengan ramp dari 0 sampai dengan 0.099
dengan step kenaikan 0.001, dan variable x yang bergantung terhadap time
tersebut pada sumbu-y dengan fungsi cos(0.1*pi*(0:99)(interval yang digunakan
sama dengan interval yang dimiliki time). “pi” menunjukkan nilai π karena system
sudut yang dipakai adalah dalam radian. Pemplotan time dengan x dimaksudkan
menghubungkan time dan tersebut dalam suatu bentuk garis (kurva garis)
sehingga apabila semakin kecil nilai kenaikan step semakin jelas bentuk
gelombang sinusoidalnya. Adapun maksud dari xlabel dan label adalah untuk
pemberian nama (inisial) pada masing-masing sumbu-x dan sumbu-y.
>> time = [0:0.001:0.099];
>> x = cos(0.1*pi*(0:99));
>> stem(time,x)
>> xlabel('time (msec)')
>> ylabel('x(t)')
Tidak jauh berbeda dengan program di atas, hanya saja keluaran ditampilkan tidak
dalam bentuk kurva garis melainkan dalam bentuk diskrit.
Program kedua :
x(1:52) = [0 0 1:1:50];
x(53:102) = [50:-1:1];
h = [1 2];
for n = 3:101,
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
11/13
y(n) = 0;
for m = 1:2,
y(n) = y(n) + h(m)*x(n-m);
end
end
plot(y)
Keluaran berupa kurva garis dari variable yang nilainya bergantung
terhadap variable x. Untuk variable x dengan urutan dari 1 hingga 52 adalah
sama dengan 0 dan 0 lagi kemudian 1 hingga 50 dengan step kenaikan adalah 1
dan untuk variable dari 53 hingga 102 adalah sama dengan 50 dengan step
kenaikan adalah -1 (penurunan) hingga 1. Atau dengan kata lain terjadi
pergeseran nilai ke arah kanan sejauh 2 step. Selanjutnya nilai y adalah sama
nol pada urutan 3 hingga 101 yang kemudian ditambahkan dengan nilai h pada
urutan m yang dikalikan dengan x pada urutan n-m. Contoh: pada urutan ke 52
dan 53 adalah sama dengan 50. Maka dari itu y(52) = y(53) adalah nilainya
sendiri ditambahkan dengan h(m)*x(n-m).
y(n) = y(n) + h(m)*x(n-m); ambil n = 53
y(53) = y(53) + h(1)*x(53-1) + h(2)*x(53-2)
= 0 + 1*x(52) + 2*x(51)
= 1*50 + 2*49
= 148
Program ketiga :
n=201;
delx=10/(n-1);
for k=1:n
x(k)=(k-1)*delx;
y(k)=sin(x(k))*exp(-0.4*x(k));
end
%plot(x,y)
plot(x,y,'linewidth',4)
title('Grafik yang pertama')
xlabel('x');ylabel('y');
Keluaran berupa gelombang sinusoidal yang amplitudonya berubah
terhadap nilai x karena adanya operasi perkalian dengan eksponen untuk variable
. Nilai x(k) berurutan dari k=1 hingga k=201, dengan nilai (k-1)*delx dan
delx=10/(n-1). Adapun variable y yang bergantung terhadap nilai x adalah suatu
fungsi gelombang sinus yang kemudian dikalikan dengan suatu eksponen dari -
0.4*x(k). Perintah plot(x,y,'linewidth',4) dimaksudkan untuk memplot variable x
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
12/13
apad sumbu-x dan variable pada sumbu-y dengan berupa kurva garis bertingkat
ketebalan 4. Judul grafik adalah Grafik yang pertama, dengan label x pada sumbu-
x dan label y pada sumbu-y.
VI. KESIMPULAN
1. Matlab menggunakan integer positif untuk index array, sedangkan nol atau
bilangan negatif tidak diperbolehkan.
2. Untuk membangkitkan suatu "ramp" dari 1 sampai 50: x = [1:1:50]; Ketika
kita tidak memasukkan angka kedua pada perintah tersebut, maka secara
otomatis (default) step kenaikan ditetapkan bernilai “1”:
3. Cara untuk menampilkan sederetan nilai suatu fungsi kontinyu adalah
dengan menggunakan perintah “plot’ dan untuk menampilkan suatu fungsi
diskrit adalah dengan menggunakan perintah "stem".
4. Pemberian nama (inisial) pada masing-masing sumbu-x dan sumbu-y adalah
dengan menggunakan xlabel dan ylabel .
-
8/20/2019 Digital Signal Processing 01. Dasar-Dasar Operasi MATLAB - Nadya Amalia 2011
13/13
DAFTAR PUSTAKA
Santoso, Tri Budi & Miftahul Huda. 2008. Dasar-dasar Operasi Matlab: Modul 1 Praktikum Sinyal dan Sistem.
Meddins, Bob. 2000. Introduction to Digitl Signal Processing . University of East
Anglia. United Kingdom.