ISSN: 1693-6930
143
PROTOTIPE MODUL PENGAMATAN SINYAL DOMAIN WAKTU DAN FREKUENSI SECARA REAL TIME UNTUK PRAKTIKUM PENGOLAHAN SINYAL DIGITAL Tri Budi Santoso, Hary Octavianto, Titon Dutono Laboratorium Pengolahan Sinyal Politeknik Elektronika Negeri Surabaya email:
[email protected]
Abstrak Sebuah prototipe sistem pengolahan sinyal digital menggunakan TMS32C5402 yang didukung bahasa C disajikan pada paper ini. Prototipe ini sebagai sebuah educational tool dalam proses pembelajaran konsep pengolahan sinyal digital dan merealisasikannya secara real time. Pembentukan modul perangkat lunak berbasis bahasa C sudah terintegrasi dalam paket DSP starter kit (DSK). Proses compiling, assembling dan downloading dilakukan secara otomatis ke board TMS32C5402. Kata Kunci: sistem real time, domain waktu, domain frekuensi
1. PENGANTAR Pengetahuan tentang pengolahan sinyal digital (PSD) telah berkembang secara cepat dalam 30 tahun terakhir ini. PSD telah menjadi suatu yang penting dalam area multimedia, komunikasi digital, dan perangkat elektronik[1]. Satu permasalahan bagi seorang pengajar materi PSD di kelas adalah bagaimana mencapai kondisi seimbang antara penyampaian teori dan penyajian sebuah modul perangkat keras yang mampu bekerja secara real time[2]. Spanias pada [3] menyajikan sebuah tawaran penyampaian teori PSD dengan memanfaatkan teknologi multimedia, sementara pada [4] materi PSD disampaikan secara cukup mendetail. Satu permasalahan kelas adalah kemampuan siswa untuk menyerap materi akan sangat dibantu apabila ada alat peraga. Untuk materi PSD, pada contoh kasus pengamatan sinyal dalam domain waktu dan frekuensi akan memerlukan perangkat keras seperti function generator, digital storage oscilloscope dan spectrum analyzer. Untuk memenuhi persyaratan ini merupakan masalah klasik dalam dunia pendidikan tinggi. Dalam paper ini dicoba sebuah alternatif untuk memecahkan masalah peralatan ukur yang sulit untuk diadakan. Dengan sebuah modul TMS32C5402 yang sudah terintegrasi dengan bahasa C sebagai pendukungnya dicoba untuk menyusun modul untuk melakukan pengamatan sinyal dalam domain waktu dan frekuensi secara real time. Bahasa C dalam hal ini bekerja sebagai perangkat lunak untuk memudahkan siswa dalam pembuatan program untuk menghindari kesulitanyang biasa ditemu apabila menggunakan bahasa assembly. Paket DSK akan mambantu dalam proses compile, assemble dan download ke board TMS32C5402. Untuk pengamatan bentuk sinyal dalam domain waktu dan frekuensi dapat disajikan pada monitor PC.
2. GAMBARAN SISTEM PENDUKUNG 2.1. Arsitektur TMS320C54x DSP C54x merupakan modifikasi lanjut dari arsitektur Harvard dengan peningkatkan kekuatan proses 8 bus (4 Program/Data dan 4 Address), yang terdiri dari: PB (program bus), tiga data bus: CB (coefficient bus), DB (data bus), dan EB (write bus), empat address bus: PAB, CAB, DAB, EAB. Arsitektur secara sederhana ditunjukkan pada Gambar 1. Jalur untuk program dan data terpisah membuat akses serentak dari program instruksi dan data, menyediakan mekanisme paralel yang tinggi.
Prototipe Module Pengamatan Sinyal…………..(Tri Budi Santoso)
144
ISSN: 1693-6930
Prog/Data RAM
Program ROM
Data RAM (1k x 16)
Program Address Bus Program Data Bus Data Address Bus
Data Data Bus
CPU
Gambar 1. Arsitektur Sederhana TMS32C54x Mekanisme paralel seperti ini mendukung kemampuan untuk aritmatik, logika, operasi manipulasi bit yang semuanya dapat dilakukan pada satu mesin cycle saja. Komponen didalam Central Processing Unit (CPU) didukung oleh:
40-bit ALU dua 40-bit accumulators 40-bit Barrel Shifter 17 x 17 multiplier 40-bit adder compare, select, and store unit (CSSU) Data address generation unit Program address generation unit
2.2. Perangkat Keras DSK DSP Starter Kit (DSK) TMS320C5402 terdiri dari C5402 DSK board, kabel konektor PC ke DSK board melalui port paralel (LPT1), dan power suplai 5V dan kabel power supply. Bagian dari DSP board ditunjukkan pada Gambar 2. Parallel port menangani komunikasi antara DSK board dengan PC Host. Codec merupakan konverter ADC dan DAC. Praktikan harap berhatihati dalam menghubungkan line input dan line output karena codec ini memiliki batasan tegangan. DSP board berkomunikasi dengan PC Host melalui kabel paralel port (LPT1) pada mode ECP/EPP. 2.3 Pembentukan Perangkat Lunak Pembuatan program (perangkat lunak) untuk sistem DSP dapat digolongkan menjadi dua jenis berdasarkan target dari program, yaitu program untuk DSK board, dan program untuk PC Host. Program untuk DSK dapat berjalan hanya pada DSK, biasanya berisi program kontrol DSP dan program aplikasi pemrosesan sinyal digital seperti filter, FFT, konvolusi dan lain-lain. Program untuk PC Host ditutujukan untuk pengendalian proses di DSP, seperti me-reset DSP, me-run program di DSP, mengambil data dari memori DSP, menampilkan data di CRT, menangani komunikasi data antara DSP dengan PC dan lain-lain. Program untuk PC Host bersifat optional tidak harus dibuat, sebab program DSP dapat berjalan sendiri tanpa bantuan program PC, program PC hanya berfungsi sebagai program pembantu terhadap program DSP. Alur Desain Program DSP Program pemrosesan sinyal untuk dijalankan di DSK dapat ditulis menggunakan bahasa assembler ataupun bahasa C. Alur pembuatan program untuk DSP ditunjukkan oleh Gambar 3. Program yang dituliskan dalam bahasa C dan assembly, bersama dengan library yang digunakan di-build sehingga berbetntuk file obyek (COFF) yang siap diload ke DSP. Code Composer Studio sudah menyediakan
TELKOMNIKA Vol. 3, No. 3, Desember 2005 : 143 - 150
TELKOMNIKA
ISSN: 1693-6930
145
Integrated Development Environment yang memudahkan kita untuk membuat dan mencari kesalahan program
Gambar 2. Board DSP
Gambar 3. Alur Perancangan Program DSP 2.4. Pembuatan Program DSP Beberapa tipe file yang digunakan pada target DSP adalah sebagai berikut: *.c yaitu source code yang dituliskan dalam bahasa C *.asm yaitu source code yang dituliskan dalam bahasa assembly *.h yaitu file header yang disertakan (included) pada source code dalam bahasa C *.cmd yaitu linker command file, yang memetakan section dalam memory vectors.asm yaitu interrupt vector table, digunakan untuk menunjukkan pada program
Prototipe Module Pengamatan Sinyal…………..(Tri Budi Santoso)
146
ISSN: 1693-6930
counter untuk mengeksekusi fungsi mana ketika terjadi interrupt. *.lib merupakan runtime support library, harus digunakan ketika memprogram dalam bahasa C Code composer Studio sudah menyediakan lingkungan pemograman, dimana semua file diatas ini digunakan untuk membangun program secara keseluruhan (inisialisasi master clock, inisialisasi serial dan inisialisasi codec secara otomatis).
3. KONFIGURASI MODUL PENGAMATAN SINYAL 3.1. Gambaran Sistem Pengamatan Sinyal Untuk pengamatan sinyal dalam domain waktu diperlukan sebuah function generator sebagai sumber sinyal dan oscilloscope untuk mengamati bentuk sinyal. Sedangkan untuk pengamatan sinyal dalam domain frekuensi diperlukan sebuah spectrum analyzer untuk melihat bentuk sinyal sebagi fungsi frekuensi. Function Generator
Oscilloscope
Mic
Pre Amp Spectrum Analyser
Gambar 4. Penataan peralatan untuk pengamatan sinyal domain waktu dan domain frekuensi Sebagai sumber sinyal bisa juga digantikan dengan sebuah microphone yang dilengkapi dengan pre-amp. Model ini diperlukan untuk pengamatan sinyal wicara. Penataan peralatan seperti Gambar 4 tidak selalu bisa dipenuhi oleh semua laboratorium sebab memerlukan investasi yang relatif mahal. 3.2. Gambaran Sistem Yang Digunakan Satu model untuk memperoleh hasil yang cukup mendekati kondisi seperti Gambar 4, bisa dibuat sebuah susunan seperti Gambar 5. Function Generator
DSP Card
Mic
Gambar 5. Penataan peralatan DSP Card Dalam hal ini fungsi oscilloscope dan spectrum analyzer digantikan dengan DSP Card dan PC. Dengan cara seperti ini akan lebih efisien, sebab PC bisa berfungsi untuk aktifitas praktikum yang lain. 3.3. Pembuatan Program Utama Program utama disusun dengan bahasa C secara sederhana seperti berikut:
TELKOMNIKA Vol. 3, No. 3, Desember 2005 : 143 - 150
TELKOMNIKA
ISSN: 1693-6930
147
#include
#include #include #include <mcbsp54.h> void delay(s16 period); HANDLE hHandset; s16 data; int buffer[5000],buffer0[5000]; int i=0; void main(){ s16 cnt=2; if (brd_init(100)) return; hHandset=codec_open(HANDSET_CODEC); codec_adc_mode(hHandset, CODEC_ADC_15BIT); codec_ain_gain(hHandset, CODEC_AIN_6dB); codec_sample_rate(hHandset,SR_16000); while (1) { while (!MCBSP_RRDY(HANDSET_CODEC)) {}; data = *(volatileu16*) DRR1_ADDR(HANDSET_CODEC); /*tempat sisipan untuk interrupt*/ *(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = data; } return; } void delay(s16 period) { int i, j; for(i=0; i>1; j++); } }
Dalam DSP Starter Kit (DSK), program ini secara otomatis akan melakukan link dengan file-file pendung yang sudah ada. Setelah proses kompilasi akan terbentuk bahasa assembly dan code biner yang sudah siap untuk didownload ke DSP Board. 3.4. Pembuatan Tampilan Grafik Agar program bisa menampilkan grafik, perlu pengambilan data untuk melalui interrupt. Langkah yang harus dilakukan adalah dengan cara menyisipkan program berikut ini. buffer[i]= data; buffer0[i]= buffer[i]-data; if(i>1000) i=0; else i++; Untuk menampilkan grafik pasang sebuah toolbar toggle break point di depan syntax (i=0;). Dan untuk mengatur tampilan pilih domain waktu pada view graph.
Prototipe Module Pengamatan Sinyal…………..(Tri Budi Santoso)
148
ISSN: 1693-6930
4. HASIL PENGAMATAN DAN ANALISA 4.1. Tampilan Sinyal Sinus Input dihasilkan dari sebuah function generator yang diset sebesar 20 mVpp. Penguatan tegangan input 6 dB ditujukan untuk mempermudah pengamatan bentuk sinyal. Secara perhitungan akan diperoleh nilai sebesar 20000. Dari grafik (Gambar 6) yang dihasilkan menunjukkan nilai 2e+4, dan ini sudah sesuai dengan perhitungan.
Gambar 6. Tampilan sinyal sinus dalam domain waktu Sementara bentuk spectrum sinyal sinus diamati dengan memilih tampilan domain frekuensi pada view graph. Fungsi Window yang digunakan adalah Hamming, dan hasilnya seperti pada Gambar 7.
Gambar 7. Tampilan sinyal sinus domain frekuensi 4.2. Tampilan Sinyal Wicara Untuk lebih mendekatkan pada dunia nyata, dipilih sinyal wicara. Dengan pengucapan vokal “i” diperoleh tampilan seperti pada Gambar 8.
Gambar 8. Tampilan sinyal wicara TELKOMNIKA Vol. 3, No. 3, Desember 2005 : 143 - 150
TELKOMNIKA
ISSN: 1693-6930
149
Bentuk domain frekuensi digunakan fungsi window hamming dan hasilnya seperti pada Gambar 9. Satu catatan yang perlu dicermati disini adalah pengukuran spectrum untuk sinyal wicara dengan menggunakan penataan seperti pada Gambar 8 akan memerlukan spectrum analyzer khusus untuk daerah frekuensi DC ~ 20kHz.
Gambar 9. Tampilan sinyal wicara domain frekuensi 4.3. Pengaruh Interrupt pada Output Audio Pada kondisi penataan dan tampilan seperti diatas, apabila pada saat yang bersamaan diinginkan untuk mengetahui bentuk output suaranya dapat dilakukan dengan memasang sebuah speaker aktif pada line out audio yang terdapat pada DSP Card. Tetapi disini akan terjadi sebuah penundaan. Sinyal wicara yang terdengar dari speaker tersendat-sendat. Hal ini disebabkan adanya proses interrupt untuk menampilkan gambar sinyal wicara tersebut.
5. KESIMPULAN Dari pembahasan di atas diperoleh sebuah gambaran sederhana bagaimana membangun sebuah modul praktikum pengolahan sinyal digital. Modul yang ditawarkan merupakan sebuah solusi yang sangat membantu siswa dalam memahami proses pengolahan sinyal. Dengan TMS32C54 yang sudah didukung dengan DSP Starter Kit akan terbuka peluang untuk mengembangkan modul pengolahan sinyal digital pada daerah frekuensi audio, sehingga diharapkan permasalahan perangkat praktikum dapat diatasi tanpa harus meninggalkan kualitas proses pembelajaran.
DAFTAR PUSTAKA [ 1] Won-Seng Gan, et all. , “Rapid Prototype System for Teaching Real Time Digital Signal Processing” IEEE Transaction Educations, Vol 43, No:1, February 2000 [ 2] Michael W Thompson, “Matlab/DSK GUI for FIR Filter Design Using a TMS32C3X DSK” www.baylor.edu/~Michael_W_Thompson/my_stuff.html [ 3] Andreas Spanias, “Using J-DSP to Introduce Communications and Multimedia Technologies to High School” 33rd ASEE/IEEE Frontiers in Education Conference, Nopember 5-8, 2003. [ 4] Titon Dutono, Mohammad Nuh, “Dasar-Dasar Pengolahan Sinyal Digital”, PENS -ITS, 2000. [ 5] ___, “TMS32C5402 Starter Kit” Texas Instrumens, USA, 2000.
Prototipe Module Pengamatan Sinyal…………..(Tri Budi Santoso)