4/2020
Disusun Oleh:
LABORATORIUM TELEKOMUNIKASI
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS SULTAN AGENG TIRTAYASA
2020
STRUKTUR
LABORATORIUM TELEKOMUNIKASI
Sintia
Dhandy Wiriyadinata
ii
PERATURAN PRAKTIKUM
Gambar dan nama gambar harus proporsional, jelas dengan ukuran yang tidak
berlebihan, letak center, diberikan sumber referensi dari mana diperoleh
gambar tersebut, berlaku untuk persamaan, dan bunyi hukum
BAB II TUGAS
iii
Berisi tugas pendahuluan, tambahan, dan modul minimal 2 lembar.
BAB III ANALISIS
Berisi analisis atau penjelasan praktikum yang dilakukan didasari teori yang
berasal dari sumber yang terpercayaminimal 3 lembar.
BAB IV PENUTUP
Berisi kesimpulan dari percobaan yang dilakukan, merupakan jawaban dari
tujuan pada saat praktikum minimal 1 lembar.
DAFTAR PUSTAKA
Berisi daftar rujukan atau pustaka yang telah digunakanpada laporan
praktikum. Rujukan yang diperbolehkan meliputi jurnal ilmiah, prosiding
seminar, textbook, majalah ilmiah dan sumber lain yang dapat
dipertanggungjawabkan.Adapun tata cara penulisan referensi tergantung pada
style penulisan sitasi yang digunakan.
1) Bagi yang menggunakan style APA
Feit, S. (1998). TCP/IP: architecture, protocols, and implementation
with IPv6 and IP security. United States of America: The McGraw-
Hill Companies, Inc.
dari batas maksimum pengumpulan laporan (7 hari) maka laporan tidak akan
diterima.
Subjek praktikum :
v
[Kelompok][Asisten][Unit][Nama]
Fadli = [FR]
Habib = [HM]
Sintia = [SC]
Dhandy = [DW]
Contoh :
[PSD-5][FR][1][MANG OLEH]
4. INHAL
Dilakukan apabila praktikan tidak dapat melaksanakan praktikum sesuai dengan
jadwal atau melanggar tata tertib praktikum, syarat dan ketentuan:
a. Maksimal INHAL 2 kali pertemuan praktikum. Apabila lebih, maka nilai
praktikum maksimal D.
b. Pelaksanaan inhal pengganti dilakukan setelah praktikum selesai atau
dijadwalkan berikutnya oleh asisten.
c. Pengumpulan laporan maksimal 1x24 jam.
d. Nilai akhir pada unit yang di-INHAL-kan akan dikurangi 30%.
e. Peraturan praktikum tetap berlaku pada saat INHAL.
5. RESPONSI
a. Merupakan review dari awal sampai dengan akhir praktikum dalam bentuk test
tertulis yang dilaksanakan setelah selesai praktikum.
b. Bagi yang tidak mengikuti responsi maka praktikan dianggap gugur atau tidak
mengikuti praktikum tersebut dan nilai maksimal yang diberikan D.
6. JADWAL PRAKTIKUM
a. Daftar kelompok ditentukan oleh asisten.
b. Praktikan memilih jadwal (kosong) yang telah disediakan oleh asisten.
c. Jadwal yang telah diisi dikirim ke OA Line Laboratorium Telekomunikasi.
d. 1 pertemuan diisi maksimal oleh 3 kelompok.
e. Praktikum akan dimulai pada tanggal 5 Oktober 2020.
f. Untuk info lebih lanjut di lampirkan pada modul dan dapat dilihat di OA Line
(@321axjnu).
vi
KATA PENGANTAR
Penyusun
vii
DAFTAR ISI
Unit 1
Sinyal dan Sistem Waktu Diskrit ..................................................................................1
Unit 2
Pengolahan Digital Sinyal Waktu Kontinyu ................................................................ 9
Unit 3
Transformasi Z ...................................................................................................... 17
Unit 4
Transformasi Fourier Waktu Diskrit ........................................................................... 25
Unit 5
Analisis Sistem LTI (Linear Time Invariant) ........................................................ 32
Unit 6
Filter IIR (Infinite Impulse Response) ................................................................... 40
Unit 7
Filter FIR (Finite Impulse Response) ....................................................................47
Unit 8
Perancangan Filter Digital..................................................................................... 54
viii
UNIT I
SINYAL DAN SISTEM WAKTU DISKRIT
1. Tujuan Percobaan
Setelah melakukan praktikum ini, diharapkan mahasiswa dapat memahami
sinyal waktu diskrit; sistem linier dan time-invariant dalam analisa Pengolahan
Sinyal Digital.
3. Teori Dasar
A. Pengertian Sinyal Waktu Diskrit
Sinyal waktu diskrit merupakan fungsi dari variabel bebas yaitu waktu yang
mana nilai variabel bebasnya adalah bilangan bulat. Secara mutlak, sinyal waktu
diskrit x(n) tidak didefinisikan untuk n bukan bilangan bulat.
1
2
N 0 1 2 3 4 5
x(n) 2 3 5 6 -2 7
Yaitu proses perkalian dua buah sinyal atau lebih menjadi satu sinyal
baru. Proses tersebut dapat dinyatakan dengan:
y(n) = x1(n) x2(n) … xn(n) (1.2)
3. Penjumlahan dengan konstanta
Yaitu penjumlahan suatu sinyal dengan suatu konstanta dan
menghasilkan suatu sinyal baru, atau dapat ditulis sebagai:
y(n) = x(n) + a (1.3)
4. Perkalian dengan konstanta
Yaitu perkalian suatu sinyal dengan suatu konstanta dan
menghasilkan suatu sinyal baru, atau dapat ditulis sebagai:
y(n) = a . x(n) (1.4)
5. Pergeseran waktu
Yaitu penggeseran suatu sinyal sebesar suatu konstanta dan
menghasilkan suatu sinyal baru, atau dapat ditulis sebagai:
y(n) = x(n – k) (1.5)
6. Pembalikan waktu
Yaitu pembalikan waktu suatu sinyal dan menghasilkan suatu sinyal
baru, atau dapat ditulis sebagai:
y(n) = x(– n) (1.6)
x(n) t y(n)
Gambar 1.2. Diagram blok sistem
Sistem T dalam gambar di atas disebut linier, jika y(n) = y’(n). Sistem
yang tidak memenuhi kondisi diatas, disebut sistem tak linier.
x(n) T y(n)
x(n-k) T y(n-k)
4. Prosedur Percobaan
Inputkan program-program berikut dalam Editor MATLAB, beri nama yang
sesuai dengan isinya, kemudian di-run. Perhatikan dan catat hal-hal yang
penting, lalu kerjakan tugas-tugas yang diberikan. Bangkitkan program
berdasarkan perintah berikut :
a) Sinyal unit impuls
b) Sinyal unit step
c) Sinyal unir ramp
d) Sinyal eksponensial
e) Sinyal unit step tertunda
f) Sinyal sinus
g) Penjumlahan sinyal
h) Perkalian sinyal
i) Penambahan Noise Gaussian Pada Sistem
j) Pembangkitan Sinyal Sinusoida Variasi Parameter
5. Listing Program
a. Sinyal Unit Impuls
Sintaks:
% Menampilkan sinyal Unit Impuls
n = 0:50;
impuls = [1, zeros(1,50)];
plot(n,impuls,'k*'), grid;
xlabel(’waktu’),
ylabel(’amplitudo’);
axis([-5 55 –0.5 1.5]);
undak = ones(1,51);
plot(n,undak,’ko’), grid;
xlabel(’waktu’), ylabel(’amplitudo’);
axis([-5 55 –0.5 1.5]);
d. Sinyal Eksponensial
Sintaks:
% Menampilkan Sinyal Eksponensial
n = 0:50;
eks1 = (-0.95).^n;
stem(n,eks1,'k'), grid;
xlabel('waktu'), ylabel('amplitudo');
axis([-5 55 -1.5 1.5]);
f. Sinyal Sinus
Sintaks:
% sinyal sinus 10 Hz
n = 0:199;
7
T = 0.002;
x = sin(2*pi*10*n*T);
plot(n*T,x,'ok'),grid;
g. Penjumlahan Sinyal
Sintaks:
n=0:199;
T=0.002;
y=sin(2*pi*10*n*T);
subplot(311)
stem (y)
z=sin(2*pi*50*n*T);
subplot(312)
stem (z)
x=y+z;
subplot(313)
stem(n*T,x,'k'), grid;
h. Perkalian Sinyal
Sintaks:
%sinyal sinus 5Hz*100Hz
n=0:199;
T=0.002;
y=sin(2*pi*5*n*T);
z=sin(2*pi*100*n*T);
x=y.*z;
subplot(311)
plot(n*T,x,'k'), grid;
%sinyal sinus 5hz+random
n=0:199;
T=0.002;
y=sin(2*pi*5*n*T)+randn(size(n));
subplot(312)
stem(n*T,y,'k'), grid;
%sinyal kosinus 5hz*kotak 20hz
n=0:199;
T=0.002;
y=cos(2*pi*3*n*T);
z=square(2*pi*20*n*T);
x=y.*z;
subplot(313)
8
stem(n*T,x,'k'), grid;
9
10
2.6
11
12
13
14
15
16
UNIT III
TRANSFORMASI Z
1. Tujuan Percobaan
Setelah melakukan praktikum ini, diharapkan mahasiswa dapat memahami
transformasi-z, daerah konvergensi, invers transformasi-z, dan sifat-sifat
transformasi-z dalam Pengolahan Sinyal Digital.
3. Teori Dasar
A. Transformasi Z
Transformasi-z adalah suatu transformasi yang berguna untuk
menyelesaikan persamaan beda (difference equation). Hal ini serupa
dengan kegunaan transformasi Laplace, tetapi berlaku untuk sinyal dan
sistem waktu diskrit. Transformasi-z dari suatu sinyal x(n) didefinisikan
sebagai:
(4.1)
Re(z)
2. Pergeseren waktu
Jika Z[x(n)] = X(z), maka:
Z[x(n–1)] = z -1X(z) + x(–1)
Z[x(n–2)] = z -2X(z) + x(–2) + z -1x(–1)
Z[x(n–k)] = z -kX(z) + x(–k) + z -1x(–k+1) + ... + z –k+1x(–1)
Z[x(n+1)] = z X(z) – z x(0)
Z[x(n+2)] = z 2 X(z) – z2 x(0) – z x(1)
Z[x(n+k)] = z k X(z) – zk x(0) – zk-1 x(1) – ... – z x(k–1)
4. Pembalikan waktu
Jika Z[x(n)] = X(z), maka Z[x(–n)] = X(1/z)
5. Perkalian dengan an
Jika Z[x(n)] = X(z), maka Z[an x(n)] = X(z/a)
Perkalian nx(n) z
d
X(z) r1 < |z| < r2
dz
dengan n
Dari tabel terlihat bahwa transformasi-z tidaklah unik untuk suatu sinyal, tetapi
yang membedakan adalah ROC-nya. Misalnya untuk sinyal nomor 3 dan sinyal
nomor 5, transformasi-z dari keduanya adalah sama, tetapi ROC-nya berbeda. Hal
ini akan merepotkan untuk keperluan praktis, sehingga biasanya untuk keperluan
21
(4.3)
Dengan integral adalah integral kontur melalui lintasan tertutup C
yang terdapat pada titik asal dan terletak dalam daerah konvergensi X(z).
Untuk sederhananya, C dapat diambil sebagai lingkaran dalam ROC X(z)
pada bidang z.
Ada tiga metode yang sering digunakan untuk menghitung invers
transformasi-z dalam praktek:
1. Menghitung langsung integral kontur
2. Ekspansi dalam deret pangkat, dengan variabel z dan z–1
3. Ekspansi pecahan parsial dan melihat tabel pasangan transformasi
Dengan beberapa pertimbangan, buku ini hanya akan membahas metode
nomor 3 saja.
4. Prosedur Percobaan
Inputkan program-program berikut dalam Editor MATLAB, beri nama
yang sesuai dengan isinya, kemudian di-run. Perhatikan dan catat hal-hal yang
penting, lalu kerjakan tugas-tugas yang diberikan.
a) Menghitung konstanta pecahan parsial dan pole untuk transformasi Z.
b) Tanggapan waktu dari sistem diskrit.
c) Tanggapan waktu dari sistem diskrit untuk periode sampling yang berbeda.
5. Listing Program
a. Menghitung konstanta pecahan parsial dan pole untuk transformasi Z
b = [6,-10,2];
a = [1,-3,2,0];
[r,p,k] = residue(b,a)
c. Tanggapan waktu dari sistem diskrit untuk periode sampling yang berbeda
Ts1 = 0.5; % periode sampling = 0.5
n1 = 0:Ts1:25;
Ts2 = 2; % periode sampling = 2
n2 = 0:Ts2:25;
num = [1 1];
den = [1 0.5 1];
[nd1,dd1] = c2dm(num,den,Ts1,'zoh');
[nd2,dd2] = c2dm(num,den,Ts2,'zoh');
sys1 = tf(nd1,dd1,Ts1);
sys2 = tf(nd2,dd2,Ts2);
sys_1 = feedback(sys1,0.1);
sys_2 = feedback(sys2,0.1);
[numd1,dend1] = tfdata(sys_1,'v');
[numd2,dend2] = tfdata(sys_2,'v');
xd1 = ones(size(n1));
z1 = filter(numd1,dend1,xd1);
subplot(211), plot(n1,xd1,n1,z1,'o-'), grid;
xd2 = ones(size(n2));
z2 = filter(numd2,dend2,xd2);
subplot(212), plot(n2,xd2,n2,z2,'o-'), grid;
[nd,dd] = c2dm(num,den,Ts,'zoh');
point = 512;
Fs = 2*pi;
[H,q] = freqz(nd,dd,point,Fs);
g = ones(size(q))*0.707;
M = abs(H);
plot(q,M,'o',q,g,'--'), grid
6. Tugas Modul
Tugas 1
Carilah konstanta ekspansi pecahan parsial dan pole-pole untuk transformasi-z:
Tugas 2
a) ganti nilai zeta berturut-turut dengan 2 dan 0.2, amati perubahan pada tampilan
dan catat nilai variabel nd dan dd.
Zeta Nd dd
2
0.2
b) kembalikan nilai zeta ke 0.2, gantilah 'zoh' pada fungsi c2dm berturut-turut
dengan 'foh', 'tustin' dan 'matched'. Catat perubahan nilai pada variabel nd dan
dd. Amati juga tampilannya, apabila ada perubahan, catat.
Tugas 3
Pada tampilan program 4.3, amati perbedaan antara kedua tampilan. Diskusikan
hal tersebut, dan kaitkan dengan periode sampling.
Tugas 4
a) Ubahlah [H,q] = freqz(b,a,point,Fs) menjadi
[H,q] = freqz(b,a,point,’whole’,Fs).
Amati dan catat hasilnya. Apa yang dimaksud dengan variabel point dan
Fs pada program di atas?
24
b) Ganti nilai zeta berturut-turut dengan 1.5 dan 0.3, amati perubahan pada
tampilan dan catat.
c) Masih pada nilai zeta ke 0.3, gantilah 'zoh' pada fungsi c2dm bertutrut-turut
dengan 'foh', 'tustin' dan 'matched'. Catat perubahan nilai pada variabel nd
dan dd. Amati juga tampilannya, apabila ada perubahan, catat.
UNIT IV
TRANSFORMASI FOURIER WAKTU DISKRIT
1. Tujuan Percobaan
Setelah melakukan praktikum ini, diharapkan mahasiswa dapat memahami
representasi deretan dalam transformasi fourier, deret fourier. Konsep Discrete
Fourier Transform (DFT) dan Invers Discrete Fourier Transform serta Fast
Fourier Transform (FFT) dan Invers Fast Fourier Transform dalam
Pengolahan Sinyal Digital.
3. Teori Dasar
A. Transformasi Fourier
Satu bentuk transformasi yang umum digunakan untuk merubah
sinyal dari domain waktu ke domain frekuensi adalah dengan transformasi
Fourier:
(3.1)
25
26
Gambar 3.1. Sinyal sinus dalam domain waktu dan domain frekuensi
menjadi sinyal dalam ranah frekuensi. Dengan kata lain, transformasi ini
berfungsi menganalisis suatu sinyal berdasarkan frekuensi sinyal-sinyal
penyusunnya, atau disebut juga menganalisis spektrum suatu sinyal.
Sebaliknya, jika dalam ranah frekuensi sinyal X(k) diberikan, maka
sinyal x(n) dapat ditemukan dengan menggunakan Invers Transformasi
Fourier Diskrit (Invers Discrete Fourier Transform = IDFT ), yaitu:
modifikasi dari DFT, salah satunya adalah dengan membuat nilai N pada
rumus DFT harus merupakan bilangan 2 berpangkat, misalnya 4, 8, 16,
32, 64, 128, 256 dan seterusnya. Hanya saja fungsi (function) FFT dalam
Matlab sudah dimodifikasi sehingga dapat diisi dengan N sembarang,
tetapi kecepatannya menjadi lebih rendah bila dibanding dengan
menggunakan N bilangan 2 berpangkat.
4. Prosedur Percobaan
Inputkan program-program berikut dalam Editor MATLAB, beri nama
yang sesuai dengan isinya, kemudian di-run, kecuali Program 3.1
karena program ini adalah suatu function. Perhatikan dan catat hal-hal
yang penting, lalu kerjakan tugas-tugas yang diberikan.
Khusus untuk Program 3.2, sebelum menjalankannya, harus dibuat
terlebih dahulu function dft dan disimpan di folder aktif anda.
Untuk Program 3.6, sebelum menjalankannya, terlebih dahulu harus
dicari file "whose.wav" dengan bantuan Windows Explorer, kalau
tidak ditemukan, cari saja file ekstensi wav yang lain. Setelah
ditemukan, file tersebut di-copy ke folder aktif. Program yang di
inputkan meliputi :
a) Fungsi sinyal step
b) Fungsi DFT
c) Fungsi FFT
d) Fungsi FFT dan IFFT
e) Menampilkan sinyal dengan derau dan hasil FFT
f) Analisa spektrum audio
5. Listing Program
a. Fungsi sinyal step
>>undak(1,10)
function y = undak(a,n)
t = 0:n;
x = ones(1,n+1);
y = a .* x;
plot(t,y), grid;
b. Fungsi DFT
28
T = 0.01;
n = 0:100;
f1 = 10; f2 = 40; % frekuensi dalam Hz
y = sin(2*pi*f1*n*T) + sin(2*pi*f2*n*T);
N = length(y);
F = fft(y); % harus sudah dibuat
mag = abs(F);
fase = angle(F);
subplot(211), plot(n*T,y,'k-*'), grid;
xlabel('Waktu'), ylabel('Amplitudo');
title('Sinyal sinus gabungan');
frek = (0:N/2-1)/(N*T);
subplot(223);
plot(frek,mag(1:N/2),'r-o'), grid;
xlabel('Frekuensi (Hz)'), ylabel('Magnitude');
set(gca,'XTick',[f1 f2]);
subplot(224);
plot(frek,fase(1:N/2)*180/pi,'b-s'), grid;
xlabel('Frekuensi (Hz)'), ylabel('Sudut fase');
set(gca,'XTick',[f1 f2]);
c. Fungsi FFT
N = 256;
T = 1/512;
n = 0:N-1;
A = input('Amplitudo untuk f = 10 Hz : ');
B = input('Amplitudo untuk f = 40 Hz : ');
y = A*sin(2*pi*10*n*T) + B*sin(2*pi*40*n*T);
F = fft(y);
mag = abs(F);
subplot(211);
plot(n*T,y,'-o'), grid;
xlabel('waktu'), ylabel('amplitudo');
title(‘Sinyal Sinus gabungan’);
freq = (0:63)/(N*T);
subplot(212);
plot(freq,mag(1:length(freq)),'r-.'), grid;
xlabel('frekuensi (Hz)'), ylabel('amplitudo');
title('Spektrum sinyal sinus gabungan');
d. Fungsi FFT dan IFFT
x = [1 2 3 4];
29
h = [1 3 2 1];
y = conv(x,h);
n1 = 0:length(x)-1;
n2 = 0:2*length(x)-2;
subplot(221), plot(n1,x,'-o');
title('x(n)'), grid;
subplot(222), plot(n1,h,'-o');
title('h(n)'), grid;
subplot(223), plot(n2,y,'r-o'), grid;
title('Konvolusi x(n) & h(n) dg. fungsi internal');
N = 7;
n3 = 0:N-1;
X = fft(x,N);
H = fft(h,N);
Y = X .* H;
y1 = ifft(Y,N);
subplot(224), plot(n3,real(y1),'r-o'), grid;
title('Konvolusi x(n) & h(n) melalui FFT & IFFT');
6. Tugas Modul
Tugas 1
Buat sendiri function untuk membuat sinyal ramp dengan gradien tertentu.
Jumlah parameternya ada dua, yaitu panjang data dan nilai gradien.
function xk dft(x)
[N,M] = size(x); if M
~= 1,
x = x';
N = M;
end
xk = zeros(N,1); n
= 0:N-1;
for k = 0:N-1,
xk(k+1) = exp(-j*2*pi*k*n/N)*x;
end
Tugas 2
Amati hasil Program 3.2. Apakah fungsi dft yang anda buat dapat melakukan
analisis spektrum dengan benar? Gantilah f1 dan f2 pada program tersebut
berturut-turut dengan 20 dan 35. Amati hasilnya, apa yang berubah ?
Tugas 3
Pada Program 3.3, amati pengaruh perbedaan amplitudo untuk kedua
frekuensi. Misalkan beri masukan berturut-turut, jelaskan analisa anda.:
a. 1 dan 1,
31
b. 1 dan 5,
c. 5 dan 1,
d. 5 dan 5
Tugas 4
Pada Program 3.4, ubahlah nilai N menjadi 4. Amati pengaruhnya
dan jelaskan analisa anda.
Tugas 5
Pada Program 3.5, Bila dibandingkan dengan tampilan Program 2.3,
bagaimana tampilan untuk domain frekuensi .
Tugas 6
Gunakan Program 3.6 untuk membaca file berekstensi .wav yang lain dan
amati hasilnya.
UNIT V
ANALISIS SISTEM LTI (LINEAR TIME INVARIANT)
1. Tujuan Percobaan
Setelah melakukan praktikum ini, diharapkan mahasiswa dapat memahami
Konsep tentang analisis transformasi sistem Linear Time Invariant. Konsep
tentang tanggapan frekuensi, & sistem dalam bentuk persamaan beda linier
dengan koefisien konstan dalam pengolahan sinyal digital.
3. Teori Dasar
Kita telah tahu sebelumnya bahwa representasi transformasi fourier adalah
representasi sinyal yang paling berguna untuk sistem LTI. Hal ini karena hasil
sebagai berikut:
A. Respon Terhadap Eksponensial Kompleks
Jadikan x(n) = e^(jω0n) sebagai input untuk sistem LTI yang direpresentasikan
oleh respon impulse h(n).
(2.1)
Definisi 1: [Respon Frekuensi] Transformasi Fourier waktu-diskrit dari
sebuah respon impuls disebut respon frekuensi (atau fungsi transfer) dari
sistem LTI dan dinyatakan oleh:
32
33
(2.2)
kemudian dari persamaan diatas kita dapat merepresentasikan sistem
sebagai:
(2.3)
maka output sekuens adalah input eksponensial sekuens yang dimodifikasi
oleh respon sistem pada frekuensi ω0. Ini membuktikan definisi dari H (ejω)
sebagai respon frekuensi karena itu adalah eksponensial kompleks yang
dikalikan untuk memperoleh output y (n). Hasil ini dapat dipeluas untuk
kombinasi linear dari eksponensial kompleks menggunakan linearitas sistem
LTI.
(2.4)
Umumnya, respon frekuensi H (e^(jω)) adalah fungsi kompleks dari ω.
Magnitudo | H (e^(jω)) | dari H (e^(jω)) disebut fungsi respon magnitude
(atau gain), dan sudut < H (ejω) disebut fungsi respon fase seperti yang
akan kita lihat di bawah.
(2.5)
Tanggapan ini disebut respon steady-state, dilambangkan dengan yss (n).
Hal ini dapat diperluas untuk kombinasi linear dari sekuensi sinusoidal.
(2.6)
34
(2.7)
Oleh karena itu sistem LTI dapat direpresentasikan dalam domain
frekuensi dengan:
(2.8)
Output y (n) kemudian dihitung dari Y (e^jω) menggunakan inverse
transformasi fourier waktu-diskrit. Hal ini memerlukan operasi integral,
yang bukan merupakan operasi yang tepat di MATLAB. Seperti yang akan
kita lihat, ada pendekatan alternatif untuk perhitungan output ke input acak
menggunakan transformasi z dan ekspansi fraksi parsial. Dalam bab ini kita
akan berkonsentrasi pada komputasi respon steady-state.
(2.9)
kemudian untuk mengevaluasi respon frekuensi dari (2.5), kita akan
membutuhkan respon impulse h (n). Namun, dengan menggunakan (2.6),
kita dapat dengan mudah mendapatkan H (ejω). Kita tahu bahwa ketika x
(n) = ejωn, maka y (n) mustbe H (ejω) ejωn. Mengganti di (2.8), maka kita
memiliki:
(2.9)
setelah membatalkan istilah faktor ejωn umum dan mengatur. Persamaan
ini dapat dengan mudah diimplementasikan dalam MATLAB, mengingat
35
4. Prosedur Percobaan
a. Tentukan respon frekuensi H (e^jω) dari sistem yang ditandai dengan
h(n) = (0,9) nu(n). Plotlah magnitude dan respon fase.
Menggunakan (2.2):
b. Jadikan masukan ke sistem dalam Contoh (a) menjadi 0.1u (n). Tentukan
respon steady state Yss (n).
Solusi :
Sejak input tidak benar-benar berjumlah, diskrit-waktu mengubah Fourier
tidak terlalu berguna dalam menghitung respons lengkap. Namun, hal itu
dapat digunakan untuk menghitung respon steady-state.
Dalam kondisi mapan (yaitu, n →∞), input urutan konstan (atau sinusoid
Dari plot pada Gambar 2.2, kami mencatat bahwa amplitudo YSS (n) adalah
37
Pada contoh (c) sistem ini ditandai dengan persamaan perbedaan 1-order.
Hal ini cukup mudah untuk menerapkan (2.9) di MATLAB seperti yang kita
lakukan pada Contoh (a). Dalam prakteknya persamaan diferensial selisih
yang dari pesanan besar dan karenanya kita perlu prosedur kompak untuk
melaksanakan ekspresi umum (2.8). Hal ini dapat dilakukan dengan
menggunakan matrixvector perkalian sederhana. Jika kita mengevaluasi H
(ejω) atk = 0, 1, ..., K equispaced frekuensi lebih dari [0, π], maka
(2.10)
Jika kita membiarkan {bm}, {a} (Dengan a0 = 1), {m = 0, ..., M}, { = 0,
..., N}, dan {ωk} menjadi array (atau vektor baris), dari pembilang dan
penyebut (2.10) menjadi
bexp(−jmTω); aexp(−jlaplaceTω)
d. Sebuah low pass filter ordo 3 dijelaskan dengan persamaan dibawah ini,
y(n)=0 .0181x(n)+0 .0543x(n−1)+0 .0543x(n−2)+0 .0181x(n−3)+1.76y(n−1)
38
−1.1829y(n−2)+0 .2781y(n−3)
Plot besaran dan respon fase filter ini, dan memverifikasi bahwa itu adalah
los pass filter yang berhasil.
Solusi :
Kami akan menerapkan prosedur ini di MATLAB dan kemudian
plot tanggapan tapis.
5. Listing Program
a. Menentukan respon frekuensi H (e^jω) dari sistem yang ditandai dengan h(n) =
(0,9) n u(n). Melakukan plot magnitude dan respon fase dengan cara
memasukkan listing berikut pada MATLAB.
w = [0:1:500]*pi/500;
H = exp(1i*w) ./ (exp(1i*w) - 0.9*ones(1,501));
magH = abs(H) ; angH = angle(H);
subplot (2,1,1);
plot (w/pi,magH), grid;
xlabel ('frequncy in pi units'), ylabel('|H|');
title('Magnitude Response');
subplot (2,1,2);
plot (w/pi,angH/pi), grid;
xlabel ('frequncy in pi units'), ylabel('Phase In Radians');
title ('Phase Response');
c. Membuat sebuah low pass filter ordi 3 dengan memasukkan listing berikut pada
MATLAB
39
clear;
clc;
b = [0.0181, 0.0543, 0.0543, 0.0181];
a = [1.0000, -1.7600, 1.1829, -0.2781];
m = 0:length(b)-1;
l = 0:length(a)-1;
K = 500;
k = 0:1:K;
w = pi*k/K;
num = b*exp(-j*m'*w);
den = a*exp(-j*l'*w);
H = num ./ den;
magH = abs(H);
angH = angle(H);
subplot(2,1,1);
plot(w/pi,magH), grid;
axis([0,1,0,1])
xlabel('frequency in pi units'), ylabel('|H|');
title('Magnitude Response');
subplot(2,1,2);
plot(w/pi,angH/pi), grid;
xlabel('frequency in pi units'), ylabel('Phase in pi Radians');
title('PhaseResponse')
UNIT VI
FILTER IIR (INFINITE IMPULSE RESPONSE)
1. Tujuan Percobaan
Setelah melakukan praktikum ini, diharapkan mahasiswa dapat memahami
desain filter digital. teknik windowing. Desain filter IIR: filter analog, desain
impulse-invariance, Desain filter IIR: transformasi bilinier dalam Pengolahan
Sinyal Digital.
3. Teori Dasar
Filter atau tapis adalah suatu sistem yang berfungsi untuk menyaring sinyal,
sebagian sinyal akan dibiarkan lewat, sebagian yang lain akan akan ditahan.
Filter yang sering digunakan adalah filter untuk menyaring sinyal berdasarkan
frekuensi sinyal, artinya sinyal dengan frekuensi tertentu akan dibiarkan lewat,
sinyal frekuensi yang lain akan ditahan. Berdasarkan sinyal yang diproses,
filter dibagi menjadi dua, yaitu filter analog dan filter digital.
Secara umum, filter digital adalah sama dengan filter analog, hanya saja
sinyal input dan sinyal outputnya adalah sinyal digital. Oleh karena itu,
komponen-komponen filter digital tidak terdiri dari R, L, C atau gabungannya,
tetapi terdiri dari penjumlah (adder), pengali (multiplier), dan elemen tunda
(delay element) atau gabungannya.
Secara garis besar, ada dua macam filter digital, yaitu filter IIR (Infinite
Impulse Response) dan filter FIR (Finite Impulse Response). Filter FIR adalah
sistem yang murni umpan maju (feed-forward), stabil, strukturnya sederhana
dan fasenya linier. Sedangkan filter IIR dapat berupa sistem umpan maju atau
umpan balik (feedback). Tidak seperti FIR, filter IIR mempunyai fase yang
tidak linier dan mempunyai potensi untuk tidak stabil. Kelebihan
IIR adalah pelemahan (attenuation) yang tinggi untuk orde yang lebih rendah,
bila dibanding dengan FIR.
40
41
Suatu filter IIR adalah sistem yang mempunyai tanggapan terhadap impuls
satuan (unit impulse) dengan panjang tak terhingga. Dengan kata lain, ketika
filter tersebut diberi masukan berupa impuls (impulse), keluarannya terus ada
sampai waktu mendekati tak hingga.
Desain filter IIR ada dua cara, yaitu user defined dan filter klasik. Cara
pertama dinyatakan dengan transfer function, distribusi pole dan zero atau
dengan variabel state. Cara kedua didasarkan kepada model filter analog,
kemudian dengan transformasi tertentu diubah menjadi filter digital. Cara
pertama disebut cara langsung dan yang kedua disebut sebagai cara tak
langsung. Dan karena cara pertama secara matematis terlalu rumit untuk buku
ini, dan masih memiliki potensi tidak stabil, maka pada buku ini hanya akan
dibahas cara kedua saja.
Untuk merealisasikan suatu filter digital sederhana, suatu model filter
waktu kontinyu H(s) harus diubah menjadi model waktu diskrit H(z). Metode
untuk memetakan transfer function waktu kontinyu ke transfer function waktu
diskrit menjadi penting. Salah satu metode untuk hal ini adalah transformasi
Bilinear. Transformasi ini mengubah variabel s menjadi variabel z, dengan
rumus:
(5.1)
dengan T adalah periode pencuplikan dan fs adalah frekuensi pencuplikan.
Transformasi Bilinear ini sifatnya tidak linier, sehingga dapat
menghasilkan distorsi berupa pergeseran frekuensi cut-off dari frekuensi yang
dikehendaki semula. Untuk menghindari hal ini, diperlukan suatu prewarping
(pembengkokan awal) sebelum pelaksanaan transformasi Bilinear. Proses
prewaping berarti mendesain frekuensi cut-off filter analog sedemikian rupa
sehingga frekuensi cut-off filter digital, c, sama dengan frekuensi cut-off filter
analog, cT :
(5.2)
dimana p adalah frekuensi cut-off filter analog hasil prewarping, T
adalah periode pencuplikan, dan fs adalah frekuensi pencuplikan.
42
Secara umum, perancangan filter IIR dengan metode ini terdiri dari
enam tahap:
1. Penetapan spesifikasi filter digital yang dikehendaki.
2. Prewarp frekuensi digital ke frekuensi analog (hal ini khusus bila
menggunakan transformasi bilinear).
3. Perancangan filter prototype analog, dalam hal ini adalah penetapan
ordenya.
4. Perancangan filter analog menggunakan transformasi frekuensi ke
frekuensi.
5. Perancangan filter digital dengan mentransformasikan dari domain-
s ke domain-z, dalam hal ini menggunakan tranformasi bilinear.
6. Implementasi filter digital pada perangkat keras atau perangkat lunak.
4. Prosedur Percobaan
Inputkan program-program berikut dalam Editor MATLAB, beri nama
yang sesuai dengan isinya, kemudian di-run. Perhatikan dan catat hal-hal yang
penting, lalu kerjakan tugas-tugas yang diberikan.
4.1 Filter IIR
a) Filter prototype Butterworth
b) Transformasi frekuensi
c) Penerapan filter analog
d) Desain filter digital IIR
e) Penerapan filter digital
5. Listing Program
a. Filter prototype Butterwort
orde = input('Masukkan orde dari filter prototype : ');
[z,p,k] = buttap(orde);
[num,den] = zp2tf(z,p,k);
w = logspace(-1,2);
[mag,phase] = bode(num,den,w);
[m1,ph1] = bode(0.707,1,w);
logmag = 20*log10(mag);
logm1 = 20*log10(m1); % garis –3 dB
semilogx(w,logm1,w,logmag), grid;
xlabel('frekuensi (rad/detik)');
ylabel('magnitude (dB)');
43
b. Transformasi frekuensi
[z,p,k] = buttap(2); % filter orde 2
[num,den] = zp2tf(z,p,k);
wc = 10; % frekuensi cut-off baru dalam rad/detik
[n1,d1] = lp2lp(num,den,wc);
w = logspace(-1,3);
[mag,phase] = bode(n1,d1,w);
[m1,ph1] = bode(0.707,1,w);
logmag = 20*log10(mag);
logm1 = 20*log10(m1);
semilogx(w,logm1,w,logmag), grid;
xlabel('frekuensi (rad/detik)');
ylabel('magnitude (dB)');
title('Diagram Bode Filter');
[n1,d1] = lp2lp(num,den,wc);
fs = 50; % frekuensi sampling (Hz)
points = 512;
[nd,dd] = bilinear(n1,d1,fs);
[h,w] = freqz(nd,dd,points,fs);
[h3,w] = freqz(0.707,1,points,fs);
subplot(121), plot(w,h3,w,abs(h)), grid;
xlabel('frekuensi (Hz)');
ylabel('magnitude');
title('Diagram Bode Filter');
% *** tampilan dalam semilog ***
mag = 20*log10(abs(h));
m3 = 20*log10(abs(h3));
subplot(122), semilogx(w,m3,w,mag), grid;
xlabel('frekuensi (Hz)');
ylabel('magnitude (dB)');
title('Diagram Bode Filter');
6. Tugas Modul
Tugas 1
a) Isi orde filter pada berturut-turut dengan 1, 2, dan 3. Catat nilai variabel
num dan den masing-masing. Kemudian amati dan catat perbedaan
tampilannya. Berapa kemiringan transition band masing-masing? Nyatakan
dalam satuan db/oktav.
Kemiringan transition
Orde Nilai num Nilai den
filter band
Tugas 2
a) Gantilah nilai variabel wc berturut-turut dengan 5 dan 50. Amati nilai
variabel n1, d1 dan amati tampilannya.
wc n1 d1
1 5
2 50
Tugas 3
a) Ubahlah fungsi lp2lp menjadi lp2hp dan carilah nilai variabel wc agar hasil
filter hanya sinyal frekuensi tinggi.
b) Modifikasi program di atas, agar mencampur 3 sinyal. Sinyal ketiga yaitu
sinyal sinus frekuensi 100 Hz. Desainlah filter bandpass sehingga keluaran
program adalah sinyal frekuensi tengah, atau sinyal sinus 30 Hz.
Tugas 4
46
Ubahlah nilai variabel fc berturut-turut dengan 5 dan 10. Amati nilai variabel n1,
d1, nd dan dd, serta amati tampilannya.
fc n1 d1 Nd dd
5
10
Tugas 5
Pada program 5.5, gantilah orde filter berturut-turut dengan 1 dan 3, apakah
pengaruhnya pada tampilan hasil filter?
UNIT VII
FILTER FIR (FINITE IMPULSE RESPONSE)
1. Tujuan Percobaan
Setelah melakukan praktikum ini, diharapkan mahasiswa dapat memahami
desain filter digital. teknik windowing. Desain filter FIR: filter analog, desain
impulse-invariance, Desain filter FIR: transformasi bilinier dalam Pengolahan
Sinyal Digital.
3. Teori Dasar
Filter atau tapis adalah suatu sistem yang berfungsi untuk menyaring sinyal,
sebagian sinyal akan dibiarkan lewat, sebagian yang lain akan akan ditahan.
Filter yang sering digunakan adalah filter untuk menyaring sinyal berdasarkan
frekuensi sinyal, artinya sinyal dengan frekuensi tertentu akan dibiarkan lewat,
sinyal frekuensi yang lain akan ditahan. Berdasarkan sinyal yang diproses,
filter dibagi menjadi dua, yaitu filter analog dan filter digital.
Secara umum, filter digital adalah sama dengan filter analog, hanya saja
sinyal input dan sinyal outputnya adalah sinyal digital. Oleh karena itu,
komponen-komponen filter digital tidak terdiri dari R, L, C atau gabungannya,
tetapi terdiri dari penjumlah (adder), pengali (multiplier), dan elemen tunda
(delay element) atau gabungannya.
Secara garis besar, ada dua macam filter digital, yaitu filter IIR (Infinite
Impulse Response) dan filter FIR (Finite Impulse Response). Filter FIR adalah
sistem yang murni umpan maju (feed-forward), stabil, strukturnya sederhana
dan fasenya linier. Sedangkan filter IIR dapat berupa sistem umpan maju atau
umpan balik (feedback). Tidak seperti FIR, filter IIR mempunyai fase yang
tidak linier dan mempunyai potensi untuk tidak stabil. Kelebihan
IIR adalah pelemahan (attenuation) yang tinggi untuk orde yang lebih rendah,
bila dibanding dengan FIR.
47
48
Filter FIR adalah suatu sistem yang mempunyai tanggapan terhadap impuls
(impulse) dengan panjang terhingga. Dengan kata lain, ketika filter tersebut
diberi masukan berupa impuls (impulse), keluarannya hanya ada sampai waktu
tertentu. Hal ini terjadi karena keluaran filter tersebut sengaja dibatasi sampai
waktu tertentu saja.
Suatu filter FIR dapat didesain dengan memotong tanggapan impuls dari
suatu filter IIR. Bila h(n) adalah tanggapan impuls dari karakteristik filter IIR
H(), maka tanggapan impuls dari filter FIR :
(5.4)
Dengan N adalah panjang filter atau orde filter.
Perancangan filter FIR untuk mendapatkan fase linier ada beberapa
metode, antara lain metode Windowing, metode Frekuensi Cuplik (Frequency-
Sampling Method), dan metode pendekatan Chebyshev. Pada pembahasan ini
hanya akan diuraikan metode Windowing. Metode ini termasuk metode yang
sederhana, meskipun kurang presisi. Metode Windowing dilaksanakan melalui
tahap-tahap berikut:
1. Penetapan filter ideal dengan spesifikasi filter yang dikehendaki.
2. Mencari tanggapan impuls dari filter tersebut dengan memakai IDTFT
(Invers Discrete Time Fourier Transform) :
(5.4)
Pada prakteknya, untuk filter lowpass langsung menggunakan rumus:
(5.5)
sedangkan untuk jenis lain (highpass, bandpass dan bandstop) dengan
melakukan manipulasi terhadap rumus di atas.
3. Memotong tanggapan impuls dari filter, sesuai orde filter yang
dikehendaki, misal orde = N.
49
4. Prosedur Percobaan
Inputkan program-program berikut dalam Editor MATLAB, beri nama
yang sesuai dengan isinya, kemudian di-run. Perhatikan dan catat hal-hal yang
penting, lalu kerjakan tugas-tugas yang diberikan.
4.2 Filter FIR
a) Perbandingan respon frekuensi filter IIR dan FIR
b) Perbandingan Penerapan Filter IIR dan FIR
c) Perbandingan filter FIR
d) Karakteristik respon frekuensi
e) Penerapan filter yang didesain dari function fir2
5. Listing Program
a. Perbandingan respon frekuensi filter IIR dan FIR
N = 11; % orde filter
[z,p,k] = buttap(N); % *** filter IIR ***
[num,den] = zp2tf(z,p,k);
wc = 5; % frek cut-off dalam
rad/det
[n1,d1] = lp2lp(num,den,wc); % transformasi frekuensi
T = 0.1; % periode sampling (detik)
[nd,dd] = bilinear(n1,d1,1/T);
[H,omega] = freqz(nd,dd);
fase = 180/pi * unwrap(angle(H));
subplot(221), plot(omega,0.707,omega,abs(H)), grid;
title('respon frekuensi filter IIR');
xlabel('frekuensi (rad/sampel)'), ylabel('magnitude');
subplot(222), plot(omega,fase), grid;
xlabel('frekuensi '), ylabel('sudut fase (der)');
omegac = 0.5; % frekuensi cut-off digital = wc * T
m = (N-1)/2; % penggeseran
n = 0:2*m; % penetapan titik untuk plot
h = omegac/pi * sinc(omegac*(n-m)/pi);
50
title('karakteristik HPF');
xlabel('frekuensi ternormalisasi'),
ylabel('magnitude');
6. Tugas Modul
Tugas 1
a) Amati perbedaan tampilan filter IIR dan filter FIR. Perhatikan hal hal berikut :
puncak magnitude, riak (ripple) pada magnitude, frekuensi cut-off, dan sudut
fase.
Tipe filter Puncak Riak pada Frekuensi Sudut fase
magnitude magnitude cut-off
IIR
FIR
53
Tugas 2
Gantilah panjang filter N, berturut-turut dengan:
a. N = 41;
b. N = 81;
Amati perubahan tampilan dan catat. Apakah semakin panjang filter hasilnya
semakin baik? Bagaimana dengan waktu tundanya?
Tugas 3
Gantilah window (variabel w) berturut-turut dengan
a. w = [hamming(N)’ zeros(1,length(n)-N)];
b. w = [0 hanning(N-2)’ zeros(1,length(n)-N+1)];
Amatilah perubahan tampilan dan catat, yaitu tentang tinggi magnitude, ripple,
frekuensi cut-off dan sudut fase.
Tugas 4
Desainlah filter bandpass dan bandstop dengan menggunakan function fir2.
Tugas 5.
Untuk sinyal masukan yang sama, desainlah filter highpass sehingga keluarannya
adalah sinyal frekuensi tingginya.
UNIT VIII
PERANCANGAN FILTER DIGITAL DENGAN FDA TOOL
1. Tujuan Percobaan
a) Siswa mampu merancang filter digital (FIR dan IIR) dengan FDA Tool
b) Siswa mampu menganalisa filter hasil perancangan, dengan FDA Tool
c) Siswa mampu mengeksport design hasil perancangan untuk implementasi
filter
54
55
sampling dan akan meredam frekuensi-frekuensi yang lebih tinggi atau sama
dengan dari frekuensi Kita akan menggunakan sebuah filter dengan spesifikasi
seperti berikut:
Passband attenuation 1 Db
Untuk mengimplementasikan rancangan ini, kita akan menggunakan
sepesifikasi seperti pada Gambar 2 berikut:
5) Masukkan 0.2 untuk wpass dan 0.5 untuk nilai wstop di dalam
area Frequency Specifications.
6) Wpass dan Wstop, di dalam area Magnitude Specifications adalah
bobot positif, digunakan sepanjang optimisasi FIR Equiripple filter.
7) Setelah setting spesifikasi perancangan, click pada tombol Design
Filter pada bagian bawah GUI untuk perancangan filter.
57
Anda dapat menggunakan perintah GET and SET dari MATLAB command
prompt untuk mengakses dan memanipulasi nilai properti pada object
3. Perangkat Percobaan
Dalam pelaksanaan praktikum ini diperlukan perangkat percobaan berupa:
- PC yang memiliki spesifikasi memory minimal 1 Gb
- Perangkat Lunak Matlab
- Sistem Audio untuk PC
Percobaan 4.1.
1. Rancang sebuah FIR filter, dengan orde 16, frekuensi sampling 10000 Hz, dan
frekuensi cut off 2000 Hz. Metode perancangan menggunakan window
hamming. Karakteristik respon frekuensi adalah low pass filter.
2. Dapatkan gambaran bentuk Magnitude Response, Phase Response, Magnitude
and Phase Response, Impulse Response, Step Response, Pole/zero Plot, dan
Filter Coefficients.
3. Catat daerah -3 dB pada Magnitude Reponse, dan perhatikan nilai ini tepat
pada frekuensi berapa pada sumbu mendatar. Jika waktu anda menekan click
posisinya tidak pada -3 dB, anda bisa menahan dan menggesernya, sehingga
anda semakin dekat dengan posisi -3 dB.
4. Lakukan langkah 1 dan 2 untuk HPF dan BPF (2000 - 4000).
Percobaan 4.2.
1. Rancang sebuah filter, dengan orde 16, frekuensi sampling 10000 Hz, dan
frekuensi pass (Fpass) 3000 Hz, dan frekuensi stop (Fstop) = 3500 Hz. Metode
perancangan menggunakan equiripple. Karakteristik respon frekuensi adalah
62
Percobaan 4.3.
1. Rancang sebuah IIR filter, dengan orde 16, frekuensi sampling 10000 Hz, dan
frekuensi cut off 2000 Hz. Metode perancangan menggunakan analog
prototype Butterworth. Karakteristik respon frekuensi adalah low pass filter.