Anda di halaman 1dari 7

PERCOBAAN II

SIMULASI FILTER FIR REALTIME


WIDYA FEBRIANDARU (13116004)
ASISTEN : SIMON ADISYAHPUTRA RITONGA (13115007)
TANGGAL PERCOBAAN: 27 SEPTEMBER 2018
EL3104 PRAKTIKUM PENGOLAHAN SINYAL DIGITAL
LABORATORIUM TEKNIK ELEKTRO – INSTITUT TEKNOLOGI SUMATERA

Abstrak – Untuk lebih mempelajari hubungan yang cukup erat dengan


tentang pengolahan sinyal digital, kita pengaplikasian ilmu elektro pada saat kita
diharuskan dapat menguasai teori-teori serta bekerja dalam bidang sinyal kelak. Di praktikum
alat-alat atau komponen yang biasa digunakan kali ini akan dikenalkan dengan DSP dan cara
dalam mengolah suatu sinyal. Salah satnya menginput suatu sinyal. Dimana hal ini
adalah cara menyimulasikan filter fir realtime . merupakan dasar-dasar dalam filter sinyal.
Simulasi ini memiliki banyak fungsi penting Pada modul sebelumnya kita menggunakan
yang nanti akan dijelaskan.Simulasi filter juga filter FIR offline (non realtime). Terdapat
adalah salah satu teori yang wajib dikuasai pebedaaan di antara algoritma sistem realtime
untuk sarjana elektro pada zaman saat ini, dan algoritma sistem offline. Ide dasar dari
karena simulasi filter FIR realtime ini banyak algoritma realtime adalah hanya input saat ini
dan umum digunakan dalam pekerjaan yang dan yang telah lewat yang tersedia.Kita tidak
menyangkut tentang sinyal dan yang lain- memiliki akses kepada input yang akan datang
lainnya. Praktikum kali ini memiliki tujuan berikutnya. Pada modul sebelumnya fungsi
umum untuk mengenalkan pem-filter-an serta filter yang digunakan memiliki akses kepada
kegunaannya. Praktikan diharapkan telah keseluruhan sampel pada sinyal input.Praktikum
sedikit mempelajari teori pem-filter-an sebelum ini memiliki beberapa tujuan, antara lain:
melakukan praktikum, yang bisa dipelajari  Mempelajari bagaimana
melalui modul atau sumber yang lain, agar tidak mengimplementasikan dan melakukan
mendapati kesulitan yang berarti saat simulasi filter FIR
melakukan praktikum.  realtime menggunakan Dev-C++
 Mengenal model bilangan fraksional
Kata kunci – Filter, Fir, M-file, dev-C++,DSP, untuk prosesor DSP fixed point.
plot, frekuensi.  Mengimplementasikan dan melakukan
simulasi filter FIR realtime dengan

I. PENDAHULUAN bilangan fraksional menggunakan Dev-


C++

Dalam ilmu elektro kita akan mengenal


banyak rangkaian, teori dan juga aplikasi atau
software-software sering digunakan. Salah
satunya yaitu pemfilteran yang akan kita pelajari
pada praktikum kali ini. Pemfilteran memiliki
 Akses hanya kepada input yang telah
II. LANDASAN ada pada array input
 Update output setiap siklus loop b.
TEORITIS
A. FILTER FIR REALTIME B. ISU NUMERIK
Sistem realtime disebut juga dengan sistem Kebanyakan prosesor DSP merupakan
waktu nyata. Sistem realtime harus dapat prosesor fixed point. Prosesor floating point jauh
memberikan respon yang tepat dalam batasan lebih rumit dari prosesor fixed point sehingga
waktu yang ditentukan.Realtime adalah metode membutuhkan harga yang lebih mahal. Untuk
realisasi, sehingga setiap tugas spesifik dapat membuat sistem yang cost effective maka
dikerjakan pada waktu spesifik dengan siklus prosesor DSP direalisasikan dengan prosesor
clock sistem. fixed point. Prosesor fixed point secara natural
Pada modul sebelumnya kita menggunakan set intruksi dasar matematiknya hanya
filter FIR offline (non realtime). Terdapat mendukung operasi bilangan bulat (integer)
pebedaaan di antara algoritma sistem realtime
dan algoritma sistem offline. Ide dasar dari Memahami isu numerik adalah sangat
algoritma realtime adalah hanya input saat ini penting untuk memperoleh performansi terbaik
dan yang telah lewat yang tersedia. Kita tidak dari sebuah prosesor fixed-point. Masalahnya
memiliki akses kepada input yang akan datang adalah kebanyakan sinyal dan juga koefisien
berikutnya. Pada modul sebelumnya fungsi filter bernilai bilangan real. Sehingga operasi
yang digunakan memiliki akses kepada pengolahan sinyal merupakan operasi perkalian
keseluruhan sampel pada sinyal input. dan penjumlahan bilangan real. Namun DSP
Algoritma filter realtime diperlukan untuk yang kita gunakan merupakan prosesor fixed
implementasi filter realtime dengan hardware point.
DSP. Untuk keperluan ini maka diperlukan Dari percobaan sebelumnya Anda telah
simulasi algoritma filter realtime-like dan memperoleh koefisien filteruntuk melakukan
dibandingkan hasilnya dengan algoritma filter pem- filter -an. Kita akan menggunakannya
offline. sebagai koefisien filter yang akan diterapkan di
Sistem DSP adalah sistem waktu diskrit BF561. Nantinya kita akan mencoba program
yang mengambil sampel sinyal input dan Filter dalam bahasa pemograman C ataupun
menghasilkan sampel sinyal output dengan Assembly, jadi kita dapat menuliskan koefisien
frekuensi sampling tertentu yang konstan. tersebut di program kita, seperti berikut :
Artinya pada sistem DSP realtime, pada rentang int koef={a1,a2,a3,a4};
waktu antar sampling, haruslah dapat dilakukan Perhatikan bahwa koefisien harus ditulis
proses perhitungan sampel output yang dalam format Q32 dan jangan lupa bahwa
merupakan hasil pengolahan sinyal digital (bisa prosesor yang kita gunakan adalah prosesor
berupa filter). Artinya proses komputasi fixed-point 32bit sehingga setiap bilangan
pengolahan sinyal digital untuk tiap sampel direpresentasikan dalam 32 bit dengan kisaran–
haruslah dapat diselesaikan sebelum sampel 2-31 sampai 231-1 atau–2147483648 –
berikutnya diambil. Karakteristik simulasi 2147483647 untuk –1 sampai 1.Q31 adalah
realtime-like adalah sebagai berikut: salah satu contoh format Q, yaitu penulisan
 Loop untuk kesesuaian dengan kelakuan bilangan untuk bilangan fixed-point. Pada
clock BF561 yang merupakan prosesor fixed-point 32
bit, maka untuk N=32, digunakan format Q31.  PERCOBAAN 2
Format Q31 ini merepresentasikan fraksional 31 Percobaan membuat m m-file untuk
bit. simulasi pem-filter-an
an realtime FIR
Pada format ini, MSB adalah sign bit yang dengan buffer sirkular
diikuti oleh suatu titik imajiner, dan kemudian
31 bit atau mantisa yang dinormalisasi ke Pada bagian ini
1.Bilangan Q31 memiliki kisaran desimal antara dilakukan modfikasi
hasil percobaan
–1
1 sampai 0.9999 (0x8000h sampai 0x7FFFh). sebelumnya
menggunakan
Bilangan fraksional h dapat direpresentasikan metode buffering
sebagai atau h= -b020+ b12-1 1 + b22-2
b22 + ... + sirkular.
bN2-N,N, dimana h adalah bilangan fraksional dan
b adalah biner 1 atau 0.
Konversi bilangan real ke bilangan
Dengan metode ini maka
fraksional dilakukan dengan setiap kalididapatkan
koef=round(2^31*koef); Untuk konversi sampel input, maka
sampel-sampel terdahulu
bilangan fraksional ke bilangan real dilakukan pada buffer tidak perlu
digeser kita akan coba
dengan koef=koef / 2^31; beberapa filter FIR dengan
spesifikasi berikut
(frekuensi boleh diubah-
ubah)

III. METODOLOGI
Dalam percobaan ini akan digunakan alat dan
bahan berupa: Setelah diperoleh
hasilnyakemudian
 1 unit computer dibandingkan hasil simulasi
dengan hasilsebelumnya.
 Software MATLAB
 Software Dev-C++

LANGKAH KERJA
 PERCOBAAN 1
Percobaan membuat m-filefile untuk simulasi
pem-filter-an realtime FIR

Pada bagian ini dibuat m-file


file untuk melakukan
pemfilteran realtime FIR dengan Dev-C++.
C++. Fungsi
internal filter menggunakan metoda non
relatime,karena menghitung sinyall output
dengan sinyal input yang lengkap.

Kemudian dibandingkan hasil simuasi


dengan fungsi internal filter
 PERCOBAAN 3
Percobaan membuat m-filefile untuk
simulasi pem-filter-an
an realtime FIR
dengan bilangan fraksional

Pada bagian ini dilakukan


modfikasi hasil percobaan
sebelumnya menggunakan
bilangan fraksional 32 bit.
Semua koefisien filter
direpresentaiskan dengan
*Hasil sinyal pemfilteran realtime FIR
bilangan fraksional.

Hasil sinyal diatas kami dapatkan dengan


menggunakan script sebagai berikut:

Buffer diisi dengan sampel


inputyang telah dikonversikan dari
bilangan real menjadbilangan
fraksional. Dilakukan modifikasi
perkalianbilangan real menjadi
perkalian bilangan fraksional.

Lalu disimpan sampel dinyal output


yang dihasilkan denganterlebih
dahulu mengonversikan bilangan
fraksionalmenjadi bilanga real.
Setelah diperoleh hasilnyakemudian
dibandingkan hasil simulasi dengan
hasilsebelumnya.
*script dev-c++ perc 1a

IV. HASIL DAN


ANALISIS

PERCOBAAN 1
Percobaan membuat m-filefile untuk
simulasi pem-filter-an
an realtime FIR

*script dev-c++ perc 1b


*Hasil sinyal pemfilteran realtime FIR buffer sirkular

Buffer sirkular merupakan aspek yang


penting dalam DSP (Digital Signal Processing).
Buffer sirkular identik dengan hipotesis sirkular
memory, yang dimana suatu alamat pada
*script dev-c++ perc 1c memori yang lama digantikan dengan alamat
memori yang baru secara berkala. Addre
Address pada
Dengan menggunakan script yang telah buffer sirkular yang telah berada pada posisi
disediakan pada modul praktikum seperti diatas, akhir memory akan masuk ke dalam m memory
kami mendapatkan output berupa keluaran nilai yang baru.
yang
ang lalu kami coba plotkan pada ms excel.
Inputan pada percobaan diatas juga telah
ditentukan oleh modul praktikum, dimana dapat
kita lihat pada gambar *script dev-c++
c++ perc 1a.
1a
Disitu dituliskan 9 inputan berupa bilangan
dengan tipe float.
Rumus untuk
tuk mengeluarkan sinyal pada
script diatas dapat dilihat pada gambar *script
dev-c++ perc 1c. Yaitu pada bagian x[i]=
(sin(2*PI*200/16000*i)+sin(2*PI*1000/16000*i
)+sin(2*PI*5000/16000*i))/3;
Yang dimana akan di loop kan menggunakan
fungsi for.

PERCOBAAN 2
Percobaan membuat m-filefile untuk
simulasi pem-filter-an
an realtime FIR *script dev-c++ perc 2a
dengan buffer sirkular
*Hasil sinyal pemfilteran realtime FIR bilangan
fraksional

Bilangan fraksional adalah salah satu


bilangan yang umum dijumpai dalam DSP
(Digital Signal Processing). Bilangan fraksional
*script dev-c++ perc 2b bisa didapatkan dengan cara membagi bilangan
integer dengan 2n-1. Bilangan ini digunakan
Kedua gambar diatas merupakan script untuk
ntuk mencari titik optimum dalam pengolahan
untuk dev-c++
c++ yang telah kami gunakan untuk sinyal.
mendapatkan sinyal. Hampir sama dengan script
pada percobaan pertama, hanya saja kami
mengedit pada bagianian buffering dan perhitungan
filter. Perbedaan source code untuk buffer
sirkular dengan source code sebelumnya yaitu
adanya variable k yang di assign dengan nilai 0
serta adanya perhitungan filter dengan circular
buffer.
Hasil output script diatas mula-mu
mulanya
berupa bilangan tipe float yang lalu kami *script dev-c++ perc 3a
plotkan menggunakan ms excel.
Dapat kita lihat bahwa grafik yang
dihasilkan cukup berbeda dengan percobaan
pertama yang dimana seharusnya grafik yang
dihasilkan percobaan ini sama dengan grafik
percobaan pertama.
ama. Hal ini dapat diakibatkan
kesalahan dalam menulis script pada dev-c++
dev
ataupun
aupun kesalahan dalam menulis inputan.

*script dev-c++ perc 3b


PERCOBAAN 3
Percobaan membuat m-filefile untuk Dilakukan modifikasi dari source code
simulasi pem-filter-an
an realtime FIR percobaan sebelumnya dengan menggunakan
dengan bilangan fraksional bilangan fraksional 32 bit. Semua koefisien filter
direpresentasikan dengan bilangan fraksional.
Dilakukan peng-edit-an
an source code pada bagian
sebelumnya dengan mengubah isi fungsi filter,
koefisien serta buffer menjadi tipe integer. VI. REFERENSI
Dapat kita lihat bahwa grafik yang
dihasilkan pada percobaan ini hamper sangat
berbeda dengan grafik pada percobaan 1 dan 2. [1] Laboratorium Dasar Teknik Elektro ITERA,
Ini membuktikan adanya eror dalam melakukan Praktikum Pengolahan Sinyal Digital,
pem-filter-an. Yang salah satu erornya mungkin Lampung Selatan, Institut Teknologi Sumatera
adalah dalam membuat script pada dev-c++, dan 2018.
juga kurang telitinya praktikan dalam [2]Proakis, Jhon. Manolakis, Dimitris,
menginputkan data pada script. Digital Signal Processing, principles, algoritm,
and application
,Prentice Hall, 1998
[3] S. Sudirmham, pengolahan sinyal
V. SIMPULAN Bandung: ITB, 2002.
[4] Ramdhani. Mohammad, sinyal digital,
 Praktikan harus berhati-hati dan teliti Bandung:Sekolah Tinggi Teknologi Telkom
dalam melakukan percobaan khususnya Bandung,2005
dalam menginputkan script , karena jika [5]https://www.dsprelated.com/freebooks/mdft/
terdapat kesalahan sedikit saja dalam Fractional_Binary_Fixed_Point_Numbers.html
memasukan nilai input, bisa jadi nilai
output akan melenceng jauh.
 Address(alamat) pada buffer sirkular
yang telah berada pada posisi akhir
memory akan masuk ke dalam memory
yang baru.
 Bilangan fraksional adalah salah satu
bilangan yang umum dijumpai dalam
DSP (Digital Signal Processing).
Bilangan fraksional bisa didapatkan
dengan cara membagi bilangan integer
dengan 2n-1.
 Bilangan fraksional digunakan untuk
mencari titik optimum dalam DSP
 Factor besar yang dapat memberikan
nilai keluaran yang salah adalah dalam
menginputkan script kodingan.
 Filter adalah suatu metode yang
digunakan untuk mengurangi noise pada
sinyal.

Anda mungkin juga menyukai