• Tidak ada hasil yang ditemukan

PRAKTIKUM PENGOLAHAN SINYAL DIGITAL

N/A
N/A
Protected

Academic year: 2021

Membagikan "PRAKTIKUM PENGOLAHAN SINYAL DIGITAL"

Copied!
29
0
0

Teks penuh

(1)

PRAKTIKUM

PENGOLAHAN SINYAL DIGITAL

LABORATORIUM TELEKOMUNIKASI JURUSAN TEKNIK ELEKTRO INSTITUT TEKNOLOGI NASIONAL

(2)

MODUL 1

PENGENALAN MATLAB DASAR

Matlab merupakan suatu perangkat lunak yang dapat membantu dalam analisis persoalan. Matlab dapat mengerjakan perhitungan sederhana sampai dengan perhitungan kompleks. Untuk mengenal lebih jauh progam matlab ini, lihat gambar dibawah ini.

Simulink Direktory aktif Command

Window

Isi Directory aktif Kumpulan Variabel Kumpulan Perintah

(3)

Tabel 1.1

Fungsi Command

Window

Tempat menuliskan perintah yang akan dieksekusi oleh matlab

Workspace Kumpulan variabel – variabel yang telah didefinisikan, beserta ukuran dan tipenya.

History Kumpulan perintah-perintah yang telah dieksekusi

1.1 Variabel

Perhitungan matlab sebenarnya tidak memerlukan variabel karena setiap mengeksekusi perintah maka hasil eksekusi tersebut disimpan di variabel ans. Akan tetapi matlab dapat menyimpan hasil perintah dalam bentuk variabel. Seperti bahasa pemograman lainnya matlab juga mempunyai aturan dalam penamaan variabelnya.

Aturan dalam penamaan variabel dan nama file .m

1. Nama variabel tidak boleh mengunakan karakter spasi jika melebihi satu suku kata maka gunakan karakter garis bawah ( _ )

2. Nama variabel diawali huruf tidak boleh dimulai oleh garis bawah, angka atau karakter lainnya.

3. Membedakan huruf besar dengan huruf kecil (case sensitive), untuk nama file tidak membedakan huruf besar dan huruf kecil (tergantung pada sistem operasinya).

4. Panjang nama varibel maksimum 31 karakter, jika melebihi 31 karakter maka akan diabaikan (untuk matlab 6.5 panjang maksimum nama variabel 63 karakter).

Latihan :

Kerjakan di command window dan jelaskan kesalahannya (◄┘ = Enter ) ? 1. 2 * 3 ◄┘

Tidak ada kelashan tetapi tetapi tidak menggunakan variabel, sehingga hasil dari perintah disimpan di variabel ans

2. Laboratorium Telekomunikasi = ‘PSD’ ◄┘

Ada spasi di pendefinisian variabel, asisten diharapakan dapat menjelaskan jika isi variabel adalah suatu huruf

(4)

3. 2x = 10 ◄┘

Variabel dimulai angka, asisten dapat menjelaskan jika yang didefinisikan adlah sebuah persamaan

4. C2P = 100 ◄┘ 100 * c2p ◄┘

Perintah pertama tidak ada error, akan tetapi perintah kedua tidak dapat dieksekusi karena variabel c2p belum didefinisikan. Variabel yang telah didefinisikan adalah C2P bukan c2p (case sensitive).

5. LaboratoriumTelekomunikasiJurusanTeknikElektroInstitutTeknologiNasional = 100 ◄┘

Nama variabel terlalu panjang sehingga akan dipotong menjadi

“LaboratoriumTelekomunikasiJurusanTeknikElektroInstitutTeknologi” akan tetapi ketika dipanggil kembali variabel tersebut secara utuh

“aboratoriumTelekomunikasiJurusanTeknikElektroInstitutTeknologiNasional” maka matlab akan mengeluarkan variabel

“LaboratoriumTelekomunikasiJurusanTeknikElektroInstitutTeknologi” karena lebih dari 63 karakter akan diabaikan.

1.2 Operasi matematika dalam matlab

1.2.1 Penjumlahan (+), Pengurangan (-), Perkalian(*), Pembagian(/ atau \) Contoh : 3 + 2 >> 3 + 2 ans = 5 Contoh : 15 – 20 >> 15 – 20 ans = - 5 Contoh : 15 * 12 >> 15*12 ans = 180

(5)

Contoh : 15 / 3 >> 15/3 ans = 5 Contoh : 15 \ 3 >> 15\3 ans = 0.2000

1.2.2. Eksponensial ( Exp(Nilai) ), Logaritma (Log(Nilai) Î Ln dan Log10(Nilai) Î Log10 ) Contoh : e -10 >> exp(-10) ans = 4.5400e-005 Contoh : Ln(4.5400e-005) >> log(4.5400e-005) ans = -10.0000 Contoh : Log(100) >> log10(100) ans = 2 1.3 Fungsi Trigonometri

Untuk fungsi trigonometri dalam matlab, fungsi yang telah tersedia adalah Sinus(sin), cosinus(cos), tangen(tan), cotangen(cot), secan(sec).

Sin

sin(dD) Mencari nilai sinus dD, dimana dD dalam radian asin(dD) Mencari nilai arcus sinus dD

sinh(dD) Mencari nilai sinushiperbolik dD asinh(dD) Mencari nilai arcus sinus hiperbolik dD

(6)

1.4 Fungsi Matematika

Sebagian fungsi – fungsi matematika yang telah tersedia

Fungsi Kegunaan abs(dD) Mencari nilai absolut dari sebuah nilai, akan tetapi nilai dD

mempunyai real dan imajiner maka akan menghasilkan besarnya (vektor)

angle(dD) Mencari sudut phasa dari sebuah vektor (antara real dan imajiner), hasil dalam dalam satuan radian

ceil(dD) Pembulatan menuju +~ floor(dD) Pembulatan menuju -~ Fix(dD) Pembulatan menuju 0

round(dD) Pembulatan menuju nilai integer (bulat) yang terdekat real(dD) Mencari nilai real dari suatu vektor

imag(dD) Mencari nilai imajiner dari suatu vektor

(dD = suatu nilai dari +~ s.d. -~) 1.5 Matriks

Matriks adalah suatu type variabel yang mempunyai nilai 2 atau lebih. Sebenarnya semua variabel di matlab dalam bentuk matriks akan tetapi jika nilainya hanya satu maka ukuran matriks tersebut 1 x 1.

Contoh

Kita akan membuat suatu persamaan y = sin(x), dimana x dari 0 menuju 3, dengan kenaikan 0.5.

>> x = [0 0.5 1.0 1.5 2.0 2.5 3.0]; >> y = sin(x) >> y = 0 0.4794 0.8415 0.9975 0.9093 0.5985 0.1411 Indeks 1 2 3 4 5 6 7 Nilai x 0 0.5 1.0 1.5 2.0 2.5 3.0 Nilai Y, Y =sin (x) 0 0.47943 0.84147 0.9975 0.9093 0.5985 0.1411

(7)

Operasi Matematika pada Matriks

Penjumlahan, pengurangan sama seperti penjumlahan pada operasi biasa tetapi ukuran dari kedua array tersebut harus sama, jika operasi dilakukan dengan skalar maka seluruh sel-sel matrik melakukan operasi yang diminta.

Contoh :

>> a = [1 2 3 ; 2+5i 3+1i 8i], b = [2 -7 -9i ; 5 1+2i -2-7i] a =

1.0000 2.0000 3.0000

2.0000 + 5.0000i 3.0000 + 1.0000i 0 + 8.0000i

b = 2.0000 -7.0000 0 - 9.0000i 5.0000 1.0000 + 2.0000i -2.0000 - 7.0000i >> a+b ans = 3.0000 -5.0000 3.0000 - 9.0000i 7.0000 + 5.0000i 4.0000 + 3.0000i -2.0000 + 1.0000i

>> a-b ans =

-1.0000 9.0000 3.0000 + 9.0000i -3.0000 + 5.0000i 2.0000 - 1.0000i 2.0000 +15.0000i

>> a-(2+6i) ans =

-1.0000 - 6.0000i 0 - 6.0000i 1.0000 - 6.0000i00i 0 - 1.0000i i 1.0000 - 5.0000i -2.0000 + 2.0000i00

(8)

Perkalian, pembagian dan pangkat terdapat dua tipe yaitu • Secara sel per sel

Operasi ini melakukan operasi setiap sel yang alamat (kolom dan barisnya) sama. Untuk penggunaannya, sebelum operasi didahului dengan titik.

Contoh.

Isi variabel a dan b sama dengan perintah sebelumnya. >> a.*b

ans =

2.0000 -14.0000 0 -27.0000i 10.0000 +25.0000i 1.0000 + 7.0000i 56.0000 -16.0000i

>> a./b ans =

0.5000 -0.2857 0 + 0.3333i 0.4000 + 1.0000i 1.0000 - 1.0000i -1.0566 - 0.3019i

>> a.\b ans =

2.0000 -3.5000 0 - 3.0000i 0.3448 - 0.8621i 0.5000 + 0.5000i -0.8750 + 0.2500i

>> a.^b ans =

1.0e+003 * % << menunjukan orde kilo

0.0010 0.0000 -0.0009 + 0.0004i

4.2820 - 1.4750i -0.0014 + 0.0008i 0.3789 + 0.8509i

• Secara matrik

Untuk operasi perkalian maka ordo array sesuai dengan peraturan matrik secara teori, dimana a 2 x 3 x b 3 x 2

(9)

Contoh :

Isi variabel a dan b sama dengan perintah sebelumnya. >> a(1:2,1:2)*b(1:2,1:2)

ans =

12.0000 -5.0000 + 4.0000i

19.0000 +15.0000i -13.0000 -28.0000i

Fungsi yang telah ada pada program matlab :

Fungsi Keterangan eye(dD,rm) Menghasilkan matrik identitas

zeros(dD,rm) Menghasilkan matrik kosong ones(dD,rm) Menghasilkan matrik satu

(10)

PEMBUATAN SINYAL DAN PENGGAMBARAN SINYAL DI MATLAB

Untuk membuat fungsi yang berbentuk sinyal maka variabel yang diperlukan adalah variabel yang berfungsi sebagai time domain (daerah waktu) dan variabel yang menyimpan magnitude (amplitudo) suatu persamaan. Persamaan tersebut akan disimpan dalam variabel yang bertipe matriks, ukuran dan jumlah data dapat dibentuk sesuai dengan kebutuhan.

Pada penggambaran sinyal yang dilakukan oleh matlab merupakan sinyal diskrit dimana sinyal kontinyu disampling dengan rentang waktu yang sama, akan tetapi pada penggambarannya kita bisa menghubungkan satu titik dengan titik lainnya dengan fungsi yang tersedia di matlab.

Variabel yang dibutuhkan dalam penggambaran sinyal minimal satu variabel jika rentang samplingnya sebesar satu. Akan tetapi untuk rentang samplingnya tidak sama dengan satu maka kita harus membuat variabel yang mendefinisikan waktu sesuai dengan variabel fungsi yang telah dibuat. Ukuran dari variabel fungsi serta variabel domain waktu harus sama besar.

Untuk membuat sinyal diperlukan deret bilangan yang berfungsi sebagai domain waktunya. Untuk membuat deret bilangan yang kenaikkannya sama besar mempergunakan operator colon, linspace dan logspace. Untuk lebih jelasnya analisa contoh dibawah ini : Operator Colon >> 0:5:20 Ans = 0 5 10 15 20 Operator Linspace >> linspace(0,50,6) ans = 0 10 20 30 40 50

(11)

Operator Logspace >> logspace(0,2,5) ans = 1.0000 3.1623 10.0000 31.6228 100.0000 Kesimpulan Operator colon

Operator colon berfungsi membuat deretan angka dimana yang diketahui adalah kenaikan atau penurunannya

Linspace linspace berfungsi membuat deretan angka dimana yang diketahui adalah jumlah kolom yang disediakan

Logspace linspace berfungsi membuat deretan angka dimana yang

diketahui adalah jumlah kolom yang disediakan, dimana hasil dari linspace menjadi bilangan pangkat dari 10

Pembuatan Sinyal di Matlab

Pada pertemuan sebelumnya telah dijelaskan tentang operator matematika pada matlab, maka kita menggunakan operator tersebut untuk membuat persamaan sinyal. Pada intinya persamaan yang akan dibuat dikalikan dengan domain waktu yang telah kita buat. Algoritma dalam pembuatan sinyal :

1. Buat time domainnya

2. Buat persamaan sinyal, masukan variabel time domain sebagai waktu. Penggambaran Sinyal di Matlab

Perintah penggambaran pada matlab pada dasarnya mempunyai pola dDdDdD(FungsiX, FungsiY, Type Grafik);

Keterangan :

FungsiX = Domain waktu FungsiY = Persamaan sinyal

(12)

Warna Bentuk tanda untuk data jenis garis b biru . titik - Garis solid g hijau o lingkaran : Titik-titik r merah x tanda-(x) -. Garis dan titik c biru-muda + tanda-(+) -- Garis putus putus m ungu * tanda-(*)

y kuning s samadengan k hitam d bentuk intan

v segitiga (▼) ^ segitiga (▲) < segitiga (◄) > segitiga (►) p bintang segilima h bintang segienam

Perintah penggambaran yang menggunakan pola diatas yaitu : Plot

Plot adalah fungsi penggambaran di matlab dimana titik data satu dengan titik data selanjutnya akan dihubungkan secara linear (garis lurus).

Stem

Stem adalah fungsi penggambaran di matlab dimana titik data satu dengan titik data selanjutnya tidak dihubungkan atau lebih dikenal penggambaran secara diskrit.

Stairs

Stairs adalah fungsi penggambaran di matlab dimana titik data satu dengan titik data selanjutnya akan dihubungkan secara anak tangga, dimana nilai data yang tidak didefinisikan akan mengikuti data sebelumnya jika menemui data maka akan secara tiba-tiba akan menuju ke data selanjutnya. Fungsi ini lebih cocok untuk sinyal digital.

(13)

Penggunaannya : >> plot(x,y,'bo-'); >> stem(x,y,'mv-.');

Latihan

Buat sinyal dengan rentang waktu –10 sampai dengan +10 dengan sampling 0,2 detik. Untuk menampilkan hasilnya gunakan semua perintah penggambaran.

Sinyal sinus atau cosinus dengan persamaan y = 10 sin 2t Sinyal exponensial dengan persamaan y = e0.2t

Sinyal impuls dengan besar impulsnya 100 Sinyal step

Sinyal kotak dengan frekuensi 10 Hz

Untuk menggambar hasil yang lebih dari satu dalam satu jendela (window) maka gunakan subplot, sintaknya adalah

subplot(baris , kolom , posisi); [Perintah penggambaran];

Untuk penggambaran dalam satu grafik, dengan banyak data plot (x1,y1,[tipe grafik1], ... ,xn,yn,[tipe grafikn])

(14)

MODUL 2

FILTER ANALOG

Dalam materi pengolahan sinyal digital salah satu sub babnya adalah mengenai filter, fungsi filter adalah menahan atau melewatkan sebuah daerah frekuensi. Jenis filter ada dua macam yaitu, filter analog dan filter digital.

Fungsi-fungsi filter telah tersedia dalam matlab (lihat fungsi Help), untuk praktikum ini kita akan mengenalkan filter analog dan digital yang sering digunakan dalam aplikasi sehari-hari. Untuk filter analog akan dibahas filter butterworth, chebyshev1,chebyshev2, ellips dan bessel.

Filter Analog

Jenis-jenis filter analog yang sering digunakan adalah 1. Butterworth

Fungsi untuk menghasilkan orde serta frekuensi cut-offnya adalah buttord Sintaknya :

[n,Wn] = buttord(Wp,Ws,Rp,Rs) [n,Wn] = buttord(Wp,Ws,Rp,Rs,’s’) Penjelasan

n = orde minimum filter

Wn = frekuensi cut off (frekuensi natural butterworth = 3 dB) Wp = frekuensi sudut passband

Untuk membentuk filter digital maka frekuensi sudut passband harus diantara 0 – 1.

Ws = frekuensi stopband

Untuk membentuk filter digital maka frekuensi sudut stopband harus diantara 0 – 1.

Rp = Passband ripple dalam decibel, nilai maksimum yang diijinkan melewati passband.

Rs = Penguatan stopband dalam decibel, nilai maksimum yang diijinkan melewati stopband.

(15)

Fungsi yang menghasilkan transfer fungsi dari filter butterworth a b TF = Domain analog : Sintaks [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(...)

b = matrik pembilang dari sebuah transfer function a = matrik penyebut dari sebuah transfer function n = orde filter butterworth yang akan dibuat Wn = frekuensi cut off

ftype = tipe filter, dimana pilihannya adalah

-. ‘high’ filter Highpass dengan frekuensi cut off yang dinormalisasi Wn -. ‘stop’ filter Bandstop orde 2*n jika Wn merupakan vector 2 elemen, Wn = [w1 w2].

Sinyal yang dihentikan adalah w1 < ω <w2 z,p,k = zero, pole dan gain

Untuk menghasilkan bentuk state space-nya dapat digunakan untuk sintak terakhir, untuk lebih jelasnya lihat gambar dibawah untuk lebih jelas posisi empat variable yang digunakan.

(16)

Latihan :

1. Buat filter butterworth analog, yang melewatkan frekuensi 0 - 100 rad/s, dengan passband ripple -1 dB pada saat 100 rad/s,

• stopband attenuation -20 db pada saat 300 rad/s. • stopband attenuation -20 db pada saat 200 rad/s. • stopband attenuation -40 db pada saat 150 rad/s.

2. Buat filter butterworth analog, yang menghambat frekuensi 0 – 500 rad/s, dengan passband ripple -5 dB pada saat 500 rad/s

• stopband attenuation -10 pada saat 300 rad/s • stopband attenuation -20 pada saat 300 rad/s • stopband attenuation -30 pada saat 400 rad/s

3. Buat filter butterworth analog, dengan tipe bandpass filter. Dengan frekuensi yang diloloskan 400 – 600 rad/s dengan passband ripple -6 dB serta stopband attenuation -20 dB pada saat 100 dan 600 rad/s.

4. Buat filter butterworth analog, dengan tipe stopband filter. Dengan frekuensi yang diredam 250 – 750 rad/s dengan stopband attenuation -25 dB serta pada saat 100 dan 800 rad/s, passband ripple-nya -9 dB.

2. Chebyshev

Untuk filter chebyshev ada dua macam, yaitu • Tipe 1 : terdapat ripple di-passband • Tipe 2 : terdapat ripple di-stopband

Fungsi untuk menghasilkan orde serta frekuensi cut-offnya adalah Cheb1ord Î untuk tipe 1

Cheb2ord Î untuk tipe 2 Sintaksnya : Tipe 1 : [n,Wn] = Cheb1ord (Wp,Ws,Rp,Rs) [n,Wn] = Cheb1ord (Wp,Ws,Rp,Rs,’s’) Tipe 2 : [n,Wn] = Cheb2ord (Wp,Ws,Rp,Rs) [n,Wn] = Cheb2ord (Wp,Ws,Rp,Rs,’s’)

(17)

Fungsi yang menghasilkan transfer fungsi dari filter chebyshev a b TF = Sintaks Tipe 1: [b,a] = cheby1(n,Rp,Wn) [b,a] = cheby1(n,Rp,Wn,'ftype') [b,a] = cheby1(n,Rp,Wn,'s') [b,a] = cheby1(n,Rp,Wn,'ftype','s') [z,p,k] = cheby1(...) [A,B,C,D] = cheby1(...) Tipe 2 : [b,a] = cheby2(n,Rs,Wn) [b,a] = cheby2(n,Rs,Wn,'ftype') [b,a] = cheby2(n,Rs,Wn,'s') [b,a] = cheby2(n,Rs,Wn,'ftype','s') [z,p,k] = cheby2(...) [A,B,C,D] = cheby2(...)

Untuk penjelasan b, a, n, Wn, ’ftype’, z, p, k, A, B, C, D sama seperti pada perintah butter. Yang membedakan dalam chebyshev adalah ada variable tambahan yaitu ripple, untuk tipe 1 ripplenya pada passband (Rp) untuk tipe 2 ripplenya pada stopband (Rs).

Latihan :

5. Kerjakan latihan butterworth analog menggunaka chebyshev dengan Ripple di passband = 5 dB

(18)

3. Elliptic

Untuk filter elliptic : Sintaksnya :

[n,Wn] = ellipord (Wp,Ws,Rp,Rs) [n,Wn] = ellipord (Wp,Ws,Rp,Rs,’s’)

Untuk penjelasan dapat dilihat penjelasan pada buttord.

Rp adalah ripple di passband, sedangkan Rs adalah ripple di stopband. Fungsi yang menghasilkan transfer fungsi dari filter elliptic

a b

TF =

Sintak

[b,a] = ellip (n, Rp, Rs, Wn)

[b,a] = ellip (n, Rp, Rs, Wn, 'ftype') [b,a] = ellip (n, Rp, Rs, Wn, 's') [b,a] = ellip (n, Rp, Rs, Wn, 'ftype','s') [z,p,k] = ellip (...)

[A,B,C,D] = ellip (...)

Untuk penjelasan b, a, n, Wn, ’ftype’, z, p, k, A, B, C, D sama seperti pada perintah butter. Yang membedakan dalam chebyshev adalah ada variable tambahan yaitu ripple, untuk tipe 1 ripplenya pada passband (Rp) untuk tipe 2 ripplenya pada stopband (Rs). Rp merupakan ripple pada saat passband, sedangkan Rs merupakan ripple saat stopband.

Latihan :

6. Kerjakan semua latihan filter chebyshev menggunakan ellip. 4. Bessel

Untuk filter Bessel tidak perlu mencari Wp, Ws, Rp, dan Rs. Yang perlu diketahui adalah orde dari filter dan frekuensi cutoffnya.

Sintaks

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

(19)

[z,p,k] = besself(...) [A,B,C,D] = besself(...)

Untuk penjelasan b, a, n, Wn, ’ftype’, z, p, k, A, B, C, D sama seperti pada perintah butter.

Latihan :

(20)

MODUL 3

FILTER DIGITAL

Pada pertemuan sebelumnya telah dibahas tentang filter analog, untuk bab ini akan dibahas filter digital. Untuk modul ini, semua latihan sama dengan filter analog.

Filter Digital IIR

Jenis-jenis filter digital tranformasi dari analog yang sering digunakan adalah 1. Butterworth

Fungsi untuk menghasilkan orde serta frekuensi cut-offnya adalah buttord Sintaksnya :

[n,Wn] = buttord(Wp,Ws,Rp,Rs) Penjelasan

n = orde minimum filter Wn = frekuensi cut off

Wp = frekuensi sudut passband

Untuk membentuk filter digital maka frekuensi sudut passband harus diantara 0 – 1.

Ws = frekuensi stopband

Untuk membentuk filter digital maka frekuensi sudut stopband harus diantara 0 – 1.

Rp = Passband ripple dalam decibel, nilai maksimum yang diijinkan melewati passband.

Rs = Penguatan stopband dalam decibel, nilai maksimum yang diijinkan melewati stopband.

Fungsi yang menghasilkan transfer fungsi dari filter butterworth

a b

TF =

(21)

Sintaks

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

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

[A,B,C,D] = butter(...)

b = matrik pembilang dari sebuah transfer function a = matrik penyebut dari sebuah transfer function n = orde filter butterworth yang akan dibuat Wn = frekuensi cut off

ftype = tipe filter, dimana pilihannya adalah

-. ‘high’ filter Highpass dengan frekuensi cut off yang dinornalisasi Wn -. ‘stop’ filter Bandstop orde 2*n jika Wn merupakan vector 2 elemen, Wn = [w1 w2].

Sinyal yang dihentikan adalah w1 < ω <w2 z,p,k = zero, pole dan gain

Untuk menghasilkan bentuk state spacenya dapat digunakan untuk sintak terakhir, untuk lebih jelasnya lihat gambar dibawah untuk lebih jelas posisi empat variable yang digunakan.

Domain analog :

Domain digital :

u adalah input, x adalah vector keadaan dan y adalah output. 2. Chebyshev

Fungsi untuk menghasilkan orde serta frekuensi cut-offnya adalah Cheb1ord Î untuk tipe 1

(22)

Sintaknya : Tipe 1 :

[n,Wn] = Cheb1ord (Wp,Ws,Rp,Rs) Tipe 2 :

[n,Wn] = Cheb2ord (Wp,Ws,Rp,Rs)

Untuk penjelasan dapat dilihat penjelasan pada buttord.

Fungsi yang menghasilkan transfer fungsi dari filter chebyshev

a b TF = Sintaks Tipe 1: [b,a] = cheby1(n,Rp,Wn) [b,a] = cheby1(n,Rp,Wn,'ftype') [z,p,k] = cheby1(...) [A,B,C,D] = cheby1(...) Tipe 2 : [b,a] = cheby2(n,Rs,Wn) [b,a] = cheby2(n,Rs,Wn,'ftype') [z,p,k] = cheby2(...) [A,B,C,D] = cheby2(...)

Untuk penjelasan b, a, n, Wn, ’ftype’, z, p, k, A, B, C, D sama seperti pada perintah butter. Yang membedakan dalam chebyshev adalah ada variable tambahan yaitu ripple, untuk tipe 1 ripplenya pada passband (RIP) untuk tipe 2 ripplenya pada stopband (RIS).

3. Elliptic

(23)

Sintaknya :

[n,Wn] = ellipord(Wp,Ws,Rp,Rs)

Untuk penjelasan dapat dilihat penjelasan pada buttord. Fungsi yang menghasilkan transfer fungsi dari filter elliptic

a b TF = Sintaks [b,a] = ellip(n,Rp,Rs,Wn) [b,a] = ellip(n,Rp,Rs,Wn,'ftype') [z,p,k] = ellip(...) [A,B,C,D] = ellip(...)

Untuk penjelasan b, a, n, Wn, ’ftype’, z, p, k, A, B, C, D sama seperti pada perintah butter. Yang membedakan dalam ellip adalah ada variable tambahan yaitu ripple, dimana ripple ini terdapat pada setiap band baik pada stopband (Ris) maupun passband (Rip).

4. Bessel

Filter bessel ini gunakan tranformasi bilinear Sintaks

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

[b,a] = besself(n,Wn,'ftype') [z,p,k] = besself(...)

[A,B,C,D] = besself(...)

Untuk penjelasan b, a, n, Wn, ’ftype’, z, p, k, A, B, C, D sama seperti pada perintah butter.

(24)

Filter Digital FIR

Filter digital yang akan kita pelajari adalah finite impulse response (FIR). FIR adalah sebuah filter dimana respon dari impuls akan terbatas, sehingga respon dapat diatur. Dimatlab fungsi ini terbagi dua yaitu FIR1 dan FIR2.

1. FIR1

Desain filter finite impulse response berbasis window. Sintaks b = fir1(n,Wn) b = fir1(n,Wn,'ftype') b = fir1(n,Wn,window) b = fir1(n,Wn,'ftype',window) Penjelasan

n = Orde filter yang akan dibuat

Wn = Frekuensi cut off, diantara 0 sampai dengan 1. ftype = Tipe filter yang akan dibuat

-. Lowpass -. Highpass -. Bandpass -. Bandstop

Window = Jenis window yang akan digunakan untuk filter yang anda buat, nilai umumnya adalah hamming.

(25)

1. kaiser w = kaiser(n,beta) 2. nuttallwin w = nuttallwin(n) 3. parzenwin w = parzenwin(n) 4. rectwin w = rectwin(n) 5. triang w = triang(n) 6. tukeywin w = tukeywin(n,α) 7. barthannwin w = barthannwin(n) 8. bartlett w = bartlett(n) 9. blackmanharris w = blackmanharris(n) 10. bohmanwin w = bohmanwin(n) 11. chebwin w = chebwin(n,r) 12. blackman w = blackman(n) w = blackman(n,'sflag') 13. flattopwin w = flattopwin(n) w = flattopwin(n,sflag) 14. gausswin w = gausswin(n) w = gausswin(n,α) 15. hamming w = hamming(n) w = hamming(n,'sflag') 16. hann w = hann(n) w = hann(n,'sflag') 2. FIR2

Desain filter FIR berbasis frekuensi response. Untuk filter yang responnya tidak teratur maka gunakan FIR2 untuk penyelesaian kasus, akan tetapi untuk menggunakan ini hati-hati mendefinisikan matrik respons frekuensi beserta magnitudenya.

Sintak

b = fir2(n,f,m)

b = fir2(n,f,m,window)

Penjelasan :

b,n sama dengan FIR1, f merupakan matrik dimana menentukan respon dari filter sedangkan m menyatakan penguatannya.

(26)

Latihan :

Kerjakan menggunakan filter digital Butterworth, Chebyshev tipe 1 dan 2, Elliptic, Bessel (gunakan transformasi bilinier) dan FIR1. Gunakan M-file dalam bentuk Fungsi.

8. Buat filter digital, yang melewatkan frekuensi 0 - 100 rad/s, dengan passband ripple -1 dB pada saat 100 rad/s,

• stopband attenuation -20 db pada saat 300 rad/s. • stopband attenuation -40 db pada saat 150 rad/s. Ripple in passband = 5 dB

Ripple in stopband = 30 dB Frekuensi Sampling = 1000Hz

9. Buat filter digital, yang menghambat frekuensi 0 – 500 rad/s, dengan passband ripple -5 dB pada saat 500 rad/s

• stopband attenuation -10 pada saat 300 rad/s • stopband attenuation -30 pada saat 400 rad/s Ripple in passband = 5 dB

Ripple in stopband = 15 dB Frekuensi Sampling = 1000Hz

10. Buat filter digital, dengan tipe bandpass filter. Dengan frekuensi yang diloloskan 400 – 600 rad/s dengan passband ripple - 6 dB serta stopband attenuation - 20 dB pada saat 100 dan 800 rad/s.

Ripple in passband = 10 dB Ripple in stopband = 30 dB Frekuensi Sampling = 2000Hz

11. Buat filter digital, dengan tipe stopband filter. Dengan frekuensi yang diredam 250 – 750 rad/s dengan stopband attenuation -25 dB serta pada saat 100 dan 800 rad/s, passband ripple-nya -9 dB.

Ripple in passband = 15 dB Ripple in stopband = 30 dB Frekuensi Sampling = 2000Hz

12. Gunakan soal yang sama dari nomor 1 – 4 untuk jenis FIR1 dengan ketentuan sbb: Orde hasil dari filter elliptic

Untuk blackmann dan flattopwin, sflagnya = periodic. Untuk hamming dan Hanning, sflagnya = simetric

(27)

MODUL 4

APLIKASI PENGOLAHAN SINYAL DIGITAL MENGGUNAKAN MATLAB

Pada praktikum sebelumnya, telah dibahas tentang pembuatan sinyal dan karakteristik filter. Pada praktikum membahas tentang aplikasi dari pengolahan sinyal digital sebagai aplikasi yang telah dipelajari dari modul-modul sebelumnya.

Percobaan yang akan dilakukan adalah :

1. Mengetahui Respon frekuensi menggunakan Fast Fourier Transform (FFT)

Penggunaan Fast Fourier Transfrom (FFT) pada matlab pada modul ini hanya untuk sinyal diskrit. Sehingga informasi minimal yang diperlukan adalah besar (magnitude) sinyal dan frekuensi sampling (Hz).

Hasil = fft(sinyal, jumlah_point) Contoh :

fs = 1000 t = 0:1/fs:5

Sinyal_Satu = 10 * sin(2*pi*10*t) Hasil = fft(Sinyal_Satu, 512)

% sintaks untuk penggambaran

Frekuensi = fs*(0:1/512:.5) [b k] = size(Frekuensi) figure(1); plot(Frekuensi, abs(Hasil(1:k))) grid on *Note :

Size adalah suatu fungsi untuk mengembalikan size dari fungsi yaitu frekuensi ke dalam fungsi variable b (baris) dan k(kolom).

Latihan :

Buat sebuah sinyal yang mempunyai sinyal 40, 70 dan 100 Hz dengan masing-masing amplitudo 5, 2, 5. Filter sinyal tersebut sehingga sinyal frekuensi 70 Hz dapat muncul dibandingkan sinyal dengan frekuensi lainnya.

(28)

1. Gunakan Filter IIR 2. Gunakan Filter FIR

2. Memfilter sinyal suara menggunakan matlab

Sinyal suara dapat dimanipulasi dan atau dianalisa menggunakan matlab. Untuk percobaan ini, sinyal suara yang akan dianalisa adalah sinyal suara masing-masing anggota kelompok sesuai dengan tugas pendahuluan. Untuk memasukan sinyal suara yang telah direkam ke dalam program matlab gunakan perintah wavread.

[data fs nbit] = wavread(namafile_beserta_direktorinya) Contoh :

Namafile = input(‘masukan alamat file suara yang akan dianalisa : ’) [data fs nbit] = wavread(Namafile)

Latihan :

1. Masukan suara masing-masing ke dalam matlab bandingkan masing-masing suara menggunakan FFT seperti yang telah dilakukan pada percobaan sebelumnya.

2. Pilih salah satu suara dari anggota kelompok tambahkan noise ke dalam sinyal suara tersebut. Tampilkan frekuensi yang dimiliki oleh sinyal yang telah ditambahkan noise. Bandingkan dengan sinyal suara sebelum ditambah dengan noise.

3. Amati dan buat filter digital untuk mengembalikan sinyal suara tersebut dengan menggunakan filter

1. Infinite Impulse Response 2. Finite Impulse Response

Mainkan suara sebelum ditambahkan noise, dengan noise dan setelah difilter. 3. Pembuatan efek Echo

Echo adalah efek suara yang umum ditemui di kehidupan sehari-hari. Algoritma efek echo adalah menambahkan sebuah sinyal pada sinyal dasar, dimana sinyal yang ditambahkan adalah sinyal dasar yang ditunda beberapa satuan waktu. Untuk memperjelas efek echo maka sinyal yang ditambahkan harus semakin banyak akan tetapi waktu tundanya berbeda.

(29)

Latihan :

1. Pilih suara anggota kelompok yang akan diberi efek echo.

2. Buat sinyal baru sebanyak 3 buah dengan kondisi sebagai berikut a. sinyal dasar dengan waktu tunda .2 detik

b. sinyal dasar dengan waktu tunda .6 detik c. sinyal dasar dengan waktu tunda .1 detik

Mainkan suara sebelum ditambahkan echo dan suara yang telah ditambah efek echo. 4. Pembuatan Equalizer

Equalizer merupakan aplikasi pengolahan sinyal paling sering digunakan akan tetapi equalizer yang paling banyak beredar adalah equalizer analog. Akan tetapi equalizer digital dapat dibuat menggunakan filter yang telah dipelajari pada modul-modul sebelumnya. Pada dasarnya equalizer adalah filter yang meredam frekuensi tertentu sehingga frekuensi yang diharapkan lebih muncul dibandingkan yang lainnya.

Latihan :

1. Pilih file musik yang akan diberi efek equalizer 2. Buat filter digital

a. LPF dengan frekuensi cutoffnya ⅛ dari frekuensi samplingnya b. BPF dengan frekuensi cutoffnya ¼ dan ½ dari frekuensi samplingnya c. HPF dengan frekuensi cutoffnya ½ dari frekuensi samplingnya

Kuatkan daerah frekuensi yang diinginkan, mainkan suara yang telah melalui efek equalizer bandingkan dengan tanpa equalizer

Gambar

Gambar 1.1 Tampilan MATLAB

Referensi

Dokumen terkait

Memahami pengetahuan konsep-konsep dasar Pemrosesan Sinyal Digital yang meliputi: Pengertian dan penyajian sinyal-sinyal dan sistem waktu-diskrit dalam ranah waktu, penyajian

Hubungan antara frekuensi waktu kontinu dengan frekuensi waktu diskrit dari sinyal yang terhubung oleh proses

Memahami pengetahuan konsep-konsep dasar Pemrosesan Sinyal Digital yang meliputi: Pengertian dan penyajian sinyal-sinyal dan sistem waktu-diskrit dalam ranah waktu, penyajian

Interval waktu ini disebut sebagai interval sampling atau sampling-rate, dan merupakan proses pencuplikan sinyal kontinyu menjadi sinyal diskrit pada titik-titik

Mahasiswa dapat menjelaskan dan menerapkan penyajian sinyal dan sistem waktu-diskrit dalam ranah frekuensi (frequency domain), serta melakukan pencuplikan dan rekonstruksi

menggambarkan struktur realisasi sistem LTI waktu diskrit Mahasiswa dapat menjelaskan pengertian korelasi sinyal L.C.Ludeman, Fundamental of Digital Signal Processing, John

Perbedaan dengan fungsi step waktu kontinyu adalah bahwa dalam sekuen step waktu diskrit, sinyal akan memiliki nilai pada setiap periode waktu tertentu, sesuai dengan

ada prinsipnya analisis #ourier untuk sinyal waktu-diskrit dapat dianalogikan dengan sinyal waktu-kontinyu sebab !ungsi diskrit dan kontinyu perbedaannya hanya