32
LAPORAN EKSPERIMEN PEMROSESAN SINYAL DIGITAL 1 DESAIN FIR METODE OPTIMAL Disusun oleh : Nama : Ryan Eko Saputro NIM : 12/331380/PA/14638 Assisten : Rahmawan Budikusumo UNIT LAYANAN ELEKTRONIKA DAN UNIT LAYANAN INSTRUMENTASI JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS GADJAH MADA YOGYAKARTA 2015

sistem pengolahan sinyal

Embed Size (px)

DESCRIPTION

sistem pengolahan sinyal universitas tanjungpura pontianak

Citation preview

LAPORAN

EKSPERIMEN PEMROSESAN SINYAL DIGITAL 1

DESAIN FIR METODE OPTIMAL

Disusun oleh :

Nama : Ryan Eko Saputro

NIM : 12/331380/PA/14638

Assisten : Rahmawan Budikusumo

UNIT LAYANAN ELEKTRONIKA DAN UNIT LAYANAN INSTRUMENTASI

JURUSAN ILMU KOMPUTER DAN ELEKTRONIKA

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS GADJAH MADA

YOGYAKARTA

2015

I. TUJUAN

Mengoptimalkan metode Fourier Transform

Dapat menggunakan dan mengaplikasikan metode optimal

II. DASAR TEORI

Filter digital adalah suatu piranti yang sangat dibutuhkan oleh sistem–sistem elektronika,

misalnya saja untuk pengolahan sinyal audio dan image processing. Kita dapat

menggunakan filter analog untuk melakukan tugas ini, namun filter digital memberikan

fleksibilitas dan akurasi yang lebih baik dibanding filter analog. Filter digital dapat dibagi

menjadi dua yaitu filter digital IIR (Infinite Impulse Response) dan filter digital FIR (Finite

Impulse Response). Ada beberapa metode untuk merancang filter digital FIR. Salah satu

metode yang sering digunakan adalah metode optimal.

1. Filter Digital FIR ( Finite Impulse Response)

Filter digital dalam konteks software adalah suatu prosedur matematika / algoritma yang

mengolah sinyal masukan digital dan menghasilkan isyarat keluaran digital dengan sifat

tertentu sesuai tujuan filter. Banyak sistem digital menggunakan pemfilteran sinyal

untuk :

Memisahkan sinyal – sinyal yang telah digabung, misalnya rekaman musik dan

noise yang tercampur selama proses perekaman

Memisahkan sinyal – sinyal sesuai dengan frekuensi yang diinginkan

Restorasi sinyal yang telah mengalami perubahan

Dua jenis filter digital yang menyediakan fungsi –fungsi di atas adalah filter Finite

Impulse Response (FIR) dan filter Infinite Impulse Response (IIR). Pembagian ini

berdasarkan pada respon impuls filter tersebut. FIR memiliki respon impuls yang

panjangnya terbatas, sedangkan IIR tidak terbatas. FIR sering juga disebut sebagai filter

non-rekursif dan IIR sebagai filter rekursif. Pembagian ini berdasarkan pada cara

pengimplementasian filter yaitu rekursif dan konvolusi (non-rekursif). Bila

dibandingkan dengan filter IIR, filter FIR memiliki beberapa kelebihan, diantaranya :

Dapat didesain dengan mudah agar memiliki fasayang linear

Memiliki kestabilan

Mudah diimplementasikan

Pengaruh kesalahan karena pembulatan dan pemotongan dapat dengan mudah

diminimumkan dalam implementasi

Disamping kelebihannya, filter FIR juga memiliki kekurangan yaitu berdasarkan

teori memerlukan lebih banyak perhitungan untuk mendapatkan karakteristik respon

filter yang diinginkan, sehingga akan dibutuhkan lebih banyak memori bila filter

rancangan diaplikasikan pada hardware (Digital Signal Processor).

Proses pendesainan filter meliputi identifikasi koefisien-koefisien yang

bersesuaian dengan respon frekuensi spesifikasi untuk sistem. Koefisien-koefisien

menentukan respon dari filter.

2. Metode Optimal

Kunci dari penggunaan metode ini adalah penggunaan fungsi “remez”. remez akan

memdesain fase linear FIR menggunakan algoritma Park-McClellan. Biasa disebut dengan

metode Remez.

Metode ini mendesain secara optimal fase linear filter

Metode ini merupakan metode standar untuk membuat FIR filter

Metodologi yang dibuat akan mendesain filter simetris yang meminimalisasi panjang

pada desain constrains{ωp, ωs, δ p, δ s}.

Hasil dari filter meminimalisasi error antara frekuensi yang diinginkan dengan frekuensi

yang didapat dengan menyebarkan kesalahan pendekatan pada masing –masing band

(band stop dan band pass).

Filter tersebut yang menunjukkan ripple yang bain pada kedua passband dan stopband

maka sering disebut equiripple filters.

Dengan ripple dan attenuasi sudah ditentukan untuk menjadi metode optimal.

Pengurangan error dapat dengan megalikan ds dan dp ( dengan sebelumnya digunakan

ds dan dp niali absolut) dengan weight (ws wp) sebagai patokan ideal.

maka :

Lalu didapat Ws dan Wp sebagai faktor error weight. Penggunaan Remez sebagai

perhitungan coefisien filter. Dengan sintaks fungsi : b = remez(n,f,a)

sintaks b merupakan vector baris yang menyatakan n+1 koefisien dari n FIR dengan

frekuensi amplitude yang karakteristiknya diberikan oleh vector f dan a. Output filter

coefisien (taps) dalam b relasinya :

Dengan vector f dan a mempunyai frekuensi-magnitude filter sebagai berikut :

f adalah vector dengan sepasang frekuensi point yang mempunyai spesifikasi range dari

0 dan 1, ketika 1 akan menjadi setengah dari frekuensi sampling (Nyquist frequency).

a adalah vector yang memuat amplitude yang diinginkan dengan spesifikasi point pada

vector f.

f dan a harus sama dimensinya dan dimensinya harus berupa angka.

Hubungan dari keduanya dapat dilihat pada bagan berikut :

remez(n,f,a,w) menggunakan weights pada vector w sehingga dapat pas tepat pada setiap

band frekuensi panjang dari w adalah setengah dari panjang f san a maka terlihat satu “1” weight

per band. Dengan Ws dan Wp sebagai faktor error weight.

III. HASIL OUTPUT DAN LISTING

A. Low Pass Filter

1. Frekuensi respon dari lowpass filter setelah menggunakan metode optimal

2. Impuls respon dari lowpass filter setelah mengguakana metode optimal

Low Pass Filter

Bagian

ke-

Listing kode Penjabaran arti

1 fs = 8000; fold = fs/2; stop = 40;

Pendeklarasian frekuensi sampling sebesar

8000Hz, dengan fold atau setengah dari

frekuensi sampling sebesar 4000Hz. dan

stopband attenuation sebesar 40dB

2 k1 = 0/fold; k2 = 1200/fold; k3 = 1500/fold; k4 = 4000/fold;

Pendeklarasian setiap koefisien dari

k1,k2,k3,dan k4

3 dp = 10^(1/20)-1; ds = 10^(-stop/20);

Pendeklarasian nilai dari ds sebagai

pasband ripple dan stopband attenuation

(dalam magnutide)

4 ws = dp; wp = ds;

Pendeklarasian nilai ws sebagai fraction

form (denumerator) dan wp sebagai

fraction form (numerator)

5 f = [k1 k2 k3 k4]; m = [1 1 0 0 ]; w = [wp ws];

Pendeklarasian nilai f yang berisi koefisien

dan nilaim yang berisi magnitude 1 1 0 0

(low pass)

6 figure(1); b = remez(36,f,m,w);

freqz(b,1,512,fs); axis([0 fs/2 -80 10]);

Mengaplikasikan fungsi remez dan di cetak

pada figure 1 . dengan filter order 36

Menampilkan frekuensi respon dengan

penggunaan numerator b (fungsi remez),

frekuensi sampling 8000Hz, waktu sample

512 dengan tanpa feedback.

7 figure(2); stem(b);

Mencetak nilai b (berupa impuls respon) ke

figure 23

B. Bandpass Filter

1. Frekuensi respon dari Bandpass filter setelah menggunakan metode optimal

2. Impuls respon dari Bandpass filter setelah mengguakana metode optimal

Bandpass Filter

Bagian

ke-

Listing kode Penjabaran arti

1 fs = 8000; fold = fs/2; stop = 40;

Pendeklarasian frekuensi sampling sebesar

8000Hz, dengan fold atau setengah dari

frekuensi sampling sebesar 4000Hz. dan

stopband attenuation sebesar 40dB

2 k1 = 0/fold; k2 = 800/fold; k3 = 1200/fold; k4 = 1600/fold; k5 = 2000/fold; k6 = 4000/fold;

Pendeklarasian setiap koefisien dari

k1,k2,k3,k4,k5, dan k6

3 dp = 10^(1/20)-1; ds = 10^(-stop/20);

Pendeklarasian nilai dari ds sebagai

pasband ripple dan stopband attenuation

(dalam magnutide)

4 ws = dp; wp = ds;

Pendeklarasian nilai ws sebagai fraction

form (denumerator) dan wp sebagai

fraction form (numerator)

5 f = [k1 k2 k3 k4 k5 k6]; m = [0 0 1 1 0 0 ]; w = [ws wp ws];

Pendeklarasian nilai f yang berisi koefisien

dan nilai m yang berisi magnitude 0 0 1 1 0

0 (bandpass). Pendeklarasian ws sebagai

bandstop dan wp sebagai bandpass

6 figure(1); b = remez(33,f,m,w); format long; freqz(b,1,512,fs); axis([0 fs/2 -80 10]);

Mengaplikasikan fungsi remez dan di cetak

pada figure 1 . dengan filter order 33

Menampilkan frekuensi respon dengan

penggunaan numerator b (fungsi remez),

frekuensi sampling 8000Hz, waktu sample

512 dengan tanpa feedback.

7 figure(2); stem(b);

Mencetak nilai b (berupa impuls respon) ke

figure 2

3. Bandstop Filter

1. Frekuensi respon dari bandstop filter setelah menggunakan metode optimal

2. Impuls respon dari bandstop filter setelah mengguakana metode optimal

Bandstop Filter

Bagian

ke-

Listing kode Penjabaran arti

1 fs = 8000; fold = fs/2; stop = 50;

Pendeklarasian frekuensi sampling sebesar

8000Hz, dengan fold atau setengah dari

frekuensi sampling sebesar 4000Hz. dan

stopband attenuation sebesar 40dB

2 k1 = 0/fold; k2 = 1200/fold; k3 = 1800/fold; k4 = 2000/fold; k5 = 2600/fold; k6 = 4000/fold;

Pendeklarasian setiap koefisien dari

k1,k2,k3,k4,k5 dan k6

3 dp = 10^(1/20)-1; ds = 10^(-stop/20); a = dp/ds;

Pendeklarasian nilai dari ds sebagai

pasband ripple dan stopband attenuation

(dalam magnutide)

4 ws = dp; wp = ds;

Pendeklarasian nilai ws sebagai fraction

form (denumerator) dan wp sebagai

fraction form (numerator)

5 f = [k1 k2 k3 k4 k5 k6]; m = [1 1 0 0 1 1 ]; w = [wp ws wp];

Pendeklarasian nilai f yang berisi koefisien

dan nilai m yang berisi magnitude 1 1 0 0 1

1 (bandstop). Pendeklarasian ws sebagai

bandstop dan wp sebagai bandpass

6 figure(1); b = remez(29,f,m,w); format long; freqz(b,1,512,fs); axis([0 fs/2 -80 10]);

Mengaplikasikan fungsi remez dan di cetak

pada figure 1 . dengan filter order 29

Menampilkan frekuensi respon dengan

penggunaan numerator b (fungsi remez),

frekuensi sampling 8000Hz, waktu sample

512 dengan tanpa feedback.

7 figure(2); stem(b);

Mencetak nilai b (berupa impuls respon) ke

figure 23

IV. PEMBAHASAN

A. Lowpass Filter

Pada percobaan ini hal tepenting yang harus diperhatikan adalah bagaimana

mencari dan menganalisis suatu error yang ada dari lowpass filter dan dapat

meminimalisir error tersebut menggunakan metode optimal. Lowpass filter

tersebut mempunyai spesifikasi :

Sampling rate = 8000Hz

Passband = 0-1200Hz

Stopband = 1500-4000Hz

Passband riplle =1dB

Stopband Attenuation = 40dB

Pembuatan gelombang ini adalah sama seperti percobaan minggu lalu

mengenai FIR. Menampilkan frekuensi respon dengan penggunaan numerator

fungsi remez. FIR mempunyai karakteristik tanpa feedback (finite) maka pada

denumerator diberi nilai 1. FIR filter ini menggunakan built-in respon pada

ranah frekuensi (component sebagai input) dari sintem diskrit yang

dinotasikan : freqz( )

Freqz() akan menghitung dan memplot magnitude (pada nilai absolut) dari

frekuensi respon. sintaks yang dipakai : freqz(b,1,512,8000)

frekuensi Dapat dianalisis bahwa pada freqz diatas bahwa sapling yang

digunakan 8000Hz dengan 512 sample waktu yang dibutuhkan tanpa

kembalian (1).

Perbedaan dengan minggu lalu adalah pada metode yang digunakan untuk

meminimalisir adanya error yang diberikan agar mencapai spesifikasi yang

ditentukan, minggu lalu menggunakan metode window sedangkan praktikum

minggu ini menggunakan metode optimal.

Kunci dari penggunaan metode ini adalah penggunaan fungsi “remez”.

remez akan memdesain fase linear FIR menggunakan algoritma Park-

McClellan. Seperti yang telah dipaparkan pada bagian dasar teori bahwasanya

fungsi ”remez” tersebut memerlukan n koefisien, frekuensi point(f),

amplitude point (m) dan error weight(w). b = remez(36,f,m,w);

1. n koefisien FIR

Mencari n koefisien sendiri adalah dengan cara test and trial (coba-coba)

dengan dasar spesifikasi yang dibutuhkan. Dengan stopband attenuation

adalah 40dB maka spesifikasinya tidak boleh di atas 40dB (pada stop band

attenuation).

dapat dilihat bahwa stopband attenuation di puncaknya adalah bernilai -

41.42 dB yang berarti telah sesuai seperti spesifikasi (kurang dari -40dB).

2. Frekuensi point

Frekuensi point ini merupakan nilai yang diinginkan (band stop atau band

pass) dengan memberikan setengah dari frekuensi sampling dibagi dengan

frekuensi band dan di simpang ke dalam sebuah matriks

f = [k1 k2 k3 k4]; dengan :

k1 = passband 0Hz

k2 = passband 1200Hz

k3 = stopband 1500Hz

k4 = stopband 4000Hz

3. Amplitude Point

Nilai amplitude adalah 1 atau 0 dengan berdasar kepada frekuensi point

yang dimensinya atau panjang matriksnya adalah sama seperti frekuensi

point. Dikarenakan lowpas filter maka amplitude point nya adalah

[ 1 1 0 0] seperti gambar ideal lowpass filter :

nilai amplitude pass band adalah 1 dan nilai amplitude stop band adalah 0

korelasi terhadap frekuensi point :

frekuensi 0Hz (pass band) amplitude 1

frekuensi 1200Hz (pass band) amplitude 1

frekuensi 1500Hz (stop band) amplitude 0

frekuensi 4000Hz (stop band) amplitude 0

4. Error Weight

Perhitungan dp = 10^(1/20)-1; ds = 10^(-stop/20);

Lalu didapat Ws dan Wp sebagai faktor error weight.

Lalu fungsi remez akan berjalan dan menghasilkan memdesain fase linear

FIR menggunakan algoritma Park-McClellan (dengan spesifikasi seperti di

atas). Hasil dapat dilihat pada bagian hasil output dan listing bagian low pass

filter.

Untuk membuat impuls plot koefisien maka menggunakan fungsi stem

(penjabaran stem ada pada laporan minggu lalu) dengan komponen freqz

sebagai penarikan fungsi yang sebelumnya nilai b telah didapat dari fungsi

remez. Hasil dapat dilihat pada bagian hasil output dan listing bagian low

pass filter.

B. Band Pass Filter

Pada percobaan ini hal tepenting yang harus diperhatikan adalah bagaimana

mencari dan menganalisis suatu error yang ada dari band pass filter dan dapat

meminimalisir error tersebut menggunakan metode optimal. Band pass filter

tersebut mempunyai spesifikasi :

Sampling rate = 8000 Hz

Passband = 1200-1600 Hz

lower Stopband = 0 Hz-800 Hz

upper Stopband = 2000 Hz - 4000Hz

Passband riplle =1dB

Stopband Attenuation = 40dB

Pembuatan gelombang ini adalah sama seperti percobaan yang pertama

(low pass filter) FIR. Menampilkan frekuensi respon dengan penggunaan

numerator fungsi remez. FIR mempunyai karakteristik tanpa feedback (finite)

maka pada denumerator diberi nilai 1. FIR filter ini menggunakan built-in

respon pada ranah frekuensi (component sebagai input) dari sintem diskrit

yang dinotasikan : freqz( )

Freqz() akan menghitung dan memplot magnitude (pada nilai absolut) dari

frekuensi respon. sintaks yang dipakai : freqz(b,1,512,8000)

frekuensi Dapat dianalisis bahwa pada freqz diatas bahwa sapling yang

digunakan 8000Hz dengan 512 sample waktu yang dibutuhkan tanpa

kembalian (1).

Perbedaan dengan prektikum 1 (low pass filter ) adalah pada metode filter

yang digunakan yaitu menggunakan band pass filter.

Kunci dari penggunaan metode ini adalah penggunaan fungsi “remez”.

remez akan memdesain fase linear FIR menggunakan algoritma Park-

McClellan. Seperti yang telah dipaparkan pada bagian dasar teori bahwasanya

fungsi ”remez” tersebut memerlukan n koefisien, frekuensi point(f),

amplitude point (m) dan error weight(w). b = remez(33,f,m,w);

1. n koefisien FIR

Mencari n koefisien sendiri adalah dengan cara test and trial (coba-coba)

dengan dasar spesifikasi yang dibutuhkan. Dengan stopband attenuation

adalah 40dB maka spesifikasinya tidak boleh di atas 40dB (pada stop band

attenuation). serta passband riplle adalah 1dB.

dapat dilihat bahwa stopband attenuation di puncaknya adalah bernilai

-41.51 dB yang berarti telah sesuai seperti spesifikasi (kurang dari -40dB).

2. Frekuensi point

Frekuensi point ini merupakan nilai yang diinginkan (band stop atau band

pass) dengan memberikan setengah dari frekuensi sampling dibagi dengan

frekuensi band dan di simpang ke dalam sebuah matriks

f = [k1 k2 k3 k4 k5 k6]; dengan :

k1 = stop band 0Hz

k2 = stop band 800Hz

k3 = pass band 1200Hz

k4 = pass band 1600Hz

k5 = stop band 2000Hz

k6 = stop band 4000Hz

3. Amplitude Point

Nilai amplitude adalah 1 atau 0 dengan berdasar kepada frekuensi point

yang dimensinya atau panjang matriksnya adalah sama seperti frekuensi

point. Dikarenakan band pas filter maka amplitude point nya adalah

[ 0 0 1 1 0 0] seperti gambar ideal lowpass filter :

nilai amplitude pass band adalah 1 dan nilai amplitude stop band adalah 0

korelasi terhadap frekuensi point :

frekuensi 0Hz (stop band) amplitude 0

frekuensi 800Hz (stop band) amplitude 0

frekuensi 1200Hz (pass band) amplitude 1

frekuensi 1600Hz (pass band) amplitude 1

frekuensi 2000Hz (stop band) amplitude 0

frekuensi 4000Hz (stop band) amplitude 0

4. Error Weight

Perhitungan

dp = 10^(1/20)-1; ds = 10^(-stop/20);

Lalu didapat Ws dan Wp sebagai faktor error weight.

Lalu fungsi remez akan berjalan dan menghasilkan memdesain fase linear

FIR menggunakan algoritma Park-McClellan (dengan spesifikasi seperti di

atas). Hasil dapat dilihat pada bagian hasil output dan listing bagian band pass

filter.

Untuk membuat impuls plot koefisien maka menggunakan fungsi stem

(penjabaran stem ada pada laporan minggu lalu) dengan komponen freqz

sebagai penarikan fungsi yang sebelumnya nilai b telah didapat dari fungsi

remez. Hasil dapat dilihat pada bagian hasil output dan listing bagian band

pass filter.

C. Band Stop Filter

Pada percobaan ini hal tepenting yang harus diperhatikan adalah bagaimana

mencari dan menganalisis suatu error yang ada dari band stop filter dan dapat

meminimalisir error tersebut menggunakan metode optimal. band stop filter

tersebut mempunyai spesifikasi :

Sampling rate = 8000Hz

lower transisi = 600Hz

Upper transisi = 600Hz

Upper Cutoff = 2300Hz

Passband riplle =0.1dB

Stopband Attenuation = 50dB

Maka dari spesifikasi tersebut bisa ditentukan :

Pass band = 0Hz-1200 Hz

Stop band = 1800 Hz-2000Hz

Pass band = 2600 Hz-4000 Hz

Pembuatan gelombang ini adalah sama seperti percobaan sebelunya (low

pass dan band pass ) filter mengenai FIR. Menampilkan frekuensi respon

dengan penggunaan numerator fungsi remez. FIR mempunyai karakteristik

tanpa feedback (finite) maka pada denumerator diberi nilai 1. FIR filter ini

menggunakan built-in respon pada ranah frekuensi (component sebagai input)

dari sintem diskrit yang dinotasikan : freqz( )

Freqz() akan menghitung dan memplot magnitude (pada nilai absolut) dari

frekuensi respon. sintaks yang dipakai : freqz(b,1,512,8000)

frekuensi Dapat dianalisis bahwa pada freqz diatas bahwa sapling yang

digunakan 8000Hz dengan 512 sample waktu yang dibutuhkan tanpa

kembalian (1).

Perbedaan dengan percobaan sebelumnya adalah pada metode yang

digunakan menggunakan band stop filter.

Kunci dari penggunaan metode ini adalah penggunaan fungsi “remez”.

remez akan memdesain fase linear FIR menggunakan algoritma Park-

McClellan. Seperti yang telah dipaparkan pada bagian dasar teori bahwasanya

fungsi ”remez” tersebut memerlukan n koefisien, frekuensi point(f),

amplitude point (m) dan error weight(w). b = remez(29,f,m,w);

1. n koefisien FIR

Mencari n koefisien sendiri adalah dengan cara test and trial (coba-coba)

dengan dasar spesifikasi yang dibutuhkan. Dengan stopband attenuation

adalah 50dB maka spesifikasinya tidak boleh di atas 50dB (pada stop band

attenuation).

dapat dilihat bahwa stopband attenuation di puncaknya adalah bernilai -

52.78 dB yang berarti telah sesuai seperti spesifikasi (kurang dari -50dB).

2. Frekuensi point

Frekuensi point ini merupakan nilai yang diinginkan (band stop atau band

pass) dengan memberikan setengah dari frekuensi sampling dibagi dengan

frekuensi band dan di simpang ke dalam sebuah matriks

f = [k1 k2 k3 k4 k5 k6]; dengan :

k1 = passband 0Hz

k2 = passband 1200Hz

k3 = stopband 1800Hz

k4 = stopband 2000Hz

k5 = passband 2600Hz

k6 = passband 4000Hz

3. Amplitude Point

Nilai amplitude adalah 1 atau 0 dengan berdasar kepada frekuensi point

yang dimensinya atau panjang matriksnya adalah sama seperti frekuensi

point. Dikarenakan lowpas filter maka amplitude point nya adalah

[ 1 1 0 0 1 1] seperti gambar ideal band stop filter :

nilai amplitude pass band adalah 1 dan nilai amplitude stop band adalah 0

korelasi terhadap frekuensi point :

frekuensi 0Hz (pass band) amplitude 1

frekuensi 1200Hz (pass band) amplitude 1

frekuensi 1800Hz (stop band) amplitude 0

frekuensi 2000Hz (stop band) amplitude 0

frekuensi 2600Hz (pass band) amplitude 1

frekuensi 4000Hz (pass band) amplitude 1

4. Error Weight

Perhitungan dp = 10^(1/20)-1; ds = 10^(-stop/20);

Lalu didapat Ws dan Wp sebagai faktor error weight.

Lalu fungsi remez akan berjalan dan menghasilkan memdesain fase linear

FIR menggunakan algoritma Park-McClellan (dengan spesifikasi seperti di

atas). Hasil dapat dilihat pada bagian hasil output dan listing. Hasil dapat

dilihat pada bagian hasil output dan listing bagian band stop filter.

Untuk membuat impuls plot koefisien maka menggunakan fungsi stem

(penjabaran stem ada pada laporan minggu lalu) dengan komponen freqz

sebagai penarikan fungsi yang sebelumnya nilai b telah didapat dari fungsi

remez. Hasil dapat dilihat pada bagian hasil output dan listing bagian band

stop filter.

V. KESIMPULAN

Filter secara ideal harus memperhatikan spesifikasi penyusunya serta faktor –

faktor penghalangnya.

Metode windowing adalah untuk memperoleh respon frekuensi ideal filter dan

menghitung respon impulsenya.

Metode windowing dapat memodifikasi riak tanpa mengubah frekuensi yang

diinginkan.

VI. DAFTAR PUSTAKA

http://dali.feld.cvut.cz/ucebna/matlab/toolbox/signal/remez.html diakses pada 8 april

2015 pukul 21.00

IEEE. Programs for Digital Signal Processing. IEEE Press. New York: John Wiley

& Sons, 1979. Algorithm 5.1.

IEEE. Selected Papers in Digital Signal Processing, II. IEEE Press. New York: John

Wiley & Sons, 1979.

Rabiner, L.R., J.H. McClellan, and T.W. Parks. "FIR Digital Filter Design

Techniques Using Weighted Chebyshev Approximations." Proc. IEEE 63 (1975).

VII. TUGAS

a. Optimal Desain Metod

Bagian

ke-

Listing kode Penjabaran arti

1 fs = 8000; fold = fs/2; stop = 50;

Pendeklarasian frekuensi sampling sebesar

8000Hz, dengan fold atau setengah dari

frekuensi sampling sebesar 4000Hz. dan

stopband attenuation sebesar 40dB

2 k1 = 0/fold; k2 = 1200/fold; k3 = 1800/fold; k4 = 2000/fold; k5 = 2600/fold; k6 = 4000/fold;

Pendeklarasian setiap koefisien dari

k1,k2,k3,k4,k5 dan k6

3 dp = 10^(1/20)-1; ds = 10^(-stop/20); a = dp/ds;

Pendeklarasian nilai dari ds sebagai

pasband ripple dan stopband attenuation

(dalam magnutide)

4 ws = dp; wp = ds;

Pendeklarasian nilai ws sebagai fraction

form (denumerator) dan wp sebagai

fraction form (numerator)

5 f = [k1 k2 k3 k4 k5 k6]; m = [1 1 0 0 1 1 ]; w = [wp ws wp];

Pendeklarasian nilai f yang berisi koefisien

dan nilai m yang berisi magnitude 1 1 0 0 1

1 (bandstop). Pendeklarasian ws sebagai

bandstop dan wp sebagai bandpass

6 figure(1); b = remez(33,f,m,w); format long; freqz(b,1,512,fs); axis([0 fs/2 -80 10]);

Mengaplikasikan fungsi remez dan di cetak

pada figure 1 . dengan filter order 33

Menampilkan frekuensi respon dengan

penggunaan numerator b (fungsi remez),

frekuensi sampling 8000Hz, waktu sample

512 dengan tanpa feedback.

7 figure(2); stem(b);

Mencetak nilai b (berupa impuls respon) ke

figure 23

b. Rectangular Window

Bagian

ke-

Listing kode Penjabaran arti

1 fs=8000;

Pendeklarasian frekuensi sampling sebesar

8000Hz dan frekuensi

2 lf=1500; hf=2300;

Pendeklarasian frekuensi cut-off bawah

sebesar 1500Hz dan Pendeklarasian

frekuensi cut-off atas sebesar 2300Hz.

3 Wl=2*pi*lf/fs; Pendeklarasian Wl sebagai batas bawah

yang terdiri dari pembagian frekuensi cut-

off bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

Wh=2*pi*hf/fs;

Pendeklarasian Wh sebagai batas atas yang

terdiri dari pembagian frekuensi cut-off

bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

4 N=33; Pendeklarasian nilai taps (filter taps)

5 h1=zeros(1,N); window=zeros(1,N);

Pendeklarasian arrai h dan windows

dengan rentang data dari 1 sampai N dan

diisi zeros atau “0” sebagai nilai awal

6 for i=1:N n=i-17; h1(i)=-

(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n)); window(i)=1; end

Merupakan Kode untuk pembuatan impuls

respon bandpass filter. Dengan pengisian

arrai pada h secara satu persatu sebagai

bentuk koefisien noncausal tidak sama

dengan 0. arrai pada window juga diisi

secara satu persatu sesuai rumus

Rectangular window.

7 h1(17)= ((pi-Wh)+Wl)/pi;

Untuk nilai arrai h saat o (pada arrai nomer

17) berlaku selisih dari frekuensi cut-off

tinggi dengan frekuensi cut-off tinggi dan

pembagian terhadap pi

8 figure(1) hw1=h1.*window; stem(hw1);

Menampilkan Impuls respon dari ideal

bandpass filter setelah diberi Rectangular

window

9 figure(2) freqz(hw1,1,512,8000);

Menampilkan Frekuensi respon dari

bandpass filter setelah diberi Rectangular

window

c. Hamming Window

Bagian

ke-

Listing kode Penjabaran arti

1 fs=8000;

Pendeklarasian frekuensi sampling sebesar

8000Hz

2 lf=1500; hf=2300;

Pendeklarasian frekuensi cut-off bawah

sebesar 1500Hz dan Pendeklarasian

frekuensi cut-off atas sebesar 2300Hz.

3 Wl=2*pi*lf/fs; Pendeklarasian Wl sebagai batas bawah

yang terdiri dari pembagian frekuensi cut-

off bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

Wh=2*pi*hf/fs;

Pendeklarasian Wh sebagai batas atas yang

terdiri dari pembagian frekuensi cut-off

bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

4 N=33; Pendeklarasian nilai taps (filter taps)

5 h1=zeros(1,N); window=zeros(1,N);

Pendeklarasian arrai h dan windows

dengan rentang data dari 1 sampai N dan

diisi zeros atau “0” sebagai nilai awal

6 for i=1:N n=i-17; h1(i)=-

(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n)); window(i)= 0.54+(0.46*cos(pi*n/17)) ; end

Merupakan Kode untuk pembuatan impuls

respon bandpass filter. Dengan pengisian

arrai pada h secara satu persatu sebagai

bentuk koefisien noncausal tidak sama

dengan 0. arrai pada window juga diisi

secara satu persatu sesuai rumus Hamming

window.

7 h1(17)= ((pi-Wh)+Wl)/pi;

Untuk nilai arrai h saat o (pada arrai nomer

17) berlaku selisih dari frekuensi cut-off

tinggi dengan frekuensi cut-off tinggi dan

pembagian terhadap pi

8 figure(4) hw1=h1.*window; stem(hw1);

Menampilkan Impuls respon dari ideal

bandpass filter setelah diberi Hamming

window

9 figure(5) freqz(hw1,1,512,8000);

Menampilkan Frekuensi respon dari

bandpass filter setelah diberi Hamming

window

d. Hanning Window

Bagian

ke-

Listing kode Penjabaran arti

1 fs=8000;

Pendeklarasian frekuensi sampling sebesar

8000Hz dan frekuensi

2 lf=1500; hf=2300;

Pendeklarasian frekuensi cut-off bawah

sebesar 1500Hz dan Pendeklarasian

frekuensi cut-off atas sebesar 2300Hz.

3 Wl=2*pi*lf/fs; Pendeklarasian Wl sebagai batas bawah

yang terdiri dari pembagian frekuensi cut-

off bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

Wh=2*pi*hf/fs;

Pendeklarasian Wh sebagai batas atas yang

terdiri dari pembagian frekuensi cut-off

bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

4 N=33; Pendeklarasian nilai taps (filter taps)

5 h1=zeros(1,N); window=zeros(1,N);

Pendeklarasian arrai h dan windows

dengan rentang data dari 1 sampai N dan

diisi zeros atau “0” sebagai nilai awal

6 for i=1:N n=i-17; h1(i)=-

(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n)); window(i)= 0.5+0.5*cos(pi*n/15); end

Merupakan Kode untuk pembuatan impuls

respon bandpass filter. Dengan pengisian

arrai pada h secara satu persatu sebagai

bentuk koefisien noncausal tidak sama

dengan 0. arrai pada window juga diisi

secara satu persatu sesuai rumus Hanning

window.

7 h1(17)= ((pi-Wh)+Wl)/pi;

Untuk nilai arrai h saat o (pada arrai nomer

16) berlaku selisih dari frekuensi cut-off

tinggi dengan frekuensi cut-off tinggi dan

pembagian terhadap pi

8 figure(4) hw1=h1.*window; stem(hw1);

Menampilkan Impuls respon dari ideal

bandpass filter setelah diberi Hanning

window

9 figure(5) freqz(hw1,1,512,8000);

Menampilkan Frekuensi respon dari

bandpass filter setelah diberi Hanning

window

e. Blackman Window

Bagian

ke-

Listing kode Penjabaran arti

1 fs=8000;

Pendeklarasian frekuensi sampling sebesar

8000Hz

2 lf=1500; hf=2300;

Pendeklarasian frekuensi cut-off bawah

sebesar 1500Hz dan Pendeklarasian

frekuensi cut-off atas sebesar 2300Hz.

3 Wl=2*pi*lf/fs; Pendeklarasian Wl sebagai batas bawah

yang terdiri dari pembagian frekuensi cut-

off bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

Wh=2*pi*hf/fs;

Pendeklarasian Wh sebagai batas atas yang

terdiri dari pembagian frekuensi cut-off

bawah dengan frekuensi sampling

terhadap pangjang data (2*pi).

4 N=33; Pendeklarasian nilai taps (filter taps)

5 h1=zeros(1,N); window=zeros(1,N);

Pendeklarasian arrai h dan windows

dengan rentang data dari 1 sampai N dan

diisi zeros atau “0” sebagai nilai awal

6 for i=1:N n=i-17; h1(i)=-

(sin(Wh*n)/(pi*n))+(sin(Wl*n)/(pi*n)); window(i)=

0.42+0.5*cos(pi*n/17)+0.08*cos(pi*n*2/17)

end

Merupakan Kode untuk pembuatan impuls

respon bandpass filter. Dengan pengisian

arrai pada h secara satu persatu sebagai

bentuk koefisien noncausal tidak sama

dengan 0. arrai pada window juga diisi

secara satu persatu sesuai rumus blackman

window.

7 h1(17)= ((pi-Wh)+Wl)/pi;

Untuk nilai arrai h saat o (pada arrai nomer

17) berlaku selisih dari frekuensi cut-off

tinggi dengan frekuensi cut-off tinggi dan

pembagian terhadap pi

8 figure(4) hw1=h1.*window; stem(hw1);

Menampilkan Impuls respon dari ideal

bandpass filter setelah diberi Blackman

window

9 figure(5) freqz(hw1,1,512,8000);

Menampilkan Frekuensi respon dari

bandpass filter setelah diberi Blackman

window

VIII. LAMPIRAN