Anda di halaman 1dari 15

MODUL I

PENGENALAN MATLAB
Valahdyo Arbandy (13116136)
Asisten : Maulida Khusnul ‘Aqib (13116022)
Tanggal Percobaan : 17/09/2019
EL3104_D-02_Praktikum_Pengolahan_Sinyal_Digital
Laboratorium Teknik Elektro
Institut Teknologi Sumatera

Abstrak merupakan interface untuk koleksi rutin-rutin numerik dari


proyek LINPACK dan EISPACK, namun sekarang merupakan
Pada modul pertama ini, dilakukan percobaan agar praktikan produk komersial dari perusahaan Mathworks, Inc. MATLAB
mengenali software MATLAB sebagai salah satu software telah berkembang menjadi sebuah environment pemrograman
yang sangat berguna dalam pengolahan sinyal, terutama yang canggih yang berisi fungsi-fungsi built-in untuk
sinyal digital. Percobaan yang dilakukan adalah pembuatan melakukan tugas pengolahan sinyal, aljabar linier, dan
sinyal input filter berupa gabungan (superposisi) beberapa kalkulasi matematis lainnya. MATLAB juga berisi toolbox
sinyal sinusoidal dengan frekuensi berbeda. Kemudian yang berisi fungsi-fungsi tambahan untuk aplikasi khusus .
percobaan selanjutnya dilakukan pembuatan sinyal dan filter MATLAB bersifat extensible, dalam arti bahwa seorang
dengan mendesainan dan pemsimulasian filter FIR1 dan pengguna dapat menulis fungsi baru untuk ditambahkan pada
FIR2.Untuk percobaan terakhir praktikan akan mencoba library ketika fungsi-fungsi built-in yang tersedia tidak dapat
melakukan fungsi konvulasi pada dua sinyal output percobaan melakukan tugas tertentu. Kemampuan pemrograman yang
sebelumnya dengan menggunakan kode yang dibuat dengan dibutuhkan tidak terlalu sulit bila Anda telah memiliki
Bahasa C dan disimpan dengan file berekstensi .m pengalaman dalam pemrograman bahasa lain seperti C,
PASCAL, atau FORTRAN.
Kata Kunci— MATLAB, filter, sinyal, m-file.
Filter
I. PENDAHULUAN Filter adalah adalah sebuah rangkaian yang dirancang agar
melewatkan suatu pitra frekuensi tertentu seraya
MATLAB adalah salah satu perangkat lunak untuk analisis memperlemah semua isyarat di luar pita ini. Pengertian lain
dan komputasi numerik. MATLAB merupakan salah satu dari filter adalah rangkaian pemilih frekuensi agar dapat
perangkat lunak yang sangat dapat diandalkan dalam melewatkan frekuensi yang diinginkan dan menahan
pengolahan sinyal, terutama pengolahan sinyal digital. (couple)/membuang (by pass) frekuensi lainnya.
Adapun tujuan dari percobaan modul 1 ini ialah : Filter FIR
Sistem realtime disebut juga dengan sistem waktu nyata.
1. Mempelajari penggunaan sistem help untuk Sistem realtime harus dapat memberikan respon yang tepat
mengetahui commands dan syntax dasar dalam batasan waktu yang ditentukan. Realtime adalah
MATLAB metode realisasi, sehingga setiap tugas spesifik dapat
2. Dapat menggunakan MATLAB untuk desain filter dikerjakan pada waktu spesifik dengan siklus clock sistem.
3. Mempelajari bagaimana menulis fungsi dan m-file Pada modul sebelumnya kita menggunakan filter FIR offline
pada MATLAB (non realtime). Terdapat pebedaaan di antara algoritma sistem
4. Merancang pem-filter-an FIR dengan MATLAB realtime dan algoritma sistem offline. Ide dasar dari algoritma
5. Memahami pem-filter-an lewat MATLAB secara realtime adalah hanya input saat ini dan yang telah lewat yang
mendalam tersedia. Kita tidak memiliki akses kepada input yang akan
datang berikutnya. Pada modul sebelumnya fungsi filter yang
II. LANDASAN TEORI digunakan memiliki akses kepada keseluruhan sampel pada
sinyal input.
MATLAB Algoritma filter realtime diperlukan untuk implementasi filter
realtime dengan hardware DSP. Untuk keperluan ini maka
MATLAB (Matrix Laboratory) adalah sebuah program untuk diperlukan simulasi algoritma filter realtime-like dan
analisis dan komputasi numerik. Pada awalnya, program ini dibandingkan hasilnya dengan algoritma filter offline.
Sistem DSP adalah sistem waktu diskrit yang mengambil
sampel sinyal input dan menghasilkan sampel sinyal output Pada Matlab, representasikan sinyal dalam vektor (matriks 1 x N, N
dengan frekuensi sampling tertentu yang konstan. Artinya panjang vektor).Kita akan merepresentasikan sumbu waktu dimana
pada sistem DSP realtime, pada rentang waktu antar sampling, untuk 0<t<2, kita beri panjang vektor 100 (100 sampel) dengan
perintah >>i=1:100;
haruslah dapat dilakukan proses perhitungan
sampel output yang merupakan hasil pengolahan sinyal digital
(bisa berupa filter). Artinya proses komputasi pengolahan
sinyal digital untuk tiap sampel haruslah dapat diselesaikan
sebelum sampel berikutnya diambil.
Karakteristik simulasi realtime-like adalah sebagai berikut:
1. Loop untuk kesesuaian dengan kelakuan clock
2. Akses hanya kepada input yang telah ada pada array input Buat 3 sinyal sinusoidal pada frekuensi pencuplikan fs=16000 Hz
3. Update output setiap siklus loop untuk masing-masing frekuensi sinyal f1=200 Hz, 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);
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 Jumlahkan ketiga sinyal tersebut menjadi satu sinyal sinusoidal rusak
dengan perintah >>sintot=(sin1+sin2+sin3)/3;
tanpa ekstensi). Program-program tersebut umumnya dikenal
dengan istilah m-file.

III. METODOLOGI

Alat dan Bahan

1. Komputer (1 Unit) Coba plot gambarnya dengan perintah >>plot(sintot); Lihat juga
2. Software MATLAB respon frekuensinya dengan perintah freqz. Kini Anda telah memiliki
sinyal input untuk filter yang akan kita rancang
Langkah Kerja

4.2.1. Percobaan membuat sinyal input filter berupa


superposisi beberapa sinyal sinusoidal dengan frekuensi 4.2.2. Percobaan desain dan simulasi filter FIR 1
berbeda. Filter FIR low-pass orde 32 dengan frekuensi cut-
off 800 Hz. Filter FIR band-pass orde 32 dengan
frekuensi pass 1000 – 3000 Hz. Filter FIR high-
pass orde 32 dengan frekuensi cut-off 6000Hz

Rancang ketiga filter di atas, cari koefisien filter-


nya dengan perintah yang sesuai (fir1). Catat
masing-masing koefisien filter

Lihat frekuensi respon masing-masing filter


dengan perintah freqz. Gambarkan hasilnya.
Analisa pada frekuensi cut off.
4.2.3. Percobaan desain dan simulasi filter FIR 2 plot(sintot);

freqz(sintot);
Rancang filter di atas, cari koefisien filter-
nya dengan perintah yang sesuai (fir2).
Catat koefisien filter. Gunakan orde 16. 4.1.3 Plot Sinyal Input

Lihat frekuensi respon filter dengan


perintah freqz. Gambarkan hasilnya.
Lakukan untuk orde lebih besar misalnya
128. Bandingkan dengan hasil sebelumnya.

4.2.4. Percobaan membuat m-file untuk melakukan pem-filter-


an FIR

Pada bagian ini anda diminta untuk membuat m-file


untuk melakukan pemfilteran FIR saja, untuk m-file
anda tidak diperbolehkan memanggil fungsi internal
Gambar 4.1 Plot sinyal input
MATLAB. Bandingkan hasilnya dengan percobaan
dengan menggunakan perintah filter dari MATLAB.
(Untuk kelancaran praktikum source code bisa 4.1.4 Respon Frekuensi
dipersiapkan sebelum praktikum)

IV. HASIL DAN ANALISIS

Percobaan membuat sinyal input filter berupa superposisi


beberapa sinyal sinusoidal dengan frekuensi berbeda.

4.1.1 Spesifikasi Sinyal Input

i = 1:100
Frekuensi sampling (fs) = 16.000 Hz
Frekuensi sinyal 1 (f1) = 200 Hz
Frekuensi sinyal 2 (f2) = 1.000 Hz
Frekuensi sinyal 3 (f3) = 5.000 Hz

4.1.2 Source Code


4.1.5 Analisis
i=1:100;
Dari gambar 4.1 diperoleh bahwa sinyal input merupakan hasil
fs=16000; dari penjumlahan atau gabungan (superposisi) dari ketiga
sinyal sinusoidal dengan frekuensi yang telah ditentukan yaitu
f1=200; f2=1000; f3=5000; 200 Hz, 1000 Hz, dan 5000 Hz. Terlihat bahwa sinyal sintot
merupakan superposisi dari sinyal-sinyal sinusoid. Hal ini
sin1=sin(2*pi*i*f1/fs); lebih mudah terlihat pada grafik bode plot dimana terlihat
terdapat 3 puncak, dapat dilihat nilai-nilai ini berada pada 3
sin2=sin(2*pi*i*f2/fs); frekuensi yang dimiliki oleh sinyal-sinyal sinusoid tersebut.

sin3=sin(2*pi*i*f3/fs);

sintot=(sin1+sin2+sin3)/3;
Percobaan desain dan simulasi filter FIR 1

4.2.1 Spesifikasi Filter

Orde = 32
Frekuensi cut-off low-pass filter = 800 Hz
Frekuensi pass band-pass filter = 1000 – 3000 Hz
Frekuensi cut-off high-pass filter = 6000 Hz

4.2.2 Source Code Gambar 4.4

fs=16000; 4.2.4 Filter FIR Band-Pass


lowpass = 800/(fs/2);
• Respon Frekuensi
wbandpass = [1000/(fs/2) 3000/(fs/2)];

whighpass = 6000/(fs/2);

low1 = fir1(32,lowpass)

band1 = fir1(32,wbandpass,'bandpass')

high1 = fir1(32,whighpass,'high')

freqz(low1);

freqz(band1);

freqz(high1);

4.2.3 Filter FIR Low-Pass Gambar 4.5

• Respon Frekuensi • Koefiesien Frekuensi

Gambar 4.6

4.2.5 Filter FIR High-Pass

• Respon Frekuensi

Gambar 4.3

• Koefisien Frekuensi
freqz(B5);

4.3.2 Filter FIR2 (Orde 16)

• Respon Frekuensi

Gambar 4.7

• Koefisien Frekuensi

Gambar 4.9

Gambar 4.8
• Koefisien Frekuensi

4.2.6 Analisis

Dari grafik-grafik respon frekuensi diatas terlihat bahwa


fungsi FIR1 telah bekerja dengan semestinya. Dapat
dilihat bahwa filter lowpass akan meloloskan sinyal pada
frekuensi rendah Pada filter low-pass, filter hanya akan
melewatkan sinyal-sinyal yang memiliki frekuensi di
bawah frekuensi cut-offnya (800Hz). Hal ini dapat
dilihat dari plot respons frekuensi yang terbentuk. Pada Gambar 4.10
filter band-pass, filter hanya akan melewatkan sinyal-
sinyal yang memiliki frekuensi di antara frekuensi 4.3.3 Filter FIR2 (Orde 128)
batasnya (1000-3000 Hz). Begitu juga dengan filter
highpass yang meloloskan sinyal yang lebih tinggi dari • Respon Frekuensi
frekuensi cut off nya.

Percobaan desain dan simulasi filter FIR 2

4.3.1 Source Code

fs=16000;

F=[0 800/(fs/2) 1200/(fs/2)


8000/(fs/2)];

A=[1 1 0 0];

B1=fir2(16,F,A)

freqz(B1); Gambar 4.11

B2=fir2(128,F,A)
• Koefisien Frekuensi x=fliplr(x);

%Menjumlahkan sinyal input yang telah


dibalik dengan filter lowpass%

for i=1:length(y)
if i<=length(x)
y(i)=sum(x(1,length(x)-
i+1:length(x)).*x2(1,1:i));
else
j=i-length(x);
y(i)=sum(x(1,1:length(x)-
j).*x2(1,j+1:length(x2)));
end
end

4.4.2 Plot Sinyal Output

• Menggunakan fungsi conv pada MATLAB


Gambar 4.12

4.3.4 Analisis

Dari kedua jenis filter FIR2 tersebut dapat diketahui pula


bahwa untuk orde filter makin tinggi, maka plot respons
frekuensi yang diperoleh akan makin halus dan makin rapat
yang artinya filter makin baik. Jadi filter akan makin baik jika
orde yang digunakan makin tinggi. Hal ini dikarenakan pada
orde lebih tinggi sampling yang dilakukan juga akan semakin
banyak membuat sinyal tersebut semakin akurat. dilihat dari
gambar diatas untuk filter FIR2 ini menggunakan filter jenis
low-pass yang diidentifikasi dari nilai magnituda 0 dB yang
berada di sebelah kiri yang berarti sinyal yang frekeuensinya
lebih besar daripada frekuensi cut-off tidak akan dapat melalui
filter ini.
Gambar 4.13

Percobaan membuat m-file untuk melakukan pem-filter-an • Dari file konvm.m


FIR

4.4.1 Source Code

function y=konvm(x,h) %nama fungsi

%inisialisasi

x2=h; %x2 di assign dengan filter h


lx=length(x); %length sinyal input
lh=length(h); %length filter h

%program utama yang melakukan proses


konvolusi sinyal input (sintot) dengan
filter low-pass%
%Membalik sinyal input

if lx>lh x2=[x2 zeros(1,lx-lh)]; Gambar 4.14


else
x=[x zeros(1,lh-lx)];
end
y=zeros(1,lx+lh-1);
V. SIMPULAN
4.4.3 Respon Frekuensi
Dari praktikum kali ini dapat disimpulkan bahwa :
• Menggunakan fungsi conv pada MATLAB
• Penggunaan help pada MATLAB sangatlah membantu,
terutama untuk mengetahui spesifikasi fungsi yang ingin
digunakan. Untuk mengakses sistem help, pada
MATLAB ditulis help(spasi)fungsi_yang ingin_diketahui

• Pendesainan filter FIR di Matlab dapat menggunakan


fungsi FIR1 dan FIR2

• Filter FIR yang dapat digunakan pada MATLAB ada 2


jenis yaitu filter FIR1 dan filter FIR2. FIR1 digunakan
untuk mendesain filter dengan orde dan nilai frekuensi
cut-off (atau frekuensi pass) yang telah diketahui. FIR2
digunakan untuk mendesain filter yang diketahui ordenya
dan pasangan beberapa nilai gain dengan frekuensinya.

• Semakin besar orde filter akan semakin akurat.


Gambar 4.15
• Algoritma fungsi-fungsi tertentu dapat dibuat dalam
• Dari file konvm.m bentuk m-file pada MATLAB

VI. REFERENSI

[1]. Hutabarat, Mervin T., Armein Z. R. Langi, Yoanes


Bandung, dan Erwin Cahyadi, Praktikum Pengolahan Sinyal
Digital, Sekolah Teknik Elektro dan Informatika Institut
Teknologi Bandung, Bandung, 2015.

[2].https://www.mathworks.com/help/dsp/ug/lowpass-filter-
design.html, 13.31, 18 September 2019

[3].https://www.mathworks.com/help/signal/ug/fir-filter-
design.html, 23.19, 19 September 2019

Gambar 4.16

4.4.4 Analisis

Gambar diatas merupakan pemfilteran sinyal sintot dari


percobaan 1 dengan filter lowpass dari percobaan kedua. Dari
gambar yang diperoleh, baik dari fungsi conv pada MATLAB
maupun dengan menggunakan file konvm.m didapat gambar
yang sama, yang artinya file konvm.m yang dibuat sudah
benar. Dari hasil output, diperoleh kurva yang lebih halus jika
dibandingkan dengan plot yang diperoleh dari sinyal sintot.
Penghalusan ini diperoleh karena adanya pemfilteran yang
dilakukan oleh konvolusi ini. Untuk source codenya sendiri,
dapat dilihat bahwa proses konvolusi yang dilakukan adalah
menjumlah tiap perkalian sinyal input dengan respons
impulsnya dengan nilai output sebelumnya untuk tiap nilai
output.
Lampiran

Foto BCP :

Anda mungkin juga menyukai