Penggunaan Transformasi – z pada Analisa Respon Frekuensi Sistem FIR
Oleh: Tri Budi Santoso E-mail:
[email protected] Lab Sinyal, EEPIS-ITS 11/23/2006
1
konsep pemikiran “domains of representation” Domain-n (discrete time): Sequence, impulse response, persamaan beda Domain-w Freq. Response, spectral representation Domain-z Operator dan pole-zero Apabila suatu kasus sulit dipecahkan pada suatu domain tertentu, maka transformasi ke domain yang lain akan mudah menyelesaikannya.
11/23/2006
2
1. Definisi Transformasi –z domain-n x[n] = d[n-n0]
domain-z
X ( z) = z
N
x[n] = ∑ x[k ]δ [n − k ] k =0
− n0
N
X ( z)
= ∑ x[k ]z −1 k =0 N
( )
= ∑ x[k ] z
−1 k
k =0
11/23/2006
3
z
Proses pengolahan audio secara digital:
-
analisis langsung sulit: Æ transformasi z untuk mendapat analitis mudah dengan operasi aljabar (domain-z)
-
analisis frekuensinya Ædalam domain-w
-
implementassinya: Ædalam domain-n 11/23/2006
4
Contoh 1: Dapatkan bentuknya dalam domain z
x[ n] = 2δ [ n] + 4δ [ n − 1] + 6δ [ n − 2] + 4δ [ n − 3] + 2δ [ n − 4]
Penyelesaian: Ditabelkan…. n
n<-1
-1
0
1
2
3
4
5
n>5
x[n]
0
0
2
4
6
4
2
0
0
Untuk domain – z akan didapatkan sebagai:
H ( z) = 2 + 4z 11/23/2006
−1
+ 6z
−2
+ 4z
−3
+ 2z
−4
5
Contoh 2: Diketahui suatu sistem dalam domain-z memiliki bentuk seperti berikut:
H (z) = 1 − 2z z
−1
+ 3z
−3
− 2z
−5
Penyelesaian: Dengan cara yang sama akan kita dapatkan bentuk sebagai berikut:
⎧0 ⎪1 ⎪ ⎪− 2 ⎪ ⎪0 x[n] = ⎨ ⎪3 ⎪0 ⎪ ⎪− 1 ⎪01 11/23/2006 ⎩
n<0 n=0 n =1 n=2 n=3 n=4 n=5 n>5
Kita dapati bentuk dalam domain-n sebagai:
x[ n] = δ [ n] − 2δ [ n − 1] + 3δ [ n − 3] − δ [ n − 5] 6
2. Transformasi-z pada Suatu Filter FIR Suatu filter FIR dalam persamaan beda: M
y[n] = ∑ bk x[n − k ] k =0
yang merupakan operasi konvolusi y[n]=x[n]*h[n]
Mengapa ??? Dalam hal ini penjelasannya adalah: h[n] = bk = bn; yang merupakan koefisien-koefisien
M
h[n] = ∑ bk δ [n − k ] k =0
11/23/2006
7
Jika x[n]=zn berlaku untuk semua nilai n, maka: M
M
y[n] = ∑ bk x[n − k ] = ∑ bk z k =0 M
k =0
y[n] = ∑ bk z n z − k k =0
k
⎛M −k ⎞ n = ⎜ ∑ bk z ⎟ z ⎝ k =0 ⎠ System Function Filter
M
M
k =0
k =0
H ( z ) = ∑ b k z − k = ∑ h[ k ] z − k 11/23/2006
8
Maka: M
M
h(n) = ∑ bk δ [n − k ]
H ( z ) = ∑ bk z
k =0
−k
k =0
sehingga:
y[n] = h[n] * z = H ( z ) z n
11/23/2006
n
9
Contoh 3 Suatu filter FIR dinyatakan sebagai:
y[ n] = 6 x[ n] − x[ n − 1] + x[ n − 2] Dapatkan bentuk dalam domain-z dan nilai zeronya Penyelesaian: Dengan cara yang sama dengan logika pada contoh 1 maka didapatkan bentukdalam domain–z sebagai berikut:
(
)(
H ( z) = 6 − 5z −1 + z −2 = 3 − z −1 2 − z −1
)
1⎞ ⎛ 1 ⎞⎛ ⎜ z − ⎟⎜ z − ⎟ 3 ⎠⎝ 2⎠ ⎝ =6 z2
Dengan mengacu pada bentuk terakhir persamaan diatass, didapatkan bahwa nilai zero terjadi pada z = 1/3 dan z = ½ 10 11/23/2006 11/23/2006
10
Contoh 4: Suatu filter FIR memiliki system function dalam domain–n sebagai berikut:
h[ n] = δ [ n] − 7δ [ n − 2] − 3δ [ n − 3] Dapatkan representasinya dalam domain-z.
Penyelesaian: Dengan cara yang sama kita dapatkan bentuk domain-z sebagai:
H ( z) = 1 − 7 z 11/23/2006
−2
− 3z
−3
11
Contoh 5: Dapatkan bentuk respon impulse suatu filter FIR dengan system function yang direpresentasikan dalam domain–z sebagai berikut:
(
)(
)(
H ( z ) = 4 1 − z −1 1 + z −1 1 + 0,8 z −1
)
Penyelesaian:
H ( z)
( )(1 + z + 0,8z + 0,8z ) = 4(1 − z )(1 + 1,8 z + 0,8 z ) = 4(1 + 0,8 z − z − 0,8 z )
= 4 1− z
−1
−1
−1
−1
−1
−1
−1
= 4 + 3,2 z − 4 z
−2
−2
−2
−3
−2
−3
− 3,2 z
H (n) = 4δ [n] + 3,2δ [n − 1] − 4δ [n − 2] − 3,2δ [n − 3] 11/23/2006
12
3. Transformasi-z sebagai Suatu Operator Unit Delay Dalam domain waktu, unit-delay operator D didefinisikan sebagai: y[n] = D{x[n]}= x[n-1] semua tahu kalau x[n]=zn bagi semua nilai n maka:
y[n]
{ }
= D{x[n]} = D z =z
n −1
−1
n
−1
= z z = z x[n] n
maka: y[n]=z-1{x[n]}=x[n-1] 11/23/2006
13
Notasi Operator y[n]=x[n]-x[n-1] Î dikenal sebagai “first difference” case
Operator dalam transformasi-z:
(
y[n] = 1 − z
11/23/2006
−1
){x[n]}
14
Diagram Blok x[n]
y[n]
Unit Delay
X(z)
z-1X(z)
z-1
Realisasi untuk first difference y[n] = b0x[n] + b1x[n-1] Adalah dalam bentuk seperti dibawah ini
b0 x[n]
x[n-1]
y[n]
b1
z-1 11/23/2006
15
4. Hubungan antara domain-z dan domain-ω dalam hal ini kita tetapkan ω = ω s = ωˆ sebagai besaran frekuen dalam satuan radian M
H (ω ) = ∑ bk e k =0
− jωk
M
⇔ H ( z ) = ∑ bk z
k
k =0
H (ω ) = H (e jω ) = H ( z ) z =e jω maka formulasinya kita dapatkan sebagai
z=e
jω k
Jika suatu sinyal input zn masuk ke suatu filter LTI, outputnya adalah y[n]=H(z)zn Jika nilai 11/23/2006
z=e
jω
maka
( )e
y[ n ] = H e
jω
jω n 16
Bidang-z dan Unit Circle • Respon frekuensi periodik dengan periode 2π,sehingga kita perlu melakukan evaluasi sepanjang satu periode −π<ω<π • Kita miliki nilai z Æ 1 satuan magnitudo Æ ω bervariasi dari −π sampai π
nilai
z = e jω
Æ ada di suatu circle (lingkaran) dengan radius 1 Æ disebut sebagai “unit circle”
Matlab Command: zplane(0.5*sqrt(2)+j*0.5*sqrt(2),0) grid title('bidang-z')
11/23/2006
17
11/23/2006
18
Zero dan Pole pada H(z) Suatu filter FIR dicirikan oleh nilai-nilai zero-nya. Misal sebuah filter FIR memiliki system function dalam domain-z sebagai berikut:
H ( z ) = 1 − 2 z −1 + 2 z −2 − z −3 Bagimana lokasi zero dan pole pada sistem ini?
Persamaan system function diatas dapat dimodifikasi:
H ( z)
= 1 − 2z
(
−1
+ 2z
)(
−2
−z
−3
)(
= 1 − z −1 1 − e jπ / 3 z −1 1 − e − jπ / 3 z −1
11/23/2006
)
19
Bisa juga dengan cara lain
z3 H ( z) × 3 z
( ( z =
= 1 − 2 z −1 + 2 z − 2 − z −3
)
)
z3 z3
− 2z 2 + 2z − 1 z3 ( z − 1) z − e jπ / 3 z − e − jπ / 3 = z3 3
(
)(
)
Kita ketahui lokasi zero adalah
z = 1,
z = e jπ / 3 ,
z = e − jπ / 3
Nilai z dimana H(z) = infinite disebut sebagai pole pada H(z), maka dalam hal ini pole terletak di z=0
11/23/2006
atau z3 = z2*Î komplek konjugate Matlab Command: B=[1;exp(j*pi/3);exp(-j*pi/3)]; A=[0;0;0]; zplane(B,A) grid title('bidang-z')
20
zero pole
11/23/2006
21
Nulling Filter Jika pada bidang-z hanya mampu me-nol-kan sinyal dengan bentuk khusus x[n] = z0n Sehingga untuk me-nol-kan input x[n] = cos(ω0n) kita perlu proses cascade sebab:
1 jω 0 n 1 − jω 0 n x[n] = cos(ω 0 n ) = e + e 2 2 Masing-masing eksponensial komplek ini dapat dibuang (di-nol-kan) dengan suatu first-order FIR filter, sehingga perlu dua filter first order untuk me-nol-kan sinyal cos(ω0n). Maka filter yang dibutuhkan: memiliki dua zero pada
z1 = e jω 0 n
dan
z 2 = e − jω 0 n
sebagai second order FIR filter
11/23/2006
22
Sinyal z1n Æ dinolkan oleh H 1 (z ) = 1 - z 1 z -1
H 1 (z 1 ) = 0
H 1 (z 1 )
pada z = z 1
−1 ( ) = 1 − z1 z1
= 1−1 =0 Sinyal z2n Æ dinolkan oleh H2(z) = 1- z2n z -1 Maka nulling filter second order akan memiliki bentuk:
H(z )
= H 1 (z ) H 2 (z )
(
)(
)
= 1 - z 1 z -1 1 - z 2 z -1 = 1 − (z 1 + z 2 )z -1 + (z 1 z 2 )z -2
(
)
(
)
= 1 − e jω 0 + e - jω 0 z -1 + e jω 0 e - jω 0 z -2 = 1 − 2 cos(ω 0 )z -1 + z -2 11/23/2006
23
Zero terjadi pada nilai
z=e
Persamaan diatas H(z )
± jπ / 4
= 1 − 2 cos(ω 0 )z + z -1
-2
= 1 − 2 z −1 + z − 2 Sehingga filter ini akan me-nol-kan sinyal cos(0,25π) dari suatu input yang masukke FIR filter yang memiliki bentuk dalam persamaan beda sebagai berikut:
y[ n] = x[ n] − 2 x[ n − 1] + x[ n − 2]
11/23/2006
24
11/23/2006
25
Relasi secara Grafik bidang-z dengan bidang-ω Suatu FIR filter dengan system function sebagai berikut: 10
H (z ) = ∑ z −k k =0
– punya zero yang terletak di unit circle, yaitu ω = 2πk/11 Æ untuk nilai k =1,2,…10 – pole di z = 0
(
)(
) (
)
H ( z ) = 1 − e − j 2π / 11 z −1 1 − e − j 4π / 11 z −1 .... 1 − e − j 20π / 11 z −1 . z − k → e − jωk = e − jπk / 11
Memiliki zero yang tersebar di 10 titik secara uniform pada unit circle dalam bidang-z. Dalam bidang−ω Æ respon frekuensinya adalah sbb: w=-pi:.01:pi; H_w = 1 + exp(-j*w) + exp(-j*w*2) + exp(-j*w*3)+ exp(-j*w*4)+ exp(-j*w*5)+ exp(-j*w*6)+ exp(-j*w*7)+ exp(-j*w*8)+ exp(-j*w*9)+ exp(-j*w*10); plot(0.5*w/pi,abs(H_w),'linewidth',2) grid11/23/2006
26
11/23/2006
27
11/23/2006
28
5. Band Pass Filter Sebelum kita masuk ke band pass filter, kita bicara dulu yang namanya running-sum filter. L-Point Running Sum Filter Memiliki fungsi system sebagai:
Bentuk umum: L −1
y[n] = ∑ x[n − k ] k =0
H [ z ] = ∑ z −k k =0
Suatu deret geometri L −1
H ( z ) = ∑ z −k k =0
11/23/2006
L −1
1 − z −L z L −1 = = L −1 1− z z ( z − 1)
Numerator (pembilang) (1)
Denumerator (penyebut) 29
Juga dikenal sebagai “the L-th roots of unity” Zero pada H(z): (2) z-L -1 =0 Î zL =1
Juga dikenal sebagai “the L-th roots of unity”
dengan ej2πk =1 untuk nilai k integer maka z = ej2πk/L untuk k=0,1,2,…..L-1
(3)
Pada denominator 0 terjadi pada z = 0 atau z = 1 Karena akar ke-L adalah satu satuan z = 1, maka zero pada numerator yangmeng-cancell yang terjadi pada z = 1. Sehingga pole pada z = 0. Persamaan system function bisa ditulis kembali sebagai:
L −1
L −1
(
H ( z ) = ∑ z − k = ∏ 1 − e j 2πk / L z −1 11/23/2006
k =0
k =1
)
(4) 30
Misal pada kasus dimana L=10, system function ini menjadi 9
H ( z) = ∑ z k =0
−k
−10
1− z z −1 = = 9 −1 1− z z ( z − 1) 10
(5)
Dari persamaan (5) akan menghasilkan 10 titik zero yang tersebar secara uniform pada lingkaran (diagram-z) sesuai dengan z = ej2πk/L untuk nilai k = 0,1,2,…9. Karena suatu kondisi untuk z=1 antara pole dan zero saling meng-cancell (menghilangkan) maka tidak muncul dalam bidang–z. Matlab Code: B=[exp(j*2*pi/10);exp(j*4*pi/10);exp(j*6*pi/10);exp(j*8*pi/10);exp(j*10*pi/10);exp(j*12* pi/10);exp(j*14*pi/10);exp(j*16*pi/10);exp(j*18*pi/10)]; A=[0;0;0;0;0;0;0;0;0]; figure(1) zplane(B,A) grid title('bidang-z') w=-pi:.01:pi; H_w = 1 + exp(-j*w) + exp(-j*w*2) + exp(-j*w*3)+ exp(-j*w*4)+ exp(-j*w*5) + exp(-j*w*6)+ exp(-j*w*7)+ exp(-j*w*8)+ exp(-j*w*9); figure(2) 11/23/2006 31 plot(0.5*w/pi,abs(H_w),'linewidth',2) grid
11/23/2006
32
11/23/2006
33
Suatu Band Pass Filter Komplek Pada LPF posisi w=0 digeser sehingga polenya bergeser. Saat
ω≠0
Æ bandpass filter L −1
System function menjadi:
(
H ( z ) = ∏ 1 − e j 2πk / L z −1
)
(6)
k =1 k ≠ ko
k0 menunjukkan kondisi
z = e j 2πk / L z −1
dihindari Î tidak muncul Misal disini k0 = 2, dan L =10 akan memberikan: Interval
Peak pada k0 = 2
11/23/2006
2πk 0 ω= L
Band Pass Filter
34
Matlab Code: B=[1;exp(j*2*pi/10);exp(j*6*pi/10);exp(j*8*pi/10);exp(j*10*pi/10);exp(j*12*pi/10); exp(j*14*pi/10);exp(j*16*pi/10);exp(j*18*pi/10)]; A=[0;0;0;0;0;0;0;0;0]; figure(1) zplane(B,A) grid title('bidang-z') w=-pi:.01:pi; H_w = (1 - exp(j*0*pi/10-j*w)).*(1 - exp(j*2*pi/10-j*w)).*(1 - exp(j*2*3*pi/10-j*w)). *(1 - exp(j*2*4*pi/10-j*w)).*(1 - exp(j*2*5*pi/10-j*w)). *(1 - exp(j*2*6*pi/10-j*w)).*(1 - exp(j*2*7*pi/10-j*w)). *(1 - exp(j*2*8*pi/10-j*w)).*(1 - exp(j*2*9*pi/10-j*w)) ; figure(2) plot(0.5*w/pi,abs(H_w),'linewidth',2) grid
11/23/2006
35
11/23/2006
36
11/23/2006
37
Perhatikan Persamaan (6) yang telah diberikan diatas… - efektif untuk melihat respon frekuensi - tidak efektif untuk mencari koefisien-koefisien pada Band Pass Filter Solusinya ????.....
Solusi 1: Suatu Operator Baru H(z) = G(z/r) Solusi 2: Dengan Menghitung Secara Langsung
11/23/2006
38
Solusi 1: Suatu Operator Baru H(z) = G(z/r) Misal G(z) = z2-3z + 2 = (z-2)(z-1) 2
H ( z)
⎛z⎞ ⎛z⎞ ⎛z⎞ = G ⎜ ⎟ = ⎜ ⎟ + 3⎜ ⎟ + 2 ⎝r⎠ ⎝r⎠ ⎝r⎠ z 2 + 3rz + 2r 2 = r2 ( z − 2r )( z − r ) = r2
2 Akar pada H(z) adalah z=2r dan z=r.
L −1
Pada kasus BPF G(z)Îrunning-sum system function:
G ( z ) = ∑ z −1 k =0
r = komplek exponensial = ej2πko/L 11/23/2006
39
Perkalian dengan eksponensial komplek, menghasilkan perputaran sudut dengan ej2πko/L Î perputaran (pergeseran) sebesar j2πko/L
z H ( z ) = G ( ) = G ( ze − j 2πk0 / L ) 2 L −1
= ∑ z − k e j 2πk0 k / L k =0
sehingga koefisien-koefisien pada bandpass filter komplek adalah:
bk = e
11/23/2006
j 2πk 0 k / L
untuk nilai k=0,1,2,…L-1
(7)
40
Solusi 2: Dengan Menghitung Secara Langsung L −1
H (e jωˆ ) = ∑ e j 2πk0 k / L e − jωˆ k k =0
L −1
= ∑e
− j (ωˆ − 2πk 0 / L )k
(8)
(
=Ge
− j (ωˆ − 2πk 0 / L )
)
k =0
Persamaan (8) menunjukkan respon frekuensi pada persamaan (7) yang tergeser dengan nilai sebesar 2πko/L
11/23/2006
41
Suatu Band Pass Filter dengan Koefisien-Koefisien Real Bagaimana cara mendesain dengan koefisien-koefisien tidak komplek???
Band Pass Filter koefisien real
bk = cos(2πk 0 k / L)
Î k=0,1,2,…L-1
Ekspansi z-k dalam terminologi komplek eksponensial memberikan: L −1
H ( z)
= ∑ (cos(2πk 0 k / L) )z − k k =0
L −1
11/23/2006
1 ⎛1 ⎞ = ∑ z − k ⎜ e j 2πk0 k / L + e − j 2πk0 k / L ⎟ 2 ⎝2 ⎠ k =0 1 L −1 − k j 2πk0 k / L 1 L −1 − k − j 2πk0 k / L = ∑z e + ∑z e 2 k =0 2 k =0 = H1 ( z) + H 2 ( z)
42
H1(z): BPF complek dengan center freq di 2πk0/L H1(z): BPF complek dengan center freq di -2πk0/L Untuk k0 = 2 dan L = 10, respon frekuensinya Matab Code B=[cos(0.4*pi);1;exp(j*2*pi/10);exp(j*6*pi/10);exp(j*8*pi/10);exp(j*10*pi/10); exp(j*12*pi/10);exp(j*14*pi/10);exp(j*18*pi/10)]; A=[0;0;0;0;0;0;0;0;0]; figure(1) zplane(B,A) grid title('bidang-z') w=-pi:.01:pi; H1_w = (1 - exp(j*0*pi/10-j*w)).*(1 - exp(j*2*pi/10-j*w)).*(1 - exp(j*2*3*pi/10-j*w)). *(1 - exp(j*2*4*pi/10-j*w)).*(1 - exp(j*2*5*pi/10-j*w)).*(1 - exp(j*2*6*pi/10-j*w)). *(1 - exp(j*2*7*pi/10-j*w)).*(1 - exp(j*2*8*pi/10-j*w)).*(1 - exp(j*2*9*pi/10-j*w)) ; H2_w = (1 - exp(-j*0*pi/10-j*w)).*(1 - exp(-j*2*pi/10-j*w)).*(1 - exp(-j*2*3*pi/10-j*w)). *(1 - exp(-j*2*4*pi/10-j*w)).*(1 - exp(-j*2*5*pi/10-j*w)).*(1 - exp(-j*2*6*pi/10-j*w)). *(1 - exp(-j*2*7*pi/10-j*w)).*(1 - exp(-j*2*8*pi/10-j*w)).*(1 - exp(-j*2*9*pi/10-j*w)) ; H_w = 0.5*H1_w + 0.5*H2_w; figure(2) plot(0.5*w/pi,abs(H_w),'linewidth',2) grid 11/23/2006 43
ada 2 peak (puncak) pada ωˆ = ±4π / 10 ⇒ 2 zero hilang pada unit circle pada sudut + 4π/10
11/23/2006
44
11/23/2006
45