digital signal processing 01. dasar-dasar operasi matlab - nadya amalia 2011

Upload: nadya-amalia

Post on 07-Aug-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

  • 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.