• Tidak ada hasil yang ditemukan

Modul Praktikum PSD 2025

N/A
N/A
IVAN PHEDRA EGA SAPUTRA

Academic year: 2025

Membagikan "Modul Praktikum PSD 2025"

Copied!
23
0
0

Teks penuh

(1)

i

Dosen Pengampu:

Reni Rahmadewi, ST., M.T.

LABORATORIUM KOMPUTER FAKULTAS

TEKNIK UNIVERSITAS SINGAPERBANGSA

KARAWANG 2025

PRAKTIKUM PENGOLAHAN SINYAL DIGITAL

(PSD)

(2)

ii

DAFTAR ISI

PENGANTAR MODUL PRAKTIKUM SINYAL DIGITAL ... iii

PRAKTIKUM 1 DFT DAN FFT ... 1

1. TUJUAN ... 1

2. TEORI DASAR ... 1

3. TUGAS ANALISIS ... 2

4. PERCOBAAN ... 2

4.1 Peralatan yang Digunakan ... 2

4.2 Prosedur Praktikum ... 2

PRAKTIKUM 2 TRANSFORMASI Z... 5

1. TUJUAN ... 5

2. TEORI DASAR ... 5

3. TUGAS ANALISIS ... 6

4. PERCOBAAN ... 6

4.1 Peralatan yang Digunakan ... 6

4.2 Prosedur Praktikum ... 6

PRAKTIKUM 3 FILTER IIR DAN FILTER DIGITAL FIR ... 8

1. TUJUAN ... 8

2. TEORI DASAR ... 8

3. TUGAS ANALISIS ...10

4. PERCOBAAN ...10

4.1 Peralatan yang Digunakan ...10

4.2 Prosedur Praktikum ...10

PRAKTIKUM 4 DESAIN PENAPISAN FILTER ...13

1. TUJUAN ...13

2. TEORI DASAR ...13

3. PERCOBAAN...13

PRAKTIKUM 5 MATLAB SIMULINK (CASCADE FORM) ...18

1. TUJUAN ...18

2. TEORI DASAR ...18

3. PERCOBAAN ...19

(3)

iii

PENGANTAR MODUL PRAKTIKUM SINYAL DIGITAL

Selamat datang dalam modul praktikum Sinyal Digital ini. Modul ini dirancang untuk memberikan pemahaman yang mendalam tentang konsep dasar, teknik analisis, dan aplikasi praktis dalam domain sinyal digital. Sinyal digital merupakan konsep yang fundamental dalam dunia teknologi modern, yang meliputi berbagai bidang seperti komunikasi, pemrosesan gambar dan suara, sistem kontrol, dan banyak lagi.

Sebelum memulai praktikum ini, terdapat beberapa hal yang perlu disiapkan praktikan untuk memastikan kelancaran dan kesuksesan dalam pelaksanaannya. Berikut adalah hal-hal yang harus dipersiapkan:

1. Perangkat Lunak

• Pastikan praktikan telah menginstal perangkat lunak yang diperlukan untuk praktikum ini. Hal ini dapat mencakup software pemrosesan sinyal seperti MATLAB, atau perangkat lunak simulasi seperti Simulink.

• Pastikan perangkat lunak tersebut telah diinstal dengan benar dan berfungsi dengan baik di komputer praktikan. Selain itu, pastikan Praktikan memiliki pengetahuan dasar dalam penggunaan perangkat lunak tersebut.

2. Bahan Bacaan

• Siapkan bahan bacaan referensi yang relevan untuk mendukung pemahaman Praktikan tentang konsep sinyal digital. Hal ini dapat berupa buku teks, artikel ilmiah, atau sumber belajar online.

Pastikan Praktikan memiliki akses yang memadai ke sumber-sumber ini selama praktikum berlangsung.

3. Buku Catatan Praktikum

• Pastikan Praktikan membawa buku catatan praktikum untuk mencatat hasil percobaan, observasi, dan pemahaman penting selama praktikum berlangsung. Buku catatan ini akan menjadi referensi penting dalam proses belajar dan memperbaiki pemahaman Praktikan tentang materi praktikum.

4. Kerja Tim

• Praktikum dilakukan dalam kelompok, pastikan Praktikan telah berkoordinasi dengan anggota tim Praktikan. Tentukan tugas masing-masing anggota tim dan jadwal pertemuan untuk berdiskusi dan berkolaborasi selama praktikum berlangsung.

Dengan mempersiapkan hal-hal di atas dengan baik sebelum memulai praktikum, diharapkan Praktikan dapat mengoptimalkan pengalaman belajar Praktikan dan mencapai hasil yang maksimal. Selamat belajar dan semoga sukses!

Salam,

[Penyusun Modul Praktikum]

(4)

1

PRAKTIKUM 1 DFT DAN FFT

1. TUJUAN

1. Melakukan analisis fourier dari sinyal waktu diskrit DFT 2. Memahami deret dan FFT

2. TEORI DASAR

2.1 Discrete Fourier Transform

DFT merupakan turunan dari DTFT, yaitu hanya N nilai saja, yang disebut sampel frekuensi, dari 𝑋(𝑒𝑗𝜔 ) yang diobservasi, yaitu pada titik 𝜔 = 𝜔𝑘, 𝑘 = 0,1, … , 𝑁 − 1. DFT didefinisikan sebagai

𝑥[𝑘] = 𝑋(𝑒𝑗𝜔)|ω = 2πk

N =𝑥[𝑛]𝑒−2𝜋𝑘𝑛/𝑁

𝑁−1

𝑛=0

dengan 𝑘 = 0,1, … , 𝑁 − 1.

Secara umum 𝑋[𝑘] adalah bentuk kompleks, maka 𝑋[𝑘] dapat dinyatakan dalam bentuk polar dan rectangular. Bentuk polar DFT

𝑋[𝑘] = [𝑋[𝑘]]exp (𝑗∠X[k]) dengan 𝑘 = 0,1, … , 𝑁 − 1.

Dimana [𝑋[𝑘]] adalah magnitude 𝑋[𝑘] dan ∠X[k] adalah sudut 𝑋[𝑘].

Sedangkan DFT dalam bentuk rectangular dinyatakan,

𝑋[𝑘] = 𝑅𝑒[𝑘] + 𝑗 𝑙𝑚[𝑘], dengan 𝑘 = 0,1, … , 𝑁 − 1.

Dimana 𝑅𝑒[𝑘] adalah bagian real dan 𝑙𝑚[𝑘] adalah bagian imajiner, 𝑅𝑒[𝑘] = 𝑥(0) + ∑𝑥[𝑛]cos2πkn

N

𝑁−1

𝑛=0

𝐼𝑚[𝑘] = − ∑𝑥[𝑛]sin 2πkn

N

𝑁−1

𝑛=0

Jika 𝑋[𝑘] adalah 𝑁-titik DFT dari 𝑥[𝑛], maka 𝑥[𝑛] dapat ditentukan dari 𝑋[𝑘] dengan menggunakan inverse DFT yang dinyatakan dengan,

𝑥[𝑘] = 1

𝑁 ∑𝑋[𝑘]𝑒𝑗2𝜋𝑘𝑛/𝑁

𝑁−1

𝑛=0

(5)

2 2.2 Fast Fourier Transorm

Fast fourier transform (FFT) atau transformasi fourier cepat adalah suatu urutan langkah (algoritma) untuk membandingkan DFT dan kebalikan (invers) nya. Metode FFT dapat dilakukan dalam domain waktu dan frekuensi, yang disebut sebagai desimasi-dalam waktu (decimation-in-time) dan desimasi-dalamfrekuensi (decimation-in-frequency). Untuk N-titik FFT:

𝑋(𝑘) = 𝐺 (𝑘) + 𝑊𝑁𝑘𝐻 (𝑘) dengan 𝑘 = 0,1, … , 𝑁 − 1

Dimana

𝑊𝑁 = 𝑒𝑗2𝜋𝑁

𝐺(𝑘) = ∑ 𝑊𝑁 2

𝑘𝑛 𝑔(𝑛)

𝑁 2−1

𝑛=1

𝐻(𝑘) = ∑ 𝑊𝑁

2

𝑘𝑛 ℎ(𝑛)

𝑁 2−1

𝑛=1

dengan 𝑘 = 0 ,1 ,2 , … , 𝑁

2 − 1

3. TUGAS ANALISIS

1. Apa yang dimaksud dengan Discrete Fourier Transform (DFT)? Apa perbedaan utama antara DFT dan Discrete-Time Fourier Transform (DTFT)?

2. Jelaskan bentuk umum dari DFT dalam bentuk polar dan rectangular. Apa yang mewakili magnitude dan sudut dalam bentuk polar DFT?

3. Bagaimana DFT dapat digunakan untuk merekonstruksi sinyal waktu diskrit dari hasil transformasinya?

4. Apa itu Fast Fourier Transform (FFT)? Mengapa FFT disebut sebagai transformasi Fourier cepat?

5. Jelaskan konsep dasar dari metode FFT, baik desimasi-dalam-waktu (decimation-in-time) maupun desimasi-dalam-frekuensi (decimation-in-frequency).

4. PERCOBAAN

4.1 Peralatan yang Digunakan 1. Satu unit komputer 2. Software MATLAB

4.2 Prosedur Praktikum

Sebelum praktikum dilaksanakan, lakukan beberapa hal berikut ini:

(6)

3 1. Pastikan komputer yang akan digunakan berfungsi dengan normal dan tidak ada masalah

apapun.

2. Software MATLAB sudah terinstal dalam komputer.

4.2.1 Fungsi difst ini pada matlab

1. Buka MATLAB di komputer Praktikan.

2. Salin script di bawah ini ke editor MATLAB.

3. Jalankan script tersebut.

Suatu sinyal 𝑥[0] = 1, 𝑥[1] = 2, 𝑥[2] = 2, 𝑥[3] = 1 dan 𝑥[𝑛] = 0 untuk semua nilai 𝑛 yang lain, dan 𝑁-point DFT= 4. Tentukan DFT dalam bentuk rectangular, [𝑘]! (Jalankan program berikut dan amati hasilnya serta buktikan dengan perbandingan analitik secara manual!)

4.2.2 Jalankan program berikut untuk menentukan FFT dari suatu sinyal x(𝑘) =0.8𝑘𝑢(𝑘) dengan 𝑁

= 32 dan amati hasilnya dan berikan pembahasan!

1. Buka MATLAB di komputer Praktikan.

2. Salin script di bawah ini ke editor MATLAB.

3. Jalankan script tersebut.

%---

%Transformasi Fourier Diskrit

%File: difst.m

%--- function Xk=difst(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(-1j*2*pi*k*n/N)*x;

end

%Prak1b.m

%Nama Praktikan

%NPM Praktikan clear

clc k=0:31;

N=32;

h=(0.8).^k;

H=fft(h,N);

figure(1) stem(k,abs(H)) figure(2)

stem(k,angle(H))

%Prak1a.m

%Nama Praktikan

%NPM Praktikan clear

clc

x=[1 2 2 1];

Xk=difst(x)

(7)

4 Parameter-parameter yang perlu dianalisis dalam percobaan ini meliputi:

1. DFT dalam bentuk rectangular: Perbandingan hasil DFT yang dihasilkan oleh program dengan perhitungan manual untuk memastikan keakuratan hasilnya.

2. FFT dari sinyal x(𝑘): Analisis hasil FFT untuk sinyal yang diberikan (x(𝑘) =0.8𝑘𝑢(𝑘)) dengan 𝑁 = 32, termasuk pemahaman tentang bagaimana sinyal waktu diskrit direpresentasikan dalam domain frekuensi melalui FFT.

(8)

5

PRAKTIKUM 2 TRANSFORMASI Z

1. TUJUAN

1. Praktikan dapat mengerti dan paham tentang transformasi Z dan region of convergency (ROC).

2. Dapat menentukan posisi dan menampilkan gambar zero dan pole dari suatu fungsi z.

2. TEORI DASAR

Transformasi Z melakukan transformasi dari sinyal waktu-diskrit dalam domain waktu ke domain lain yang disebut domain-z. Transformasi z dari sinyal 𝑥[𝑛] adalah:

𝑍(𝑥[𝑛])1 ≜ ∑ 𝑥[𝑛]𝑧−𝑛= 𝑋(𝑧)

𝑛=−∞

Parameter z diatas adalah variabel kompleks dan kumpulan nilai z yang ketika dijumlah akan konvergen disebut sebagai daerah konvergensi (region of convergency (ROC)).

Fungsi basis yang digunakan di transformasi Z adalah dalam bentuk 𝑧𝑛 = 𝑒(𝜎+𝑗𝜔)𝑛 = 𝑟𝑛𝑒𝑗𝜔𝑛 = 𝑟𝑛(cos(𝜔𝑛) + 𝑗𝑠𝑖𝑛(𝜔𝑛)) = (𝑎 + 𝑗𝑏)𝑛. Jika didefinisikan suatu variabel c, yang memenuhi |z|=|a + jb|=c atau 𝑎2 + 𝑏2 = 𝑐2 maka persamaan tersebut mewakili sebuah lingkaran dengan pusat di O dan jari-jari c. Dengan demikian, kondisi |𝑧| > 𝑐 untuk ROC menpraktikankan daerah di luar lingkaran tersebut.

Beberapa transformasi Z dari fungsi-fungsinya yang biasa dijumpai dirangkum dalam tabel 5.1 beserta ROC-nya.

Karakteristik ROC juga dapat ditentukan dari jenis sinyal yang diamatim, tergantung dari apakah sinyal tersebut terbatas atau tidak, kausal atau antikasual, dan dua sisi atau satu sisi. Sinyal yang mempunyai durasi pada sisi kanan, yaitu 𝑥[𝑛] = 0 untuk 𝑛 < 𝑛0 < 0 disebut sebagai sinyal sisi-kanan (right-sided signal). Sinyal yang

(9)

6 hanya berada pada sisi saja, yaitu 𝑥[𝑛] = 0 untuk 𝑛 > 𝑛0 > 0 disebut sebagai sinyal sisi-kiri (left-sided signal).

Sedangkan sinyal yang berada pada sisi kanan dan kiri disebut sinyal sisi- gpraktikan (double-sided signal).

3. TUGAS ANALISIS

1. Apa yang dimaksud dengan transformasi Z dalam konteks pemrosesan sinyal?

2. Bagaimana cara menentukan letak pole dan zero dari suatu fungsi alih dalam domain Z?

3. Apa yang dimaksud dengan region of convergence (ROC) dalam transformasi Z? Mengapa ROC penting dalam analisis transformasi Z?

4. Jelaskan karakteristik ROC untuk beberapa transformasi Z yang umum digunakan!

5. Bagaimana cara menentukan kestabilan suatu sistem berdasarkan fungsi alih dalam domain Z?

4. PERCOBAAN

4.1 Peralatan yang Digunakan 1. Satu unit komputer 2. Software MATLAB

4.2 Prosedur Praktikum

Sebelum praktikum dilaksanakan, lakukan beberapa hal berikut ini:

1. Pastikan komputer yang akan digunakan berfungsi dengan normal dan tidak ada masalah apapun.

2. Software MATLAB sudah terinstal dalam komputer.

4.2.1 Jalankan program berikut untuk menentukan letak pole dan zero suatu fungsi alih 1. Buka MATLAB di komputer Praktikan.

2. Salin script di bawah ini ke editor MATLAB.

3. Jalankan script tersebut.

Nilai fungsi alih yang diberikan adalah 𝐺(𝑧) =2𝑧4+16𝑧3+44𝑧2+56𝑧+32

34𝑧4+3𝑧3−15𝑧2+16𝑧−12 , Amati hasilnya dan berikan penjelasan!

%Prak2a.m

%Nama Praktikan

%NPM Praktikan

%Menentukan pole dan zero pembilang = [2 16 44 56 32];

penyebut = [3 3 -15 18 -12];

[z,p, k]= tf2zp (pembilang,penyebut);

disp('Zero pada posisi = ');disp(z) disp('Pole pada posisi = ');disp(p) disp('Konstanta gain adalah = ') ;disp(k)

%Menggambar zero dan pole pada bidang z zplane (z,p)

xlabel('real') ylabel('imajiner')

(10)

7 4.2.2 Jalankan program berikut untuk menentukan kestabilan sistem dari fungsi alih. (Sistem

dikatakan tidak stabil jika ada posisi pole berada di luar lingkaran berjari-jari 1).

1. Buka MATLAB di komputer Praktikan.

2. Salin script di bawah ini ke editor MATLAB.

3. Jalankan script tersebut.

Amati hasilnya dan berikan penjelasan dari sistem tersebut!

Parameter-parameter yang perlu dianalisis dalam percobaan ini meliputi:

1. Letak Pole dan Zero: Analisis letak pole dan zero dari fungsi alih yang diberikan (G(z)) untuk memahami karakteristik sistem.

2. Kestabilan Sistem: Analisis kestabilan sistem berdasarkan posisi pole dalam domain Z, apakah berada di dalam atau di luar lingkaran berjari-jari 1.

%Prak2b.m

%Nama Praktikan

%NIM Praktikan

%Menentukan kestabilan sistem counter=0;

pembilang = [2 16 44 56 32];

penyebut = [3 3 -15 18 -12];

[z, p, k] = tf2zp(pembilang, penyebut) ; for i=1: length (p)

if abs(p(i))>1 counter=counter+1;

end end

disp('Zero pada posisi = ');disp(z) disp('Pole pada posisi = ') ;disp(p) disp('Konstanta gain adalah = ');disp(k) if counter > 0

disp ('Sistem tidak stabil') else

disp ('Sistem stabil') end

(11)

8

PRAKTIKUM 3 FILTER IIR DAN FILTER DIGITAL FIR 1. TUJUAN

1. Melakukan perancangan tapis digital IIR (Infinite Impuls Response) menggunakan MATLAB 2. Praktikan dapat melakukan perancangan filter digital FIR menggunakan MATLAB

2. TEORI DASAR

2.1 Filter IIR Filter Butterworth

Karakteristik dari filter ini melalui respon frekuensinya. Orde Lth magnitude respon Butterworth diberikan sebagai berikut :

|𝑃1(Ω)| = 1

√1 + Ω21; 𝐿 ≥ 1

fungsi ini memiliki angka yang diinginkan. Nilai maksimal terjadi saat Ω = O. dimana |𝑃1(Ω)| = 1. Sebagai tambahan, |𝑃1(Ω)| = 0,707 untuk semua L, hal itu karena bandwidth dari filter lowpass direpresentasika persamaan diatas adalah 1 rad/s. L→∞ menunjukkan bahwa magnitude respon adalah mendekati filter rectangular (ideal). Hasilnya, magnitude respon Butterworth akan menghasilkan kedataran maksimal di passband.

Pada perancangan filter dengan Matlab, hal-hal yang menyangkut pembahasan diatas dapat dituliskan syntaxnya sebagai berikut :

[b,a]= butter(n, Wn)

[b,a]= butter(n, Wn, ‘ftype’) [b,a]= butter(n, Wn, ‘s’)

[b,a]= butter(n, Wn, ‘ftype’, ‘s’) [z,p,k]= butter(…)

[A,B,C,D]= butter(…) Dengan penjelasan bahwa :

• [b,a]= butter(n,Wn) merupakan syntax yang mendesain sebuah n orde filter digital lowpass Butterworth dengan frekuensi cutoff Wn. Frekuensi cutoff merupakan frekuensi dimana tanggapan magnitude dari filter adalah sqrt(1/2). Untuk Butter, frekuensi cutoff Wn harus merupakan bilangan antara 0 dan 1dimana I menunjukkan setengah dari frekuensi sampling (frekuensi Nyquist). lika Wn adalah sebual vektor dengan dua elemen wn=[w1 w2], butter menghasilkan sebuah orde 2*n filter bandpass digital dengan passband w1 < 𝜔 < w2.

• [b,a]= butter(n, Wn, ‘ftype’) mendesain sebuah filter highpass atau bandstop, dimana type adalah : 1. high untuk lifter digital highpass dengan frekuensi cutoff Wn.

2. stop untuk sebuah orde 2*n filter digital bandstop jika Wn adalah sebuah vektor dengan dua elemen wn= [w1, w2], stopband adalah w1 < 𝜔 < w2.

(12)

9 Dengan beberapa argument output yang berbeda, Butter langsung mengikuti realisasi filter yang diinginkan. Untuk mengikuti bentuk zero-pole-gain, digunakan tiga argument output, yaitu :

[z,p,k] = butter (n, Wn) atau

[z,p,k] = butter (n, Wn, ' ftype' ). Butter menghasilkan zero dan pole dengan panjang n colom vektor z dan p, dan gain dalain skalar k.

2.2 Filter Digital FIR

Filter FIR (Finite Impulse Response) dapat direpresentasikan dalam dua persamaan berikut:

𝑦[𝑛] = ∑ ℎ[𝑘]𝑥[𝑛 − 𝑘]

𝑁−1

𝑘=0

𝐻[𝑧] = ∑ ℎ[𝑘]𝑧−𝑘

𝑁−1

𝑘=0

dengan 𝑘 = 0, 1, … , 𝑁 − 1,

ℎ[𝑘] adalah koefisien-koefisien response impulse filter, 𝐻[𝑧] adalah fungsi sistem filter (fungsi alih filter) yang didapatkan dengan melakukan transformasi z pada ℎ[𝑘], dan 𝑁 adalah panjang filter. Dari persamaan kedua panjang filternya terbatas (finite). Dilihat dari persamaan tersebut, filter FIR selalu stabil. Selain itu, filter FIR juga memiliki respons fasa yang linear.

Dalam merancang filter dapat dilakukan dengan dua metode yaitu algoritma Park-McClellan dan metode window. Pada metode Park-McClealln digunakan fungsi remez, dengan bentuk statemen dinyatakan:

B=remez(n,f,m)um

Dimana n adalah orde filter m adalah nilai magnitude yang berhubungan dengan f f adalah normalisasi frekuensi dimulai dari 0 sampai 1 Sedangkan perancangan dengan metode window digunakan fungsi dalam bentuk:

b = fls(n,f,m) dan b = flsp(n, f1, f2, p)

(13)

10

3. TUGAS ANALISIS

1. Apa yang dimaksud dengan filter IIR (Infinite Impulse Response) dan apa perbedaannya dengan filter FIR (Finite Impulse Response)?

2. Jelaskan karakteristik dari filter Butterworth dan bagaimana cara mendesain filter digital lowpass Butterworth menggunakan MATLAB?

3. Apa yang dimaksud dengan frekuensi cutoff dalam konteks filter Butterworth dan mengapa penting untuk memahaminya dalam perancangan filter?

4. Bagaimana cara menggunakan fungsi butter dalam MATLAB untuk mendesain filter digital highpass atau bandstop?

5. Apa itu filter FIR (Finite Impulse Response) dan bagaimana bentuk matematikanya?

4. PERCOBAAN

4.1 Peralatan yang Digunakan 1. Satu unit komputer 2. Software MATLAB

4.2 Prosedur Praktikum

Sebelum praktikum dilaksanakan, lakukan beberapa hal berikut ini:

1. Pastikan komputer yang akan digunakan berfungsi dengan normal dan tidak ada masalah apapun.

2. Software MATLAB sudah terinstal dalam komputer.

4.2.1 Filter IIR

1. Buka MATLAB di komputer Praktikan.

2. Salin script di bawah ini ke editor MATLAB.

3. Jalankan script tersebut.

%Prak3a.m

%Nama Praktikan

%NPM Praktikan clc;

N=2; %order filter

Fs=1280; %frekuensi sampling fc=150; %frekuensi cutoff

WC=2*pi*fc; %cutoff frequency dalam radian

%membuat sebuah filter digital [b,a]=butter(N,WC,'s');

[z,p,k]=butter(N,WC,'s');

%mengubah filter analog kedalam filter IIR diskrit [bz,az]=impinvar(b,a,Fs); %menentukan koefisien filter IIR

subplot(2,1,1) %Plot respons frekuensi magnitude [H,f]=freqz(bz,az,512,Fs);

plot(f,20*log10(abs(H))) grid on;

xlabel ('Frequency(Hz)')

ylabel ('Magnitude response(dB)') subplot(2,1,2) %Plot diagram plot-zero zplane(bz,az)

zz=roots(bz); %menentukan poles dan zeros pz=roots(az);

grid on;

(14)

11 Amati hasilnya dan berikan pembahasan tentang filter IIR serta pole zeronya!

4.2.2 Menuliskan dan menjalankan program untuk merancang lowpass FIR filter 1. Buka MATLAB di komputer Praktikan.

2. Salin script di bawah ini ke editor MATLAB.

3. Jalankan script tersebut.

Catat dan berilah pembahasan dari program dan hasilnya!

% Nama Praktikan

% NPM Praktikan

f = [0 0.2 0.4 0.6 0.8 1];

m = [1 1 1 1 0 0];

n = 51; % Panjang filter

b = firls(n, f, m);

[h, w] = freqz(b, 1, 512);

subplot(121)

plot(w/pi, abs(h), '-r') title('n=51')

xlabel('normalisasi frekuensi') ylabel('respon amplitudo')

n = 101; % Panjang filter

b = firls(n, f, m);

[h, w] = freqz(b, 1, 512);

subplot(122)

plot(w/pi, abs(h), '-r') title('n=101')

xlabel('normalisasi frekuensi') ylabel('respon amplitudo')

(15)

12 Parameter-parameter yang perlu dianalisis dalam percobaan ini meliputi:

1. Filter IIR:

• Definisi Filter IIR: Pemahaman tentang apa yang dimaksud dengan filter IIR (Infinite Impulse Response) dan perbedaannya dengan filter FIR (Finite Impulse Response).

• Karakteristik Filter Butterworth: Penjelasan tentang karakteristik dari filter Butterworth dan cara mendesain filter digital lowpass Butterworth menggunakan MATLAB.

• Frekuensi Cutoff: Pengertian frekuensi cutoff dalam konteks filter Butterworth dan pentingnya memahaminya dalam perancangan filter.

• Penggunaan Fungsi Butter: Cara menggunakan fungsi butter dalam MATLAB untuk mendesain filter digital highpass atau bandstop.

2. Filter FIR:

• Definisi Filter FIR: Pemahaman tentang filter FIR (Finite Impulse Response) dan bentuk matematikanya.

• Metode Perancangan Filter FIR: Penjelasan tentang dua metode perancangan filter FIR, yaitu algoritma Park-McClellan dan metode window.

3. Analisis Hasil Percobaan:

• Filter IIR: Analisis hasil dari percobaan merancang filter IIR dan menampilkan pole-zero-nya.

• Filter FIR: Pencatatan dan pembahasan hasil dari program dan hasilnya dalam merancang lowpass FIR filter.

(16)

13

PRAKTIKUM 4 DESAIN PENAPISAN FILTER 1. TUJUAN

1. Memahami prinsip dasar desain dan implementasi filter digital berbasis FIR dalam pemrosesan sinyal.

2. Menganalisis efek filter LPF, BPF, dan HPF terhadap sinyal dalam domain waktu dan frekuensi.

2. TEORI DASAR

Filter digital digunakan untuk memproses sinyal dengan menghilangkan atau mempertahankan komponen frekuensi tertentu. Finite Impulse Response (FIR) Filter merupakan salah satu jenis filter digital yang memiliki respons hingga orde tertentu tanpa umpan balik.

Filter yang digunakan dalam praktikum ini meliputi:

Low-Pass Filter (LPF): Melewatkan frekuensi rendah dan meredam frekuensi tinggi.

Band-Pass Filter (BPF): Melewatkan frekuensi dalam rentang tertentu dan meredam frekuensi di luar rentang tersebut.

High-Pass Filter (HPF): Melewatkan frekuensi tinggi dan meredam frekuensi rendah.

Sinyal sinusoidal dengan berbagai frekuensi digabungkan menjadi sintot1 dan sintot2. Filter FIR didesain menggunakan metode Windowing dengan fungsi fir1(), dan diterapkan melalui operasi konvolusi: y [n] = x [n] h[n]. Hasil penapisan divisualisasikan dalam bentuk plot domain waktu dan respons frekuensi.

3. PERCOBAAN

Sebelum praktikum dilaksanakan, lakukan beberapa hal berikut ini:

1. Pastikan komputer yang akan digunakan berfungsi dengan normal dan tidak ada masalah apapun.

2. Software MATLAB sudah terinstal dalam komputer.

3. Buka MATLAB di komputer Praktikan.

4. Salin script di bawah ini ke editor MATLAB.

5. Jalankan script tersebut

(17)

14

%Percobaan 1.1

% Langkah 1: Membuat vektor i i = 0:99;

% Langkah 2: Membuat tiga sinyal sinusoidal berfase berbeda fs = 18000; % Frekuensi sampling

f1 = 400; % Frekuensi sinyal 1 f2 = 2400; % Frekuensi sinyal 2 f3 = 6000; % Frekuensi sinyal 3 theta1 = -pi + 2*pi*rand(1,1) theta2 = -pi + 2*pi*rand(1,1) theta3 = -pi + 2*pi*rand(1,1) sin1 = sin(2*pi*i*f1/fs + theta1) sin2 = sin(2*pi*i*f2/fs + theta2) sin3 = sin(2*pi*i*f3/fs + theta3)

% Langkah 3: Menjumlahkan tiga sinyal sintot1 = (sin1 + sin2 + sin3)/3;

% Langkah 4: Plot sinyal sintot1

%stem(i, sintot1);

xlabel('Sample');

ylabel('Amplitudo');

title('Plot Sinyal sintot1');

% Langkah 5: Lihat respons frekuensi menggunakan freqz

%figure;

freqz(sintot1);

% Langkah 6: Membuat sinyal sintot2 menggunakan loop f = 200:600:8000;

sintot2 = zeros(size(i)); % Inisialisasi sinyal sintot2 for j = 1:length(f)

sin1 = sin(2*pi*i*f(j)/fs + theta1);

sin2 = sin(2*pi*i*f(j)/fs + theta2);

sin3 = sin(2*pi*i*f(j)/fs + theta3);

sintot2 = sintot2 + (sin1 + sin2 + sin3)/3;

end

% Langkah 7: Plot sinyal sintot2

%figure;

%stem(i, sintot2);

xlabel('Sample');

ylabel('Amplitudo');

title('Plot Sinyal sintot2');

% Langkah 8: Lihat spektrum frekuensi menggunakan freqz

%figure;

%freqz(sintot2);

%Percobaan 1.2

% Spesifikasi filter LPF N = 30;

fs = 8000;

fc1 = 1000;

wn = fc1/(fs/2);

b_lpf = fir1(N,wn,'low') figure;

stem(b_lpf)

xlabel('Simulasi');

ylabel('Filter');

title('Hasil Simulasi Stem LPF');

(18)

15

% Langkah 8: Lihat spektrum frekuensi menggunakan freqz

%figure;

%freqz(sintot2);

%Percobaan 1.2

% Spesifikasi filter LPF N = 30;

fs = 8000;

fc1 = 1000;

wn = fc1/(fs/2);

b_lpf = fir1(N,wn,'low') figure;

stem(b_lpf)

xlabel('Simulasi');

ylabel('Filter');

title('Hasil Simulasi Stem LPF');

figure;

freqz(b_lpf)

xlabel('Simulasi');

ylabel('Filter');

title('Hasil Simulasi Freqz LPF');

% Spesifikasi filter BPF fs1=18000;

N1=30;

fc2=1000;

fc3=4000;

wn1= fc2/(fs1/2);

wn2= fc3/(fs1/2);

b_bpf = fir1(N1, [wn1 wn2],'bandpass') figure;

stem(b_bpf)

xlabel('Simulasi');

ylabel('Filter');

title('Hasil Simulasi Stem BPF');

figure;

freqz(b_bpf)

xlabel('Simulasi');

ylabel('Filter');

title('Hasil Simulasi Freqz BPF');

% Spesifikasi filter HPF N2 = 30;

fs = 8000;

fc4 = 5000;

wn = fc1/(fs/2);

b_hpf = fir1(N,wn,'High') figure;

stem(b_hpf)

xlabel('Simulasi');

title('Hasil Simulasi Stem HPF');

figure;

freqz(b_hpf)

xlabel('Simulasi');

title('Hasil Simulasi Freqz HPF');

%Percobaan 1.3

% Langkah 1: Penapisan sinyal sintot1

sintot1_lpf = conv(sintot1, b_lpf, 'same');

sintot1_bpf = conv(sintot1, b_bpf, 'same');

sintot1_hpf = conv(sintot1, b_hpf, 'same');

% Langkah 2: Plot sinyal keluaran sintot1 figure;

(19)

16

%Percobaan 1.3

% Langkah 1: Penapisan sinyal sintot1

sintot1_lpf = conv(sintot1, b_lpf, 'same');

sintot1_bpf = conv(sintot1, b_bpf, 'same');

sintot1_hpf = conv(sintot1, b_hpf, 'same');

% Langkah 2: Plot sinyal keluaran sintot1 figure;

subplot(2,2,1);

stem(i, sintot1);

xlabel('Sample');

ylabel('Amplitudo');

title('Sinyal Asli');

subplot(2,2,2);

stem(i, sintot1_lpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan LPF');

subplot(2,2,3);

stem(i, sintot1_bpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan BPF');

subplot(2,2,4);

stem(i, sintot1_hpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan HPF');

% Langkah 3: Plot spektrum frekuensi sintot1 figure;

subplot(2,2,1);

freqz(b_lpf);

title('Respons Frekuensi LPF SINTOT1');

figure;

subplot(2,2,2);

freqz(b_bpf);

title('Respons Frekuensi BPF SINTOT1');

figure;

subplot(2,2,3);

freqz(b_hpf);

title('Respons Frekuensi HPF SINTOT1');

% Langkah 4: Penapisan sinyal sintot2

sintot2_lpf = conv(sintot2, b_lpf, 'same');

sintot2_bpf = conv(sintot2, b_bpf, 'same');

sintot2_hpf = conv(sintot2, b_hpf, 'same');

% Langkah 5: Plot sinyal keluaran sintot2 figure;

subplot(2,2,1);

stem(i, sintot2);

xlabel('Sample');

ylabel('Amplitudo');

title('Sinyal Asli');

subplot(2,2,2);

stem(i, sintot2_lpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan LPF');

subplot(2,2,3);

(20)

17 TUGAS ANALISIS

1. Bagaimana pengaruh perubahan orde filter terhadap respons frekuensi dari masing-masing filter yang digunakan?

2. Apa yang terjadi jika frekuensi cut-off dari LPF, BPF, dan HPF diubah? Bagaimana dampaknya terhadap sinyal keluaran?

3. Mengapa metode konvolusi digunakan dalam proses penapisan sinyal? Bagaimana efeknya terhadap domain waktu dan frekuensi?

4. Bagaimana karakteristik masing-masing filter (LPF, BPF, HPF) dalam meredam atau melewatkan sinyal dengan frekuensi tertentu?

5. Dalam aplikasi nyata, di bidang apa saja filter FIR sering digunakan dan mengapa jenis filter ini dipilih?

% Langkah 5: Plot sinyal keluaran sintot2 figure;

subplot(2,2,1);

stem(i, sintot2);

xlabel('Sample');

ylabel('Amplitudo');

title('Sinyal Asli');

subplot(2,2,2);

stem(i, sintot2_lpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan LPF');

subplot(2,2,3);

stem(i, sintot2_bpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan BPF');

subplot(2,2,4);

stem(i, sintot2_hpf);

xlabel('Sample');

ylabel('Amplitudo');

title('Hasil Penapisan HPF');

% Langkah 6: Plot spektrum frekuensi sintot2 figure;

subplot(2,2,1);

freqz(b_lpf);

title('Respons Frekuensi LPF SINTOT2');

figure;

subplot(2,2,2);

freqz(b_bpf);

title('Respons Frekuensi BPF SINTOT2');

figure;

subplot(2,2,3);

freqz(b_hpf);

title('Respons Frekuensi HPF SINTOT2');

(21)

18

PRAKTIKUM 5 MATLAB SIMULINK (CASCADE FORM) 1. TUJUAN

1. Mahasiswa mampu melakukan implementasi filter FIR dan IIR dengan struktur cascade 2. Mahasiswa mampu melakukan simulasi sistem tingkat diagram blok menggunakan simulink

2. TEORI DASAR

Pada struktur cascade form, sistem diimplementasikan dengan memecah sistem orde tinggi menjadi beberapa subsistem orde-1, 2, dan/atau 4 yang dihubungkan secara kaskade seperti diperlihatkan oleh Gambar berikut. Struktur cascade form orde-2 untuk FIR dan IIR

Gambar 1. Struktur Cascade Form secara Umum

Gambar 2. Rangkaian Realisasi cascade form orde 6 untuk Filter FIR

Gambar 3. Realisasi cascade form orde 4 untuk IIR

Simulink adalah blok diagram yang dapat digunakan untuk simulasi multidomain dan model desain dasar. Simulink mendukung untuk level sistem desain,simulasi, pembuatan program otomatis dan test berkelanjutan serta verifikasi embed sistem. Simulink menyediakan grafik editor,penyesuaian blok librari dan pemecahan masalah unruk model dan simulasi model dinamik. Simulink terintegrasi dengan matlab yang memungkinkan kita untuk menghubungkan algoritma matlab dengan model dan mengeluarkan hasil simulasi pada mathlab untuk menganilisi lebih lanjut.

(22)

19

3. PERCOBAAN

1. Buka MATLAB dan Simulink.

2. Buat model FIR dan IIR metode Cascade:

3. Buka Simulink, buat model baru.

4. Gunakan blok Discrete FIR dan IIR Filter.

5. Atur koefisien filter.

6. Gunakan blok Impulse Generator sebagai masukan.

7. Gunakan blok Scope untuk melihat hasil respon impuls.

3.2 Simulasi Rangkaian FIR dengan Metode Cascade

Gambar 4. Rangkaian FIR dengan Metode Cascade 3.3 Simulasi Rangkaian IIR dengan Metode Cascade

Gambar 5. Rangkaian IIR dengan Metode Cascade

(23)

20 TUGAS ANALISIS

1. Mengapa metode Cascade Form digunakan dalam implementasi filter digital?

2. Bagaimana metode Cascade Form dapat meningkatkan stabilitas dalam implementasi filter FIR dan IIR dibandingkan metode lainnya?

3. Berdasarkan hasil percobaan, apakah metode Cascade Form lebih efisien dibandingkan Direct Form dalam semua kasus? Jelaskan alasannya.

Referensi

Dokumen terkait

Pada rangkaian di atas, apabila titik A dan B dihubungkan lewat seutas kawat, tidak dapat dipastikan apakah arus akan mengalir dari A ke B atau dari B ke A ataupun tidak ada arus

a) Tabel data hasil percobaan yang sudah diberikan asisten / yang terlampir pada modul. b) Penulisan tujuan, metode pelaksanaan, dan landasan teori sesuai

a) Tabel data hasil percobaan yang sudah diberikan asisten / yang terlampir pada modul. b) Penulisan tujuan, metode pelaksanaan, dan landasan teori sesuai dengan

a) Tabel data hasil percobaan yang sudah diberikan asisten / yang terlampir pada modul. b) Penulisan tujuan, metode pelaksanaan, dan landasan teori sesuai dengan

Dan tambahkan fungsi glLineWidth(int size); untuk mengubah ukuran objek Points. Pindah-pindahkan glLineWidth pada a,b, dan c. Sajikan Screen shot hasil a,b,c dan simpulkan. 6)

  Untuk berbagai keperluan teknik sering kita jumpai sistem persamaan linear simultan,  yang  dapat  dituliskan  dalam  bentuk  persamaan  matrik,  misalnya        Ax 

Perintah B = FIR2(N,F,M); pada Matlab digunakan untuk mendisain filter digital FIR orde N dengan respon frekuensi yang ditentukan oleh vektor F dan M, dan menghasilkan koefesien

Reaksi kimia yang terjadi pada proses hidrolisis selulosa dapat dituliskan sebagai berikut: 1 Jika A adalah H2O, B adalah polimer, dan D adalah gula, reaksi dapat dituliskan sebagai