Anda di halaman 1dari 7

MODUL 01 PENGENALAN MATLAB

Andi Bau Muh.Fakhran (13214111)


Asisten: Brian Benjamin(13213030)
Tanggal Percobaan: 28/09/2016
EL2205-Praktikum Pengolahan Sinyal Digital

Laboratorium Dasar Teknik Elektro - Sekolah Teknik Elektro dan Informatika ITB
Abstrak
Pada praktikum ini praktikan akan dikenalkan program
Matlab. Dimana praktikan akan dikenalkan berbagai
perintah atau command yang ada dalam Matlab dan
mencoba menggunakan Matlab untuk membuat FIR.
Praktikan juga akan mencoba membuat M-file untuk
membuat FIR.

Kata kunci: Matlab, command, FIR, m-file .


1.

PENDAHULUAN

Percobaan kali ini, praktikan akan mencoba


menggunakan
beberapa
fungsi-fungsi
dan
command dasar yang ada dalam Matlab. Praktikan
juga akan merancang filter (FIR) dengan
Menggunakan aplikasi Matlab.
Adapun Tujuan dari praktikum kali ini yaitu :
a) Mempelajari penggunaan sistem help
untuk mengetahui commands dan syntax
dasar MATLAB
b) Dapat menggunakan MATLAB untuk
desain filter
c)

Mempelajari bagaimana menulis fungsi


dan m-file pada MATLAB

d) Merancang
MATLAB

pem-filter-an

FIR

dengan

e) Memahami pem-filter-an lewat MATLAB


secara mendalam

MATLAB bersifat extensible, dalam arti bahwa


seorang pengguna dapat menulis fungsi baru
untuk ditambahkan pada library ketika fungsifungsi built-in yang tersedia tidak dapat melakukan
tugas tertentu. Kemampuan pemrograman yang
dibutuhkan tidak terlalu sulit bila telah memiliki
pengalaman dalam pemrograman bahasa lain
seperti C, PASCAL, atau FORTRAN, [1].

2.1

VARIABEL DAN OPERASI MATRIKS

Tipe variabel dasar pada MATLAB adalah matriks


(pada versi 5 dan ke atas, MATLAB juga
menyediakan berbagai tipe data seperti pada
bahasa pemrograman lainnya). Untuk
mendeklarasikan sebuah variabel, Anda hanya
perlu memberikan nilai tertentu padanya pada
MATLAB prompt. Sebagai contoh,
>> M = [ 1 2 6; 5 2 1]
M=
126
521
Ketika definisi sebuah matriks melibatkan sebuah
rumus yang panjang atau banyak entri, maka
sebuah perintah MATLAB yang sangat panjang
dapat dipecah menjadi dua (atau lebih) baris
dengan cara menempatkan sebuah tanda () pada
akhir dari sebuah baris yang ingin
dilanjutkan. Sebagai contoh,
P = [ 1, 2, 4, 6, 8 ]+ [ pi, 4, exp(1), 0, -1] +

2.

STUDI PUSTAKA

[ cos(0.1*pi), sin(pi/3), tan(3), atan(2), sqrt(pi) ];

MATLAB (Matrix Laboratory) adalah sebuah


program untuk analisis dan komputasi numerik.
Pada awalnya, program ini merupakan interface
untuk koleksi-koleksi rutin numerik dari proyek
LINPACK dan EISPACK, namun sekarang
merupakan produk komersial dari perusahaan
Mathworks, Inc. MATLAB telah berkembang
menjadi sebuah environment pemrograman yang
canggih yang berisi fungsi-fungsi built-in untuk
melakukan tugas pengolahan sinyal, aljabar linier,
dan kalkulasi matematis lainnya. MATLAB juga
berisi toolbox yang berisi fungsi-fungsi tambahan
untuk aplikasi khusus.

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. Ukuran dari
sebuah matriks dapat diketahui dengan operator
size:
>> Msize = size(M)
Msize =
23
>> help filter3

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Oleh karena itu, kita tidak perlu menggunakan


variabel khusus untuk melacak jumlah baris dan
kolom suatu matriks. Ada dua jenis variabel
matriks pada MATLAB, yakni skalar (scalars) dan
vektor (vectors). Sebuah skalar adalah sebuah
matriks yang hanya berisi satu elemen, jadi
berukuran 1 x 1. Sebuah vektor adalah sebuah
matriks yang hanya berisi satu baris atau kolom.
Elemen individu dari sebuah variabel matriks
dapat diakses dengan memberikan indeks baris
dan kolom, sebagai contoh[1].

2.3

MATLAB mendukung paradigma pemrograman


fungsional, di mana Anda dapat menyusun
fungsi-fungsi secara nested. Perhatikan persamaan
di bawah
L

log(|xn |)
n=1

yang dapat diimplementaskan dengan hanya


menggunakan satu baris kode MATLAB,

>> M13 = M(1,3)

>> A = sum(log(abs(x)))

M13 =
6

2.1.1

OPERATOR COLON

Operator colon (:) sangat berguna untuk membuat


index arrays. Gunakan perintah help colonuntuk
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 vektor yang
terpartisi secara teratur dapat diperoleh dengan
perintah
iii = nilai awal : interval : nilai akhir, [1].

2.2

KONSTRUK PEMROGRAMAN

PLOT DAN GRAFIK

MATLAB dapat menghasilkan plot dua dimensi xy dan plot tiga dimensi, menayangkan citra, dan
bahkan membuat dan memutar video. Dua fungsi
yang yang sering digunakan pada praktikum ini
adalah plot dan stem. Untuk memanggil fungsi ini,
umumnya kita membutuhkan dua vektor (satu
vektor juga bisa, namun untuk definisi yang
berbeda, gunakan perintah helpuntuk 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.

yakni di mana x adalah sebuah vektor yang berisi


elemen-elemen xn. Contoh ini mengilustrasikan
MATLAB dalam bentuk yang paling efisien, di
mana fungsi-fungsi individu dikombinasikan
untuk menghasilkan keluaran. Penulisan kodekode MATLAB yang efisien memerlukan gaya
pemrograman yang menghasilkan fungsi-fungsi
kecil yang divektorisasi. Loop-loop harus dihindari.
Cara utama untuk menghindari loop adalah
memanggil fungsi-fungsi toolbox sebanyak
mungkin, [1].

2.4

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 dengan istilah m-file, [1].

2.5

MENULIS FUNGSI MATLAB

Anda dapat menulis fungsi sendiri dan kemudian


ditambahkan pada environment MATLAB. Fungsifungsi 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 bahwa file tersebut diperlakukan sebagai
sebuah fungsi dengan argumen. Pada baris yang
sama juga berisi calling template yang menyatakan
argumen input dan output dari fungsi. Nama file
untuk m-file tersebut haruslah berekstensi .m dan
nama fungsi tersebut akan menjadi nama dari
perintah baru pada MATLAB.
Sebagai contoh, perhatikan file berikut, yang
mengekstrak L buah elemen terakhir dari sebuah
vektor

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

3.2

function y = foo( x, L )
%FOO mengambil L buah titik terakhir dari x

PERCOBAAN DESAIN DAN SIMULASI FILTER


FIR 1

% penggunaan:

Rancang 3 buah filter FIR orde 32

% y = foo( x, L )

(spesifikasi lain pada modul)

% di mana:
% x = vektor input
% L = jumlah titik yang ingin diambil

Cari koefisien filter masing-masing


filter dengan fungsi fir1

% y = vektor output
N = length(x);
If (L > N)
error(vektor input terlalu pendek)

Lihat frekuensi respon masingmasing filter

end
y = x(( N-L+1):N );
Bila file ini disimpan dengan nama foo.m, operasi
ini dapat dipanggil dari MATLAB command line
dengan cara mengetikkan , [1].

3.3

aa = foo( (1:2:37), 7 );
Outputnya akan berupa tujuh elemen terakhir dari
vektor (1:2:37), yakni
aa = [ 25 27 29 31 33 35 37 ]

3.

Diagram 3-2 Metologi percobaan desain dan simulasi


filter fir 1

METODOLOGI

PERCOBAAN DESAIN DAN SIMULASI


FILTER FIR2

Rancang filter berdasarkan respon frekuensi pada


Gambar 3.3

catat koefisien filter

Alat dan Komponen yang Digunakan


1.
2.

3.1

1 unit komputer
Software MATLAB

lihat frekuensi responnya

MEMBUAT SINYAL INPUT FILTER BERUPA


SUPERPOSISI BEBERAPA SINYAL SINUSOIDAL
DENGAN FREKUENSI BERBEDA.

Diagram 3-3 Metologi percobaan desain dan simulasi


filter fir 2

representasikan sinyal dalam vektor (matriks 1 x


N, N panjang vektor)
Buat 3 sinyal sinusoidal pada frekuensi
pencuplikan fs=16000 Hz untuk masing-masing
frekuensi sinyal f1=200 Hz, f2=1000 Hz, f3=5000
Hz.
Jumlahkan ketiga sinyal tersebut menjadi satu
sinyal sinusoidal rusak dengan perintah
>>sintot=(sin1+sin2+sin3)/3;
Gambar 3.3 respon frekuensi FIR 2

Plot dan keluarkan juga frekuensi responnya

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

3.4

METODOLOGI MEMBUAT M-FILE

Analisis :

Buat m-file untuk menghasilkan output filter FIR.

Bandingkan hasilnya dengan fungsi internal


filter
Diagram 3-4 Metologi membuat m-file

4.
4.1

HASIL DAN ANALISIS


MEMBUAT SINYAL INPUT FILTER BERUPA
SUPERPOSISI BEBERAPA SINYAL SINUSOIDAL
DENGAN FREKUENSI BERBEDA.

Command Sciprt :
i = 1:100;
fs = 16000; f1= 200; f2 = 1000; f3 = 5000;
sin1 = sin(2*pi*i*f1/fs);
sin2 = sin(2*pi*i*f2/fs);
sin3 = sin(2*pi*i*f3/fs);
sintot = (sin1+sin2+sin3)/3;
plot(sintot);
freqz(sintot);

Gambar 4-1-1 adalah gambar sinyal superposisi


dari tiga sinyal yang memiliki frekuensi 200 Hz,
1000 Hz dan 5000 Hz.. Grafik terlihat agak kasar
diakibatkan karena disini kita menggunakan sinyal
waktu diskrit yang plotnya agak renggang
Gambar 4-1-2 adalah plot frekuensi respon yang
terdiri atas plot magnitude dan plot phase yang
kesemuanya itu merupakan frekuensi respon dari
superposisi dari ketiga sinyal frekuensi 200 Hz,
1000 Hz dan 5000 Hz.
Selanjutnya sinyal superposisi tadi akan digunakan
sebagai sinyal input untuk desain filter percobaan
selanjutnya.

4.2

PERCOBAAN DESAIN DAN SIMULASI FILTER


FIR 1

Filter FIR Low-pass Orde 32 dengan


Frekuensi Cut-off 800 Hz
>> A = fir1(31, 0.1);
>> freqz(A);

Gambar 4-1-1 Plot superposisi sinyal

Gambar 4-1-2 frekuensi respon 3 sinyal

Gambar 4.2.1 frekuensi response LPF


Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB


Filter FIR Band-pass Orde 32 dengan
Frekuensi Pass 1000-3000 Hz
>> B = fir1(31, [0.125 0.375]);
>> freqz(B);

Gambar 4.2.3 frekuensi response High Pass filter

Analisis :

Gambar 4.2.2 frekuensi response bandpass filter

Filter FIR High-pass Orde 32 dengan


Frekuensi Cut-off 6000 Hz

Dari percobaan desain filter kita dapat melihat


gambar 4-2-1 menunjukkan response low pass filter
dimana low pass filter akan melewatkan frekuensifrekuensi dibawah frekuensi cutoff hal ini sesuai
dengan yang diharapkan.
Gambar 4-2-2 menunjukkan response frekuensi
dari band pass filter dimana melewatkan frekuensifrekuensi diatas rentang band hal ini sesuai dengan
yang diharapkan.
Gambar 4-2-3 menunjukkan response High Pass
Filter dimana high pass filter akan melewatkan
frekuensi-frekuensi diatas frekuensi cutoff hal ini
sesuai dengan yang diharapkan.
Kita juga dapat melihat bahwa sebagian besar
response frekuensi dari ketiga filter tersebut berada
dibawah angka 0, ini dikarenakan komponen
sinyal dengan frekuensi tersebut teratenuasi.

>> C = fir1(31, 0.75, high);

4.3

DESAIN DAN SIMULASI FILTER FIR2

>> freqz(C);

Command script untuk percobaan filter FIR 2:


>> F = [0/8000 800/8000 1200/8000 8000/8000];
>> A = [1 1 0 0];

Filter FIR Orde 16

>> D = fir2(15, F, A);


>> freqz(D);

Filter FIR Orde 128

>> E = fir2(127, F, A);


>> freqz(E);

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

4.4

MEMBUAT M-FILE UNTUK MELAKUKAN


PEM-FILTER-AN FIR

Scrip m-file :
function y = konvolusi(x,h)
L1 = length (x);
L2 = length (h);
Lout = L1 + L2 - 1;
y = zeros(1,Lout);
for i = 1:L1
for j = 1:L2
y(i + j -1) = y(i + j -1) + x(i) * h(j)
end
end

Gambar 4.3.1 frekuensi response FIR orde 16

Gambar 4.4 plot supersposisi sinyal

Analisis :
Dapat dilihat bahwa gambar 4.4 serupa dengan
gambar pada percobaan 1 tetapi lebih smoth
( halus).ini disebabkan karena kita menggunakan
konsep konvolusi dimana

Gambar 4.3.1 frekuensi response FIR orde 128

() = (). ( )

Analisis :

=0

Pada gambar diatas dapat diamati response


frekuensi dari FIR orde 128 sinyalnya lebih rapat
dibanding FIR orde 16. Ini membuktikan bahwa
semakin besar orde FIR maka sinyalnya akan
makin rapat dan mendekati frekuensi yang
diharapkan di awal.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

5.

KESIMPULAN

Kesimpulan yang dapat diambil dari keempat


percobaan adalah :
1.

Kita dapat menggunakan perintah


/command
dasar
untuk
membuat
superposisi dari beberapa sinyal yang
memiliki frekuensi berbeda.

2.

Kita juga dapat menbuat filter berupa low


pass filter, high pass filter, dan band pass
filter dengan bantuan perintah help.

3.

Semakin tinggi orde suatu filter, maka hasil


simulasi akan semakin mendekati hasil
diharapkan.

DAFTAR PUSTAKA
[1]

Hutabarat, Mervin T, Petunjuk Praktikum


Pengolahan Sinyal Digital, Halaman 1-19,
Laboratorium Dasar Teknik Elektro,
Bandung, 2016.

Laporan Praktikum - Laboratorium Dasar Teknik Elektro STEI ITB

Anda mungkin juga menyukai