• Tidak ada hasil yang ditemukan

Kompresor dan Dekompresor Data Menggunak

N/A
N/A
Protected

Academic year: 2018

Membagikan "Kompresor dan Dekompresor Data Menggunak"

Copied!
5
0
0

Teks penuh

(1)

Kompresor dan Dekompresor Data

Menggunakan Algoritma ADPCM Berbasis Mikrokontroler ATMEGA8535

Mohamad Dani1

1 Program Studi Teknik Komputer Politeknik Telkom Bandung 1mohamad.dani@gmail.com

Abstrak

Algoritma Adaptive Differential Pulse Code Modulation (ADPCM) merupakan salah satu algoritma yang digunakan dalam kompresi data dan sinyal PCM standar khususnya untuk sinyal speech. Algoritma ADPCM ini menawarkan penurunan bitrate dan penghematan lebar pita transmisi dibandingkan dengan bila menggunakan sinyal PCM standar karena yang dikirimkan hanya selisihnya. Pada makalah ini kompresor dan dekompresor data ADPCM ini diimplementasikan menggunakan program C untuk Mikrokontroler ATMEGA8535 dengan panjang 16 bit dan keluaran Kompresor Data ADPCM sebesar 8 bit. Hasil simulasi yang telah dilakukan menunjukkan sekitar 90% ke atas data yang dikompres dapat dikembalikan ke data aslinya.

Kata kunci: penurunan bitrate, penghematan lebar pita transmisi, ADPCM, kompresi, selisih, data

Abstract

Adaptive Differential Pulse Code Modulation (ADPCM) algoritm is one of the algorithms that used in data compression and standard PCM signal especially for speech signals. ADPCM algorithm offers a reduction in bitrate and transmission bandwidth saving when compared with standard PCM signal because it sent only the difference. In this paper, ADPCM data compressor and decompressor are implemented using C program for Microcontroller ATMEGA8535 with data length is 16 bits and ADPCM Compressor output length is 8 bits. The simulation results show about 90% compressed data able to restore to original data.

Keywords: reduction in bitrate, transmission bandwidth saving, ADPCM, compression, difference, speech

1. Pendahuluan

Adaptive Differential Pulse Code Modulation (ADPCM) adalah teknik kompresi digital yang digunakan terutama untuk kompresi speech di telekomunikasi. ADPCM adalah codec bentuk gelombang yang juga dapat digunakan untuk kode sinyal lain selain speech, seperti halnya musik atau efek suara. ADPCM lebih sederhana dibandingkan teknik pengkodean yang lain karena tidak memerlukan perhitungan yang berat, yang berarti peng-enkode-an dan peng-dekode-an dapat dilakukan dalam waktu yang relatif singkat.

ADPCM biasanya digunakan untuk kompresi sebuah sinyal dengan frekuensi pencuplikan 8 kHz dengan panjang 8 bit sehingga menghasilkan sinyal PCM standar dengan bitrate 64 Kbps. Ketika dikodekan pada rasio kompresi tertinggi, yang digunakan hanya 2 bit untuk kode sinyal ADPCM, bitrate berkurang menjadi 16 Kbps yaitu 25% dari sinyal PCM standar. Untuk pengkodean dengan 4 bit, bitrate manjadi 32 Kbps yaitu 50% dari aslinya dengan kualitas sinyal yang baik untuk kebanyakan aplikasi [2].

Makalah ini berfokus pada kompresor dan dekompresor data berbasis mikrokontroler ATMEGA8535 berdasarkan kepada algoritma IMA ADPCM yang lebih sederhana dibandingakan

dengan algoritma kompresi dan dekompresi ADPCM versi aslinya.

2. Tinjauan Pustaka

Prinsip dari ADPCM adalah untuk memprediksi nilai sinyal sekarang dari nilai-nilai sebelumnya dan yang dikirimkan hanya selisih antara nilai yang sebenarnya dan nilai yang telah diprediksikan. Pada ADPCM, selisih antara nilai yang telah diprediksikan dan nilai sinyal sekarang biasanya sangat kecil yang berarti selisih ini dapat direpresentasikan menggunakan lebih sedikit bit dibandingkan nilai PCM [1], [3].

(2)

Gambar 1. Diagram Blok Enkoder ADPCM

Dekoder ADPCM ditunjukkan pada Gambar 2 yang mengambil nilai terkuantisasi, melakukan kuantisasi balik dan mengurangi hasil dengan sinyal terprediksi untuk mendapatkan sinyal terdekodekan.

Gambar 2. Diagram Blok Dekoder ADPCM

2.1 Inverse Adaptive Quantizer

ln( ) ( )

( )

2

dq k y k

q

d k

 (1)

Blok ini menghitung sinyal selisih terkuantisasi linear

d k

q

( )

dari sinyal selisih terkuantisasi logaritmik

d

q

ln( )

k

dan adaptation factor y(k) . sinyal selisih terkuantisasi logaritmik didapatkan dari Look Up Table (LUT) statik menggunakan ADPCM codeword I(k) sebagai indeks. Sinyal selisih kawasan linear dihitung dengan

2

dqln( )ky k( )

2.2 Quantizer Scale Factor Adaptation

Faktor skala y(k) yang digunakan dalam inverse adaptive quantizer dihitung disini. Faktor skala y(k) terdiri dari dua faktor lain; faktor skala cepat (tidak terkunci) yu(k) dan faktor skala lambat

(terkunci) yl(k). Faktor skala cepat (tidak terkunci)

dan faktor skala lambat (terkunci) digabungkan dengan rumus:

( )

( )

(

1) (1

( )) (

1)

0

( ) 1

l u l l

l

y k

a k y k

a k y k

dengan

a k

  

(2)

Faktor skala cepat (tidak terkunci) yu(k):

6 5

( )

(1 2 ) ( ) 2

( )

u

y k

 

y k

W I k

(3)

Faktor skala lambat (terkunci) yl(k) :

6 6

( )

(1 2 ) (

1) 2

( )

l l u

y k

 

y k

 

y k

(4) yu(k) dibatasi antara 1,06 dan 10,00.

Dua faktor skala ini dibutuhkan untuk menangani tipe-tipe sinyal yang berbeda. Faktor skala cepat membolehkan adaptasi terhadap sinyal dengan fluktuasi yang besar seperti speech, Faktor skala lambat digunakan untuk menangani perubahan yang lambat seperti sinyal-sinyal tone.

2.3 Adaptation Speed Control

Adaptation speed dikendalikan oleh parameter l. Nilai ini mendekati satu untuk sinyal-sinyal speech dan nol untuk sinyal-sinyal ban audio. Untuk mendapatkan al, dua pengukuran dari besaran rerata

pada waktu pendek dan panjang dari ADPCM codeword I(k) dihitung. Parameter ini dihitung dengan membatasi parameter speed control ap(k) ≤

1:

1, jika

(

1) 1

( )

(

1), jika

(

1) 1

p l

p p

a

k

a k

a

k

a

k

 

 

 

(5)

Selisih antara dua besaran ini menunjukan bagaimana besaran rerata I(k) berubah. Jika selisihnya kecil, besaran I(k) ini konstan; jika selisihnya besar, besaran I(k) ini berubah sebagaimana yang ditunjukkan oleh parameter speed control ap. Parameter ini juga diperhitungkan pada

kasus khusus dengan adanya transisi yang terdeteksi atau ketika sinyal berada dalam keadaan idle. Akhirnya, speed control parameter al yang dibatasi

diperoleh dari pa dengan membatasi nilainya dari 0

sampai 1. Hal ini dilakukan secara asimetrik untuk menunda transisi dari adaption mode cepat ke lambat.

2.4 Tone and Transition Detector

Tone and transition detection dimasukan dengan tujuan untuk memperbaiki tanggapan codec ketika menangani sinyal-sinyal data selain speech. Jika sinyal hanya menggunakan band frekuensi sempit misal sinyal-sinyal tone, quantizer diatur ke adaptation mode cepat. Jika transisi-transisi terdeteksi, quantizer diatur ke adaptation mode cepat (tr = 1) dan koefisien-koefisien adaptive

(3)

2.5 Adaptive Predictor

Adaptive predictor menghitung estimasi-estimasi sinyal se(k) dari sinyal selisih terkuantisasi

Koefisien-koefisien dalam struktur-struktur ini diperbaharui dengan algoritma gradien yang disederhanakan.

Pembaharuan koefisien A pada persamaan(12) menggunakan rumus:

Untuk memastikan kestabilan koefisien-koefisien dalam struktur pemodelan kutub harus dibatasi dengan batasan sebagai berikut:

4

2

( )

0, 75

1

( )

1 2

2

( )

a k

dan a k

  

a k

(11)

Rumus-rumus untuk memperbaharui koefisien-koefisien pada struktur pemodelan nol agak berbeda untuk berbagai bitrate (5 bit dengan 2, 3 atau 4 bit).

Pembaharuan koefisien B pada persamaan (8)

Pembaharuan koefisien B pada persamaan (8) untuk kode ADPCM 5 bit adalah:

9

Jika sebuah transisi terdeteksi, semua predictor coefficient dalam kedua struktur ini diberi nilai 0.

( )

0,

1, 2

2.6 Reconstructed Signal Calculator

Sinyal rekontruksi sr(k) dihitung dengan

3. Perancangan Sistem

Untuk memudahkan implementasi algoritma ADPCM yang dibahas di tinjauan pustaka, pada makalah ini akan mengimplementasikan algoritma ADPCM untuk data berdasarkan kepada rekomendasi Interactive Multimedia Associations

(IMA)[4] karena lebih sederhana dari sisi perhitungan matematisnya dibandingkan yang telah dibahas di tinjauan pustaka. kompresi dan dekompresi data dimplementasikan pada Mikrokontroler 8 bit AVR ATMEGA8535.

3.1 Perancangan Kompresor Data dengan ADPCM

Perancangan algoritma kompresi data dengan ADPCM berupa flowchart sebagaimana ditunjukkan pada gambar berikut:

Gambar 3. Kompresi Data dengan ADPCM

START

Ambil Data dari Port Serial PC1 Inisialisasi Port Serial

Kode ADPCM = EnkoderADPCM(Data PC1)

Kirim kode ADPCM Ke uC2

(4)

PC6/TOSC1PC1/SDAPC0/SCLPC5PC4PC3PC2 28272625242322

AVCCAREF 3032

IC1

PC6/TOSC1PC1/SDAPC0/SCLPC5PC4PC3PC2 28272625242322 PC7/TOSC2 29

AVCCAREF 3032

IC2

3.2 Perancangan Dekompresor Data

Perancangan algoritma dekompresi data dengan ADPCM menggunakan flowchart sebagaimana ditunjukkan pada gambar berikut:

Gambar 4. Dekompresi Data dengan ADPCM

4. Implementasi dan Pengujian

4.1 Implemetasi Sistem

Setelah perancangan program kompresi dan dekompresi data dengan algoritma ADPCM ini dibuat, maka tahap selanjutnya perlu diimplementasikan kodenya ke dalam mikrokontroler ATMEGA8535.

Kebutuhan hardware dan software untuk implementasi sistem ini yaitu:

1. Mikrokontroler ATMEGA8535 dari Atmel Corporation,

2. Frekuensi Clock Kristal 16 MHz,

3. Development Tool yang digunakan untuk mikrontroler yaitu MikroC dari Mikroelektronika.

4. Simulator Rangkaian Elektrik menggunakan ISIS Professional 7.7 dari LabCenter Electronics.

Implementasi hardware sistem ini ditunjukkan pada gambar berikut:

Gambar 5. Rangkaian Kompresor dan Dekompresor Data dengan Algoritma ADPCM

4.2 Pengujian Sistem

Untuk memudahkan dalam pengujian, maka rangkaian sistem ini terdiri dari dua bagian yaitu masing-masing menangani tugas sebagai kompresi dan dekompresi data.

Pengujian yang dilakukan dengan mengirimkan data secara acak dan berpola secara berurutan dengan Baudrate 19200 dalam tipe signed long 16 bit dari bagian kompresor yang menghasilkan 8 bit kode ADPCM yang diterima oleh dekompresor ADPCM yang kemudian akan didekodekan untuk memperoleh data aslinya. Jumlah bit data yang dikirim sebanyak 1600 bit. Hasil pengujian sistem ini disajikan pada tabel berikut:

TABEL 1

PENGUJIAN KESALAHAN DEKOMPRESI DATA

No

2 Pengulangan data

0 0

2 Acak 0 0

5. Penutup

Dari beberapa kali percobaan kompresi dan dekompresi data menggunakan algoritma ADPCM ini, dapat ditarik kesimpulan sebagai berikut: 1. Proses dekompresi data yang dilakukan

dekompresor data ADPCM untuk berbagai pola data dengan jumlah 1600 bit telah bekerja dengan baik yang ditunjukkan dengan tidak adanya kesalahan bit pada saat dekompresi data.

2. Jumlah bit data hasil kompresor data ADPCM ini berupa kode ADPCM sebesar ½ dari jumlah data sebelum kompresi sehingga penghematan data yang dikirim sebesar 50% dibandingkan bila tidak dikompresi.

3. Waktu komputasi algotritma yang dibutuhkan oleh mikrokontroler harus sesingkat mungkin untuk data dengan kecepatan tinggi.

4. Selain untuk data, algoritma ADPCM ini dapat digunakan untuk sinyal PCM speech.

Daftar Pustaka

[1] Atmel, AVR336: ADPCM Decoder, atmel.com/dyn/resources/prod_documents/doc2572.pdf.

Diunduh tanggal 1 Agustus 2011.

[2] ITU-T Recommendation, G.726: 40, 32, 24, 16 kbit/s

Adaptive Differential Pulse Code Modulation (ADPCM), START

Ambil kode ADPCM dari Port

Serial uC1 Inisialisasi Port Serial

Dekompresi kode ADPCM

Kirim Data hasil dekompresi ke Port Serial PC2

(5)

http://www.itu.int/rec/T-REC-G.726-199012-I/en. Diunduh tanggal 1 Agutus 2011.

[3] Spanias, Andreas S., Speech Coding: A Tutorial Review, http://xanthippi.ceid.upatras.gr/courses/mobile/2007_08/spa nias94tutorial.pdf. Diunduh 10 Agustus 2011.

Gambar

Gambar 2. Diagram Blok Dekoder ADPCM
Gambar 5. Rangkaian Kompresor dan Dekompresor Data dengan Algoritma ADPCM

Referensi

Dokumen terkait

- Haikal berani mempertahankan keputusannya untuk pergi ke kampung ayahnya walaupun ibunya melarang. 6 Masyarakat yang bijak - Haikal dapat menyambung pelajaran ke universiti

Hal tersebut sejalan dengan hasil penelitian yang menujukkan faktor paling dominan dengan kasus difteri di Puskesmas Bangkalan tahun 2016, yaitu seorang anak yang

Didalam penarikan desain alinemen horizontal dan vertical harus sudah diperhitungkan dengan cermat sesuai dengan kebutuhan perencanaan untuk lokasi : galian/timbunan, bangunan

Strategi penanggulangan kemiskinan yang dapat diambil yaitu dengan mengurangi jumlah perempuan miskin karena dengan mengurangi mereka maka kesejahteraan keluarga

Berdasarkan latar belakang di atas, maka tujuan penelitian ini adalah apakah terdapat hubungan antara umur, tradisi, promosi kesehatan, dan kebijakan instansi dengan

Hasil penelitian mutu asuhan keperawatan (pemeriksaan fisik) di Instalasi Rawat Inap Rumah Sakit Baptis Kediri dari 61 responden didapatkan hasil bahwa

 Dengan lisensi tersebut, BTEL dapat menyelenggarakan layanan telekomunikasi dengan konsep Mobile Virtual Network Operator (MVNO) dan dapat menggunakan teknologi yang ada termasuk

Untuk menentukan aturan pengelompokan dan mengelompokkan objek-objek yang baru dari kedua spesies ini digunakan Quadratic Discriminant Analysis (QDA), karena kedua sampel