Anda di halaman 1dari 15

Bab 6

Konvolusi
A. Tujuan
1. Mahasiswa dapat menjelaskan proses konvolusi pada sistem
linear
2. Mahasiswa dapat melakukan konvolusi pada sinyal 1D dan 2D
3. Mahasiswa dapat menjelaskan pengaruh konvolusi terhadap
sinyal
B. Dasar Teori
Konvolusi adalah penggabungan atau penjumlahan 2 sinyal yang
menghasilkan sinyal baru. Konvolusi antara 2 sinyal diskrit x[n]
dan h[n] dinyatakan dengan persamaan :

dengan :

Mekanisme Konvolusi meliputi beberapa tahap yaitu :


1. Invers Sinyal Kedua
2. Penggeseran
3. Perkalian
4. Penjumlahan
Contoh konvolusi pada sinyal diskrit
S1:

x[i]= 1 2 3

S2 :

h[i]= 1 2 2

Tahap pertama adalah pembalikan sinyal kedua h(i) :


S1:

x[i] = 1 2 3

S2 :

h[-i]= 2 2 1

Tahap kedua adalah pergeseran sinyal lalu dikalikan dan


dijumlahkan
S1:

x[i]=

123

S2 :

h[-i]= 2 2 1
-------------- x
00100
Produk

SUM

=1

(dijumlah)

Tahap ketiga adalah pergeseran satu step sinyal kedua dan


dilakukan perkalian dan penjumlahan
S1:

x[i]=

123

S2 :

h[-i]= 2 2 1
-------------- x
02 2 0

=4

(dijumlah)

Tahap keempat adalah pergeseran satu step sinyal kedua dan


dilakukan perkalian dan penjumlahan
S1:

x[i]=

123

S2 :

h[-i]=

221
-------------- x
2 4 3

=9

(dijumlah)

Tahap kelima adalah pergeseran satu step sinyal kedua dan


dilakukan perkalian dan penjumlahan
S1:

x[i]=

S2 :

h[-i]=

123
22 1
-------------- x
0 4 6 0 = 10

(dijumlah)

Tahap keenam adalah pergeseran satu step sinyal kedua dan


dilakukan perkalian dan penjumlahan
S1:
S2 :

x[i]=
h[-i]=

123
2 2 1
-------------- x
0 0 60 0=6

(dijumlah)

Tahap ketujuh adalah pergeseran satu step sinyal kedua dan


dilakukan perkalian dan penjumlahan
S1:
S2 :

x[i]=
h[-i]=

12 3
2 2 1
-------------- x
0 0 0 0 0 0 =0

(dijumlah)

Hasil produk dan sum dijadikan bentuk deret menjadi y[n]=


{1,4,9,10,6}

Untuk hasil terakhir yang bernilai 0 tidak ditampilkan karena


pergeseran sudah selesai.
Contoh Konvolusi Pada Sinyal 2D
Formula konvolusi 2D adalah sebagai berikut :
c(x,y) = f(x,y) *g(x,y)
Ilustrasi Konvolusi 2D :
Citra asli = f(x,y)

P1

P2

P3

P5

Kernel =
g(x,y)

P4
P6
f(x,
y)

P7

P8
P9

P1
0

P1
1

P1
2

P1
3

P1
4

P1
5

P1
6

P1
7

P1
8

P1
9

P2
0

P2
1

P2
2

P2
3

P2
4

P2
5

Citra hasil konvolusi =


c(x,y)

c(2,
2)

Mekanisme konvolusi 2D adalah :


1. Menempelkan sinyal kernel g(x,y) pada citra asli f(x,y).
2. Mengkalikan tepat dengan posisinya yang berhimpit nilai g(x,y)
dengan nilai f(x,y)
3. Jumlahkan hasil perkalian nilai per pixel tersebut
4. Hasil penjumlahan tersebut adalah nilai pixel baru c(x,y) yang
berada tepat di tengah poros.

Hasil
konvolusi

5. Untuk mencari nilai konvolusi pixel sebelahnya, maka tinggal


digeser posisi kernelnya

Hasil
konvolusi

6. Untuk mencari nilai pixel baru yang terletak dipinggir, untuk


nilai pixel g(x,y) yang berhimpit dengan nilai f(-x,y), f(x,-y) atau
f(-x,-y) maka nilainya tidak dihiraukan atau =0.
Hasil
konvolusi

Dari contoh diatas, untuk mencari nilai ditempat c(2,2) = AP1 +


BP2 + CP3 + DP6 + EP7 + FP8 + GP11 + HP12 + IP13
Misalkan citra f(x,y) yang berukuran 5x5 dikonvolusikan dengan
sebuah penapis kernel g(x,y) yang berukuran 3x3, maka :
/
/
1

c(2,2)= (1x1) + (2x1) +(1x1) + (2x1) + (2x2) + (1x1) + (2x1) +


(1x1) + (1x1)
= 1 +2 +1 +2 +4 +1 +2 +1 +1
= 15
Sehingga :

15

C. Alat dan Bahan


1. PC dengan minimum OS : Windows XP
2. Matlab

Sinyal 1D
Tuliskan baris kode berikut di matlab dan jalankan!

Pada percobaan pertama ini adalah membuat convolusi sinyal dari input sinyal x yang
berisi [1 1 2 2 1 1] lalu di convolusi dengan sinyal h yang berisi [0 2 1 3 1 1] maka yang
terjadi adalah pertama sinyal h dibalik menjadi [1 1 3 1 2 0] setelah itu di kalikan dengan
sinyal x dan ditambahkan lalu bergeser ke kanan satu kali seterusnya sampai semua sinyal
sudah dikali dan dijumlahkan maka selesai
function a = konv()
clc;
clear all;
% Pembangkitan Sinyal x
n=20;
n0=-0.5*n:0.5*n;
n1=1:(n+1);
u1(n1)=(n1-15)>=0;
f1(n1)=(-1/2).^n0;
x1(n1)=f1(n1).*u1(n1);
% Pembangkitan Sinyal h
u2(n1)=(13-n1)>=0;
f2(n1)=(4).^n0;
h(n1)=f2(n1).*u2(n1);
% Proses Algoritma Konvolusi
y1=conv(x1,h);
% Tampilan
n3=1:n+1;
n5=-0.5*n:0.5*n;
n6=-n:n;
figure(1);
clf;
subplot(2,2,1);
stem(n5,x1(n3),'filled')
xlabel('k');
ylabel('x(k)');
title('Input Sistem')
grid
subplot(2,2,2);
stem(n5,h(n3),'filled')
xlabel('k');
ylabel('h(k)');
title('Respon Sistem')
grid
subplot(2,2,3);
stem(n6,y1,'filled')
xlabel('k');
ylabel('y(k)');
title('Output Sistem')
grid

Pada percobaan kali ini kita membuat sinyal input system yang bernilai pada x(k) lalu di
konvolusi dengan sinyal respon system h(k) jadi disini prosesnya hapir sama dengan
percobaan pertama tapi disini kita gunakan lebih banyak sinyal sehingga output sinyal yang
dihasilkan juga semakin panjang.

function a = konv_sin1()
clc;
clear all;
% Pembangkitan Sinyal x
n=20;
n0=-0.5*n:0.5*n;
n1=((0.5*n)+1):(n+1);
f=1/(0.5*n);
x1(n1)=sin(2*pi*f*n1);
% Pembangkitan Sinyal h
n1=1:(n+1);
u2(n1)=(13-n1)>=0;
f2(n1)=(4).^n0;
h(n1)=f2(n1).*u2(n1);
% Proses Algoritma Konvolusi
y1=conv(x1,h);
% Tampilan
n3=1:n+1;
n5=-0.5*n:0.5*n;
n6=-n:n;
n7=1:n+1;
n8=1:2*n+1;
figure(1);
clf;
subplot(2,2,1);
stem(n5,x1(n3),'filled')
xlabel('k');
ylabel('x(k)');
title('Input Sistem')
grid
subplot(2,2,2);
stem(n5,h(n3),'filled')
xlabel('k');
ylabel('h(k)');
title('Respon Sistem')
grid
subplot(2,2,3);
stem(n6,y1,'filled')
xlabel('k');
ylabel('y(k)');
title('Output Sistem')
grid

Pada percobaan kali ini kita membuat sinyal input system yang bernilai pada x(k) lalu di
konvolusi dengan sinyal respon system h(k) jadi disini prosesnya hapir sama dengan
percobaan pertama tapi disini kita gunakan sinyall input dan respon system yang berbeda
sehingga output system yang dihasilkan juga akan berbeda.

function x = konv_square()
clc;
clear all;
% Pembangkitan Sinyal x
n=20;
n0=-0.5*n:0.5*n;
for n1=1:(n+1)
if (n1>0.5*n & n1<0.5*n+7)
x1(n1)=1;
else
x1(n1)=0;
end
end
% Pembangkitan Sinyal h
for n1=1:(n+1)
if (n1>0.5*n & n1<0.5*n+7)
h(n1)=1;
else
h(n1)=0;
end
end
% Proses Algoritma Konvolusi
y1=conv(x1,h);
% Tampilan
n3=1:n+1;
n5=-0.5*n:0.5*n;
n6=-n:n;
n7=1:n+1;
n8=1:2*n+1;
figure(1);
clf;
subplot(2,2,1);
stem(n5,x1(n3),'filled')
xlabel('k');
ylabel('x(k)');
title('Input Sistem')
grid
subplot(2,2,2);
stem(n5,h(n3),'filled')
xlabel('k');
ylabel('h(k)');
title('Respon Sistem')
grid
subplot(2,2,3);
stem(n6,y1,'filled')
xlabel('k');
ylabel('y(k)');
title('Output Sistem')
grid

Lalu selanjutnya kita akan membuat input system dan reson system yang sama dan kedua
sinyal tadi akan dikonvolusi sehingga membentuk sinyal seperti segitiga disini terlihat jelas
bahwa sinyal konvolusi prosesnya adalah mencermnkan dalah satu sinya bisa input system
atau biasanya respon system lalu enjumlahkan semua perkalian disetiap pergeserannya.

Mask =[1 1 1; 1 2 1; 1 1 1]

Mask = [0 0 0;0 1 0; 0 0 0]

Mask = [1 4 1; 1 4 1 ; 1 4 1]

Disini kita akan membuat sebuah gambar menjadi bentuk hitam putih dan
disini kita menggunakan proses pergantian ini dalam bentuk biner dalam
program dapat di jelaskan bahwa

imread = digunakan untuk membaca gambar/citra

rgb2gray = Merubah komposisi citra dari format RGB menjadi


bentuk Grayscale (derajat keabuan)

imshow(gray)

graythresh = digunakan untuk melakukan treshold(batasan)


format citra.

im2bw = Digunakan untuk merubah format citra ke dalam bentuk


Black and White (dalam bentuk biner).

conv2 = fungsi konvolusi 2D.

Tugas

function x = konv_square()
clc;
clear all;
% Pembangkitan Sinyal x
n=20;
n0=-0.5*n:0.5*n;
for n1=1:(n+1)
Pada tugas kali ini kita membuat sinyal dengan kategori if (n1>0.5*n & n1<0.5*n+7)
x1(n1)=1;
else
Jumlah N=200
x1(n1)=0;
Sinus 1 : Amplitudo = 5, Frekuensi = 10 sebagai x1 end
end

Sinus 2 : Amplitudo = 2, Frekuensi = 100 sebagai x2

% Pembangkitan Sinyal h
for n1=1:(n+1)
Sinyal gabungan : x3 = x1 + x2
if (n1>0.5*n & n1<0.5*n+7)
h(n1)=1;
Kemudian, sinyal tersebut dikonvolusikan dengan sebuah
respon sistem
else
h(n1)=0;
h = {0, 0.5, 1, 1.5, 2, 1.5, 1, 0.5, 0, 0, 0, 0}
end
jadi disini dibuat sinyal x1 dan x2 lalu dijumlahkan padaend
x3 dan sinyal x3 di konvolusikan

dengan sinyal h maka sinyal hasil penjumlahan yang tidak


teratur akan menjadi halus.
% Proses Algoritma Konvolusi
y1=conv(x1,h);

% Tampilan
n3=1:n+1;
n5=-0.5*n:0.5*n;
n6=-n:n;
n7=1:n+1;
n8=1:2*n+1;
figure(1);
clf;
subplot(2,2,1);
stem(n5,x1(n3),'filled')
xlabel('k');
ylabel('x(k)');
title('Input Sistem')
grid
subplot(2,2,2);
stem(n5,h(n3),'filled')
xlabel('k');
ylabel('h(k)');
title('Respon Sistem')
grid
subplot(2,2,3);
stem(n6,y1,'filled')
xlabel('k');
ylabel('y(k)');
title('Output Sistem')
grid

Anda mungkin juga menyukai