AUDIO SPECTRUM ANALYSER MENGGUNAKAN
MIKROKONTROLER ATmega32
PROYEK AKHIR
Diajukan kepada Fakultas Teknik Universitas Negeri Yogyakarta Untuk Memenuhi Sebagian Persyaratan
Guna Memperoleh Gelar Ahli Madya
Oleh : I Wayan Rentanu
08502241011
JURUSAN PENDIDIKAN TEKNIK ELEKTRONIKA
FAKULTAS TEKNIK
ii
PROYEK AKHIR
AUDIO SPECTRUM ANALYSER MENGGUNAKAN MIKROKONTROLER ATmega32
Oleh : I Wayan Rentanu
08502241011
Telah Diperiksa dan Disetujui oleh Pembimbing untuk Diuji
Mengetahui,
Kaprodi Pendidikan Teknik Elektronika
Handaru Jati, Ph.D
NIP. 19740511 199903 1 002
Yogyakarta, Januari 2012
Menyetujui,
Pembimbing Proyek Akhir
Aris Nasuha, M.T.
iii
Proyek akhir berjudul “Audio Spectrum Ana lyser Menggunakan Mikrokontroler
ATmega32” ini telah dipertahankan di depan dewan penguji pada tanggal ...…………2012 dan dinyatakan lulus.
DEWAN PENGUJI
Nama Jabatan Tanda Tangan
Aris Nasuha, M.T. Ketua Penguji ………
Muhammad Munir, M.Pd. Sekretaris Penguji ………
Totok Sukardiyono, M.T. Penguji Utama ………
Yogyakarta, Januari 2012 Mengetahui,
Dekan Fakultas Teknik UNY
iv
Dengan ini saya menyatakan dalam Proyek Akhir ini tidak terdapat karya yang pernah diajukan untuk memperoleh gelar Ahli Madya atau gelar lainnya di suatu Perguruan Tinggi, dan sepanjang pengetahuan penulis juga tidak terdapat karya atau pendapat yang pernah ditulis oleh orang lain, kecuali secara tertulis diacu dalam naskah dan disebutkan dalam daftar pustaka.
Yogyakarta, Januari 2012 Yang menyatakan,
v
“Berani Menantang Keyakinan Untuk Menciptakan Sejarah”
(Myselft)
“Lakukanlah tugas kewajibanmu yang telah ditetapkan, sebab melakukan
demikia n lebih ba ik daripa da tida k bekerja . Seseorang tida k dapa t memeliha ra
badan jasmaninya pun tanpa bekerja”
(Bha ga wa d Gita III.8)
“Setiap pikiranmu adalah hal yang nyata-suatu daya” (The Sekret,Prentice J wlford, 1834-1891)
“Apa pun yang dapat dipikir akal…akan dapat dicapai.”
(The Sekret, W.Glement Stone, 1902-2002)
PERSEMBAHAN
Proyek a khir ini Sa ya persembahkan kepada :
Ba pa k, Ibu, a dik-a dik da n seluruh kelua rga besa r a tas doa da n dukunga n ya ng sa nga t memba ngun.
Sa uda ra -sauda ra ku yang sela lu menema ni
Reka n-rekan sa haba t Kela s A 2008 PT Elektronika FT UNY. Terima ka sih a ta s dukungan, ba ntuan, inspira si da n semanga tnya da la m
penyelesa iha n Proyek Akhir ini. DPO HIMANIKA FT UNY 2011
(Ha ri Nurca hyo, Fa iq Arbor, Ga luh Tuhu, Ito Dwi Adha , Ardia n Tiya stono, Riva i, Ma srur (Jon), Endri Suja tmiko, Ba yu, Anggi, Esti, Ena Kha risma ya , Deti)
“Salam HIMANIKA…., Kita ada karena kontribusi”
KMHD UNY
Sa haba t semua Kelua rga Ma ha siswa Hindu Dha rma UNY, terima ka sih a ta s inspira si da n doa nya .
vi
NIM : 0850224101 ABSTRAK
Tujuan pembuatan alat ini adalah untuk merancang perangkat keras,perangkat lunak dan mengetahui unjuk kerja sistem Audio Spectrum Analyser menggunakan mikrokontroler ATmega32.
Rancang bangun Audio Spectrum Analyser terdiri dari beberapa bagian pendukung sistem perangkat keras yaitu rangkaian mixer sinyal, Low Pass Filter, pengkondisi sinyal LM386, mikrokontroler ATmega32 sebagai prosesor utama, tombol pengaturan dengan push button, tampilan LCD grafik 128 x 64 pixel dan rangkaian pengisi program prosesor utama. Perancangan perangkat lunak sebagai pengendali program pada mikrokontroler ATmega32 menggunakan bahasa C dan program compiler CodeVisionAVR. Algoritma program terdiri dari program utama dan 5 (lima) buah sub program yaitu sub program ADC, sub program komputasi FFT, sub program komputasi magnitude spektrum, sub program tampilan grafik spektrum dan tampilan bentuk gelombang pada LCD grafik 128 x 64 pixel.
Hasil pengujian alat Audio Spectrum Analyser dengan masukan sinyal frekuensi tunggal dan sinyal frekuensi campuran untuk nilai frekuensi yang bervariasi, alat dapat menampilkan bentuk spektrum dan besaran frekuensi dengan bandwidth 20 Hz – 16 kHz. Alat ini terdiri dari 3 masukan sinyal dan mempunyai rerata persentase kesalahan pengukuran sebesar 3,17 %.
vii
Segala puja dan puji syukur penulis panjatkan kehadirat Ida Sang Hyang Widhi Wasa / Tuhan Yang Maha Esa atas segala asung kerta wara nugraha beliau
penulis dapat menyelesaikan laporan proyek akhir ini dengan judul ”Audio Spectrum Ana lyser Menggunakan Mikrokontroler ATmega32”. Pembuatan Proyek Akhir sebagai syarat untuk memperoleh gelar Ahli Madya Fakultas Teknik Universitas Negeri Yogyakarta.
Penulis menyadari sepenuhnya keberhasilan Proyek Akhir ini tidak lepas dari bantuan berbagai pihak, baik itu secara langsung mapun tidak langsung. Dengan kerendahan hati, pada kesempatan ini penulis mengucapkan rasa terimakasih yang sebesarnya kepada :
1. Bapak Dr. Moch Bruri Triyono selaku Dekan Fakulatas Teknik Universitas Negeri Yogyakarta
2. Bapak Muhammad Munir, S.Pd selaku Ketua Jurusan Pendidikan Teknik Elektronika Fakultas Teknik Universitas Negeri Yogyakarta
3. Bapak Aris Nasuha, M.T selaku Dosen Pembimbing Proyek Akhir
4. Orang Tua yang telah memberikan kesempatan untuk menggapai cita-cita
5. Para Dosen, Teknisi Lab, dan Staff Jurusan Pendidikan Teknik Elektronika yang telah memberikan bantuan sehingga terselesaikannya Proyek Akhir ini.
6. Seluruh teman-teman mahasiswa Pendidikan Teknik Elektronika Universitas Negeri Yogyakarta dan Himpunan Mahasiswa Elektronika dan Informatika yang telah memberikan bantuan dan semangatnya
7. Seluruh mahasiswa pengurus Keluarga Mahasiswa Hindu Dharma yang yang memberikan inspirasi-inspirasi yang membangun
viii
dibutuhkan guna menyempurnakan laporan Proyek Akhir ini . semoga Proyek Akhir ini dapat memberikan manfaat bagi siapa saja yang membacanya.
Yogyakarta, Januari 2012
ix
HALAMAN JUDUL ... i
LEMBAR PERSETUJUAN ... ii
LEMBAR PENGESAHAN ... iii
LEMBAR PERNYATAAN KEASLIAN KARYA ... iv
MOTTO DAN PERSEMBAHAN ... v
ABSTRAK ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... ix
DAFTAR TABEL ... xii
DAFTAR GAMBAR ... xiii
DAFTAR LAMPIRAN ... xvi
BAB I PENDAHULUAN ... 1
A. Latar Belakang ... 1
B. Identifikasi Masalah ... 3
C. Batasan Masalah ... 4
D. Rumusan Masalah ... 4
E. Tujuan ... 5
F. Manfaat ... 5
G. Keaslian Gagasan ... 6
BAB II LANDASAN TEORI ... 6
A. Spectrum Analyser ... 6
B. Sinyal ... 7
C. Frekuensi Audio ... 9
D. DC Prosesor ... 9
E. Filter Pasif Analog (LPF) ... 11
F. Pengolahan Sinyal Digital ... 13
G. Mikroprosesor Pengolah Sinyal Digital ... 19
x
K. Mixer Sinyal Analog ... 31
L. Bahasa C ... 32
M. Perangkat Lunak CodeVisionAVR ... 33
BAB III PERANCANGAN DAN PEMBUATAN ALAT ... 36
A. Identifikasi Kebutuhan ... 36
B. Analisis Kebutuhan ... 36
C. Blok Diagram Rangkaian ... 37
D. Perancangan dan Rangkaian ... 38
E. Langkah Pembuatan Alat ... 41
F. Diagram Alir Program ... 43
G. Perancangan Program ... 46
BAB IV PENGUJIAN DAN PEMBAHASAN ... 48
A. Pengujian ... 48
1. Pengujian Perbagian ... 48
a. Pengujian rangkaian penguat LM386 dan LPF pasif... 48
b. Pengujian penggeser level tegangan ... 49
c. Pengukuran tegangan referensi (Vref) dan Vcc mikrokontroler, dan Vcc LM386 ... 50
2. Pengujian Keseluruhan ... 50
a. Pengukuran frekuensi dengan satu sinyal masukan ... 50
b. Pengukuran frekuensi dengan 3 sinyal masukan ... 54
c. Pengukuran frekuensi dengan sinyal acak ... 56
xi
1. Analisis tegangan referensi (Vref) dan Vcc
mikrokontroler, dan Vcc LM386 ... 58
2. Analisis penggeser level tegangan... 59
3. Analisis rangkaian penguat LM386 dan LPF pasif ... 59
4. Analisis keseluruhan kerja sistem ... 59
BAB V KESIMPULAN DAN SARAN ... 62
A. Kesimpulan ... 62
B. Kelemahan Alat ... 62
C. Saran ... 63
DAFTAR PUSTAKA ... 64
xii
Tabel 1. Perbandingan komputasi DFT dan FFT ……… ... 15
Tabel 2. Pembalikan Bit ………... 16
Tabel 3. Fungsi khusus PORTB ……….. ... 23
Tabel 4. Fungsi khusus PORTC ……….. ... 23
Tabel 5. Fungsi khusus PORTD ……. ... 23
Tabel 6. Hasil pengukuran rangkaian penguat LM386 dan LPF pasif ... 48
Tabel 7. Hasil pengukuran Vref dan Vcc mikrokontroler ... 50
Tabel 8. Perbandingan hasil pengukuran sinyal osiloskop dan Audio Spectrum Analyser ... 60
xiii
Gambar 1. Block diagram dari classic superheterodyne
spectrum a na lyzer ... 6
Gambar a2. Gelombang sinus………... ... 7
Gambar a3. Sampling sinyal ... 8
Gambar a4. Diagram blok pengolahan sinyal analog dan digital... 8
Gambar a5. Rangkaian ekuivalen dan kaki-kaki LM386 ... 9
Gambar a6. Grafik perbandingan penguatan dan frekuensi ... 10
Gambar a7. Skema rangkaian amplifier LM386 penguatan 200... 10
Gambar a8. Skema rangkaian penggeser level tegangan ... 11
Gambar a9. Grafik sinyal sebelum dan sesudah penggeser level... 12
Gambar 10. Skema rangkaian dasar LPF ... 12
Gambar 11. Grafik LPF perbandingan tegangan dan frekuensi ... 12
Gambar 12. Skema rangkaian Flash ADCs ... 14
Gambar 13. Blok diagram Successive Approximation ADCs ... 14
Gambar 14. Diagram kupu-kupu (butterfly) untuk DFT 8-point ... 18
Gambar 15. Diagram blok sistem bus arsitektur Von Neumann ... 19
Gambar 16. Diagram blok sistem bus arsitektur Harvard ... 20
Gambar 17. Arsitektur Harvard mikrokontrol AVR ... 22
Gambar 18. Blok diagram ATmega32 ... 25
Gambar 19. Konfigurasi pins AVR ATmega32 ... 25
Gambar 20. Diagram blok skema ADC ... 26
Gambar 21. Peta memori program AVR ATmega32... 27
Gambar 22. Peta memori data AVR ATmega32 ... 28
Gambar 23. Pembagian clock ATmega32 ... 29
Gambar 24. Skema rangkaian Downloader ATmega8 AVRISP MKII ... 30
Gambar 25. GLCD tipe WG12864C-TMI VN... 31
Gambar 26. Skema rangkaian mixer sinyal analog ... 32
xiv
Gambar 28. Automatic Program Generator yang digunakan untuk
menginisialisasi beberapa pustaka pada AVR ... 36
Gambar 29. Blok diagram Implementasi sistem Audio Spectrum Analyser . 37 Gambar 30. Skema rangkaian mixer 3 masukan ... 38
Gambar 31. Skema rangkaian LPF cut-off 16 kHz ... 38
Gambar 32. Skema rangkaian amplifier LM386 penguatan 200 kali ... 38
Gambar 33. Skema rangkaian sistem minimum ATmega32 ... 39
Gambar 34. Skema rangkaian USB ISP ... 39
Gambar 35. Skema rangkaian push-botton ... 40
Gambar 36. Skema rangkaian LCD grafik 128 x 64 pixel... 40
Gambar 37. Prosedur data_sampling_adc, proses pengambilan sampel data ADC ... 43
Gambar 38. Fungsi fix_fft (Tom Roberts.1989), proses komputasi FFT ... 44
Gambar 39. Prosedur mendapatkan magnitude sinyal ... 45
Gambar 40. Prosedur menampilkan grafik spektrum LCD ... 45
Gambar 41. Prosedur menampilkan grafik spektrum LCD ... 46
Gambar 42. Respon frekuensi cut-off pada rangkaian LM386 dan LPF ... 49
Gambar 43. Hasil pengukuran penggeser level tegangan ... 49
Gambar 44. Hasil pengukuran penggeser level tegangan amplitudo maksimum ... 49
Gambar 45. Hasil pengukuran frekuensi rendah ... 50
Gambar 46. Hasil pengukuran frekuensi menengah ... 51
Gambar 47. Hasil pengukuran frekuensi tinggi ... 52
Gambar 48. Hasil pengukuran frekuensi menengah ... 53
Gambar 49. Hasil pengukuran tiga frekuensi pada osiloskop ... 54
Gambar 50. Hasil pengukuran tiga frekuensi pada Audio Spectrum Ana lyser ... 55
xv
Gambar 52. Tampilan pada Audio Spectrum Analyser
sebelum ditambahkan sinyal acak ... 56 Gambar 53. Tampilan pada Audio Spectrum Analyser
setelah ditambahkan sinyal acak... 57 Gambar 54. Hasil pengkuran pada Audio Spectrum Analyser
setelah ditambahkan sinyal acak frekuensi 7,869 kHz... 57 Gambar 55. Bentuk gelombang sinus
xvi
Halaman
Lampiran 1. Skema rangkaian Audio Spectrum Analyser ... 67
Lampiran 2. Layout PCB Audio Spectrum Analyser ... 68
Lampiran 3. Tata letak komponen... 69
Lampiran 4. Daftar komponen... 70
Lampiran 5. Listing program lengkap Audio Spectrum Analyser bahasa C... 71
Lampiran 6. Dokumentasi... 97
Lampiran 7. Manual Operasi Audio Spectrum Analyser ... 100
Lampiran 8. Datasheet ATmega32... 104
Lampiran 9. Datasheet LM386 ... 143
1
A. Latar Belakang
Perkembangan teknologi khususnya dalam bidang elektronika mengalami kemajuan yang cukup pesat. Terlebih lagi kemajuan di bidang elektronika yang sangat membantu pekerjaan manusia yang secara tidak langsung dapat dikerjakan seperti pengukuran-pengukuran besaran listrik. Hal ini dapat dilihat dari banyaknya perangkat pengukuran yang menggunakan sistem elektronika, baik secara digital, mikrokontroler serta mikroprosesor. Pengunaan sistem elektronika digital ini dimaksudkan untuk mempercepat aktivitas kerja manusia.
Hadirnya perangkat keras (hardware) dan perangkat lunak (software) adalah bukti perkembangan ilmu pengetahuan dan teknologi elektronika digital. Salah satu diantaranya adalah bidang pengolahan sinyal digital. Perkembangan dibidang ini dimulai dengan pesatnya kemajuan teknologi digital dan mikrokomputer sehingga dimungkinkan implementasi teori-teori pengolahan sinyal digital. Dalam pengolahan sinyal digital terdapat sub bidang yang disebut analisa spektrum frekuensi yang disebut spectrum
analyser. Piranti ukur listrik spectrum analyser merupakan alat ukur yang
berfungsi untuk mengukur besaran frekuensi dan magnitude suatu sinyal. Dalam perkembangannya spectrum analyser dapat mengukur frekuensi lebih dari 1GHz seperti spectrum analyser tipe Rigol DSA1030A mampu mengukur frekuensi hingga 3GHz (http://www.batronix.com). Dengan kemampuannya tersebut, spectrum analyser Rigol DSA1030A harganya sangat mahal, perangkatnya cukup berat untuk dibawa kemana-mana dan dikhususkan untuk pengukuran Radio Frequency (RF) dan gelombang mikro.
merupakan teknologi semi konduktor yang didalamnya terdiri dari beribu-ribu transistor dan komponen lainnya dalam satu kepingan kecil (chip). Fungsi dan tugas dari mikrokontrol ini sama seperti mikrokomputer (CPU) tetapi perbedaannya mikrokontroler digunakan untuk aplikasi khusus sehingga relatif lebih murah dibandingkan mikrokomputer.
ATmega32 adalah salah satu jenis mikrokontroler keluarga AVR (Alf
and Vegard Risc atau Advance Virtual - RISC) yang sekarang
dikembangkan oleh ATMEL. Beberapa keunggulan mikrokontroler AVR dengan mikrokontrol lain yaitu memiliki kecepatan eksekusi program yang lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 (satu) siklus
clock lebih cepat dibandingkan dengan mikrokontroler MCS51 yang
memiliki arsitektur CICS (Complex Instruction Set Compute). ATmega32 dengan flash memori 32 Kbytes, 1024 Bytes EEPROM, 2 Kbyte internal SRAM dan fitur-fitur seperti Timer/Counter, PWM, 8 channel 10 Bit ADC, USART, dan SPI (datasheet ATmega32) dengan fasilitas ini para desainer dapat menggunakannya dalam berbagai aplikasi sistem elektronika seperti robot, otomasi industri, sistem telekomunikasi contohnya sebagai pemroses sinyal digital dan keperluan lainnya.
Mikrokontroler ATmega32 telah menggunakan bahasa pemrograman tingkat tinggi yaitu bahasa C yang lebih mudah dimengerti dan dipahami oleh manusia. Dengan memanfaatkan mikrokontroler ini sebagai piranti pengolah sinyal digital dan mengimplementasikan algoritma pengolah sinyal digital sebagai penganalisis sinyal maka pengembangan pengolahan sinyal digital dapat lebih mudah dan cepat diantaranya sebagai analisa spektrum frekuensi audio.
sebagai prosesor pengolah sinyal digital sangat cukup dan murah untuk membangun suatu perangkat alat ukur audio spectrum analyser. Perangkat ini selain relatif murah, ukuran perangkat lebih kecil dan ringan sehingga memudahkan dalam penggunaan yang berpindah-pindah (portable) dan diharapkan mampu menampilkan spektrum sinyal audio frequency.
Berdasarkan hasil pengamatan dari beberapa mahasiswa KKN (Kuliah Kerja Nyata) di SMK TAV (Sekolah Menegah Kejuruan Teknik Audio Video) di Daerah Istimewa Yogyakarta bahwa belum tersedianya alat ukur
Audio Spectrum Analyser, padahal alat tersebut dibutuhkan sebagai media
pembelajaran untuk menganalisis sinyal audio baik dalam perancangan maupun perbaikan pesawat elektronika seperti Power Amplifier,
Tape-Radio Recorder, Tone Controler, dan sistem audio lainnya. Dengan adanya
suatu perangkat Audio Spectrum Analyser ini guru maupun siswa dapat memanfaatkan teknologi yang jauh lebih murah, mudah dibawa kemana-mana dan praktis untuk praktikum di sekolah-sekolah. Pemanfaatan analisa spektrum ini pun sangat luas dan banyak membantu dalam bidang analisis sinyal di industri khususnya bidang telekomunikasi, laboratorium praktikum sekolah-sekolah dan kehidupan manusia pada umumnya.
Berdasarkan dari berbagai macam fakta keadaan seperti di atas, dengan memanfaatkan mikrokontoler ATmega32 menggunakan pemrograman bahasa C, maka dibuatlah perancangan dan pembuatan alat yang mampu mengamati nilai besaran frekuensi yaitu “Audio Spectrum Analyser Menggunakan Mikrokontroler ATmega32”. Sehingga dengan adanya alat ini diharapkan lebih memudahkan dalam pengamatan dan analisis sinyal digital yang frekuensinya bervariasi.
B. Identifikasi Masalah
Berdasarkan uraian di atas, permasalahan yang dapat diidentifikasi adalah sebagai berikut:
2. Mikrokontroler tidak mampu memproses sinyal frekuensi tinggi yang dapat menyebabkan aliasing.
3. Penampil hasil pengukuran spektrum jarang digunakan dalam aplikasi mikrokontroler.
4. Pemrograman mikrokontroler yang susah untuk komputasi pemrosesan sinyal digital.
5. Audio Spectrum Analyser yang ada dipasaran belum terjangkau oleh
sekolah – sekolah.
C. Batasan Masalah
Berdasarkan beberapa pokok permasalahan yang telah dipaparkan dalam identifikasi masalah, maka penulis membatasi ruang lingkup pembahasan proyek akhir ini. Pembuatan proyek akhir berjudul “Audio Spectrum Analyser Menggunakan Mikrokontroler ATmega32“ dengan batas frekuensi tertinggi 16 kHz, Mikrokontroler ATmega32 sebagai prosesor utama pengolah sinyal digital menggunakan algoritma pemrograman FFT yang ditulis oleh Tom Robert (1989) sehingga mendapatkan bentuk spektrum frekuensi pada penampil LCD grafik 128 x 64 pixel secara realtimes.
D. Rumusan Masalah
Berdasarkan identifikasi masalah dan pembatasan masalah, dapat dirumuskan beberapa masalah yaitu:
1. Bagaimana merealisasikan perangkat keras Audio Spectrum Analyser menggunakan mikrokontroler ATmega32?
2. Bagaimana perangkat lunak pada mikrokontroler ATmega32, dan program tampilan grafis spektrum frekuensi menggunakan penampil LCD Graphic 128 x 64 pixel?
E. Tujuan
1. Merealisasikan rancangan perangkat keras Audio Spectrum Analyser Menggunakan Mikrokontroler ATmega32.
2. Merealisasikan perangkat lunak pada Mikrokontroler ATmega32, dan program tampilan grafis spektrum frekuensi menggunakan penampil LCD
Graphic 128 x 64 pixel.
3. Mendapatkan unjuk kerja sistem Audio Spectrum Analyser Menggunakan Mikrokontroler ATmega32.
F. Manfaat
Dari pembuatan proyek akhir ini penulis mengharapkan dapat memberikan manfaat bagi mahasiswa, lembaga pendidikan, dan masyarakat pengguna. Berbagai manfaat yang diharapkan adalah :
1. Bagi Mahasiswa :
Dapat bermanfaat sebagai penerapan ilmu pengolahan sinyal digital yang didapat di bangku kuliah maupun dari pengalaman di lapangan.
2. Bagi Sekolah / Universitas :
Sebagai alat bantu dalam proses pembelajaran di laboraturium atau di bengkel sebagai alat ukur spektrum frekuensi sinyal audio.
3. Bagi Masyarakat dan Industri :
a. Dapat dimanfaatkan sebagai konsep perancangan sistem audio digital pada equalizer dan peralatan musik lainnya.
G. Keaslian Gagasan
Pembuatan proyek akhir dengan judul “Audio Spectrum Analyser Menggunakan Mikrokontroler ATmega32” ini merupakan gabungan dari ide-ide dasar yang telah dipublikasikan di internet seperti:
1. Real-Time Audio Spectrum Analyzer (Simon Inn, 2011).
Pada karya ini, disebutkan bandwidth frekuensinya 300 Hz – 10 kHz dan tidak dapat menampilkan besaran frekuensi suatu sinyal, hanya tampilan grafik bargraph pada LCD 128 x 64.
2. Audio Spectrum Monitor (Chan, 2005)
Pada karya ini, disebutkan tampilan grafik spektrum mempunyai resolusi 122 x 32 dengan menggunakan bahasa pemrograman assembly yang komputasinya lebih cepat dan tidak dapat menampilkan besaran frekuensi suatu sinyal dan frekuensi tertinggi yang dapat diukur sebesar 9,6 kHz.
3. Spectrum Analyser Rigol DSA1030A
Alat Spectrum Analyser Rigol DSA1030A mempunyai resolusi 800 x 480 pixel color LCD grafik dengan bandwidth frekuensinya dari 9 kHz – 3 Ghz. Alat ini mempunyai berat 6 kg – 7,5 kg dengan harga per unit USD 5659. Teknologi tinggi yang terdapat di dalamnya mampu mengukur RF (Radio Frequency), menyimpan data lewat USB dan
support sistem operasi Windows.
Alat Audio Spectrum Analyser mempunyai beberapa kelebihan dan kekurangan dari karya-karya tersebut diatas. Beberapa kelebihan alat Audio
Spectrum Analyser adalah bandwidth frekuensinya dari 20 Hz – 16 kHz yang
6 A. Spectrum Analyser
Spectrum analyzer adalah suatu program untuk menampilkan spectrum frekuensi suara untuk setian waktu tertentu. Dalam spectrum analyzer terdapat dua buah komponen sinyal yang dapat diteliti, yaitu frekuensi dan amplitudo.
Pembuatan spectrum analyzer dilakukan dengan melakukan perhitungan FFT untuk setiap N buah data pada suatu sinyal secara terus menerus dan berurutan. Spectrum ana lyzer mempunyai kelebihan dalam proses analisis suara disbanding dengankan dengan melihat pada time domain secara langsung, hal ini dikarenakan spectrum analyzer bekerja pada domain frekuensi yang cenderung konstan dan posisi frekuensinya tidak terpengaruh oleh noise. Secara umum Spectrum analyzer dapat digambarkan dalam block diagram berikut:
Gambar 1. Block diagram dari classic superheterodyne spectrum analyzer
gerakan horizontal pada display dari kiri ke kanan, ramp juga melakukan tuning pada local oscillator sehingga memenuhi proporsi tegangan yang diperlukan (http://digilib.petra.ac.id).
B. Sinyal
Sinyal adalah suatu besaran fisis yang merupakan fungsi waktu, ruangan, atau beberapa variabel (Harlianto Tanudjaja, 2007:1). Dalam beberapa kasus, sinyal berhubungan dengan data-data yang berasal dari alam seperti: gelombang audio, gelombang radio, getaran gempa bumi (seismic vibrations), proses kimia, intensitas cahaya, potensial listrik, gambar (visual images) dan sebagainya. Sinyal-sinyal tersebut dapat didefinisikan dengan suatu fungsi yang jelas dan beberapa juga tidak dapat dilihat hubungan fungsi secara nyata dan sangat komplek. Contohnya sinyal suara manusia. Sinyal suara manusia termasuk dalam audio frekuensi dapat dituliskan sebagai fungsi penjumlahan dari beberapa gelombang sinus dengan amplitudo yang berbeda.
∑
Suatu sinyal mempunyai beberapa jenis informasi yang dapat diamati misalnya amplitudo, frekuensi, perbedaan fase, dan gangguan noise. Sinyal listrik dapat direpresentasikan sebagai getaran yang dinyatakan dalam tegangan dan arus. Sinyal dapat direpresentasikan sebagai beberapa gelombang seperti gambar berikut.
Gambar 2. Gelombang sinus
Sinyal dikelompokkan menjadi 2 (dua) jenis, yaitu sinyal analog (continue) dan sinyal diskrit (digital). Sinyal yang berasal dari alam kebanyakan merupakan sinyal analog, contohnya sinyal listrik yang dapat direpresentasikan sebagai getaran. Pada umumnya sinyal dinyatakan dalam bentuk tegangan dan arus. Persamaan umum sebuah sinyal analog dinyatakan dalam persamaan berikut.
Untuk memperoleh sinyal digital dari sinyal analog diperlukan proses sa mpling atau pencuplikan. Frekuensi sampling (Fs) harus memenuhi Kriteria Nyquist:
dengan Fmax adalah frekuensi tertinggi yang akan dilakukan proses sa mpling. Frekuensi sampling yang lebih rendah dari Kriteria Nyquist akan menyebabkan tidak tercupliknya sinyal informasi secara penuh (utuh). Gejala ini disebut dengan aliasing. Hasil sampling sinyal ini disebut sinyal digital yang dapat dibaca dan diproses oleh sistem digital (Digital Signal Prosessing).
Gambar 3. Sampling sinyal
(a) (b)
Gambar 4. (a) Diagram blok pengolahan sinyal analog (conventional) (b) Diagram blok pengolahan sinyal digital (DSP)
Processor
Sinyal sinusoidal analog dan digital dapat dituliskan secara matematik berikut:
untuk sinyal analog untuk sinyal digital
C. Frekuensi Audio
Frekuensi audio atau frekuensi suara adalah getaran frekuensi yang dapat didengar oleh manusia dengan jangkauan frekuensi antara 20 Hz sampai 20 kHz. Sinyal audio dapat berasal dari peralatan penghasil frekuensi audio (AFG = Audio Frekuensi Genera tor) dan peralatan elektronik lainnya seperti radio, televisi, dan perangkat pemutar musik lain yang memproses frekuensi audio. Karena jangkauan frekuensi audio dari 20 Hz – 20 kHz maka ba ndwidth yang diperlukan oleh sebuah peralatan pemroses frekuensi audio lebih besar dari frekuensi 20 kHz atau dua kali lebih besar dari frekuensi maksimum (DSP) sehingga informasi dapat diproses dengan sempurna.
D. DC Prosesor
1. Amplifier LM386
Amplifier LM386 sebagai penguat sinyal audio yang hanya memerlukan tegangan suplai yang rendah dan penguatannya mencapai 20 sampai 200 kali dengan menambahkan kapasitor diantara kaki 1 dan kaki 8. Penguat ini dapat diaplikasikan untuk beberapa peralatan elektronika seperti: penguat radio AM-FM, intercom, tape player, line driver, penguat motor servo, power converter. Berikut adalah gambar rangkaian ekuivalen dan kaki-kaki LM386.
Rangkaian amplifier LM386 dapat beroperasi pada tegangan terendah 4V sampai tegangan tertinggi 12V dan bandwidth (BW) pada tegangan catu 6V sebesar 300 kHz jika kaki 1 dan kaki 8 terbuka atau tanpa kapasitor. Gambar berikut adalah skema rangkaian lengkap amplifier LM386 dan perbandingan penguatan tegangan dan lebar frekuensi.
Gambar 6. Grafik perbandingan penguatan dan frekuensi
Gambar 7. Skema rangkaian amplifier LM386 penguatan 200
2. Penggeser Level
Gambar 8. Skema rangkaian penggeser level tegangan
Tegangan Vin/Vout disebut dengan Vlevel berkisar antara -2,5v sampai +2,5V maka sinyal input akan dapat digeser antara 0V sampai 5V. Sinyal dapat begeser dari level negatif ke level positif berdasarkan pada sifat-sifat sinyal analog berikut:
dengan a adalah Vlevel = 2,5V dan b adalah Vinput = -2,5V sampai + 2,5V. Fungsi menggeser/menaikkan level tegangan sinyal input adalah agar sinyal input dapat disampling sesuai dengan jangkauan ADC (analog to digita l converter) pada processor pengolah sinyal.
Gambar 9. Grafik sinyal sebelum dan sesudah penggeser level
E. Filter Pasif Analog (LPF)
Filter analog berfungsi untuk melewatkan sinyal analog tertentu dan meredam sinyal analog tertentu sesuai dengan karakteristik dari sebuah filter tersebut. LPF (Low Pass Filter) adalah sebuah filter yang melewatkan sinyal frekuensi rendah dan meredam sinyal frekuensi tinggi. LPF analog pasif dasar
(t) (t)
(V) (V)
0 2.5
2.5 5
-2.5 0
Tegangan masukan sebelum penggeser level
(vin) Tegangan keluaran setelah penggeser level
terdiri dari sebuah resistor dan kapasitor yang dirangkai seperti volta ge divider seperti gambar berikut.
Gambar 10. Skema rangkaian dasar LPF
Gambar 11. Grafik LPF perbandingan tegangan dan frekuensi
Rangkaian dari Gambar 10 adalah filter pasif yang umum digunakan. Penyaringan dilakukan oleh RC, dan OPAMP digunakan sebagai penguat sinyal. Pada dasarnya rangkaian RC tersebut merupakan sebuah pembagi tegangan dimana Vout = Vc, dimana
semakin tinggi nilai f (frekuensi) atau mendekati tak hingga berarti
= 0. Sedangkan fc (frekuensi cutoff) dihitung dari
, dengan
(Vo)
Frekuensi
Jangkauan frekuensi yang dilewatkan
Jangkauan frekuensi yang diredam LPF ideal
F. Pengolahan Sinyal Digital 1. Analog to Digital Converter
Ana log to Digita l Converter (ADC) adalah rangkaian/piranti yang berfungsi untuk mengubah atau mengkonversi data sinyal analog menjadi data sinyal digital. Spesifikasi ADC yang perlu menjadi perhatian seperti ketelitian, linearitas, resolusi, kecepatan konversi, stabilitas, harga komponen, batas tegangan input, output kode digital, teknik interfacing, multiplexer internal, pengkondisi sinyal dan memori. (Rachmad Setiawan, 2008).
Resolusi menyatakan tegangan input yang dibutuhkan untuk menaikkan output ADC antara suatu kode dengan kode berikutnya. Misalnya sebuah ADC dengan 10 bit maka resolusinya 1/1024 full scale. Differentia l Non-Linea rity (DNL) adalah nilai penyimpangan maksimum pada lebar kode praktis dari lebar kode idealnya. Integral Non-Linearity adalah maksimal simpangan dari transisi praktis dibandingkan dengan transisi ideal untuk semua kode. Waktu konversi adalah waktu yang diperlukan ADC untuk melakukan satu kali konversi.
Beberapa jenis ADC yang digunakan dalam pengolah sinyal digital yaitu Flash ADCs (Parallel), Successive approximation ADCs, Counting ADCs, dan Integrating ADCs.
Flash ADCs adalah jenis ADC tercepat dalam waktu konversi dan dapat digunakan untuk sampling rates yang tinggi. ADC dengan konverter parallel atau flash ADC menggunakan 2n – 1 komparator. Successive Approxima tion ADCs atau disebut Successive Approxima tion Register (SAR) converter. ADC jenis ini sangat cepat tetapi tidak secepat Flash ADCs. Kelebihan lain ADC ini mudah dalam perancangannya dan sangat murah untuk rata-rata perancangan resolusi (bit) yang tinggi.
Gambar 12. Skema rangkaian Flash ADCs (James D.Broesch, 2009:20)
Gambar 13. Blok diagram Successive Approximation ADCs (James D.Broesch, 2009:21)
2. Kuantisasi
Kuantisasi adalah proses untuk mengubah dari sinyal diskrit bernilai kontinyu menjadi sinyal diskrit. Nilai setiap sinyal hasil sampling diwakili oleh suatu nilai yang telah ditentukan. Dengan adanya suatu nilai yang ditentukan/terhingga, maka akan menyebabkan terjadinya suatu galat (error) yang disebut galat kuantisasi (quantization error) atau derau kuantisasi (quantization noise). Sinyal hasil kuantisasi dari sinyal diskrit x(n) sebagai Q[x(n)] dan adalah sinyal hasil kuantisasi, maka:
Galat kuantisasi adalah yang merupakan selisih antara nilai hasil kuantisasi dengan nilai asalnya, maka . Dalam pengolahan sinyal digital kuantisasi menggunakan nilai biner, contohnya nilai kuantisasi pada interval N adalah
N = 2n
dimana n adalah panjang dari nilai biner tersebut. Nilai biner ini berkaitan dengan resolusi pada ADC misalnya dengan n = 8 bit maka N = 256.
3. Fast Fourier Transform (FFT)
Fast Fourier Transform (FFT) adalah algoritma Transformasi Fourier merupakan pengembangan dari algoritma Discrete Fourier Transform (DFT).Transformasi Fourier adalah transformasi yang digunakan untuk mengubah data sinyal dari daerah waktu (time domain) menjadi daerah frekuensi (frequency domain). Transformasi Fourier Waktu Diskrit (DTFT) dari x(n) dapat didefinisikan sebagai :
∑
dan Transformasi Fourier Diskrit (DFT) dari x(n) dapat didefinisikan sebagai :
∑
dimana nilai bilangan kompleks dalam Rumus Euler ejθ= cosθ + j sinθ dan bentuk polar dari x(k) adalah :
Magnitude: │X(k)│ = √
Phase: θ(k) = tan-1
Algoritma Fourier cepat atau FFT merupakan algoritma yang saat ini banyak digunakan karena metode komputasi DFT yang lebih efisien sehingga mempercepat proses perhitungan. Bila diterapkan dalam kawasan waktu maka FFT juga disebut FFT DIT (Decimation In Time) yaitu proses pembagian atau penipisan sinyal menjadi bagian yang lebih kecil sehingga komputasi dapat lebih cepat. Perbandingan operasi perkalian dari DFT dan FFT dapat dilihat dalam proses berikut (Harlianto Tanudjaja, 2007).
DFT Operasi perkalian bilangan kompleks sebanyak N2 Operasi penjumlahan sebanyak N(N-1)
FFT Menggunakan proses komputasi N/2
Tabel 1. Perbandingan komputasi DFT dan FFT (Embree, Paul M, 1995:31)
Transform Length (N) DFT Operation (N2)
∑
dibagi batasnya menjadi bagian genap dan ganjil pada domain waktu dan domain frekuensi maka persamaan menjadi
∑
∑
merupakan persamaan FFT radix-2 Decimation In Time (DIT) yang mana deretan data bagian genap dan ganjil menjadi dua DFT N/2 data (Sugeng Riyanto, 2009).
Algoritma FFT dapat direpresentasikan dalam bentuk diagram untuk mempermudah dalam perhitungan. Algoritma ini disebut dengan diagram kupu (Butterfly) pada Gambar 14. Data masukan ke diagram kupu-kupu tersebut merupakan data yang sudah melalui proses pembalikan bit (Bit-Reversa l) melalui proses DIT. Pada masing-masing kupu-kupu mengandung proses perkalian kompleks (N complex multiplication) yaitu N/2 memungkinkan komputasi menjadi lebih cepat dari N2 pada DFT. Dengan proses DIT tersebut, maka data hasil komputasi akhir mempunyai urutan yang sesuai. Tabel 2 berikut menunjukkan data masukkan disusun ulang.
Tabel 2. Pembalikan Bit (Nandra Pradipta, 2011)
Gambar 14. Diagram kupu-kupu (butterfly) untuk DFT 8-point (Nandra Pradipta, 2011)
Menurut Nandra Pradipta (2011), perancangan algoritma FFT ada beberapa tahapan yaitu:
1. Data sinyal masukan (input) menggunakan Bit-reversal atau pembalikan bit.
2. Komputasi FFT sebanyak N-point menggunakan algoritma kupu-kupu.
3. Melakukan pemisahan antara data ganjil dan genap 4. Perhitungan data sinyal keluaran akhir
4. Algoritma FFT Tom Roberts
Algoritma FFT Tom Roberts merupakan algoritma FFT 16-Bit. Untuk komputasi FFT (domain waktu ke domain frekuensi), algoritma mempunyai batasan nilai tetap (fixed-scaling) 16-bit data dari – 32768 sampai + 32768 yang mewakili nilai – 1,0 sampai + 1,0 untuk mencegah terjadinya overflow. Algoritma FFT ini merupakan algoritma FFT Radix-2 DIT dengan N complex multiplications sebesar 10Radix-24.
(http://www.jjj.de/fft/fftpa ge.html)
G. Mikroprosesor Pengolah Sinyal Digital 1. Conventional Microprocessor
Conventiona l microprocessor menggunakan arsitektur Von Neumann dimana hanya terdapat sebuah bus untuk transfer data dan intruksi diantara memori luar dan prosesor. Setiap microprocessor terdapat tiga bagian bus yaitu: bus data, bus alamat (address) dan bus kendali (control). Pada banyak kasus, sistem bus digunakan untuk operasi I/O. Proses pengolahan sinyal yang lebih kompleks sistem bus akan mengalami bottleneck. Processor dapat dipercepat kinerjanya dengan menambahkan ca che memory. Memori ini dapat diakses untuk proses transfer data pada sistem bus sehingga untuk pengolahan sinyal lebih efisien. Execution unit (EU) pada konvensional microprocessor terdiri dari Aritmatic Logic Unit (ALU), Multiplier, Shifter, Floa ting Point Unit (FPU) dan beberapa data dan Flag Regiter. Dalam pengolahan sinyal digital diperlukan operasi MAC (Multiply a nd Accumula te) yang dalam processor ini menggunakan genera l purpose da ta register.
Perkembangan saat ini banyak processor yang memiliki sistem CISC (Complex Instruction Set Computer) dan RISC (Reduce Intruction Set Computer) dengan eksekusi program lebih cepat yaitu sebagian besar instruksi dieksekusi dalam 1 (satu) siklus clock. Konvensional microprocessor yang bukan general purpose microprocessor memerlukan banyak perangkat tambahan luar seperti hardware konverter A/D dan D/A, konverter interface seperti SPI, I2C yang masih mengggunakan komunikasi parallel.
2. DSP Microprocessors
DSP (Digital Signal Processors) menggunakan arsitektur Harvard dan beberapa modifikasi dari arsitektur ini. Pada arsitektur Harvard paling sedikit mempunyai dua sistem bus, satu untuk intruksi dan satu untuk data. Tetapi dalam DSP dapat kita temukan tiga sistem bus yaitu intruksi, transfer data (I/O), dan transfer coefficient untuk memori yang terpisah. Untuk melaksanakan komputasi pengolahan sinyal digital hanya diperlukan 12 bus cycles mencakup intruksi dan data transfer. Beberapa chip DSP memiliki memori unternal yang dialokasikan untuk data memory¸coeficient memory atau instruction memory.
Gambar 16. Diagram blok sistem bus arsitektur Harvard
bekerja secara serentak. Kebanyakan DSP telah dilengkapi dengan LUT (Look-Up Ta ble) pada ROM. Tabel ini dilengkapi dengan array sin/cosin untuk FFT. Microprocessor DSP dibangun untuk komunikasi serial yang super cepat. Port serial secara langsung dapat dikoneksikan ke perangkat coder dan decoder atau A/D dan D/A.
H. Mikrokontroler ATmega32 1. Mikrokontroler AVR
Mikrokontrol adalah prosesor kecil dan digunakan untuk aplikasi khusus dari Mikrokomputer atau Komputer. Perbedaan antara mikrokomputer dan mikrokontrol adalah kecepatan mikrokomputer mencapai 2 GHz sedangkan mikrokontrol hanya sebatas 8 MHz – 40 MHz, mikrokontrol hanya menjalankan program yang tersimpan dalam ROM yang bersifat non-volatile (tetap tersimpan walupun tidak ada sumber daya), RAM mikrokomputer sampai ukuran Mbyte sedangkan mikrokontrol hanya berukuran sangat kecil 128 byte, 256 byte, 2Kbyte dan seterusnya, dan mikrokomputer merupakan general purpose computer (komputer serbaguna) sedangkan mikrokontrol merupakan specia l purpose computer (komputer dengan tujuan khusus).
( http://agfi.staff.ugm.ac.id/blog/index.php/2008/11/apakah-mikrokontroler-itu/ )
Mikrokontroler AVR adalah mikrokontrol sistem RISC 8 bit berdasarkan arsitektur Harvard buatan Atmel. AVR (Advance Versatile
RISC atau Alf and Vegard’s RISC Processor) memiliki kecepatan eksekusi program yang lebih cepat karena sebagian besar instruksi dieksekusi dalam 1 siklus clock dibandingkan dengan mikrokontrol MCS51 dengan arsitektur CISC yang membutuhkan 12 siklus clock untuk 1 instruksi. (Heri Andrianto: 2008).
2. Arsitektur Mikrokontroler ATmega32
untuk memaksimalkan kecepatan. Proses instruksi dalam memori program dieksekusi dengan pipelining single level. Ketika satu instruksi dieksekusi, instruksi berikutnya diambil dari memori program. Dengan proses ini instruksi dapat dieksekusi setiap clock cycle.
Gambar 17. Arsitektur Harvard mikrokontrol AVR
3. Fitur ATmega32
Keluarga AVR memiliki bermacam-macam fitur yang dapat digunakan oleh programmer dan desainer untuk mengembangkan berbagai sistem kontrol. Fitur fitur ATmega32 adalah sebagai berikut: a. Mikrokontroler AVR 8 bit daya rendah dengan kemampuan kinerja
tinggi.
b. Arsitektur RISC dengan kecepatan prosesor mencapai 16 MIPS (Million Instruction Per Second) pada frekuensi kristal 16 MHz. c. Memiliki kapasitas memori non-volatile seperti Flash memori 32
Kbyte, EEPROM kapasitas 1024 byte dan SRAM kapasitas 2 Kbyte d. Antarmuka JTAG yang berfungsi untuk akses debugger ke unit
e. Fitur Per ipheral
1) 2 buah timer/counter 8 bit 2) Sebuah timer/counter 16 bit
3) Real time counter dengan osilator yang terpisah 4) 4 buah channel PWM
5) 8 buah channel, 10 bit ADC
6) Byte-oriented Two wire Seria l Interfa ce 7) Progra mma ble seria l USART
8) Antar muka serial SPI
9) Wa cthdog Timer dengan osilator internal 10)On-chip Ana log Compa ra tor
f. Saluran I/O (Input/Output) berjumlah 32 buah yaitu PORTA, PORTB, PORTC, dan PORTD
g. Tegangan operasi mikrokontrol ATmega32L sebesar 2,7V – 5,5V dengan osilator kristal maksimal 8 MHz, untuk ATmega32 sebesar 4,5V – 5,5V dengan osilator kristal sebesar 16 MHz.
4. Konfigurasi Pin ATmega32
ATmega32 memiliki 40 buah pin/kaki, dimana 32 pin tersebut adalah berfungsi sebagai jalur I/O dan fungsi khusus yang dapat berkomunikasi dari dan menuju mikrokontroler tergantung dari inisialisasi register di dalamnya. Berikut ini adalah susunan kaki-kaki dari ATmega32 pada kemasan PDIP (Plastic Dual Inline Package).
a. VCC adalah pin masukan catu daya positif b. GND adalah pin ground dari catu daya
c. PORTA – PORTD merupakan jalur input/output dua arah yang dapat diseting tegangan tinggi atau rendah melalui resistor pull-up.
d. PORTA (PA7 – PA0) adalah input analog menuju ADC7 – ADC0 e. PORTB (PB7 – PB0) merupakan fungsi khusus seperti pada tabel 3
Tabel 3. Fungsi khusus PORTB
f. PORTC (PC7 – PC0) merupakan fungsi khusus seperti pada tabel 4. Jika JTAG masih diaktifkan (enable), PC5, PC3, PC2 akan tetap dalam kondisi aktif walaupun telah direset.
Tabel 4. Fungsi khusus PORTC
g. PORTD (PD7 – PD0) merupakan fungsi khusus seperti tabel 5 berikut Tabel 5. Fungsi khusus PORTD
h. RESET merupakan pin untuk mereset mikrokontrol dengan menghubungsingkatkan kaki 9 pada mikrokontroler ke GND
i. XTAL1 dan XTAL2 untuk masukan clock eksternal
k. AREF merupakan pin masukan untuk tegangan referensi ADC
Gambar 18. Blok diagram ATmega32
5. ADC Mikrokontroler ATmega32
ADC (Analog to Digital Converter ) mikrokontroler ATmega32 adalah jenis successive approximation ADC sebanyak 8 channel dengan resolusi 10 bit. ATmega32 memiliki fitur ADC diantaranya waktu konversi yang
cepat 13 μS – 260 μS dan resolusi maksimalnya sampai 15 kSPS.
Tegangan referensi VREF adalah sama dengan VCC yaitu 5V, jika memakai internal VREF sebesar 2,56V.
Resolusi maksimal pada jenis successive approximation ADC memerlukan input frekuensi clock antara 50 kHz sampai 200 kHz. Jika resolusi yang lebih rendah dari 10 bit dibutuhkan, maka input frekuensi clock ADC bisa lebih besar dari 200 kHz untuk mendapatkan sample rate (kecepatan pencuplikan) yang tinggi. Hasil sampling sinyal dikonversi (single ended conversion) menggunakan rumus matematika berikut:
Kecepatan hasil cuplikan ADC tergantung dari nilai kristal pada mikrokontroler. Kristal 16 MHz (maksimum clock) dengan prescaler (faktor pembagi) 16 maka clock ADC adalah 1 MHz. ADC memerlukan 13 clock cycle untuk menyelesaikan konversinya pada single ended conversion. Jadi clock ADC dibagi dengan 13 menghasilkan sample rate 76923 Hz atau 76,9 Khz. Bandwidth frekuensi input ADC ATmega32 adalah 38,5 kHz. (datasheet ATmega32: 293).
6. Peta Memori ATmega32
Arsitektur AVR telah memiliki dua memori utama, memori untuk data dan memori untuk program. Selain itu, AVR memiliki EEPROM sebagai memori penyimpan data. ATmega32 memiliki 32 kbyte On-chip In-System Reprogra mable Fla sh Memory atau memori yang dapat diprogram berkali-kali yang berfungsi sebagai penyimpan program. Untuk keamanan AVR program, memori program dibagi menjadi dua bagian, yaitu boot progra m dan program aplikasi. Memori flash termasuk dalam memori program dalam arsitektur AVR.
Gambar 22. Peta memori data AVR ATmega32
Memori data dibagi menjadi dua bagian yaitu SRAM (Static Random Access Memory) dan EEPROM (Electronically Erasable Programmable Rea d Only Memory). Memori data SRAM adalah memori penyimpan sementara terbagi menjadi 3 bagian, yaitu 32 buah GPR (General Purpose Register), 64 buah register I/O dan 2 kbyte SRAM internal.
Memori data EEPROM terdiri dari 1024 byte memori 8 bit yang dapat dibaca dan ditulis. Data yang tersimpan adalah data terakhir ketika catu daya dimatikan karena EEPROM bersifat nonvolatile. Alamat memori EEPROM dimulai dari $000 sampai $1FF.
7. Sistem Clock ATmega32
operasi antar muka flash seperti memori Flash dan EEPROM. Asynchronous Timer Clock merupakan clock untuk Asynchronous Timer/Counter yang sumber clock langsung dari kristal luar 32 kHz. ADC Clock adalah clock yang sepenuhnya untuk sumber clock ADC.
Gambar 23. Pembagian clock ATmega32
I. Downloader ATmega8
Donwloader ATmega8 adalah perangkat yang digunakan untuk menulis, membaca, dan menghapus program dari/ke mikrokontroler keluarga AVR seperti ATmega8, ATmega16, ATmega32, ATmega128 dll. Rangkaian Donwloa der ATmega 8 yang dipakai dibuat oleh Thomas Fischl. (Dayat Kurniawan.2009). ATmega8 sebagai komponen utama karena bentuknya yang kecil, hanya terdiri dari 23 I/O (In-Out) sehingga lebih praktis sebagai perangkat downloader.
downloa der mengggunakan software AVR Studio 4.18 yang didalamnya terdapat driver MKII.
Gambar 24. Skema rangkaian Downloader ATmega8 AVRISP MKII
Spesifikasi dari downloader ATmega8 AVRISP MKII adalah sebagai berikut:
1. Compa tible AVR Studio Versi 4.12 atau di atasnya 2. Compa tible CodeVisionAVR 2.05.3 Standard
3. Dapat digunakan untuk semua mikrokontroler keluarga AVR 4. Progra mer flash memory dan EEPROM
5. Dapat digunakan untuk setting fuses dan lock bits
6. Progra ming speed yang dapat diatur (50 Hz – 8 Mhz SCK frekuensi) 7. Digunakan pada USB 2.0 (full speed, 12 Mbps)
J. Graphic LCD 128 x 64 pixel
tertentu. WG12864C-TMI VN adalah modul dengan tampilan grafik 128 x 64 pixel tipe STN Negative Transmissive Blue dengan white led backlight
Gambar 25. GLCD tipe WG12864C-TMI VN
. Modul GLCD ini dilengkapi dengan mikroprosesor KS0107-KS0108 buatan Samsung sebagai driver 64 channel output pada penampil matriks GLCD. Perangkat ini terdiri dari display RAM (Random Access Memmor y) kapasitas 512 bytes, 64 bit data lacth 64 bit drivers dan decoder logic. GLCD 128 x 64 memerlukan program (library) khusus untuk mikroprosesor KS0108 agar dapat berkomunikasi dengan mikrokontroler. Library tersebut terdapat pada program compiler CodeVisionAVR versi 2.05.3 Standar .
K. Mixer Sinyal Analog
Mixer adalah pencampur yang dalam hal ini sebagai pencampur sinyal-sinyal analog dari beberapa sumber input sinyal-sinyal menjadi satu output sinyal-sinyal campuran. Mixer sinyal prinsif kerjanya sama dengan mixer audio pada perangkat sound system. Beberapa sinyal melalui sebuah hambatan (resistor) tidak berpengaruh terhadap perubahan frekuensi sinyal, jika sinyal melalui sebuah mixer maka sinyal akan ditambahkan dengan sinyal yang lain seperti rumus matematik berikut:
Gambar 26. Skema rangkaian mixer sinyal analog
L. Bahasa C
Bahasa pemrograman C dikembangkan pertama kali oleh Dennis Ritchie dan Ken Thomsom pada tahun 1972. Perangkat – perangkat mikroprosesor (komputer) telah banyak mengembangkan program aplikasinya menggunakan Bahasa C. Compiler Bahasa C dari Microsoft adalah Microsoft C dan Visual C sedangkan dari Borlan internasional juga mengeluarkan Turbo C dan Borlan C.(Rosihan Ari Yuana: 2005). Bahasa C mempunyai standar baku ANSI (American Nasional Standar Institute) untuk compiler – compiler tersebut. Dalam pemrograman mikroprosesor dan mikrokontrol, Bahasa C telah menggeser bahasa yang pemrograman mikrokontroler yaitu bahasa a ssembler. Bahasa assembler (assembly) adalah bahasa pemrograman tingkat rendah atau bahasa yang mendekati bahasa mesin sehingga dalam penggunaannya relatif lebih sulit dimengerti.
Struktur penulisan Bahasa C secara umum terdiri dari 4 bagian, yaitu: 1. Header
2. Deklarasi variabel 3. Fungsi atau prosedur 4. Program utama
M.Perangkat Lunak CodeVisionAVR
CodeVisionAVR adalah salah satu dari sekian banyak compiler bahasa C yang mendukung mikrokontroler AVR. Dalam perkembangannya, CodeVisionAVR versi 2.05.3 Standar merupakan compiler terbaru produk Pavel Haiduc dan HP InfoTech S.L.R tahun 1998-2011. Compiler ini memiliki tiga komponen utama yang telah terintegrasi didalamnya, yaitu: Integra ted Development Environment (IDE) adalah lembar kerja seperti Microsoft Windows (jendela aplikasi), C Compiler Reference adalah referensi struktur penulisan syntax program, Library Fuctions Reference adalah referensi pustaka fungsi seperti: #include pada header files, Automatic Progra m Genera tor dan Automatic Program Generator for XMEGA Chips adalah aplikasi untuk membangkitkan kode-kode program secara otomatis . Program compiler C dapat beroperasi pada Windows 2000, XP, Vista dan Windows 7 pada sistem operasi 32 bit dan 64 bit. Dari pengembangnya compiler C mengimplementasikan semua komponen – komponen bahasa C standar ANSI, dapat diterapkan pada arsitektur AVR, dengan beberapa fitur tambahan yang sesuai dengan arsitektur AVR dan sistem yang tertanan didalamnya. IDE CodeVisionAVR versi 2.05.3 telah dilengkapi AVR chip In-System Progra mer (ISP) Software yang dapat secara otomatis mengirimkan program ke mikrokontroler.
ISP software dapat bekerja dengan beberapa interface seperti STK500, STK600, AVRISP, AVRISP MkII, AVR Dra gon, AVRProg (AVR910
a pplica tion note), Ka nda Systems STK200+ , STK300, Dontronics DT006,
Vogel Elektronik VTEC-ISP, Futurlec JRAVR dan MicroTronics' ATCPU,
Gambar 27. Tampilan IDE CodeVisionAVR versi 2.05.3
Selain pustaka (Library) standar dari bahasa C, CodeVisionAVR versi 2.05.3 terdapat beberapa tambahan pustaka untuk :
1. Modul LCD Alpha numerik da n LCD gra fik 2. Philip I2C bus
3. Na tiona l Semiconductor LM75 Tempera ture Sensor
4. Philips PCF8563, PCF8583, Ma xim/Da lla s Semiconductor DS1302 a nd DS1307 Rea l Time Clocks
5. Ma xim/Da lla s Semiconductor 1 Wire protocol
6. Ma xim/Da lla s Semiconductor DS1820, DS18S20 a nd DS18B20 Tempera ture Sensors
7. Ma xim/Da lla s Semiconductor DS1621 Thermometer/Thermosta t
8. Ma xim/Da lla s Semiconductor DS2430 and DS2433 EEPROMs
9. SPI
10.TWI for both XMEGA a nd non-XMEGA chips
11.Power ma na gement
12.Dela ys
13.Gra y code conversion
14.MMC/SD/SD HC FLASH memory ca rds low level a ccess
CodeVisionAVR versi 2.05.3 mendukung Automatic Program Generator atau CodeWizardAVR untuk mempercepat dalam penulisan syntax/code program. Program generator ini seperti application wizard pada bahasa pemrograman visual di komputer (Borland Delphi, Visual C). Pada versi ini terdapat beberapa tambahan fitur, yaitu:
1. Externa l memory a ccess setup
2. Chip reset source identifica tion
3. Input/Output Port initia liza tion
4. Externa l Interrupts initia liza tion
5. Timers/Counters initia liza tion
6. Wa tchdog Timer initia liza tion
7. UART (USART) initia liza tion a nd interrupt driven buffered seria l communica tion
8. Ana log Compa ra tor initia liza tion
9. ADC a nd DAC initia liza tion
10.SPI Interfa ce initia liza tion
11.Two Wire Interfa ce initia liza tion
12.CAN Interfa ce initia liza tion
13.LCD module initia liza tion.
14.1 Wire Bus a nd DS1820/DS18S20 Tempera ture Sensors initia liza tion
15.I2C Bus, LM75 Tempera ture Sensor, DS1621 Thermometer/Thermosta t a nd PCF8563, PCF8583, DS1302, DS1307 Rea l Time Clocks
36
Perancangan alat Audio Spektrum Analyser menggunakan mikrokontroler ATmega32 menggunakan metode rancang bangun. Metode tersebut diantaranya dimulai dari identifikasi kebutuhan yang diperlukan, penentuan komponen-komponen dari hasil analisis kebutuhan, dan selanjutnya dilakukan perancangan perangkat keras dan perangkat lunak, pembuatan alat dan program, dan pengujian unjuk kerja alat.
A. Identifikasi Kebutuhan
1. Dibutuhkannya prosesor untuk pengolah sinyal digital analisa spektrum frekuensi
2. Dibutuhkannya pengkondisi sinyal yang sesuai untuk masukan mikrokontroler
3. Dibutuhkannya pembatas sinyal frekuensi yang tepat sesuai dengan kemampuan mikrokontroler untuk mencegah aliasing
4. Dibutuhkannya media penampil spektrum frekuensi untuk memberikan informasi dalam bentuk grafik spektrum maupun karakter (Alphanumeric) 5. Dibutuhkannya bahasa pemrograman yang sesuai untuk mengaplikasikan
algoritma pengolah sinyal digital FFT dan tampilan spektrum frekuensi 6. Dibutuhkan komponen sebagai masukan, tombol pemindah kursor
menambah maupun mengurangi skala frekuensi, kursor vertikal, zoom frekuensi, skala kursor, dan tombol penampil bentuk gelombang.
7. Dibutuhkan perangkat mixer sinyal sebagai pencampur sinyal masukan 8. Dibutuhkan USB ISP untuk pengisian firmware mikrokontroler
B. Analisis Kebutuhan
Berdasarkan identifikasi kebutuhan dapat diperoleh beberapa analisis kebutuhan sebagai berikut:
2. Menggunakan penguat LM386 untuk menguatkan sinyal input sehingga dapat dibaca oleh mikrokontoler
3. Menggunakan LPF pasif dengan frekuensi cut-off 16 kHz
4. Menggunakan LCD grafik 128 x 16 tipe WG12864C-TMI VN untuk media penampil dalam memberikan informasi grafik spektrum dan karakter
5. Menggunakan bahasa pemrograman C untuk mengaplikasikan algoritma pengolah sinyal digital FFT dan tampilan grafik spektrum frekuensi 6. Menggunakan push button untuk masukan tombol pemindah kursor
menambah maupun mengurangi skala frekuensi, kursor vertikal, zoom frekuensi, skala kursor, dan tombol penampil bentuk gelombang.
7. Menggunakan mixer sinyal untuk 3 buah masukan dan 1 buah keluaran 8. Menggunakan USB ISP ATmega8 untuk pengisian firmwa re
mikrokontroler
C. Blok Diagram Rangkaian
Gambar 29. Blok diagram implementasi sistem Audio Spectrum Analyser Atmega32
Mixer
Pengkondisi Sinyal
LCD Grafik 128 x 64 LPF
Input Sinyal Audio
Pengaturan Amplitudo-Kontras
D. Perancangan dan Rangkaian
Perancangan dan rangkaian Audio Spectrum Analyser terdiri dari 7 (tujuh) blok rangkaian yang dibuat dengan bantuan program Proteus 7 Profesional yaitu: blok rangkaian mixer sinyal, rangkaian LPF, rangkaian pengkondisi sinyal LM386, rangkaian sistem minimum ATmega32, rangkaian USB ISP, rangkaian push button, dan rangkaian LCD grafik.
1. Rangkaian mixer sinyal
Gambar 30. Skema rangkaian mixer 3 masukan
2. Rangkaian LPF
Gambar 31. Skema rangkaian LPF cut-off 16 kHz
3. Rangkaian pengkondisi sinyal LM386
4. Rangkaian sistem minimum ATmega32
Gambar 33. Skema rangkaian sistem minimum ATmega32
5. Rangkaian USB ISP
6. Rangkaian push button
Gambar 35. Skema rangkaian push-button
7. Rangkaian LCD grafik
E. Langkah Pembuatan Alat
Langkah pembuatan alat pada proyek akhir ini terdiri dari pembuatan PCB (Printed Circuit Board), pemasangan tata letak komponen pada PCB, pemasangan layout PCB dan piranti pendukung lain pada boks.
1. Pembuatan PCB a) Desain layout PCB
Perencanaan awal proses pembuatan PCB adalah mendesain dari skema rangkaian menjadi layout PCB menggunakan bantuan software Proteus Versi 7.5 buatan Labcenter Electronics. Desain layout PCB terbagi menjadi 2 bagian yaitu bagian sistem minimum mikrokontroler ATmega32 dan LCD, dan bagian USB ISP, pengkondisi sinyal, dan LPF. Desain akhir layout PCB pada lampiran. b) Toner transfer paper
Toner transfer paper adalah proses atau cara untuk mencetak gambar layout dari kertas toner (kertas transparansi) ke PCB dengan tekanan panas. Proses toner transfer paper dengan urutan sebagai berikut: 1) Mencetak gambar layout PCB ke kertas transparansi melalui
softwa re Proteus Versi 7.5.
2) Memotong kertas transparansi sesuai gambar layout dan ukuran PCB
3) Mencetak gambar layout PCB pada kertas transparansi ke permukaan PCB dengan cara memanaskan kertas dan PCB dalam keadaan menempel selama ± 5 menit.
4) Memperbaiki jalur layout PCB yang belum sempurna dengan spidol permanen.
c) Proses etching
d) Proses drilling
Pengeboran atau drilling merupakan tahap akhir dalam pembuatan PCB. Sesuaikan ukuran mata bor dengan kaki komponen berkisar antara 0,8 mm – 1 mm.
2. Pemasangan tata letak komponen pada PCB
Memasang komponen-komponen elektronika pada PCB yang telah siap dengan urutan pemasangan sebagai berikut:
a) Menyiapkan semua komponen yang diperlukan
b) Membersihkan kaki-kaki komponen dengan amplas/cutter
c) Memasang komponen dari komponen pasif (resistor, kapasitor, jumper, soket IC, konektor kabel, push button) dan selanjutnya komponen aktif (diode, LED, IC).
d) Menyolder semua komponen menggunakan panas yang cukup dan komponen tertata rapi.
e) Melakukan pengecekan jalur layout PCB dan pengujian rangkaian untuk mengetahui sistem telah berfungsi.
3. Pemasangan layout PCB dan piranti pendukung lain pada boks
Pada tahap akhir pembuatan alat, yaitu melakukan pemasangan layout PCB dan piranti pendukung lain pada boks yang berdimensi (14,5 cm x 9,5 cm x 5 cm). Desain boks pada lampiran. Pemasangan sistem rangkaian pada boks serbaguna sesuai dengan urutan berikut:
a) Pengukuran – pengukuran boks dengan komponen seperti LCD, potensiometer, tombol-tombol, konektor audio, konektor USB, konektor catu daya.
b) Melubangi boks serbaguna sesuai dengan ukuran tersebut
c) Pemasangan sistem rangkaian mulai dari rangkaian sistem minimum dan LCD, instalasi tombol-tombol, potensiometer, konektor-konektor dan terakhir pemasangan rangkaian USB ISP.
F. Diagram Alir Program
Diagram alir program atau flowchart program pada alat Audio Spectrum Ana lyser menggunakan ATmega32 terbagi menjadi 3 (tiga) bagian program pokok yaitu: program ADC, program komputasi FFT, program grafik spektrum pada LCD. Berikut flowchart program yang terbagi menjadi beberapa bagian fungsi atau prosedur.
1. Prosedur pengambilan 256 sampel data program ADC resolusi 10 bit
MULAI
SINYAL < SAMPLE TUNDA SAMPLE
SELESAI YA
TIDAK INPUT SINYAL SAMPLE = 256
BACA SAMPLE KE N
N=N+1
2. Fungsi FFT Radix-2 DIT dengan jumlah sinyal input 256-point
MULAI
BIT REVERSAL (PEMBALIKAN BIT)
PERHITUNGAN KOMPLEK ALGORITMA BUTTERFLY
HASIL FFT DATA REAL DAN DATA IMAGINER
SELESAI TWIDDLE FACTOR (FAKTOR PEMUTARAN)
RECTANGULAR WINDOWING
SAMPLE = 256/2
YA TIDAK
INPUT SINYAL 256 SAMPLE
3. Prosedur perhitungan magnitude data real dan imaginer hasil proses FFT
MULAI
DATA < SAMPLE
SELESAI YA
TIDAK INPUT DATA REAL DAN DATA IMAGINER
SAMPLE = 256
N = N + 1
AKAR KUADRAT DATA REAL DAN IMAGINER
SQRT(DATA)
DATA SPEKTRUM KE N
Gambar 39. Prosedur mendapatkan magnitude sinyal
4. Fungsi menampilkan grafik spektrum pada LCD 128 x 64
MULAI
INPUT DATA SPEKTRUM
DATA SPEKTRUM <128 YA
SELESAI TIDAK TAMPILKAN FREKUENSI DAN
AMPLITUDO SPEKTRUM
5. Prosedur menampilkan bentuk gelombang pada LCD 128 x 64
MULAI
INPUT DATA ADC
DATA ADC < 256
SELESAI TAMPILKAN GELOMBANG
KE N
YA
TIDAK N = N + 1
Gambar 41. Prosedur menampilkan grafik spektrum LCD
G. Perancangan Program
Program utama dari alat Audio Spectrum Analyzer Menggunakan ATmega32 ini adalah program komputasi cepat FFT yang dibuat oleh Tom Robert (1989) dan telah diaplikasikan oleh Simon Inn pada mikrokontroler PIC18F (2011). Program Audio Spectrum Analyzer Menggunakan ATmega32 dibuat dengan bahasa pemrograman C dan menggunakan compiler CodeVisionAVR versi 2.05.3. Beberapa program digunakan untuk inisialisasi fitur mikrokontrol ATmega32 seperti : program ADC 10 bit, program membaca keypad/push button, program LCD grafik dan program mengakses EEPROM.
Alat Audio Spectrum Analyzer Menggunakan ATmega32 tersusun atas program seperti berikut:
1. Program ADC 10 bit 2. Program sampling data 3. Program FFT
6. Program display gelombang (wave) 7. Program akses EEPROM
8. Program keypad
48 A. Pengujian
Pengujian pada alat Audio Spectrum Analyser menggunakan pengujian perbagian dan pengujian keseluruhan. Pengujian perbagian terdiri dari pengujian rangkaian penguatan LM386 dan LPF pasif, pengujian penggeser level tegangan dan pengukuran tegangan referensi (Vref) dan VCC mikrokontroler, sedangkan pengujian keseluruhan terdiri dari pengukuran frekuensi dengan 1 sinyal masukan, frekuensi dengan 3 sinyal masukan, frekuensi dengan sinyal acak (random) dan tamppilan bentuk gelombang sinus.
1. Pengujian Perbagian
a. Pengujian rangkaian penguat LM386 dan LPF pasif
Gambar 42. Respon frekuensi cut-off pada rangkaian LM386 dan LPF
b. Pengujian penggeser level tegangan
Gambar 43. Hasil pengukuran penggeser level tegangan
Gambar 44. Hasil pengukuran penggeser level tegangan amplitudo maksimum
Amplitudo
Frekuensi
2.96 Vpp
0 Vpp
500Hz
c. Pengukuran tegangan referensi (Vref) dan Vcc mikrokontroler, dan Vcc LM386
Tabel 7. Hasil pengukuran Vref dan Vcc mikrokontroler
No Tegangan ATmega32 ATmega8 LM386
1 Vref 4,8 V 4,8 V -
2 Vcc 4,8 V 4,8 V 4,4
3 Adaptor 4,8 V 4,8 V -
2. Pengujian Keseluruhan
a. Pengukuran frekuensi dengan satu sinyal masukan
(a)
(b)
(a)
(b)
(a)
(b)
(a)
(b)
b. Pengukuran frekuensi dengan 3 sinyal masukan
(a)
(b)
(c)
(a)
(b)
(c)
Gambar 51. Hasil pengukuran 3 sinyal
dengan amplitudo input yang sama pada Audio Spectrum Analyser
c. Pengukuran frekuensi dengan sinyal acak
Gambar 53. Tampilan pada Audio Spectrum Analyser setelah ditambahkan sinyal acak
d. Pengukuran bentuk gelombang sinus
Gambar 55. Bentuk gelombang sinus pada Audio Spektrum Analyser
B. Pembahasan
Dari hasil pengukuran beberapa bagian dari alat ini diperoleh kesimpulan bahwa rangkaian dapat bekerja cukup baik sesuai dengan fungsinya sebagai alat ukur spektrum frekuensi audio. Adanya perbedaan hasil pengukuran disebabkan karena keterbatasan kemampuan prosesor untuk mengolah sinyal.
1. Analisis tegangan referensi (Vref) dan Vcc mikrokontroler, dan Vcc LM386
2. Analisis penggeser level tegangan
Pengujian penggeser level tegangan menggunakan osiloskop dengan membandingkan sinyal input sebelum penguat LM386 dengan sinyal output setelah LM386 dan penggeser level tegangan. Hasil pengukuran terlihat pada Gambar 43. Berdasarkan data tersebut sinyal yang sebelumnya simetris (negatif - positif) menjadi sinyal linier (nol - positif) sehingga ADC mikrokontroler dapat memproses sinyal tanpa kehilangan informasi pada sinyal tersebut. Pada Gambar 42 terlihat sinyal maksimal tidak cacat pada tegangan 3,8 Vpp.
3. Analisis rangkaian penguat LM386 dan LPF pasif
Pengujian rangkaian penguat LM386 dan LPF pasif untuk mendapatkan respon frekuensi dari LPF dan besar penguatan maksimal tidak cacat LM386. Pengujian menggunakan osiloskop untuk mengetahui perbedaan amplitudo tiap perubahan frekuensi. Berdasarkan hasil pengukuran pada Tabel 6 diketahui amplitudo sinyal pada frekuensi rendah 20 – 100 Hz mengalamai atenuasi sangat tajam dari 2,36 Vpp – 0,68 Vpp. Pada frekuensi 100 Hz – 10 kHz amplitudo cenderung lebih datar berkisar antara 2 Vpp – 2,96 Vpp. Sinyal frekuensi lebih tinggi dari 10 kHz sampai 16 kHz mengalami atenuasi dari 2 Vpp – 1,36 Vpp dan terus menurun. Dengan hasil pengukuran tersebut rangkaian dapat berfungsi sebagai tapis frekuensi lolos bawah.
4. Analisis keseluruhan kerja sistem