TEKNIK PENGOLAHAN ISYARAT DIGITAL

Kuliah 8 – KONVOLUSI DAN KORELASI

Indah Susilawati, S.T., M.Eng.

Program Studi Teknik Elektro Program Studi Teknik Informatika Fakultas Teknik dan Ilmu Komputer Universitas Mercu Buana Yogyakarta 2009

1

Kuliah 8 Teknik Pengolahan Isyarat Digital Teknik Elektro UMBY KONVOLUSI DAN KORELASI Contoh 1: Diberikan dua isyarat diskrit sbb x[n] = [3 11 7 0 -1 4 2] dengan -3 ≤ n ≤ 3 dan h[n] = [2 3 0 -5 2 1] dengan -1 ≤ n ≤ 4 maka tentukanlah konvolusi kedua isyarat yaitu y[n] = x[n] * h[n] Penyelesaian: Kedua isyarat dapat digambarkan pada kedua gambar berikut ini. 12 x(n) 10 8 6 4 2 0 -2 -3 -2 -1 0 1 2 3 y (−1) = ∑ x[k ]h[−1 − k ] k = 3 × ( −5) + 11 × 0 + 7 × 3 + 0 × 2 =6 2 .

Untuk mencari nilai n terendah dan tertinggi pada y[n] dimana y[n] ada digunakan rumus nyb = nxb + nhb nye = nxe + nhe dengan nyb : nilai n terendah pada y[n] nye : nilai n tertinggi pada y[n] nxb : nilai n terendah pada x[n] nxe : nilai n tertinggi pada x[n] nhb : nilai n terendah pada h[n] nhe : nilai n tertinggi pada h[n] Sehingga dapat diketahui nyb = -3 + (-1) = -4 nye = 3 + 4 = 7 atau 3 .5 3 3.5 0 0.5 1 1.5 4 Dengan mencari semua nilai y[n] yang ada maka akan dihasilkan isyarat y[n] sbb: y[n] = [6 31 47 6 -51 -5 41 18 -22 -3 8 2] Bilangan bergaris bawah menyatakan data yang berada pada posisi n = 0.5 2 2.y (2) = ∑ x[k ]h[2 − k ] k = 11 × 1 + 7 × 2 + 0 × (−5) + (−1) × 0 + 4 × 3 + 2 × 2 = 41 3 h(n) 2 1 0 -1 -2 -3 -4 -5 -1 -0.

Matlab menyediakan fungsi untuk melakukan operasi konvolusi yaitu conv. y[n] 40 20 0 -20 -40 -60 -4 -2 0 2 4 6 8 Contoh soal di atas dapat diselesaikan menggunakan bantuan program Matlab. % Konvolusi menggunakan Matlab % x[n] = [3 11 7 0 -1 4 2] % h[n] = [2 3 0 -5 2 1] clear all. y = conv(x. x = [3 11 7 0 -1 4 2]. x dan h adalah dua isyarat yang dikonvolusikan.h) % % % % % membersihkan semua variabel membersihkan editor command window isyarat x[n] isyarat h[n] operasi konvolusi y[n]=x[n]*h[n] Hasil eksekusi program tsb adalah 4 . Sintaks penulisannya adalah y = conv(x.ny = [-4 -3 -2 -1 0 1 2 3 4 5 6 7] Hasil konvolusi dapat digambarkan sbb: 60 hasil konvolusi.m. Untuk contoh soal di atas dapat diselesaikan dengan program Matlab sbb. clc. h = [2 3 0 -5 2 1].h) dengan y adalah hasil konvolusi.

nx. function % Fungsi % [y ny] % [x nx] % [h nh] [y ny] = conv_m(x.y = 6 31 47 6 -51 -5 41 18 -22 -3 8 2 Namun Matlab menganggap bahwa semua isyarat dimulai pada saat n = 0. nx = [-3:3]. Dapat dibuat fungsi untuk melakukan operasi konvolusi sekaligus mengetahui pewaktuannya. 5 . h.h) Fungsi yang telah dibuat dapat dipanggil dalam program lain. nh) stem(ny. dan pada kenyataannya tidak selalu demikian (seperti pada contoh soal di atas). x = [3 11 7 0 -1 4 2]. y) % % % % % % % % membersihkan semua variabel membersihkan editor isyarat x[n] jangkauan x[n] isyarat h[n] jangkauan h[n] konvolusi y[n]=x[n]*h[n] menggambar y[n] Hasil eksekusi program sama dengan hasil konvolusi yang telah dilakukan di atas. nx. nh = [-1:4]. h = [2 3 0 -5 2 1].m.nh) untuk memodifikasi rutin konvolusi conv = hasil konvolusi = sinyal pertama = sinyal kedua % % % % n terendah dari y[n] n tertinggi dari y[n] jaungkauan n dari y[n] mencari y[n]= x[n]*h[n] nyb = nx(1) + nh(1) nye = nx(length(x)) + nh(length(h)) ny = [nyb:nye] y = conv(x. Untuk mengetahui pewaktuannya maka dapat digunakanrumus untuk mencari nilai n terendah dan tertinggi pada y[n] seperti telah dijelaskan di atas. seperti contoh berikut untuk memanggil fungsi conv_m. clc. [y ny] = conv_m(x.h. % Konvolusi menggunakan fungsi yang telah dimodifikasi % x[n] = [3 11 7 0 -1 4 2] % h[n] = [2 3 0 -5 2 1] clear all.

Konvolusi antara dua isyarat x[n] dan h[n] dinyatakan sbb y[ n] = x[n] * h[n] = k = −∞ ∑ x[k ]h[n − k ] ∞ (8. Tentukan kros-korelasi antara y[n] dan x[n]. Contoh 2: Jika x[n] = [3 11 7 0 –1 4 2] dan y[n] adalah isyarat x[n] yang telah bergeser dan tercampur derau yang dinyatakan dengan y[n] = x[n – 2] – w[n]. y (l) = ∞ n = −∞ ∑ x[n] y[n − l] (8.3) Dengan membandingkan ketiga persamaan di atas.KORELASI ANTARA DUA SEKUENS Korelasi adalah operasi yang digunakan dalam berbagai aplikasi dalam bidang pengolahan isyarat secara digital.1) Indeks l disebut parameter pergeseran.2) Autokorelasi menyatakan ukuran kesamaan terhadap dirinya sendiri (antara beberapa penjajaran yang berbeda). Jika y[n] = x[n] maka diperoleh autokorelasi dan dinyatakan sbg rxx (l) = ∞ n = −∞ ∑ x[n]x[n − l] (8.4) Dan autokorelasi dapat dinyatakan dalam bentuk rxx (l) = x(l) * x(−l) (8.5) Hal ini berarti bahwa korelasi dapat dihitung menggunnakan operasi konvolusi jika isyarat atau sekuens merupakan sekuens dengan durasi yang berhingga. Korelasi merupakan ukuran derajat kesamaan antara dua isyarat atau sekuens. maka kros-korelasi dapat dinyatakan kembali dalam bentuk ryx (l) = y (l) * x( −l) (8. dengan w[n] adalah derau Gaussian dengan rerata nol dan varians 1. 6 . Jika diketahui x[n] dan y[n] dengan energi yang terbatas maka kros-korelasi antara x[n] dan y[n] didefinisikan sbb rx .

nw).nx. % [y ny] = sigadd(y. % [y ny] = sigshift(x.Penyelesaian: Dengan memperhatikan isyarat y[n] maka dapat diperkirakan bahwa y[n] adalah sangat mirip dengan x[n-2] dan dengan demikian dapat diperkirakan pula bahwa kros-korelasi akan memperlihatkan kesamaan tertinggi saat l = 2.w. clc. % w = randn(1.10. % nw = ny. % Menghitung korelasi antara dua sekuens % x[n] = [3 11 7 0 -1 4 2] % y[n] = x[n-2] + w[n] clear all.nx).ny.-50. % [rxy nrxy] = conv_m(y. % [x nx] = sigfold(x.ny. % nx = [-3:3].rxy) % axis([-5.250]) xlabel('variabel pergeseran l') ylabel('rxy') title('Kros-korelasi x[n] dan y[n]') sinyal x[n] jangkauan n dari x[n] menggeser x[n] sebanyak 2 satuan membangkitkan derau Gaussian panjang w[n] = panjang y[n] menambahkan sinyal y[n] dan w[n] membalikkan sinyal x[n] mencari kros-korelasi x[n] & y[n] menggambar hasil kros-korelasi Hasil eksekusi program: Kros-korelasi x[n] dan y[n] 250 200 150 rxy 100 50 0 -50 -5 0 variabel pergeseran l 5 10 7 .length(y)).x. x = [3 11 7 0 -1 4 2]. % stem(nrxy.2).nx).

min(n2)):max(max(n1).n0) n = m + n0.n) y = fliplr(x).max(n2))). y1(find((n>=min(n1))&(n<=max(n1))==1))=x1 y2(find((n>=min(n2))&(n<=max(n2))==1))=x2 y = y1 + y2 % Membuat fungsi untuk membalik sinyal x[n] % y[n] = x[-n] % n adalah jangkauan sinyal x[n] function [y n]=sigfold(x. n = -fliplr(n) 8 .Gambar hasil perhitungan menunjukkan bahwa kros-korelasi tertinggi pada saat l = 2.length(n)).x2. % % % % Membuat fungsi untuk menggeser sinyal x[n] y[n] = x[n-n0] m adalah jangkauan sinyal x[n] n0 adalah besarnya pergeseran function [y n]=sigshift(x. Berikut adalah fungsi-fungsi yang digunakan pada program penyelesaian contoh 2.n1.n2) n = (min(min(n1).m. y1 = zeros(1. y2 = y1. y = x % % % % % Membuat fungsi untuk menambah sinyal x1[n] dan x2[n] y[n] = x1[n]+x2[n] n adalah jangkauan sinyal y[n] n1 adalah jangkauan sinyal x1[n] n2 adalah jangkauan sinyal x2[n] function [y n]=sigadd(x1.

Sign up to vote on this title
UsefulNot useful