ENCODER Simulasi Teknik Pengkodean CELP

mempengaruhi magnitudo sinyal masukan yang menyebabkan magnitudo sinyal keluaran akan lebih kecil dibandingkan dengan sinyal asli. Hal inilah yang mengakibatkan kelajuan sinyal suara atau Bit Rate pada pengiriman sinyal wicara dapat dibuat lebih rendah. Dengan bantuan sinyal pada masing- masing codebook ini sinyal keluaran akan tetap dijaga kualitas suaranya. Setelah melakukan perekaman sinyal asli untuk sampel dan menentukan sinyal codebook yang digunakan, berikutnya adalah membuat dan menganalisa simulasi teknik pengkodean CELP. Simulasi terdiri atas dua vocoder yakni encoder dan decoder. Sinyal suara yang telah direkam akan menjadi inputan pada encoder untuk dikodekan pada bit-bit tertentu.

2. ENCODER

Encoder pada teknik pengkodean CELP adalah merupakan system yang bertugas untuk pengubah data masukan menjadi kode-kode bit yang diberikan untuk diproses yang kemudian akan dikirimkan dan code-code tersebut akan diterjemahkan oleh sistem lain yang dinamakan decoder. Pada teknik pengkodean CELP encoder dibagi menjadi beberapa tahap yang antara lain adalah: 2.4. DC bias removal Merupakan filter digital yang berperan untuk menyaring sinyal masukan pada masing-masing saluran dengan suatu filter IIR atau FIR digital sesuai dengan kebutuhan. Pada blok filter digital ini dapat ditetapkan filter-filter dengan koefisien yang dapat ditentukan atau diperbaiki. Koefisien-koefisien filter tersebut dapat diatur baik selama simulasi dijalankan. Blok ini menyaring sinyal masukan secara bebas dari waktu ke waktu. Status frame keluaran dan dimensinya selalu sama dengan sinyal masukan yang disaring. Bila masukan berdasarkan frame yang masuk, blok ini akan memperlakukan tiap kolom sebagai saluran bebas. Dan akan menyaring tiap kolom. Bila masukan berdasarkan sampel, blok akan memperlakukan tiap elemen sebagai saluran individual. Keluaran dari blok ini akan sesuai dengan koefisien-koefisien yang dimasukkan dalam pengaturannya. Sinyal suara dari workspace Sinyal suara hasil perekaman yang menjadi masukan akan dilewatkan pada blok ini agar masukan analog dapat diubah menjadi digital dan yang bersifat scalar akan dapat diubah menjadi frame-frame suara pada sampel rate yang rendah. Hal yang menjadi pertimbangan pada pemilihan blok ini adalah: 1. Masukan-masukan dapat berupa bilangan kompleks atau riil. 2. Koefisien-koefisien Pembilang dan penyebut dapat berupa bilangan kompleks atau riil. 3. Koefisien-koefisien Pembilang dan penyebut memiliki kompleksitas yang sama satu sama lain. Ketika koefisien-koefisien pembilang dan penyebut ditetapkan melalui port jalur hubung masukan dan mempunyai kompleksitas yang berbeda dari satu sama lain, akan terjadi kesalahan. Namun ketika koefisien-koefisien pembilang dan penyebut ditetapkan di dalam dialog dan mempunyai kompleksitas yang berbeda dari satu sama lain, blok itu tidak terjadi kesalahan, tetapi sebagai gantinya pemrosesan filter seolah-olah diatur menjadi dua dari koefisien-koefisien yang kompleks yang telah tersedia. Koefisien yang diatur sebagai bilangan riil diperlakukan sebagai suatu vektor yang kompleks dengan nilai zero adalah bilangan imajiner. 4. Sistem bersifat kompleks ketika masukan-masukan atau koefisien-koefisien itu bersifat kompleks. 5. Koefisien-koefisien pembilang dan penyebut mempunyai panjang kata yang sama. Pembilang dan penyebut dapat mempunyai panjang pecahan yang berbeda. Sinyal suara yang telah difilter pada DC bias removal akan dianalisa baik perframe dan subframe-nya. Berikut ini adalah hasil analisa sinyal masukkan yang berasal dari filter DC bias removal. 2.5. Analisa Frame Sinyal yang telah disaring dari bias DC akan dianalisa framenya dengan memasukkannya pada analisa Linear Prediction Coding LPC dan kemudian diteruskan pada Line Spectral Frequency LSF. 2.5.1. Linear Prediction Coefficient Sinyal yang masuk pada LPC, mula-mula di ubah dari sample menjadi frame dengan bantuan blok Buffer. analisa LPC dilakukan pada suatu sinyal wicara dengan setiap ukuran frame Mo adalah 20 ms 160 sampel. Sinyal ini mempunyai suatu overlap L adalah 10 ms 80 sampel. Masing-masing frame menggunakan fungsi window Hamming dan menemukan order kesepuluh koefisien autokorelasi. Blok Autocorrelation menghitung autokorelasi dari tiap saluran dalam satu matriks masukan atau vektor, u. Dengan menghitung autokorelasi sepanjang masing-masing kolom dari suatu masukan yang berbasis frame, dan menghitung sepanjang dimensi vektor suatu vektor yang berbasis sampel masukan. Keluaran-keluaran selalu didasarkan pada sampel. Menggunakan algoritma Levinson Durbin, order kesepuluh 10 koefisien-koefisien LP dihitung dari koefisien autokorelasi. Akhirnya, koefisien-koefisien LP dimodifikasi menggunakan suatu blok perluasan bandwidth dimana perluasan bandwidth harus mempunyai interval 0 sampai dengan 1. Sampel yang menjadi keluaran dari LPC akan menjadi masukan pada LSF. 2.2.2 Line Spectral Frequency LSF Koefisien-koefisien Linier Prediksi LP dikonversi menjadi spektral garis frekuensi LSFs. Setelah proses kuantisasi dan penyisipan, stabilitas dari filter sintese LP dapat dijaga di dalam daerah LSF tanpa perhitungan tambahan. Faktor pembebanan yang digunakan di dalam kuantisasi LSF dihitung dengan metoda yang diusulkan oleh Paliwal dan Atal. Di dalam metoda ini, beban yang ditugaskan untuk diberikan pada suatu LSF adalah sebanding kepada kepekaan spektral dan nilai dari amplop spektral di LSF yang ada. Bit-bit vektor keluaran dari LPC mula-mula dimensinya akan diubah mejadi colom vektor M x 1 Matrik hal ini dilakukan agar frame sinyal dapat dikonversikan menjadi vektor spectral frekuensi. Bit-bit sinyal yang terbentuk menjadi LSF akan diteruskan pada kalkulasi persepsi pembebanan yang digabungkan dengan keluaran dari LPC dan penyisipan vektor kuantisasi LSF. Dimungkinkan vektor LSF yang tidak terkuantisasi digambarkan sebagai LSF = [ LSF1,LSF2, ...,LSF10]. Vektor penimbangan masing-masing adalah W = [w1,w2, ...., w8, 0.8w9 0.4w10]. .......................... 22 Di dalam vektor penimbang ini, faktor pembebanan i th , w i , ditemukan dengan persamaan : [ PLSFi]1,5 1=i=10, dimana Pf adalah kehandalan LPC spektrum yang berhubungan dengan vektor LSF sebagai suatu fungsi frekuensi, Hz. sinyal yang berasal dari hasil konversi LPC ke LSF digabungkan dengan sinyal yang berasal dari keluaran kalkulasi persepsi pembebanan untuk di encoder pada penyisipan kuantisasi vektor LSF. Pada proses penggabungan kedua buah sinyal, dilakukan dengan penyisipan kedalam 3 buah encoder yang masing- masing memiliki acuan dari codebook yang telah disediakan sebelumnya. Cara kerjanya adalah, pada saat sinyal yang berasal dari masing-masing codebook dibangkitkan, sinyal yang telah terkuantisasi akan direkontruksi kembali. Blok Vektor Quantizer Encoder membandingkan masing- masing vektor kolom masukan kepada vektor-vektor codeword di dalam acuan matriks codebook. Masing-masing kolom dari acuan matriks codebook ini adalah suatu codeword. Blok menemukan vektor codeword paling dekat kepada vektor kolom masukan dan indeks hasil-hasil nya yang berbasis nol. Keluaran dari blok ini akan terdiri dari bilangan integer dan dihitung dengan penggunaan matrik. 2.6. Analisa Subframe Analisa subframe terdiri dari, 1. Penilaian Pitch 2. Perhitungan hasil pengurangan Pitch 3. Kuantisasi sinyal dengan codebook Analisa subframe dilakukan untuk mendapatkan nilai Pitch sinyal yang telah dikuantisasi LSF dan suara hasil keluaran DC Bias Removal. Pertama-tama sinyal suara original masuk bersama sinyal hasil kuantisasi LSF kedalam blok pencuplikan subframe yang ditambahkan nilai dari fungsi iterasi. Fungsi iterasi sebagai fungsi perhitungan berulang untuk mendapatkan nilai tertentu, karena yang menjadi subyek adalah sinyal suara maka proses iterasi dilakukan untuk mencari Pitch yang sesuai dengan yang telah ditetapkan. Sinyal keluaran dari LSF dan DC bias Removal akan diiterasikan sampai ditemukan nilai pitch yang sesuai atau sama. Keluarannya akan memiliki nilai yang sesuai dengan Pitch suara asli. Keluaran koefisien LSF akan kembali diubah menjadi koefisien LPC agar nilai LPC dapat di koversikan menjadi koefisien pantul untuk dapat difilter sehingga didapatkan sinyal suara yang telah direduksi. sinyal hasil reduksi LPC diperoleh dengan penyaringan suara dengan kuantisasi dan menyisipkan analisa LPC filter, AZ. Sinyal berupa koefisen LPC hasil reduksi tersebut kemudian akan dicari Pitch yang tertinggal lagging, D, dan nilai penguatan Pitch optimal, beta. Subframe yang ada dari sinyal hasil reduksi diberikan oleh [r1 r2 ...rN]. Mean Square Error MSE antara arus subframe dan delay dari subframe ini nilai penundaan, D dan faktor skala, beta diberikan oleh E = sumrn - betarn-D ......................................................... 23 dimana persamaan ini menunjukkan jumlah keseluruhan subframe. Meminimalkan E di atas beta mengakibatkan, beta = sumrnrn-D sumrnrn...................................... 24 Beta yang optimal diperoleh bila, sumrnrn-D2 sumrnrn............................................. 25 dimaksimalkan. Parameter-parameter komponen adaptip dari eksitasi Lagging Pitch dan penguatan pitch dihitung dengan pengulangan terbuka dengan pengecilan niai kesalahan antara sinyal reduksi yang ada dan sinyal skala yang mana delay-nya telah disesuaikan. Penguatan dan delay reduksi pitch kemudian akan dihitung. Penguatan pitch dikuantisasi menggunakan suatu skalar 6-bit quantizer, bilangan integer menghargai lagging pitch dengan nilai antara 1 sampai 128. Dan nilai yang terkuantisasi dari penguatan pitch digunakan untuk membentuk sinyal reduksi. isyarat pitch reduksi ini digambarkan sebagai perbedaan antara isyarat LPC reduksi dan sinyal asli. Sinyal yang telah direduksi kemudian akan dikuantisasi dengan mencari pada codebook pulsa sinyal yang paling mirip dengan sinyal tersebut. Sinyal tersebut memiliki panjang subframe 40 dan kemudian juga dilakukan perhitungan tentang penguatan codebook . Langkah-langkah menentukan pulsa terbaik untuk merekonstruksi sinyal tersebut adalah sebagai berikut: 1. Nilai mutlak dari 40 subframe sampel disortir di dalam urutan suatu order. Posisi-posisi subframe yang asli disimpan pada suatu variabel yang mempunyai bentuk : pos = [pos1, pos2, ...,pos40]. Di sini, pos1 menyimpan posisi sampel yang dihargai paling besar, pos2 menyimpan posisi sampel yang dihargai paling besar kedua, dan seterusnya. 2. Empat sampel pertama yang dominan digantikan oleh a +1 atau a -1, di mana +1 menunjukkan suatu sampel yang positif dan -1 menunjukkan suatu sampel yang negatif. 36 sampel yang lain digantikan oleh kosong. Sebagai contoh, a+1 atau a-1 akan menjadi yang ditempatkan di posisi-posisi pos1, pos2, pos3, dan pos4, dan yang bernilai kosong akan menduduki posisi lainnya. 3. Perhitungan tanggapan terhadap status kosong dari filter sintese 1Az kepada sinyal reduksi yang asli. 4. Perhitungan tanggapan terhadap status kosong dari filter sintese 1Az kepada pitch suara yang terkuantisasi dengan metoda dari penyaringan jarang Sparse Filtering. Tanggapan pertama impuls dari filter itu dihitung. Tanggapan tersebut dihitung dengan penyajian jarang sinyal reduksi yang terkuantisasi. 5. Langkah-langkah 2 dan 4 diulangi dengan empat sampel yang baru dari posisi-posisi pos2, pos3, pos4, dan pos5. Proses ini diulangi untuk 37 kombinasi posisi. Pengaturan dari keempat posisi adalah bahwa memperkecil kesalahan antara tanggapan status kosong zeros state kepada sinyal pitch reduksi yang asli dan tanggapan status kosong kepada sinyal pitch terkuantisasi adalah empat pulsa paling signifikan. Setelah sinyal yang diinginkan telah didapat dan diubah menjadi bit yang lebih kecil maka sinyal dalam bentuk bit tersebut dikirimkan ke decoder untuk diterjemahkan kembali.

3. DECODER