Gambar 31 . Prinsip kerja CELP
Semua kalkulasi dilakukan atas kondisi awal yang menunjukkan kondisi kosong untuk filter-filter pada permulaan masing-masing subframe.
kondisi awal diperhitungkan oleh perhitungan pertama yaitu tidak adanya masukan untuk filter-filter dan
kemudian mengurangi perhitungannya dari sinyal suara ujaran yang dimaksudkan sebelum
pengulangan pencarian tertutup [4].
2. CODEBOOK
Codebook yang digunakan pada encoder dan decoder harus sama. berikut ini adalah codebook yang paling umum digunakan:
2.1 Codebook stokastik
Yang berisi bentuk gelombang gaussian yang acak, mempunyai suatu nilai spektrum dan suatu energi yang dinormalisir. Pada Codebook ini
memiliki ketentuan didalam coder dan didalam decoder yang dikenal dengan sebuah priori. Tiap code-vektor mengandung 160 sampel.
Codebook stokastik mengandung 1082 nilai acak dengan pengaturan {- 1, 0, +1} dengan probabilitas {0.1, 0.8, 0.1}. nilai k memiliki interval
0 ≤ k ≤ 511 yang membutuhkan 9 bits.
2.2 Codebook Adaptif
Codebook adaptif berisi hasil perubahan dari satu subframe ke subframe yang lain dan bergantung pada sinyal wicara yang
dikodekan. Isi dari codebook ini tidak terlalu diprioritaskan. Tujuan dari codebook adaptip adalah untuk mengambil perhitungan dari
waktu periodik suatu sinyal suara. Karena bunyi bersuara seperti huruf hidup, vokal merupakan suatu
periode waktu dengan suatu L nada dengan periode waktu tertentu, hal itu menunjukkan bahwa eksitasi terbaik yang diberikan kepada
subframe harus tertutup bagi eksitasi terbaik L yang diperoleh sebelumnya. Jika eksitasi-eksitasi yang lampau bertahan dalam
memori, sinyal suara akan dipancarkan kepada decoder dengan nilai dari L dan nilai dari suatu penguatan diasumsikan pada eksitasi yang
sebelumnya. Decoder harus menjaga sinyal eksitasi-eksitasi yang sebelumnya.
Memori yang berisi eksitasi-eksitasi itu disebut codebook adaptip. Nilai L disebut kelajuan dalam standar HR GSM. Biasanya, L dihitung
dengan suatu ketepatan yang sama dengan sebagian dari interval
sample, dan delay yang kecil atau kelajuan bit rendah yang digunakan. Kelajuan itu diperbaharui untuk masing-masing subframe. Biasanya
yang dihitung dalam dua langkah: 1. Langkah yang pertama adalah metoda penilaian nada open loop
klasik. Dengan pemrograman dinamik untuk mengoreksi kekuatan
diskontinuitas-diskontinuitas antara subframe. 2. Langkah yang kedua adalah pencarian codebook adaptip.
Yaitu melaksanakan suatu pencarian yang bersifat close loop dengan pendekatan analisa oleh sintesis untuk memperbaiki hasil-
hasil yang didapat dari pencarian open loop.
Pemecahan optimal yang digunakan adalah dengan pencarian berulang- ulang. Pencarian berulang-ulang dimaksudkan untuk menemukan solusi
terbaik pada suatu codebook yang pertama, mengurangi suara sintetik yang diperoleh dengan suara asli untuk memperoleh suatu perbedaan
sinyal dan kemudian mencari solusi terbaik pada codebook yang kedua untuk mendekati perbedaan vector, dan seterusnya secara berulang-
ulang. Pendekatan berulang-ulang ini dapat ditambahkan oleh codebook ortogonal.
3. Persepsi Kriteria Suara