Respon Frekuensi pada FIR Filter
Oleh:Tri Budi Sanrtoso Lab Sinyal, EEPIS-ITS
1
Respon sinusoida pada sistem FIR Suatu sistem FIR dinyatakan:
M
M
k =0
k =0
y[n ] = ∑ bk x[n − k ] = ∑ h[k ]x[n − k ]
(1)
Sinyal input secara umum merupakan bentuk komplek diskrit jφ
x[n] = Ae e
jω s n
x[n − k ] = Ae jφ e jωs (n − k ) Karena φ = 0 dan A = 1, maka bentuk tsb menjadi:
x[n − k ] = e jωs (n − k ) ωs= ωTsÎ merupakan frekuensi ternormalisasi terhadap periode sampling yang digunakan
2
Sehingga bentuk umum FIR menjadi: M
y[n] = ∑ bk e
jω s ( n − k )
k =0 M
y[n] = ∑ bk e
− jω s k
e
jω s n
k =0
y[n] = H (ω s )e
jω s n
3
dimana: M
M
H (ω s ) = ∑ bk e − jω s k = ∑ h[k ]e − jω s k k =0
(2)
k =0
yang lebih dikenal sebagai fungsi respon frekuensi untuk sistem tersebut, dan seperti anda kenal dalam istilah komunikasi sebagai “respon frekuensi” Respon Frekuensi Æ merupakan bentuk komplek
H (ω s ) = Re{H (ω s )} + j Im{H (ω s )} = H (ω s ) e j∠H (ω s ) dimana: |H(ωs)|=magnitudo dan
(3)
∠H (ω s ) = fase
Maka persamaan (2) menjadi:
y[n] = H (ω s ) e j∠H (ω s ) Ae jφ e jω s n = ( H (ω s ) A)e j (∠H (ω s )−φ )e jω s n 4
Contoh 1: Suatu sistem LTI memiliki koefisien-koefisien pada persamaan beda sbb: {bk}={1 , 2 , 1}. Bagaimana bentuk respon frekuensinya? Penyelesaian:
M
Dengan persamaan (1) diperoleh
y[n] = ∑ bk x[n − k ] k =0
M
H (ω ) = ∑ bk e
− jω s k
k =0
= 1 + 2e − jω s + e − j 2ω s Untuk mendapatkan respon magnitudo dan respon fasenya: − jω s − j 2ω s − jω s jω s
H (ω s ) = 1 + 2e
+e
=e
(e
+ 2 + e − jω s
) 5
Contoh Program Matlab clear all; w=-3:.1:3; y = 1 + 2*exp(-j*w*pi) + 2*exp(-j*2*w*pi); plot(w,abs(y),'linewidth',2) grid xlabel('w (radiant)')
6
7
Anda coba untuk mengingat kembali persamaan Euler:
e jω s = cos ω s + j sin ω s e − jω s = cos ω s − j sin ω s __________________ + e jω s + e − jω s = 2 cos ω s Maka:
H (ω s ) = e − jωs (2 + 2 cos ω s ) = (2 + 2 cos ω s )e − jωs
dimana: 2+2cosωs Îmerupakan magnitudo -ωs Æ fase
8
Contoh 2: Jika input sinyal x[n]=2ejπ/4 ejπn/3 diberikan ke sistem FIR pada soal sebelumnya, bagaimana bentuk outputnya?
Penyelesaian:
y[n] = ∑ h[k ]x[n − k ] = ( H (ω s ) A)e M
j (∠H (ω s )+φ )
e
jω s n
k =0 ganti ωs dengan π/3 maka: H(ωs) = H(π/3) = 2 + 2cos(π/3) = 2 + 2( ½ ) + 3
∠H (ω s ) = π / 3 sehingga:
y[n]
sementara φ = 0
= 3e − jπ / 3 2e jπ / 4 e jπ / 3 = (3) (2) e ( jπ / 4− jπ / 3 ) e jπ / 3 = (6) e − jπ / 12 e jπ / 3 = (6) e jπ / 4 e jπ (n −1) / 3
9
Sifat-sifat Respon Frekuensi Æ FIR Filter 1.
Hubungan dengan Respon Impuls dan Persamaan Beda
bk = h[k ] ⇒ bk e − jωs k = h[k ]e − jωs k Respon impulse Î tersusun dari sekuen impulse koefisienkoefisien FIR Secara umum: Time Domain: M
h[n] = ∑ h[k ]δ [n − k ] k =0
Frequency Domain: M
H [ω s ] = ∑ h[k ]e − jωs k k =0
10
Contoh 1: Sebuah FIR memiliki respon inpulse seperti berikut: h[n] = -δ[n] + 3δ[n-1] – δ[n-2] Sistem ini memiliki {bk} = {-1, 3, -1} Maka bentuk persamaan ini dapat ditransformasi: Persamaan Beda: M
y[n] = ∑ bk x[n − k ] = − x[n] + 3 x[n − 1] − x[n − 2] k =0
REspon Frekuensi:
H (ω s ) = −1 + 3e
− jω s
−e
− j 2ω s
11
Contoh 2: JIka diketahui respon frekuensi FIR filter sbb:
H (ω s ) = e − jωs (3 − 2 cos ω s )
Bagaimana bentuk persamaan beda-nya? Jawab: Persamaan Euler:
cos ω s =
(
1 jω s e + e − jωs 2
)
jω s − jω s ⎛ ⎛ e e + H (ω s ) = e − jωs ⎜⎜ 3 − 2⎜⎜ 2 ⎝ ⎝
⎞⎞ ⎟⎟ ⎟ ⎟ ⎠⎠
Persamaan Beda: y[n]= -x[n] +3x[n-1] -x[n-2]
12
2. Periodisitas H(ωs) Respon frekuensi H(ωs) selalu periodik sebagai fungsi ωs pada setiap nilai 2π radiant. H(ωs) = H(ωs+ 2π) ??? Î dapat dibuktikan seperti berikut ini
H (ω s + 2π )
M
= ∑ bk e − j (ωs + 2π )k k =0 M
= ∑ bk e − jωs k e − j 2πk k =0 M
= ∑ bk e − jωs k
; dengan k = int eger
k =0
= H (ω s ) 13
Representasi Grafik pada Respon Frekuensi Dua poin penting yang harus “di-emhpasized” tentang respon frekuensi: Respon frekuensi biasanya memiliki nilai bervariasi sesuai 1. perubahan nilai frekuensinya Pemilihan koefisien bk akan menentukan bentuk respon 2. frekuensinya Untuk memvisualisasikan H(ωs)
H(ωs) Magnitudo
Harus menggambarkan dalam sistem koordinat berikut ini
Nilai frekuensi dalam radiant
ωs 14
Kasus pada suatu system dengan delay: y[n] = x[n-n0] Sistem ini memiliki koefisien filter non-zero di bn0 =1, sehingga respon frekuensinya adalah:…. Coba anda kembali melihat persamaan dasar M
y[n] = ∑ bk x[n − k ] k =0
k = n0 bk Î bn0 =1 Maka
H (ω s ) = 1.e − jω s n0 = e − jω s n0 15
Kasus pada sistem persamaan beda orde 1 y[n] = x[n]-x[n-1]
Respon Frekuensinya adalah
H (ω s ) = 1 − e − jωs = 1 − cos ω s + sin ω s
(
)
= e − jωs / 2 e jωs / 2 − e − jωs / 2 = e − jωs / 2 .2 sin (ω s / 2)
= 2 sin (ω s / 2)e − jωs / 2 = 2 sin (ω s / 2)e j (π / 2−ωs / 2 )
16
Program Matlab clear all; w=-3:.1:3; y=1-exp(-j*w*pi); subplot(2,1,1) plot(w,abs(y),'linewidth',2) grid xlabel('w (radiant)') subplot(2,1,2) plot(w,y_phase,'linewidth',2) grid xlabel('w (radiant)')
17
18
Re{H(ωs)}= 1- cos ωs; dan Im{H(ωs)}= sin ωs;
H (ω s ) =
(1 − cos ω s )2 + (sin ω s )2
⎛ sin ω s ∠H (ω s ) = tan ⎜⎜ ⎝ 1 − cos ω s −1
⎞ ⎟⎟ ⎠
clear all; w=-3:.1:3; y=1-exp(-j*w*pi); subplot(2,1,1) plot(w,real(y),'linewidth',2) grid xlabel('w (radiant)') ylabel('Real Part') subplot(2,1,2) plot(w,imag(y),'linewidth',2) grid xlabel('w (radiant)') ylabel('Iamaginary Part') 19
20
Contoh 3: Suatu input diskrit diketahui sebagai berikut: x[n] = 4 + 2cos(0.3 πn – π/4) Pada saat sistem diuji, keluar output sebagai berikut: y[n] = x[n]-x[n-1] Cari bentuk respon frekuensi sistem dan cari bentuk output pada saat H(0) = 0 terjadi.
Penyelesaian: Dengan melihat kembali hasil pada kasus sistem persamaan beda orde 1:
H (ω ) = 2 sin (ω s / 2 )e j (π / 2−ω2 / 2 ) H (0.3π ) = 2 sin (0.3π / 2 )e j (π / 2−0.3π / 2 ) ≈ 2
21
z
Kembali ke prinsip awal
x[n] = A0 + A1cos(ω1 n + φ1) y[n] = H(0)A0 + |H(ω1)|A1cos(ω1n + φ1+ H(ω1)) Maka: y[n] = 4H(0) + 2|H(ω1)|A1cos(0,3πn – π/4+ H(0,3π))
dengan kondisi H(0)= 0, maka: y[n] = 2(2)sin(0,3π/2)cos(0,3πn – π/4 –0,3π/2) = 1,816 cos(0,3π – 0,1π)
22
Kasus pada Low Pass Filter Sederhana: Suatu sistem memiliki frekuensi respon
H (ω s ) = 1 + 2e − jωs + e − j 2ωs
= (2 + 2 cos ω s )e − jωs
Nilai (2 + 2 cosωs) > 0 untuk semua ω Kita juga memiliki: |H(ωs)| = (2 + 2 cos(ωs) dan H(ωs) = -ωs Coba anda gambarkan nilai ini untuk –π < ωs < π
23
clear all; ws=-pi:pi/17:pi; H_ws=(2+2*cos(ws)).*exp(-j*ws*pi); subplot(2,1,1) plot(ws,abs(H_ws),'linewidth',2) grid xlabel('w(radiant)') subplot(2,1,2) plot(ws,phase(H_ws),'linewidth',2) grid xlabel('w(radiant)')
24
25
Contoh 4: Jika diketahui suatu input adalah x[n] = 4 + 3cos((π/3)n –π/2) + 3cos((20π/21)n) Dapatkan output dari y[n] =……………
Penyelesaian: Dengan gambar yang terbangkit, coba anda hitung H(ws) pada ws =0, π/3, dan 20π/21 π1 H(0) = (2 + 2cos(0)) e-j0 =4 H(π/3) = (2 + 2cos(π/3)) e-jπ/3 = (2 + 1) e-jπ/3 = 3e-jπ/3 H(20π/21) = 0,0223 e-j20π/21 Nilai-nilai ini bisa anda cocogkan dengan gambar…?
26
z Outputnya: y[n] = 4.4 + 3.3 cos((π/3)n – π/3 –π/2) + (0,0223) 3cos((20π/21)n – 20π/21) =16 + 9 cos(π/3(n –1) –π/2) + 0,067 cos(20π/21(n-1))
Gambarkan outputnya…. n=1:1:30; x_n = 4 + 3*cos(n*pi/3 - pi/3) + 3*cos(n*20*pi/21); subplot(2,1,1) stem(n,x_n) ylabel('Input x[n]') xlabel('Time Index n') subplot(2,1,2) y_n = 16 + 9*cos(pi/3*(n-1) - pi/2) + 0.067*cos(20*pi/21*(n-1)); stem(n,y_n) ylabel('Output y[n]') xlabel('Time Index n') 27
28