Anda di halaman 1dari 60

8.

TEKNIK PERANCANGAN TAPIS DIGITAL

lts05

Perancangan tapis digital adalah proses

menentukan fungsi alih H(z) yang apabila direalisasikan akan menghasilkan tapis digital dengan respons frekuensi mendekati spesifikasi yang telah ditentukan.
Agar tapis dapat direalisasikan sebagai tapis real-time, maka fungsi alihnya harus kausal.

Dua alternatif tipe tapis


1. FIR 2. IIR

lts05

Fungsi alih tapis FIR :

H(z) =

ak z- k = h[n] z- n
k=0 n= 0

selalu stabil

Bila diinginkan respons fase linear, koefisien2 tapis harus memenuhi kekangan : h[n] = + h[N-n] respons impuls linear

Fungsi alih tapis IIR :

H(z) =

k=0

S ak z-k
k=1

fungsi rasional

1 lts05

S bk z-k
3

Kelebihan tapis FIR :


1. Dapat dirancang untuk tapis fase linear. 2. Tapis selalu stabil walaupun dalam realisasinya koefisien2 tapis harus dikuantisasi.

Kekurangan tapis FIR :


Untuk spesifikasi respons frekuensi yang sama, dibutuhkan derajat tapis yang jauh lebih besar dibandingkan derajat tapis IIR. Beban komputasi tapis FIR jauh lebih tinggi dibandingkan tapis IIR.

Kekurangan tapis IIR :


Dalam realisasinya, kuantisasi koefisien2 tapis IIR dapat membawa tapis ke arah astable.
lts05 4

Spesifikasi Tapis Digital


Spesifikasi tapis digital adalah spesifikasi respons frekuensinya.
Pada umumnya spesifikasi respons magnitude-nya Untuk kasus kasus tertentu, spesifikasi respons phase-nya kadangkala juga dibutuhkan.

Respons-Frekuensi tapis ideal


Low Pass Filter High Pass Filter

lts05

Band Pass Filter

Band Stop Filter

lts05

Karena |H(e jw)|

adalah fungsi periodis dalam w, maka spesifikasi

tapis cukup dinyatakan dalam range frekuensi 0 < |w| < p


jw

H LP ( e 1

HHP ( e jw ) 1
w

-p

w c 0

wc

-p

w c
BS

wc

HBP (e jw ) 1

H ( e jw )
1

- p w c 2 w c1
lts05

w c1 w c 2 p

w - p w c 2 w c1

w c1 w c 2 p
7

Spesifikasi Respons Magnitude


Menggunakan pendekatan ideal dengan toleransi tertentu.

Respons Manitude Tapis pelewat rendah


transition band 1

wP < w < wS
: Tapis ideal

passband

0 < w < wP
stopband

d1, d2 : riak pada passband

d3

: riak pada stopband

wS < w < p
lts05 0 8

Spesifikasi dengan toleransi


Daerah passband, 0 < w < wp Magnitude : |H(e jw )| = 1 , dengan galat 1 d2 < |H(e jw )| < 1 + d1

Passband ripple : max { d1 , d2 } Dalam satuan dB, passband-ripple dinyatakan dalam AP = max 20 log10 ( 1 + d1 ) , - 20 log10 ( 1 d2 ) Daerah stopband, ws < w < p Magnitude : |H(e jw )| = 0, dengan galat |H(e jw )| < d3 stopband attenuation

Dalam satuan dB, stopband-ripple dinyatakan dalam


lts05

AS = - 20 log10 d3

Contoh : Untuk d1 = d2 = d3 = 0,1 AP = max { 20 log10 (1 + 0,1) , - 20 log10 (1 0,1) } dB

= max {0,828 , 0,915} dB = 0,915 dB


AS = - 20 log10 (0,1) = 20 dB

Catatan :
Magnitude

tanpa satuan 1 0,7

dalam dB 0 dB - 3 dB

1 0,7

Frekuensi
1. Dalam Hertz : f 2. Dalam radian : w = 2 p f 3. Dalam bentuk ternormalisir : w =
lts05

2pf fs

= 2 p f Ts rad.det

fs : frekuensi pencuplikan
10

BPF

BSF

lts05

11

lts05

12

8.1 TEKNIK PERANCANGAN TAPIS FIR

lts05

13

Perancangan tapis FIR dengan penjendelaan (windowing)


Konsep penjendelaan Respons Frekuensi LPF ideal Contoh : LPF Hid(ejw) 1 , <w<w w c 0 , > w >w w
c

Hid(ejw) =

c c

-wc Respons Impuls ideal hid[n]

wc IDTFT

w 1 wc

jwn 1. e dw hid[n] = 2p -w c wc sin (wcn) 1 = ej w n = pn -wc j2pn

lts05

-15

-10

-5

10

15

= 2 fc

sin (wcn) wcn


14

Respons Impuls ideal

hid[n] = 2 fc hid[n]
2 fc

sin (wcn)

wcn

= 2 fc sinc (wcn)

-15

-10

-5

10

15

non-kausal durasi tak-berhingga

tidak dapat direalisasikan sebagai tapis Finite Impulse Response


lts05 15

Pendekatan :
Agar dapat direalisasikan sebagai tapis FIR LPF, harus dilakukan pemotongan respons-impuls ideal yang durasinya tak-berhingga menjadi respons-impuls durasi berhingga. Efek pemotongan diperoleh dengan mengalikan runtun respons impuls ideal hid[n] dengan runtun jendela w0[n] . Runtun jendela w0[n] adalah runtun simetris dengan durasi berhingga M+1 (ganjil) dan dengan sumbu simetri pada n=0 . { w0[n] }

Contoh : Runtun jendela kotak

-M/2
lts05

0 M+1

M/2

n
16

Pemotongan runtun h[n]ideal dengan menggunakan runtun jendela w0[n] berdurasi M + 1 h [n]
id

2 fc

-10

-5

10

15

runtun jendela kotak dengan durasi M + 1 = 11


-15 -10

w0[n]
1

-5

10

15

M+1 Hasil pemotongan : hid[n].w0[n] M/2 = 5 n


17

-10
lts05

-5

10

M+1

Kausalitas

hid[n].w[n] =

sin (wcn)

untuk M/2 < n < M/2

pn

M/2
-15 -10 -5 0 5 10

masih mengandung elemen non-kausal Kausalitas diperoleh dengan menggeser runtun sebesar M/2 cuplikan ke kanan
-5

h[n] =

sin (wc(n M/2)) p(n-M/2)

n
0 5 10 15

lts05

Runtun kausal sisi kanan

18

sin (wc(n M/2))

h[n] =

p(n-M/2)

n -5 0 5 10 15

h[k]=ak , untuk k = 0 s/d 10 adalah koefisien koefisien tapis FIR kausal

lts05

19

Langkah perancangan tapis FIR dengan penjendelaan


1. Tentukan tanggapan frekuensi ideal yang diinginkan, Hid(ej w)
2. Pilih derajat tapis, M 3. Hitung runtun tanggapan impuls ideal, hid[n] = F-1 {Hid(ej w)} 4. Pilih runtun jendela w[n] dengan durasi M+1 (ganjil) 5. Kalikan runtun tanggapan impuls ideal dengan runtun jendela hid[n].w[n] 6. Untuk kausalitas, geser hasil perkalian sebanyak M/2 cuplikan kekanan sehingga dihasilkan respons impuls

h[n] = hid[n-M/2] w[n-M/2]

untuk 0 < n < M

7. Hitung koefisien koefisien tapis FIR, ak=h[k] untuk 0 < k < M

8. Implementasikan struktur tapis


lts05

kalikan dulu kemudian digeser 20

Langkah perancangan tapis FIR dengan penjendelaan


1. Tentukan tanggapan frekuensi ideal yang diinginkan, Hid(ej w)
2. Pilih derajat tapis, M 3. Hitung runtun tanggapan impuls ideal, hid[n] = F-1 {Hid(ej w)} 4. Pilih runtun jendela w[n] dengan durasi M+1 (ganjil) 5. Kalikan runtun tanggapan impuls ideal dengan runtun jendela hid[n].w[n] 6. Untuk kausalitas, geser hasil perkalian sebanyak M/2 cuplikan kekanan sehingga dihasilkan respons impuls

h[n] = hid[n-M/2] w[n-M/2]

untuk 0 < n < M

7. Hitung koefisien koefisien tapis FIR, ak=h[k] untuk 0 < k < M

8. Implementasikan struktur tapis


lts05

kalikan dulu kemudian digeser 21

atau 1. Tentukan tanggapan frekuensi ideal yang diinginkan, Hid(ejw) 2. Pilih derajat tapis, M 3. Hitung runtun tanggapan impuls ideal, hid[n] = F-1 { Hid(ejw) } Geser hid[n] kekanan sebanyak M/2 cuplikan. Runtun tergeser : hd[n] = hid[n-M/2] 4. Pilih runtun jendela dengan w0[n] durasi M+1 (ganjil) dan sumbu simetri n = 0. Geser jendela w0[n] kekanan M/2 cuplikan. Runtun jendela tergeser : wd[n] = w0[n M/2] 5. Kalikan runtun tanggapan impuls tergeser, hd[n], dengan runtun jendela tergeser wd[n]

Respons impuls tapis FIR adalah :

h[n] = hid[n-M/2] w0[n-M/2]

untuk 0 < n < M

6. Hitung koefisien koefisien tapis FIR, ak=h[k] untuk 0 < k < M


lts05 7. Implementasikan struktur tapis.

geser dulu kemudian dikalikan

22

Penggeseran runtun respons impuls ideal


hid[n]

runtun respons impuls ideal

-10

-5

M/2

10

15

hid[n-M/2]

runtun respons impuls ideal tergeser

n
-10 -5 0 5 10 15

lts05

23

Penggeseran runtun jendela


{w0[n]}
runtun jendela

-15

-10

-5

10

15

M+1

{w[n]} = {w0[n-M/2]}

M/2

runtun jendela tergeser

n
-10 -5 0 5 10 15

lts05

runtun jendela kausal

24

{hid[n-M/2]}

Perkalian runtun impuls dan runtun jendela yg sudah tergeser

-10

-5

10

15

{w0[n-M/2]}

n
-10 -5 0 5 10 15

Hasil perkalian adalah runtun kausal :

h[n] = hid[n-M/2] . w0[n-M/2]

h[n] =

sin (wc(n M/2)) p(n-M/2)

untuk M/2 < n < M/2


-10
lts05

n
-5 0 5 10
25

M+1

Runtun jendela kausal


1. Merupakan runtun real, simetris dan positif, dengan durasi M+1 M = bilangan genap

n
-2 -1 0 M+1

Durasi runtun jendela = durasi runtun tanggapan impuls tapis. Sebuah jendela yang baik harus memiliki transisi yang halus pada ujung ujungnya untuk menghindari fenomena Gibbs pada respons magnitudenya. 1 Fenomena Gibbs : Munculnya osilasi (overshoot) pada tepi tepi passband dan stopband
lts05

26

Untuk jendela kausal kotak,


untuk harga n lainnya

DTFT

W(ejw) =

S
n=-

w[n] e -j

wn

S 1. e
n=0
wn

j w n

S
n=0

e- j w n 1

e- j

n = M+1

= = W(ejw) =

1- e 1

-j w

S
k=0

ej

w(k+M+1)

k=n(M+1)

e- j w

( M +1 )

1- e

- jw

1 - e- j w = e
- j w M/2

1 e j w ( M + 1 ) (1 - e
- jw

sin ((M+1)w/2)

lts05

sin (w/2)

buktikan ! (dg Euler) 27

W(ejw)

1 e j w ( M + 1)

(1 - ej w )

= e

- j w M/2

sin ((M+1)w/2)
sin (w/2)

W( ejw ) M+1

mainlobe d
-2p (M+1)
lts05

sidelobe
w

2p (M+1)

2p

Dw

lebar mainlobe

28

Konvolusi di kawasan frekuensi


Hid(l)

H(w) = Hid(w) * W(w) =


1 2p

Hid(l) W(w-l) dl

-p

-wc

wc

W(w-l) , untuk w=-p


w = -p 0

integral dalam l , untuk


berbagai harga pergeseran w,

l dari w = p s/d p
W(w-l) , untuk w = p l
lts05

w=p

29

Fenomena Gibbs
W(w - l) Hid(l)

2p

H(w)

lts05

2p

30

Pertimbangan dalam memilih jendela


Lebar mainlobe , Dw , menentukan lebar daerah transisi. Amplitudo sidelobe, d , menentukan

riak (ripple) pada daerah passband


dan stopband

Pilih jendela yang DTFTnya memiliki Dw minimum dan d minimum

lts05

31

Respons magnitude jendela kotak berbentuk fungsi sinc. Lebar bidang mainlobe (cuping utama) adalah

Dw =

2 fs (M+1)

ws
p(M+1)
-2 -1

Ts

Ts

Ts
n

fs adalah frekuensi pencuplikan (= 1/Ts)

Konvolusi jendela kotak W(w) dengan respons frekuensi ideal Hid(w)


memberi efek riak (riples) pada spektrum frekuensi tapis dan memperluas daerah transisi tapis.

Dengan memperbesar derajat tapis M, lebar mainlobe dan amplitudo sidelobes akan mengecil.
Sidelobes di kawasan frekuensi adalah manifestasi dari diskontinuitas di kawasan waktu (bagian tepi jendela kotak). Dengan memilih jendela yang diskontinuitasnya tidak tajam (misalnya jendela raised- cosinus Hamming, Hanning atau Blackman), amplitudo sidelobes akan berkurang. lts05 32

Respons magnitude jendela kotak berbentuk fungsi sinc. Lebar bidang mainlobe (cuping utama) adalah

Dw =

2 fs (M+1)

ws p(M+1)
-2 -1

Ts

Ts

Ts n

fs adalah frekuensi pencuplikan ( = 1/Ts )

Konvolusi jendela kotak W(w) dengan respons frekuensi ideal Hid(w)


memberi efek riak (riples) pada spektrum frekuensi tapis dan memperluas daerah transisi tapis. Dengan memperbesar derajat tapis M, lebar mainlobe dan amplitudo sidelobes akan mengecil. lts05
33

Ragam jendela
Fungsi umum jendela (kausal) :

1. Jendela kotak :

a=1 , b =c=0

w[n]

untuk harga n lainnya

lts05

M-2 M-1 M

n
34

2. Jendela segitiga (Bartlett)

untuk harga n lainnya

w[n]

n
0 1 2 M/2 M-2 M-1 M

lts05

35

3. Jendela Hanning

untuk harga n lainnya

n
lts05 36

4. Jendela Hamming

untuk harga n lainnya

n
lts05 37

5. Jendela Blackman

w[n] =

0,42 0,5 cos (2pn / M) + 0,08 cos(4pn / M) , 0 < n < M 0 , untuk harga n lainnya

lts05

38

6. Jendela Kaiser
I0[ b ( 1 - [ (n a) /a] 2 )1 / 2 ]

w[n] =
0 ,

I0( b )

, 0<n<M

untuk harga lainnya

a = M/2 , Io(b) dihitung dari fungsi Bessel derajat nol termodifikasi.


1

parameter M dan b
dapat divariasi b = 0 b = 3 b = 6

0
lts05

10

20

39

Respons magnitude jendela kotak mempunyai mainlobe yang paling sempit dibandingkan jendela lainnya sehingga memberikan daerah transisi yang paling tajam. Tetapi jendela kotak ini memberikan magnitude yang besar pada sidelobe.

lts05

40

Runtun Jendela segitiga, M=40

respons frekuensi jendela segitiga respons jendela kotak

n
lts05

frekuensi ternormalisir ( w/2p )

20 log10 |W(e jw )|

41

runtun jendela Hanning, M=40

respons frekuensi jendela Hanning respons jendela kotak

n
lts05

frekuensi ternormalisir (w/2p)


42

respons frekuensi jendela Hamming runtun jendela Hamming, M=40 respons jendela kotak

lts05

frekuensi ternormalisir (w/2p ) 43

respons frekuensi jendela Blackman

runtun jendela Blackman, M=40

respons jendela kotak

lts05

44 frekuensi ternormalisir (w/2 p)

Jendela Kotak, Hamming dan Blackman untuk M = 128

lts05

45

M = 32

M = 128

Kotak
20 log10 |H(f)| dB 20 log10 |H(f)| dB

Blackman
20 log10 |H(f)| dB 20 log10 |H(f)| dB

untuk lebar mainlobe yang sama diperlukan jumlah

koefisien sangat besar

lts05

46

1. Contoh Perancangan tapis FIR dengan Metode Jendela


Dimulai dengan fungsi tapis low-pass ideal dengan frekuensi
cutoff wc = p/4 , rancanglah tapis low pass yang karakteristiknya sbb :

frekuensi cut off


Panjang tapis

wc = p/4
M = 31 ,

menggunakan jendela Hamming.

(a) Bagaimana respons impuls tapis ? Respons impulsnya adalah perkalian fungsi sin(x)/x

( = transformasi DTFT balik dari tapis low pass ideal digeser


ke titik tengah pada n = 16) dengan fungsi jendela raised
lts05

cosine Hamming.

47

Respons Frekuensi ideal (yg diharapkan)

Hid(ejw)
1 w

Hid(ej w) =

1, 0,

-p/4 < w < p/4 -p/4 > w > p/4

-p/4

p/4 IDTFT

Respons Impuls ideal hid[n]


hid[n] =
1

p n sin 4 pn
4

zero crossings di n = ?
lts05

-15

-10

-5

10

15

48

Runtun jendela Hamming

w[n] 1

M+1 = 31

hid[n]

n
-15 -10 -5 0 5 10 15

h[n] = w[n] hid[n]

lts05

n
0

49

h[n]LPF = h[n M/2] h[n]LPF

10

15

20

25

30

M/2 = 15

lts05

50

Respons impuls setelah pemotongan dan penggeseran :

h[n] =
LPF

sin (wc (n - M/2)) untuk 0 < n < M p(n - M/2)

lts05

51

jendela Hamming w[n]


5 10 15 20 25 30

0 0
2

hd[n]

0 0 2

10

15

20

25

30

h[n] =
w[n] hd[n]

0 lts05

10

15

20

25

30

52

Soal latihan :

1. Rancanglah tapis FIR pelewat tinggi, untuk frekuensi cut-off wc


2. Rancanglah tapis FIR pelewat bidang, untuk frekuensi cut-off

wc1 dan wc2

lts05

53

Perancangan tapis FIR LPF


|H(w)| 1
Hid(w) = w 1 , untuk -wc < w < wc

0 , untuk -wc > w > wc

-p

-wc

wc

wc - wc

Respons impuls ideal :

hid[n] = =

1. ejwn dw e jwc n - e j w0 n

1 jn

hid[n] =

sin (wc n)
pn

Respons impuls setelah pemotongan dan penggeseran :

lts05

h[n] =
LPF

sin (wc (n-M/2)) p(n-M/2)

untuk 0 < n < M


54

Perancangan tapis FIR HPF


|H(w)| 1
Hid(w) = w 1 , untuk -wc > w > wc

0 , untuk -wc < w < wc


p wc

-p

-wc

wc

-wc

Respons impuls ideal : hid[n] =

-p

1. ejwn dw +

1. ejwn dw

=
hid[n] =

1 jn

e jwcn - e jp n - e jp n - e jwc n

sin (p n)

pn pn Respons impuls setelah pemotongan dan penggeseran :

sin (wc n)

lts05

h[n]

sin (p (n-M/2)) p(n-M/2)

sin (wc (n-M/2)) p(n-M/2)

untuk 0 < n < M


55

HPF

h[n]

sin (p (n-M/2))

HPF

p(n-M/2)

sin (wc (n-M/2))

p(n-M/2)

untuk 0 < n < M

Tapis penunda input, sebesar M/2

= h[n]
LPF

HLPF(w)

tunda M/2

lts05

Implementasi HPF dengan LPF

56

Perancangan tapis FIR BPF


|H(w)| 1
Hid(w) = w 1 , untuk wl > | w| > wh

0 , untuk harga w lainnya


wh wl

-p -wh

-wl

0 wl

wh p

-wl

Respons impuls ideal : hid[n] =

-wh

1. ejwn dw +

1. ejwn dw

=
h

1 jn

e jwl n - e jwhn - e jw hn- e jwl n

pn pn Respons impuls setelah pemotongan dan penggeseran :

hid[n] =

sin (wh n)

sin (wl n)

lts05

h[n]

sin (wh (n-M/2) p(n-M/2)

sin (wl (n-M/2)) p(n-M/2)

untuk 0 < n < M


57

BPF

h[n]

sin (wh (n-M/2)


p(n-M/2)

BPF

sin (wl (n-M/2)) p(n-M/2)

untuk 0 < n < M

= h[n]
LPF-1

= h[n]
LPF-2

dg frekuensi cut-off wh

dg frekuensi cut-off wl

HLPF(w) wc = wh HLPF(w) wc = wl

Implementasi HPF dengan LPF


lts05 58

Buktikan Tapis Band-stop dapat diimplementasikan dengan memparalel tiga buah tapis LPF

lts05

59

Filter bank

lts05

60