Kinerja Adaptive Differential Pulse Code Modulation (ADPCM) Berdasarkan Standard G.726 Menggunakan Kriteria Mean Square Error Distortion.

(1)

ABSTRAK

Banyak teknik pengkodean telah dipakai untuk mengkodekan sumber analog terutama untuk mengkodekan sinyal speech dan image. Secara garis besar pengkodean speech terbagi dua, yaitu waveform coding dan model-based coding. Pada tulisan ini akan dilihat kinerja dari Adaptive Differential Pulse Code Modulation (ADPCM) yang berbasiskan standard ITU-T G. 726 dengan kriteria mean-square error distortion.

Sinyal masukan diperoleh dari sinyal suara yang direkam menggunakan souncard Soundblaster Live dengan frekuensi sampling 22.050 Hz dan 8 bit mono dengan sinyal hasil rekaman mempunyai amplitudo antara -1 dan 1. Untuk mensimulasikan bit rate sumber maka sinyal hasil rekaman akan didesimasikan dari 22.050 Hz menjadi 8.000 Hz, sehingga menghasilkan bit rate sumber 64 Kbps.

Perhitungan entropi dan rate of distortion serta probability density function (pdf) dicari dengan diskritisasi sumber menjadi 256 level sehingga menghasilkan 256 maksimal simbol. Perhitungan rate of distortion dihitung dengan menggunakan batas bawah Shannon.

Dari hasil pengujian dapat diperoleh bahwa quantizer uniform pada PCM untuk setiap pengurangan 1 bit representasi menghasilkan kenaikan distorsi 6 dB, sedangkan pada ADPCM dengan adaptive quantizer secara umum mempunyai performansi yang lebih baik yaitu menghasilkan rata-rata kenaikan distorsi sekitar 3,66 dB.


(2)

DAFTAR ISI

ABSTRAK... i

ABSTRACT... ii

KATA PENGANTAR... iii

DAFTAR ISI... v

DAFTAR GAMBAR... vii

DAFTAR TABEL... viii

BAB I PENDAHULUAN... 1

I.1. Latar Belakang... 1

I.2. Identifikasi Masalah... 2

I.3. Pembatasan Masalah... 2

I.4. Tujuan... 2

I.5. Sistematika Pembahasan... 2

BAB II LANDASAN TEORI... 4

II.1. Teknologi Pengkodean Suara... 4

II.2. Sistem Komunikasi Suara... 4

II.3. Klasifikasi Metode Pengkodean Suara... 5

II.3.1. Waveform Coding... 6

II.3.2. Voice Coding... 6

II.3.3. Hybrid Coding... 6

II.4. Proses Pengkodean Suara... 7

II.5. Produksi dan Karakteristik Sinyal Suara... 8

II.6. Proses Kuantisasi... 10

II.7. Kuantisasi Logaritmik... 10

II.8. Laju Bit... 11


(3)

BAB III PERANCANGAN DAN REALISASI PROGRAM... 12

III.1. Pulse Code Modulation (PCM)... 12

III.2. Differential Pulse Code Modulation (DPCM)... 13

III.3. Adaptive PCM dan ADPCM... 15

III.4. Fungsi Rate Distortion... 16

III.5. Implementasi ADPCM (Rekomendasi ITU-T G. 726)... 18

III.5.1. Enkoder... 18

III.5.2. Dekoder... 22

BAB IV SIMULASI DAN ANALISA DATA... 24

IV.1. Simulasi dengan MATLAB 6.1... 24

IV.2. Metode Simulasi... 24

IV.2.1. Simulasi Perbandingan Sumber Sinyal PCM dan DPCM... 24

IV.2.2. Menghitung Kinerja (ADPCM) dengan Standar G. 726... 24

IV.3. Hasil Simulasi... 25

IV.3.1. Analisa berdasarkan fungsi otokorelasi... 25

IV.3.2. Kinerja G. 726 pada huruf vokal dibunyikan panjang.. 27

IV.3.3. Kinerja G. 726 pada huruf konsonan dibunyikan panjang... 28

IV.3.4. Kinerja G. 726 pada kalimat... 30

BAB V KESIMPULAN DAN SARAN... 32

V.1. Kesimpulan... 32

V.1.1. Perbandingan Sumber Sinyal PCM dan DPCM... 32

V.1.2. Kinerja G. 726... 32

V.2. Saran...32

DAFTAR PUSTAKA

LAMPIRAN A LISTING PROGRAM... A-1


(4)

DAFTAR GAMBAR

Gambar II.1 : Sistem Komunikasi Suara... 5

Gambar II.2 : Metode Pengkodean Suara... 6

Gambar II.3 : Elemen-elemen sistem pengkodean suara... 7

Gambar III.1 : Diagram Blok ADPCM... 14

Gambar III.2 : Blok Skematik Enkoder... 18

Gambar III.3 : Diagram Alir dari Proses Enkoder... 21

Gambar III.4 : Blok Skematik Dekoder... 22

Gambar III.5 : Diagram Alir dari Proses Dekoder... 23

Gambar IV.1 : Gambar otokorelasi untuk suara “The discreate fourier transform of the real valued signal is conjugate symetric”.. 25

Gambar IV.2 : Gambar otokorelasi untuk suara “ Pengkodean Sumber dan Kanal... 26

Gambar IV.3 : Grafik harga distorsi sebagai fungsi dari bit rate untuk huruf vokal... 27

Gambar IV.4 : Grafik harga distorsi sebagai fungsi dari bit rate untuk huruf konsonan... 28

Gambar IV.5 : Grafik harga distosi sebagai fungsi dari bit rate untuk kalimat... 30


(5)

DAFTAR TABEL

Tabel IV.1 : Tabel distorsi untuk huruf vokal dibunyikan

panjang... 27

Tabel IV.2 : Tabel distorsi untuk huruf konsonan dibunyikan panjang... 29

Tabel IV.1 : Tabel distorsi untuk kalimat... 30

Tabel IV.1 : Suara vokal panjang... 31

Tabel IV.1 : Suara konsonan panjang... 31


(6)

LAMPIRAN A


(7)

1. Penghitung korelasi dan rate of distrotion dari PCM dan DPCM

%========================================================= clear;

close all; clc;

%========================================================= function [R,H]=countDist(nama_file,D)

% Program penghitung korelasi dan rate of distortion load data;

e=2.7283; Dn=10.^(D./10);

% nama_file=['a' 'i' 'u' 'e' 'o'] nama_file=['p'];

[y,fs,nbits]=wavread(nama_file); if fs>=8000

inc=round(fs/8000); fs=8000;

% Sub sampling menjadi 8000 y=y(1:inc:length(y));

% wavplay(yin,8000) else

error('fs is lower than 8 Khz, Please use Fs=>8 Khz'); end

y=y.*8192;

% source untuk DPCM u=[y;0];

v=[0;y]; d=u-v;


(8)

% Hitung korelasi ryy=xcorr(y,y); rdd=xcorr(d,d); x1=(length(ryy)-1)/2; delay1=[-x1:1:x1]; x2=(length(rdd)-1)/2; delay2=[-x2:1:x2];

% koefisien korelasi

rhoyy=ryy/max(ryy); % Normalisasi rhodd=rdd/max(rdd); % Normalisasi

% hitung probabilitas

proby=hist(y,256)/length(y); probd=hist(d,256)/length(d); proby=proby(find(proby~=0)); probd=probd(find(probd~=0));

% hitung entropy sumber

Hy=sum(proby.*(log10(proby)/log10(2))); Hd=sum(probd.*(log10(probd)/log10(2))); H=[Hy;Hd];

% hitung lower bound untuk rate of distortion dari Shannon RDy=Hy-(0.5.*log10(2*pi.*e.*Dn));

RDd=Hd-(0.5.*log10(2*pi.*e.*Dn)); R=[RDy;RDd];

RFS=R.*fs;

% ploting autocorellation


(9)

xlabel('shift');ylabel('Coefficient of Correlation'); title('Autocorrellation of source signal for PCM'); grid on;

subplot(212);plot(delay2,rhodd);

xlabel('shift');ylabel('Coefficient of Correlation'); title('Autocorrellation of source signal for DPCM'); grid on;

figure;subplot(211);plot(Dlog,RDy,'-*',Dlog,RDd,':ro'); ylabel('R(D)(bit/syimbol)');

xlabel('distortion D (db)');

title('Shanon Lower Bound for Rate of Distortion (R(D))Function'); legend('PCM source','DPCM source');

grid on;

subplot(212);plot(Dlog,RFS(1,:),'-*',Dlog,RFS(2,:),':ro'); ylabel('R(D)(bit/second)');

xlabel('distortion D (db)'); fs=fs/1000;

t=sprintf('Sampling Rate=%.2f Khz',fs); title(t);

legend('PCM source','DPCM source'); grid on;


(10)

2. Penghitung distorsi untuk ADPCM

function [Dlog,D,e,e2]=Distortion(nama_file,N) % program penghitung distorsi untuk ADPCM % baca file

[yin,fs]=wavread(nama_file); if fs >=8000

inc=round(fs/8000); fs=8000;

% sub sampling menjadi 8000 yin=yin(1:inc:length(yin)); %wavplay(yin,8000);

else

error('Fs is lower than 8 Khz, Please use Fs => 8 Khz'); end;

y14=yin.*8192;

% masukan ke enkoder ADPCM

[I,sr,dout,dqout,yout,aiout,biout.tdout,trout,alout]=adpcm(y14,N); yout=sr./8192;

% wavplay(yout,8000); % hitung distorsi e=yin-yout; e2=e.^2; D=mean(e2); Dlog=10*log10(D);


(11)

3. Program ADPCM dengan standar G. 726

function [I,sr,dout,dqout,yout,aiout,biout,tdout,trout,alout]=adpcm(sl,N,format);

% ADPCM Adaptive Differential Pulse Code Modulation % [I,SR]=ADPCM(SL,N)proses enkoding sinyal input PCM % dengan kode sinyal SL

% dengan N kbit/s adaptive differntial pulse code modulation (ADPCM) % N dipilih dari 40, 32, 24, 16 kbit/s.

% jika N tidak ditentukan maka bit rate diset N = 32 Kbit/s

% output pertama I, sinyal output dari enkoder yang merepresentasi % bit stream over the channel.

% sampel I didapat dari -2^(N/8-1),...,+2^(N/8-1). % output kedua (opsional):

% output adalah reconstructed speech signal SR

% (terskala antara -8191 and +8191) yang menjadi keluaran

% dari koresponding ADPCM dekoder untuk error-free transmission dari I. %

% [I,SR,D,DQ,Y,AI,BI,TD,TR,AL]=ADPCM(SL,N); %

% with the following interpretation: % D prediction difference signal

% DQ quantized prediction difference signal % Y scale factor for adaptive quantizer

% AI recursive predictor coefficients (2-column matrix) % BI non-recursive predictor coefficients (6-column matrix) % TD tone detector signal

% TR transient detctor signal

% AL speed control for scale factor adaptation

% fungsi yang juga dipergunakan adalah APUPDATE, AIUPDATE, BIUPDATE


(12)

% input argument checks, default bit rate and format setting if(nargin<1)|(nargin>3)

disp('ADPCM:1to3 input variables required!') help adpcm,return

end

if nargin==1 N=32;

disp('*****N=32 kbit/s*****'); end

a=N==[40 32 24 16]; if(sum(a)~=1)

N=32;

disp('*****N=32 kbit/s*****'); end;

if nargin <=2 format='lin'; end;

if isstr(format)~=1

error('ADPCM:Input format must be string variable!') elseif strcmp(format,'mu')

sl=8191*mu2lin(sl); elseif~strcmp(format,'lin')

error('ADPCM:wrong input format') end

if min(size(sl))~=1

error('ADPCM :input signal must be row or coloumn vector only'); end;

sl=sl(:);

if max(abs(sl))>8191

disp('ADPCM warning: there can be clipping');

disp(['you should use the amplitude range of','-8191<= SL <=8191 for the input signal SL!'])


(13)

end;

if max(sl)<=1

disp(('ADPCM warning: there can be underflow'));

disp(['you should use the amplitude range of','-8191<= SL <=8191 for the input signal SL!'])

end;

I=zeros(size(sl)); % mengalokasikan memori keluaran (channel simbol untuk I) sr=zeros(size(sl)); % mengalokasikan memori keluaran (reconstructed speech) if (nargout>2) % mengalokasikan memori untuk output diagnostik

dout=zeros(size(sl)); dqout=zeros(size(sl)); yout=zeros(size(sl)); aiout=zeros(length(sl),2); biout=zeros(length(sl),6); tdout=zeros(size(sl)); trout=zeros(size(sl)); alout=zeros(size(sl)); end

% mendefinisikan tabel kuantisasi dan tabel adaptasi faktor skala if N==40

h_fi=fliplr([6 6 5 4 3 2 1 1 1 1 1 0 0 0 0 0]);

h_wi=fliplr([43.50 33.06 27.50 22.38 17.50 13.69 11.19 8.81 6.25 3.63 2.56 2.50 2.44 1.50 0.88 0.88]);

h_iadq=fliplr([4.42 4.21 4.02 3.81 3.59 3.35 3.09 2.80 2.48 2.14 1.75 1.32 0.81 0.22 -0.52 -inf]);

h_qan=fliplr([4.31 4.12 3.91 3.70 3.47 3.22 2.95 2.64 2.32 1.95 1.54 1.08 0.52 -0.13 -0.96 -inf]);

end; if N==32

h_fi=fliplr([7 3 1 1 1 0 0 0]);


(14)

h_iadq=fliplr([3.32 2.91 2.52 2.13 1.66 1.05 0.03 -inf]); h_qan=fliplr([3.12 2.72 2.34 1.91 1.38 0.62 -0.98 -inf]); end;

if N==24

h_fi=fliplr([7 2 1 0]);

h_wi=fliplr([36.38 8.56 1.88 -0.25]); h_iadq=fliplr([2.91 2.13 1.05 -inf]); h_qan=fliplr([2.58 1.70 0.06 -inf]); end;

if N==16

h_fi=fliplr([7 0]);

h_wi=fliplr([27.44 -1.38]); h_iadq=fliplr([2.85 0.91]); h_qan=fliplr([2.04 -inf]); end;

% Numerical constants c1=0.125; % 2^-3 c2=0.9375; % 1-2^-4 c3=0.03125; % 2^-5 c4=0.96875; % 1-2^-5 c5=0.015625; % 2^-6 c6=0.984375; % 1-2^-5 c7=0.0078125; % 2^-7 c8=0.9921875; % 1-2^-7 c9=0.01171875; % 3*2^-8 c10=0.99609375; % 1-2^-8 c11=0.998046875;%1-2^-9

% inisialisasi variabel internal

yu=1.06; y1=0; dms=0; dml=0; ap=0;


(15)

ai=zeros(1,2); % recursive predictor coefficient [a1(k), a2(k)] bi=zeros(1,6); % non-recursive predictor coeficients

% [b1(k), b2(k),...,b6(k)]

p=zeros(1,3); % surrogate vector for recursive predictor % adaptation [p(k), p(k-1), p(k-2)]

srv=zeros(1,2); % reconstructed speech vector [sr(k), sr(k-1)]

% proses looping dari semua sampel sinyal for k=1:length(sl)

%kuantisasi dan komputasi dari defferent signal sez=bi*dq(1:6)'; % prediksi sinyal non rekursif se=ai*srv'+sez; % prediksi sinyal rekursif d=sl(k)-se; % komputasi different signal al=min(ap,1); % parameter speed control

y=al*yu+(1-al)*y1; % update faktor skala kuantisasi

x=log2(abs(d))-y; % skala different signal pada domain logaritmik I(k)=sign(d)*(sum(h_qan<=x)-1); % proses kuantisasi

% invers quantization dan signal reconstruction

dqh=sign(I(k))*2^(h_iadq(abs(I(k))+1)+y); %invers quantization/ log dq=[dqh dq(1:6)]; % shift different signal vector

p=[dq(1)+sez,p(1:2)]; % shift surrogate signal vector sr(k)=se+dq(1); % reconstruct speech sample srv=[sr(k),srv(1)]; % shift reconstructed speech vector

% adaptasi koefisien predictor ai=aiupdate(ai,p,c9,c10,c7,c8,c2); bi=biupdate(bi,dq,N,c7,c10,c11);

% adaptasi quantizer scale factor WI=h_wi(abs(I(k))+1);

yu=c4*y+c3*WI; yu=max(min(yu,10.00),1.06);


(16)

y1=c6*y1+c5*yu;

% tone and transion detection

td=ai(2)<-0.71875; % deteksi sinyal patrial tr=td&(abs(dq(1))>24*2^y1);

if tr==1

ai=zeros(1,2); bi=zeros(1,6); end;

% quantizer adaptation speed control FI=h_fi(abs(I(k))+1);

dml=c8*dml+c7*FI; dms=c4*dms+c3*FI;

ap=apupdate(ap,dms,dml,y,td,tr,c1,c2); % parameter speed control

% write diagnostic output if(nargout>2)

dout(k)=d; dqout(k)=dqh; yout(k)=y; aiout(k,:)=ai; biout(k,:)=bi; tdout(k)=td; trout(k)=tr; alout(k)=al; end

end;

function ai=aiupdate(aio,p,c1,c2,c3,c4,c5); % ai=aiupdate(aio,p,c1,c2,c3,c4,c5)


(17)

%

% function : update a1 and a2 coefficient of second order predictor %

% input:aio old coefficient of secon order predictor % p surrogate vector

% c1 =3*2^-8 % c2 =1-2^-8 % c3 =2^-7 % c4 =1-2^-7 % c5 =1-2^-4 %

% output: : ai coefficient of second order recursive predictor

sgnp=sign(p);

sgnp(2:3)=sign(sgnp(2:3)+0.5); % ai(1)=c2*aio(1)+c1*sgnp(1)*sgnp(2); if abs(aio(1))>0.5

fa1=2*sign(aio(1)); else

fa1=4*aio(1); end;

ai(2)=c4*aio(2)+c3*(sgnp(1)*sgnp(3)-fa1*sgnp(1)*sgnp(2)); ai(2)=max(min(ai(2),0.75),-0.75);

b=c5-ai(2);

ai(1)=max(min(ai(1),b),-b);

function ap=apupdate(apo,dms,dml,y,td,tr,c1,c2); % ap=apupdate(apo,dms,dml,y,td,tr,c1,c2);

% function : update speed control parameter ap(k) % impementation of recomendation G. 726 %


(18)

% dml long term average of F[I(k)] % dms short term average of F[I(k)] % y quantizer scale factor y(k) % td tone detector

% tr transion detector % c1 =2^-3

% c2 =1-2^-4

% output: ap Speed control parameter

if tr==1 ap=1;

elseif(abs(dms-dml)>=c1*dml|y<3|td==1) ap=c2*apo+c1;

else

ap=c2*apo; end;

function bi=biupdate(bio,dq,N,c1,c2,c3);

% BIUPDATE Update non recursive predictor coefficients % bi=biupdate(bio,dq,N,c1,c2,c3);

%

% function: update coeficient of sixth order predictor %

% input:bio old coefficient of sixth order predictor % dq difference signal vector

% c1 =2^-7 % c2 =1-2^-8 % c3 =1-2^-9 %


(19)

sgndq=sign(dq);

sgndq(2:6)=sign(sgndq(2:6)+0.5); if N==40

bi=c3*bio+c1*sgndq(1)*sgndq(2:7); else

bi=c2*bio+c1*sgndq(1)*sgndq(2:7); end;


(20)

4. Program Eksekusi

%========================================================= close all;

clear all; clc;

%========================================================= file=['a' 'i' 'u' 'e' 'o'];

% file=['p' 'h']; pjg=length(file); D(1:pjg,1:4)=[0]; N=[40 32 24 16]; for i=1:pjg clc; for j=1:4

display=sprintf('File yang diproses adalah %s.wav dengan bitrate %d kbps',file(i),N(j));

disp(display);

[Dlog(i,j),D(i,j),e,e2]=Distortion(file(i),N(j)); end;

end;

meanD=mean(D);

meanD=10*log10(meanD) save data


(21)

BAB I

PENDAHULUAN

I.1. Latar Belakang

Pada jaman sekarang ini teknik pengkodean untuk mengkodekan sinyal suara maupun sinyal gambar sudah semakin berkembang. Banyak macam teknik pengkodean untuk mengkodekan sinyal suara maupun sinyal gambar. Dalam tulisan ini yang akan dibahas adalah teknik pengkodean untuk mengkodekan sinyal suara atau speech coding.

Teknik pengkodean sinyal suara (speech signal) yang sudah banyak dipakai di antaranya adalah Pulse Code Modulation (PCM), Differential Pulse Code Modulation (DPCM), Adaptive Pulse Code Modulation (APCM), Adaptive Differential Pulse Code Modulation (ADPCM), Linear Predictive Coding (LPC). Pada setiap teknik pengkodean di atas terdapat banyak macam kekurangan atau kelebihannya.

Pengkodean suara (Speech Coding) bertujuan untuk kompresi, sehingga menghasilkan bit rate yang makin rendah, memori yang lebih kecil tanpa harus menghilangkan informasi penting yang dikandung dalam sinyal suara yang dikodekan. Usaha di atas juga menjadi salah satu solusi untuk menutup keterbatasan bandwith. Hal ini dapat direalisasikan dalam teknologi digital selular karena terdapat banyak user dan masing-masing membutuhkan pembagian bandwith frekuensi yang sama. Selain itu pengkodean suara juga diperlukan dalam penyimpanan voice digital sehingga memori yang dibutuhkan semakin berkurang tanpa terjadi kehilangan informasi yang terdapat di dalamnya.

Adaptive Differential Pulse Code Modulation adalah teknik kompresi digital yang biasanya digunakan untuk mengkompresi sinyal suara dalam pertelekomunikasian. ADPCM adalah waveform codec yang dapat juga dipergunakan untuk sinyal-sinyal lain selain sinyal suara. ADPCM lebih sederhana dari kebanyakan teknik pengkodean bit rate rendah lainnya, artinya enkoding dan dekoding dapat dilakukan dengan sangat cepat dan tidak memerlukan perhitungan yang rumit.


(22)

I.2. Identifikasi Masalah

1. Bagaimana merealisasikan simulasi pengkodean sinyal suara dengan menggunakan metoda ADPCM menggunakan perangkat lunak, yaitu bahasa pemrograman Matlab versi 6.1?

2. Bagaimana perubahan karakteristik statistik dari sinyal tersebut setelah dilewatkan ke ADPCM dengan standard G. 726?

I.3. Pembatasan Masalah

1. Sinyal diasumsikan Ergodik, sehingga ensemble average dari suatu parameter diestimasi dengan perata-rataan dengan domain waktu pada saat perhitungan distorsi karena kuantisasi.

2. Tidak digunakan kriteria subyektif, tetapi berdasarkan mean squared value dari distorsi..

I.4. Tujuan

Tujuan penulisan tugas akhir ini adalah untuk meneliti kinerja dari teknik waveform coding dengan Adaptive Differential Pulse Code Modulation dengan standard G. 726, yaitu rekomendasi untuk mengkonversi 64 Kbps A-law atau µ-law PCM dari dan ke 40, 32, 24, 16 Kbps.

I.5. Sistematika Pembahasan

Laporan tugas akhir yang disusun ini terbagi menjadi 5 bab yang mempunyai garis besar sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi latar belakang, identifikasi masalah, pembatasan masalah, tujuan dan sistematika pembahasan.

BAB II : LANDASAN TEORI

Bab ini berisi Landasan teori, seperti teknologi pengkodean suara, sistem komunikasi suara, klasifikasi metode pengkodean suara, proses pengkodean suara, produksi dan karakteristik sinyal suara, proses kuantisasi, kuantisasi logaritmik, laju bit dan kompleksitas.


(23)

BAB III : PERANCANGAN DAN REALISASI SIMULASI

Bab ini berisi teori waveform coding seperti Pulse Code Modulation (PCM), Differential Pulse Code Modulation (DPCM), Adaptive Pulse Code Modulation (APCM), Adaptive Differential Pulse Code Modulation ( ADPCM), fungsi rate of distortion dan implementasi ADPCM (Rekomendasi ITU-T G. 726).

BAB IV : SIMULASI DAN ANALISA DATA

Bab ini berisi kegiatan simulasi program yang telah dibuat apakah berfungsi dengan baik sesuai tujuan awal atau tidak.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan hasil kegiatan tugas akhir ini, serta saran saran.


(24)

BAB V

KESIMPULAN DAN SARAN

V.1. Kesimpulan

V.1.1. Realisasi dan simulasi program

Program dapat direalisasikan dan disimulasikan dengan memberi masukkan sinyal suara yang direkam menggunakan soundcard dengan frekuensi sampling 22.050 Hz dan 8 bit mono. Kinerja dihitung berdasarkan sinyal dengan suara sebagai berikut :

e) Huruf vokal a, i, u, e, o yang disuarakan panjang. f) Huruf-huruf konsonan seperti f, g, k, z

g) Kalimat “The Discrete Fourier Transform of Real Valued Signal is Conjugate symmetric” dari file wav bawaan matlab.

h) Kalimat “Pengkodean Sumber dan Kanal”

V.1.2. Kinerja G.726

1. Secara umum kenaikan distorsi maksimum akan terjadi pada penurunan bit rate (pengurangan 1 bit representasi simbol) dari 24 ke 16 Kbps, sedangkan kenaikan distorsi minimum terjadi pada penurunan bit rate dari 32 ke 24 Kbps.

2. Dari hasil pengujian dapat dibandingkan quantizer uniform pada PCM untuk setiap pengurangan 1 bit representasi menghasilkan kenaikan distorsi 6 dB, sedangkan pada ADPCM dengan adaptive quantizer secara umum mempunyai performansi yang lebih baik yaitu menghasilkan rata-rata kenaikan distorsi sekitar 3,66 dB.

V.2. Saran

Adapun saran yang ingin disampaikan adalah agar hasil dari kinerja ini dapat direalisasikan secara real time dan hasilnya dapat langsung diamati.


(25)

DAFTAR PUSTAKA

1. Hasan Limi Mulya,” Simulasi Pengkodean Suara dengan Menggunakan

Metode Sinusoidal Transform Coding (STC) Method”, Bandung, 2005 2. http://freespace.vigin.net./sanjeev.sarpal/speech_coding.htm

3. John G. Proakis, ”Digital Communication System”, 4th Edition, McGraw-Hill, 2001

4. N. S. Jayant and Peter Noll, ”Digital Coding of Waveform”, 1st Edition, Prentice-Hall, 1984

5. The International Telegraph and Telephone Consultative Committee

(CCITT), “Recommendation G. 726: 40, 32, 24, 16 kbit/s Adaptive

Differential Pulse Code Modulation (General Aspect of Digital


(1)

4. Program Eksekusi

%========================================================= close all;

clear all; clc;

%========================================================= file=['a' 'i' 'u' 'e' 'o'];

% file=['p' 'h']; pjg=length(file); D(1:pjg,1:4)=[0]; N=[40 32 24 16]; for i=1:pjg clc; for j=1:4

display=sprintf('File yang diproses adalah %s.wav dengan bitrate %d kbps',file(i),N(j));

disp(display);

[Dlog(i,j),D(i,j),e,e2]=Distortion(file(i),N(j)); end;

end;

meanD=mean(D);

meanD=10*log10(meanD) save data


(2)

BAB I

PENDAHULUAN

I.1. Latar Belakang

Pada jaman sekarang ini teknik pengkodean untuk mengkodekan sinyal suara maupun sinyal gambar sudah semakin berkembang. Banyak macam teknik pengkodean untuk mengkodekan sinyal suara maupun sinyal gambar. Dalam tulisan ini yang akan dibahas adalah teknik pengkodean untuk mengkodekan sinyal suara atau speech coding.

Teknik pengkodean sinyal suara (speech signal) yang sudah banyak dipakai di antaranya adalah Pulse Code Modulation (PCM), Differential Pulse Code Modulation (DPCM), Adaptive Pulse Code Modulation (APCM), Adaptive Differential Pulse Code Modulation (ADPCM), Linear Predictive Coding (LPC). Pada setiap teknik pengkodean di atas terdapat banyak macam kekurangan atau kelebihannya.

Pengkodean suara (Speech Coding) bertujuan untuk kompresi, sehingga menghasilkan bit rate yang makin rendah, memori yang lebih kecil tanpa harus menghilangkan informasi penting yang dikandung dalam sinyal suara yang dikodekan. Usaha di atas juga menjadi salah satu solusi untuk menutup keterbatasan bandwith. Hal ini dapat direalisasikan dalam teknologi digital selular karena terdapat banyak user dan masing-masing membutuhkan pembagian bandwith frekuensi yang sama. Selain itu pengkodean suara juga diperlukan dalam penyimpanan voice digital sehingga memori yang dibutuhkan semakin berkurang tanpa terjadi kehilangan informasi yang terdapat di dalamnya.

Adaptive Differential Pulse Code Modulation adalah teknik kompresi digital yang biasanya digunakan untuk mengkompresi sinyal suara dalam pertelekomunikasian. ADPCM adalah waveform codec yang dapat juga dipergunakan untuk sinyal-sinyal lain selain sinyal suara. ADPCM lebih sederhana dari kebanyakan teknik pengkodean bit rate rendah lainnya, artinya enkoding dan dekoding dapat dilakukan dengan sangat cepat dan tidak memerlukan perhitungan yang rumit.


(3)

I.2. Identifikasi Masalah

1. Bagaimana merealisasikan simulasi pengkodean sinyal suara dengan menggunakan metoda ADPCM menggunakan perangkat lunak, yaitu bahasa pemrograman Matlab versi 6.1?

2. Bagaimana perubahan karakteristik statistik dari sinyal tersebut setelah dilewatkan ke ADPCM dengan standard G. 726?

I.3. Pembatasan Masalah

1. Sinyal diasumsikan Ergodik, sehingga ensemble average dari suatu parameter diestimasi dengan perata-rataan dengan domain waktu pada saat perhitungan distorsi karena kuantisasi.

2. Tidak digunakan kriteria subyektif, tetapi berdasarkan mean squared value dari distorsi..

I.4. Tujuan

Tujuan penulisan tugas akhir ini adalah untuk meneliti kinerja dari teknik waveform coding dengan Adaptive Differential Pulse Code Modulation dengan standard G. 726, yaitu rekomendasi untuk mengkonversi 64 Kbps A-law atau µ-law PCM dari dan ke 40, 32, 24, 16 Kbps.

I.5. Sistematika Pembahasan

Laporan tugas akhir yang disusun ini terbagi menjadi 5 bab yang mempunyai garis besar sebagai berikut :

BAB I : PENDAHULUAN

Bab ini berisi latar belakang, identifikasi masalah, pembatasan masalah, tujuan dan sistematika pembahasan.

BAB II : LANDASAN TEORI

Bab ini berisi Landasan teori, seperti teknologi pengkodean suara, sistem komunikasi suara, klasifikasi metode pengkodean suara, proses pengkodean suara, produksi dan karakteristik sinyal suara, proses kuantisasi, kuantisasi logaritmik, laju bit dan kompleksitas.


(4)

BAB III : PERANCANGAN DAN REALISASI SIMULASI

Bab ini berisi teori waveform coding seperti Pulse Code Modulation (PCM), Differential Pulse Code Modulation (DPCM), Adaptive Pulse Code Modulation (APCM), Adaptive Differential Pulse Code Modulation ( ADPCM), fungsi rate of distortion dan implementasi ADPCM (Rekomendasi ITU-T G. 726).

BAB IV : SIMULASI DAN ANALISA DATA

Bab ini berisi kegiatan simulasi program yang telah dibuat apakah berfungsi dengan baik sesuai tujuan awal atau tidak.

BAB V : KESIMPULAN DAN SARAN

Bab ini berisi kesimpulan dan hasil kegiatan tugas akhir ini, serta saran saran.


(5)

BAB V

KESIMPULAN DAN SARAN

V.1. Kesimpulan

V.1.1. Realisasi dan simulasi program

Program dapat direalisasikan dan disimulasikan dengan memberi masukkan sinyal suara yang direkam menggunakan soundcard dengan frekuensi sampling 22.050 Hz dan 8 bit mono. Kinerja dihitung berdasarkan sinyal dengan suara sebagai berikut :

e) Huruf vokal a, i, u, e, o yang disuarakan panjang. f) Huruf-huruf konsonan seperti f, g, k, z

g) Kalimat “The Discrete Fourier Transform of Real Valued Signal is Conjugate symmetric” dari file wav bawaan matlab.

h) Kalimat “Pengkodean Sumber dan Kanal”

V.1.2. Kinerja G.726

1. Secara umum kenaikan distorsi maksimum akan terjadi pada penurunan bit rate (pengurangan 1 bit representasi simbol) dari 24 ke 16 Kbps, sedangkan kenaikan distorsi minimum terjadi pada penurunan bit rate dari 32 ke 24 Kbps.

2. Dari hasil pengujian dapat dibandingkan quantizer uniform pada PCM untuk setiap pengurangan 1 bit representasi menghasilkan kenaikan distorsi 6 dB, sedangkan pada ADPCM dengan adaptive quantizer secara umum mempunyai performansi yang lebih baik yaitu menghasilkan rata-rata kenaikan distorsi sekitar 3,66 dB.

V.2. Saran

Adapun saran yang ingin disampaikan adalah agar hasil dari kinerja ini dapat direalisasikan secara real time dan hasilnya dapat langsung diamati.


(6)

DAFTAR PUSTAKA

1. Hasan Limi Mulya,” Simulasi Pengkodean Suara dengan Menggunakan Metode Sinusoidal Transform Coding (STC) Method”, Bandung, 2005 2. http://freespace.vigin.net./sanjeev.sarpal/speech_coding.htm

3. John G. Proakis, ”Digital Communication System”, 4th Edition, McGraw-Hill, 2001

4. N. S. Jayant and Peter Noll, ”Digital Coding of Waveform”, 1st Edition, Prentice-Hall, 1984

5. The International Telegraph and Telephone Consultative Committee (CCITT), “Recommendation G. 726: 40, 32, 24, 16 kbit/s Adaptive Differential Pulse Code Modulation (General Aspect of Digital