Anda di halaman 1dari 14

Percobaan I

Pengenalan Matlab
M Adnan Zulkarnain (118130088)
Asisten : Pahala Samosir (13117050)
Tanggal Percobaan : 10/04/2021
EL2209 Praktikum Pengolahan Sistem Digital (EL3031)
Laboratorium Teknik Elektro
Institut Teknologi Sumatera

II. LANDASAN TEORETIS


2.1 Pengenalan Matlab
Abstrak— Pada praktikum pengolahan sinyal digital modul
pertama yang berjudul tentang pengenalan matlab. Pada modul MATLAB (Matrix Laboratory) adalah sebuah program untuk
ini kita akan mempelajari tentang pengenalan matlab secara analisis dan komputasi numerik. Pada awalnya, program ini
dasar dan cara pengopreasian matlab secara dasar. Pada merupakan interface untuk koleksi rutin-rutin numerik dari
percobaan modul ini terdapat 4 percobaan yaittu percobaan proyek LINPACK dan EISPACK, namun sekarang merupakan
pertama berjudul tentang Percobaan membuat sinyal input filter produk komersial dari perusahaan Mathworks, Inc. MATLAB
berupa superposisi beberapa sinyal sinusoidal dengan frekuensi
telah berkembang menjadi sebuah environment pemrograman
berbeda. Judul percobaan kedua adalah Percobaan desain dan
simulasi filter FIR 1. Percoban ketiga berjudul Percobaan desain
yang canggih yang berisi fungsi-fungsi built-in untuk
dan simulasi filter FIR 2. Dan judul percobaan terakhir adalah melakukan tugas pengolahan sinyal, aljabar linier, dan
Percobaan membuat m-file untuk melakukan pem-filter-an FIR. kalkulasi matematis lainnya. MATLAB juga berisitoolbox
Pada setiap percobaan memiliki output pada setiap percobaan. yang berisi fungsi-fungsi tambahan untuk aplikasi khusus
.MATLAB bersifat extensible, dalam arti bahwa seorang
Kata Kunci — FIR, Filter, Matlab pengguna dapat menulis fungsi baru untuk ditambahkan pada
library ketika fungsi-fungsi built-in yang tersedia tidak
I. PENDAHULUAN dapatmelakukan tugas tertentu. Kemampuan pemrograman
Pada modul pertama praktikum pengelohan system digital yang dibutuhkan tidak terlalu sulit bila Anda telah memiliki
yang berjudul tentang pengenalan matlab kita menggunakan pengalaman dalam pemrograman bahasa lain seperti C,
PASCAL,atau FORTRAN.
software matlab didalam percobaannya. MATLAB (Matrix
Laboratory) adalah sebuah program untuk analisis dan 2.2 Matlab Help
komputasi numerik. MATLAB telah berkembang menjadi MATLAB menyediakan sistem help on-line yang dapat
sebuah environment pemrograman yang canggih yang berisi diakses dengan perintah help. Misalnya, untuk memperoleh
fungsi-fungsi built-in untuk melakukan tugas pengolahan informasi mengenai fungsi filter, Anda hanya perlu
sinyal, aljabar linier, dan kalkulasi matematis lainnya. mengetikkan perintah Perintah di atas akan menampilkan
MATLAB juga berisi toolbox yang berisi fungsi-fungsi informasi dalam bentuk teks pada layar MATLAB Anda.
tambahan untuk aplikasi khusus . Pada awalnya, program ini Sebuah perintah yang sangat berguna untuk mempelajari
merupakan interface untuk koleksi rutin-rutin numerik dari pemrograman MATLAB adalah intro, yang membahas
proyek LINPACK dan EISPACK, namun sekarang merupakan konsep-konsep dasar tentang bahasa MATLAB. Selain itu,
produk komersial dari perusahaan Mathworks, Inc juga terdapat banyak program demonstrasi yang
mengilustrasikan berbagai kapabilitas MATLAB, yang dapat
Tujuan Praktikum modul kesatu adalah : dimulai dengan perintah demo.
 Mempelajari penggunaan sistem help untuk
mengetahui commands dan syntax dasar MATLAB 2.3 Variabel dan operasi matriks
 Dapat menggunakan MATLAB untuk desain filter Tipe variabel dasar pada MATLAB adalah matriks (pada versi
 Mempelajari bagaimana menulis fungsi dan m-file 5 dan ke atas, MATLAB juga menyediakan berbagai tipe data
seperti pada bahasa pemrograman lainnya). Untuk
pada MATLAB
mendeklarasikan sebuah variabel, Anda hanya perlu
 Merancang pem-filter-an FIR dengan MATLAB
memberikan nilai tertentu padanya pada MATLAB prompt
 Memahami pem-filter-an lewat MATLAB secara contoh
mendalam . P = [ 1, 2, 4, 6, 8 ]+ [ pi, 4, exp(1), 0, -1] + ...
[ cos(0.1*pi), sin(pi/3), tan(3), atan(2), sqrt(pi) ];

Ketika sebuah ekspresi perintah atau pernyataan diakhiri


dengan tanda semicolon (;), maka hasilnya tidak akan
ditampilkan di layar. Hal ini sangat membantu ketika Anda
bekerja dengan matriks dengan ukuran yang sangat besar.
2.4 Operator Colon (:)
Operator colon (:) sangat berguna untuk membuat index
arrays. Gunakan perintah help colon untuk mengetahui
deskripsi detail tentang kapabilitasnya. Notasi colon
didasarkan pada ide bahwa sebuah selang indeks dapat
dihasilkan dengan memberikan sebuah nilai awal, interval, dan
sebuah nilai akhir. Karena itu, sebuah vector yang terpartisi
secara teratur dapat diperoleh dengan perintah 2.6 B Operasi pointwise array
Bila kita ingin melakukan perkalian pointwise, ada beberapa
iii = nilai awal : interval : nilai akhir kebingungan yang bisa muncul. Pada kasus pointwise, kita
ingin mengalikan matriks secara elemen per elemen, jadi
Tanpa parameter interval, nilai default-nya adalah 1. Metode mereka harus memiliki dimensi yang sama. Sebagai contoh,
perhitungan ini mirip dengan notasi loop DO pada dua matriks 5 x 8 dapat dikalikan secara pointwise, walaupun
FORTRAN, namun metode pada MATLAB selangkah lebih keduanya tidak bisa melakukan perkalian matriks biasa. Untuk
maju dengan cara menggabungkannya dengan pengindeksan melakukan perkalian pointwise pada MATLAB, kita
matriks. Untuk sebuah matriks A 9 x 8, A(2,3) adalah elemen menggunakan operator “point-star”A .*B. Misalnya bila A dan
skalar yang berada pada baris kedua dan kolom ketiga dari B keduanya adalah matriks 3 x 2 maka
matriks A. Jadi sebuah submatriks 4 x 3 dapat diekstrak
dengan perintah A(2:5,1:3). Tanda colon juga berfungsi
sebagai sebuah wild card, misalnya, A(2,:) adalah baris kedua
matriks A.

2.5 Operasi Matriks dan Array


Operasi default pada MATLAB adalah operasi matriks. Jadi Untuk selanjutnya, perkalian semacam ini kita sebut dengan
A*B berarti perkalian matriks, yang akan dibahas pada istilah perkalian array. Perhatikan bahwa perkalian array
bagian berikut. bersifat komutatif karena kita akan memperoleh hasil yang
sama bila kita menghitung D = B.*A.
2.6 A Tinjauan Perkalian Matriks
Operasi perkalian matriks AB hanya dapat dilakukan bila 2.7 C Operasi concatenation array
kedua matriks tersebut memiliki dimensi yang kompatibel, Operasi ini digunakan untuk menempelkan dua atau lebih
yakni jumlah kolom matriks A harus sama dengan jumlah array dengan syarat syarat tertetu sesuai dengan operasi
baris concatenation yangdiinginkan. Dalam MATLAB terdapat dua
matriks B. Sebagai contoh, sebuah matriks 5 x 8 dapat buah fungsi yang dapat digunakan untuk melakukan proses
mengalikan sebuah matriks 8 x 3 untuk menghasilkan sebuah concatenation (penempelan) arrays. Fungsi tersebut adalah
matriks AB 5 x 3. Secara umum, bila A adalah m x n, maka B vertcat dan horzcat. Penjelasan lanjut dapat dilihat pada help
haruslah n x p, dan hasil perkalian AB akan memiliki dimensi MATLAB untuk fungsi-fungsi tersebut.
m x p. Umumnya perkalian matriks tidak bersifat komutatif,
yakni AB X BA. Bila p X m, maka perkalian AB tidak 2.8 PLOT DAN GRAFIK
terdefinisi. Beberapa kasus khusus untuk perkalian matriks
adalah outer product dan inner product. ada outer product, MATLAB dapat menghasilkan plot dua dimensi x-y dan plot
sebuah vektor kolom mengalikan sebuah vektor baris untuk tiga dimensi, menayangkan citra, dan bahkan membuat dan
menghasilkan sebuah matriks. Bila kita membiarkan semua memutar video. Dua fungsi yang yang sering digunakan pada
elemen salah satu vector tersebut berupa ‘1’ , maka kita akan praktikum ini adalah plot dan stem. Untuk memanggil fungsi
memperoleh hasil yang berulang. ini, umumnya kita membutuhkan dua vektor (satu vektor juga
bisa, namun untuk definisi yang berbeda, gunakan perintah
help untuk melihat informasi yang lebih lengkap), untuk
sumbu x dan sumbu y. Pemanggilan fungsi plot(x,y) akan
menghasilkan suatu plot yang terkoneksi dengan garis lurus
untuk setiap dua titik

Untuk inner product, sebuah vektor baris mengalikan sebuah


vektor kolom, jadi hasilnya berupa skalar. Bila kita
membiarkan semua elemen salah satu vektor tersebut berupa
‘1’, maka kita akan memperoleh penjumlahan semua elemen
vektor lainnya.
2.8 Figure Windows dengan istilah m-file.Berikut merupakan contoh sebuah m-file:
Ketika MATLAB membuat sebuah plot, MATLAB menulis
grafik tersebut ke figure windows. Anda bisa membuka
beberapa figure windows namun setiap saat hanya satu
window yang aktif. Setiap perintah plot pada command
window akan mengalihkan keluarannya ke window yang aktif.
Perintah figure(n) akan menampilkan sebuah figure window
yang baru yang ditandai dengan bilangan n, atau membuatnya
aktif kembali bila telah ada sebelumnya. Pengendalian
terhadap berbagai atribut window (ukuran, lokasi, warna) juga
mungkin
dilakukan dengan perintah figure, yang melakukan inisialisasi
terhadap window plot.

2.9 Fungsi-fungsi built-in MATLAB


Banyak fungsi-fungsi MATLAB yang dapat beroperasi pada
skalar sama mudahnya dengan operasi pada array. Sebagai Bila perintah-perintah ini disimpan dengan file bernama
contoh, bila x adalah sebuah array, maka cos(x) plotstem.m maka pengetikan plotstem pada command prompt
mengembalikan sebuah array dengan ukuran yang sama akan menjalankan file tersebut, dan kedelapan baris perintah
seandainya x berisi kosinus dari setiap elemen x akan dieksekusi sama halnya bila mereka diketikkan baris per
. baris pada command prompt. Hasilnya adalah dua buah plot
seperti yang tampak pada gambar A.1.

2.11 MENULIS FUNGSI MATLAB


Anda dapat menulis fungsi sendiri dan kemudian ditambahkan
pada environment MATLAB. Fungsi-fungsi ini merupakan
jenis lain dari m-file, dan dibuat sebagai sebuah file ASCII
menggunakan editor teks. Kata pertama pada m-file tersebut
haruslah keywordfunction untuk memberitahukan MATLAB
Perhatikan bahwa tidak ada loop yang diperlukan, meskipun bahwa file tersebut diperlakukan sebagai sebuah fungsi
cos(x) melakukan operasi kosinus pada setiap elemen array. dengan argumen. Pada baris yang sama juga berisi calling
Kebanyakan fungsi transcendental mengikuti aturan pointwise template yang menyatakan argumen input dan output dari
ini. Pada beberapa kasus khusus, adalah sangat penting untuk fungsi. Nama file untuk m-file tersebut haruslah berekstensi.m
membedakan eksponensial matriks (expm) dengan dan nama fungsi tersebut akan menjadi nama dari perintah
eksponensial pointwise(exp): baru pada MATLAB. Sebagai contoh, perhatikan file berikut,
yang mengekstrak L buah elemen terakhir dari sebuah vektor

2.10 MATLAB SCRIPTS

Setiap perintah/pernyataan yang dapat dimasukkan pada


window prompt dapat disimpan pada sebuah file teks dan
dieksekusi sebagai script. File teks tersebut dapat dibuat
dengan menggunakan sembarang editor ASCII seperti
program Notepad atau pada editor teks MATLAB. Ekstensi
file harus berupa .m dan script tersebut dieksekusi pada
MATLAB dengan hanya mengetikkan nama file (dengan atau
tanpa ekstensi). Program-program tersebut umumnya dikenal

Bila file ini disimpan dengan nama foo.m, operasi ini dapat
dipanggil dari MATLAB command
line dengan cara mengetikkan
aa = foo( (1:2:37), 7 );
Outputnya akan berupa tujuh elemen terakhir dari vektor
(1:2:37), yakni Kita akan coba beberapa filter FIR dengan spesifikasi
aa = [ 25 27 29 31 33 35 37 ] 1 berikut (frekuensi boleh diubah-ubah)

3 METODOLOGI Filter FIR low-pass orde 32 dengan frekuensi cut-off


3.1 Alat dan Bahan 800 Hz

Filter FIR band-pass orde 32 dengan frekuensi pass
Laptop/ PC 2 1000 – 3000 Hz
 Software Matlab
Filter FIR high-pass orde 32 dengan frekuensi cut-off
3.2 Langkah Kerja 6000Hz
1. Percobaan membuat sinyal input filter berupa
superposisi beberapa sinyal sinusoidal dengan Rancang ketiga filter di atas, cari koefisien filter-nya
frekuensi berbeda. 3 dengan perintah yang sesuai (fir1). Catat masing-
masing koefisien filter.

Pada Matlab, representasikan sinyal Lihat frekuensi respon masing-masing filter dengan
dalam vektor (matriks 1 x N, N panjang 4 perintah freqz. Gambarkan
vektor). Kita akan merepresentasikan hasilnya. Analisa pada frekuensi cut off.
sumbu waktu dimana untuk 0<t<2, kita
1 beri panjang vektor 100 (100 sampel) 3. Percobaan desain dan simulasi filter FIR 2
dengan perintah >>i=1:100;

Buat 3 sinyal sinusoidal pada frekuensi


pencuplikan fs=16000 Hz untuk masing-
masing frekuensi sinyal f1=200 Hz,
2 f2=1000 Hz, f3=5000 Hz. Ketikan :
>>sin1=sin(2*pi*i*f1/fs);sin2=sin(2*pi*i*
f2/fs);sin3=sin(2*pi*i*f3/fs);

Jumlahkan ketiga sinyal tersebut menjadi


3 satu sinyal sinusoidal rusak dengan
perintah >>sintot=(sin1+sin2+sin3)/3;

4 Coba plot gambarnya dengan perintah Rancang filter di atas, cari koefisien filter-
>>plot(sintot); nya dengan perintah yang sesuai (fir2). Catat
01 koefisien filter. Gunakan orde 16.

Lihat frekuensi respon filter dengan perintah


5 Lihat juga respon frekuensinya dengan freqz. Gambarkan hasilnya. Lakukan untuk
perintah freqz. orde lebih besar misalnya 128. Bandingkan
02 dengan hasil sebelumnya.

Kini Anda telah memiliki sinyal input


6 untuk filter yang akan kita rancang
4. Percobaan membuat m-file untuk melakukan pem-
filter-an FIR
2. Percobaan desain dan simulasi filter FIR 1
Pada bagian ini anda diminta untuk membuat m-file untuk
melakukan pemfilteran FIR saja,untuk m-file anda tidak
diperbolehkan memanggil fungsi internal MATLAB.
Bandingkan hasilnya dengan percobaan dengan menggunakan
perintah filter dari MATLAB. (Untuk kelancaran praktikum
source code bisa dipersiapkan sebelum praktikum)
Catatan:
 Pada laporan m-file disertakan, dan berikan figure (1);subplot(2,1,1); plot(i,sin1);title('sin1'){plot sinyal
penjelasan algoritma yang anda gunakan untuk 1}subplot(2,1,2); plot(i,sin2);title('sin2'){plot
melakukan pem-filter-an FIR. sinyal2} figure(2);subplot(2,1,1);plot(i,sin3);title('sin3'){plot
sinyal 3}
HINT: Koefisien filter FIR adalah merupakan respon impuls
dari filter.
Tugas 2 : . Percobaan desain dan simulasi filter FIR 1
4 HASIL DAN ANALISIS
Tugas 1 : Percobaan membuat sinyal input filter berupa
superposisi beberapa sinyal sinusoidal dengan frekuensi
berbeda.

5 SIMPULAN
Pada Modul 2 yang berjudul menggunakan interrupt dengan
4.1 ,Gambar Sinyal dengan perintah Plot mikrokontroler 8535 dasar dapat disimpulkan bahwa :
 Pa da praktikum ini menggunakan 4 mode
interrupt yaitu mode fallin edge, rising edge, any
change dan low level
 Interupt sangat berpengaruh pada proses
berlangsungnya CPU
 Mode rising ini merupakan kebalikan dari
falling. Karena interrupt dijalankan ketika
tombol yang sudah di tahan selama 5 detik
ketika di lepsakan maka interupsi baru di
jalankan oleh mikrokontroller.
4.2 Gambar sinyal dengan perintah Freq  Nilai resistor yang dipakai berpengaruh pada
hasil nyala LED
Analisis :
Referensi
Pada Percobaan perrtama ini kita melakukan percobaan denan [1]http://repository.usu.ac.id/bitstream/handle/123456789/286
menggunakan 2 perintah yaitu >> plot sinnyal dan >> frekuensi. 77/Chapter%20II.pdf;sequence=4
Dengan sebelumnya kita membuat 3 sinyal sinusoidal dengan
frekuensi pencuplikan fs = 1600hz untuk masing masing frekuensi
sinyal F1=200 Hz. F2= 1000 Hz F3= 5000 hz dengan inputan pada
matlab>>sin1=sin(2*pi*i*f1/fs);sin2=sin(2*pi*i*f2/fs);sin3=sin(2*pi
*i*f3/fs); dan Jumlah ketiga sinyal tersebut menjadi satu sinyal
sinusoidal rusak dengan perintah >>sintot=(sin1+sin2+sin3)/3; dan
kita dapatkan hasil sinyal input filter yang kita rancang. Dan kita
mendapatkan hasil sinyal sinusoidal seperti pada hasil percobaan
diatas kode matlab untuk pengeplotan ketiga sinyal tersebut yaitu :

(( Initialisasi ))
i = 1:100(banyak sampel)fs = 16000(besar frek sampling) f1
=200(nilaifrek 1)f2 = 1000(nilaifrek 2)f3 = 5000(nilai frek 3)
((rumusfungsi)
sin1= sin(2*pi*i*(f1/fs))(fungsi1) sin2 = sin(2*pi*i*(f2/fs))
(fungsi2) sin3 = sin(2*pi*i*(f3/fs))(fungsi3) 
((Display))
[2] Hutabarat, Mervin T., Waskita Adijarto dan Harry Septanto,
Praktikum system mikroprosesor

[3] Interrupt pada Mikrokontroller | kehidupanelektro (wordpress.com)

LAMPIRAN

 Lampiran link video


Percobaan 1 mode interupsi rising mode
https://youtu.be/cjozkKMORYs
Percobaan 1 mode interupsi Any change mode
https://youtu.be/_XuDMi9bEdg
Percobaan 1 mode interupsi Fallin Mode
https://youtu.be/BMVsH7GNtHc
Percobaan 1 mode interupsi low level
https://youtu.be/zP1JhEx8w84
Percobaan menggunakan 3 mode interupsi secara bersamaan
https://youtu.be/Jm-Nui4CTXc

Anda mungkin juga menyukai