Anda di halaman 1dari 11

PERCOBAAN II

PENGOLAHAN SINYAL AUDIO

2.1 Tujuan
1. Mempelajari teknik kuantisasi untuk kompresi audio.
2. Memahami teknik pengkodean lossy.

2.2 Peralatan
1. Program MATLAB 6.1 keatas.
2. Speaker aktif.

2.3 Dasar Teori


Kuantisasi menghasilkan kesalahan karena fakta bahwa semua nilai
amplitudo analog yang berada di dalam salah satu dari interval kuantisasi 256
harus dipetakan ke nilai rata-rata tunggal untuk interval tersebut. Dengan
membuat distorsi sinyal non-linear.
Ini berarti bahwa rasio signal-to-noise berkurang seiring dengan amplitudo
sinyal. Selanjutnya, telinga manusia jauh lebih sensitif terhadap suara pada
amplitudo sinyal rendah dari pada yang tinggi. Untuk mengurangi efek ini
sementara tetap mempertahankan penggunaan standar resolusi 8-bit untuk PCM di
telepon, 12-bit A / D converter digunakan untuk kuantisasi, diikuti oleh kompresi
menggunakan non-linear, karakteristik logaritmik. Akibatnya, amplitudo sinyal
kecil yang terkuantisasi jauh lebih halus dari amplitudo sinyal tinggi, sehingga
nilai mutlak kebisingan kuantisasi meningkat seiring dengan amplitudo tetapi
rasio signal-to-noise kurang lebih tetap sama.
Di Eropa, karakteristik logaritmik dibentuk atas dasar A-law menggunakan
13 segmen, di Amerika Utara dan Jepang, hal ini dilakukan atas dasar dari μ-law
menggunakan 15 segmen. Sistem eksperimental kami mengizinkan penggunaan
kedua karakteristik tersebut. Pada frekuensi sampling 8 kHz, panjang word dari
hasil sinyal PCM telepon dalam bit rate yang terstandarisasi adalah: 8 bit × 8 kHz
= 64 kbit/s. Di sisi demodulasi, konversi paralel-serial diikuti oleh pembalikan
kompresi menggunakan ekspansi, sehingga membuat sinyal 12-bit tersedia lagi
untuk D / A konversi selanjutnya. Seluruh proses ini juga disebut "companding"
(compressing+expanding).
Beberapa penggunaan yang diizinkan oleh time multiplexing adalah
menghadapi kelemahan berupa kerentanan pulsa amplitudo modulasi untuk
gangguan amplitudo. Untuk menurunkan sensitivitas gangguan ini, perlu untuk
mendigitalkan sinyal PAM menjadi nilai numerik diskrit dan mengirimkannya
secara serial seperti sinyal biner.
Informasi digital yang dihasilkan dengan membagi sinyal komunikasi
PAM ke tahap amplitudo - atau interval kuantisasi - dan menugaskan sebuah code
word biner untuk setiap tahapnya. Semakin banyak bit pada code word, semakin
besar jumlah tahap amplitudo terdiferensiasi dan perbedaan antara tahap sisi-
sisinya lebih kecil, yang mengindikasikan resolusi yang dihasilkan lebih halus.
Semakin kecil tahap, maka pemetaan amplitudo sinyal lebih tepat mendekati
aslinya.
Sebuah CD-player, misalnya, menggunakan teknologi 16-bit (= 65.563
tahap), sedangkan sistem eksperimental kami menggunakan 8-bit sesuai dengan
standar ISDN (= 256 tahap). Sebuah kode pulsa modulasi terdiri dari pulsa sirkuit
modulasi amplitudo, diikuti oleh tahap yang diperlukan untuk kuantisasi dan
pengkodean. Karena kuantisasi dan koding tidak dapat berlangsung dengan
kecepatan terbatas, amplitudo setiap nilai sampel dijaga konstan oleh (sampel-
and-hold) sebuah tahap sampai nilai berikutnya adalah disampel. Komponen ini
diikuti oleh A/D converter dan serial-paralel converter untuk menghasilkan
sinyal PCM final.
Selama kuantisasi, seluruh rentang amplitudo dibagi menjadi jumlah
interval kuantisasi (tahap tegangan) yang terbatas. Setiap Interval diberikan
sebuah nomor unik, mencakup berbagai tegangan tertentu dan dengan batasan
yang jelas antar tiap tahapan. Setelah nilai-nilai sampel telah dikuantisasi, interval
diubah menjadi kode biner oleh CODEC (coder / decoder). Dalam proses ini,
masing-masing 128 interval kuantisasi negatif dan positif ditugaskan sebuah
bilangan biner (8-bit code word).
2.3.1 Kuantisasi Seragam
Rentang (range) dan level kuantisasi dapat dipilih dalam berbagai cara
tergantung pada aplikasi yang dimaksud dari representasi digital. Dengan
kuantisasi seragam, rentang dinamik (minimum ke maksimum) dari sinyal R,
dibagi menjadi L interval berukuran sama, masing-masing dengan panjang Δ,
dan selanjutnya Δ akan disebut sebagai step-size kuantisasi. Hubungan input
(nilai yang belum dikuantisasi) dengan output (nilai sudah dikuantisasi) dalam
kuantizer seragam ditunjukkan pada Gambar 2.1, dimana, xi adalah batas kanan
pada interval i dan xî adalah level kuantisasi dari interval tersebut. Ini memenuhi
kondisi, yaitu:

xi  xi 1  

xˆi  xˆi 1  

Beberapa nilai dalam interval ke – I, dipetakan ke nilai tengah dalam interval


yaitu :

Q ( x ) =x̌ f = X min ( i−l ) ∆+ , if xi −l ≤ x< x f …………(2.3)
2

Pada komputer, setiap level dinyatakan oleh codeword biner. Dengan L


level kuantisasi, setiap level dapat dinyatakan dengan B = [log2(L)], seperti
diunjutkan pada Gambar 2.1

Gambar 2.1 Karakteristik Input-Output Kuantiser 3-Bit


Ketika rentang sinyal R diketahui, sebuah kuantiser seragam memiliki
hanya satu parameter, yaitu: jumlah level N atau step size kuantisasi , yang
keduanya direlasikan oleh :
∆=R/ N …………..………………………(2.4)
Jumlah level N umumnya dipilih dalam bentuk bentuk 2 . Jika sinyal
memiliki n Fungsi kerapatan probabilitas yang simetris, yaitu |x(n)|= Xmax, atau
R = 2 Xmax : maka :

μ 2 X max
2 X max =∆ 2 ∨∆= ……………………….(2.5)

Untuk membahas efek kuantisasi, sampel-sampel terkuantisasi x^(n)
dinyatakan sebagai :
x̌ ( n )=x ( n ) +e (n)………………………………..(2.6)
Dimana x(n) adalah sampel-sampel yang belum dikuantisasi dan e(n)
adalah error kuantisasi atau noise. Dengan memperhatikan Gambar 2.1, jika 
dan B terpilih seperti pada persamaan 2.5, maka :
−∆ ∆
≤ e ( n ) ≤ ……………………………………….(2.7)
2 2

Nyatakan signal-to-quantization noise ratio sebagai :


σ 2
E [ x 2 (n) ]
∑ x2 ( n)
n
SNR= = = …..……………………(2.8)
σ 2 E [ e 2(n) ]

∑ e 2 (n)
n
Untuk sinyal dengan distribusi seragam dalam rentang R, variannya adalah

R2
. Jika sebuah noise diasumsikan amplitudonya terdistribuasi seragam pada
12

−∆ ∆
( , ), maka :
2 2
2
2 ∆2 x max
σ = = 2 R ……………………………………(2.9)
e
12 3 2
Substitusikan persamaan 2.9 ke persamaan 2.8, maka akan diperoleh :
( 3 ) 22 R
SNR=
X max ………….…………………………(2.10)
[ ]σ2

atau, dalam unit dB, signal-to-quantizating error dinyatakan dengan:

σ2 X
SNR=10 log 10
[ ]
σ 2
σ2 [ ]
=6 B+ 4,77−20 log 10 max ……………..(2.11)

Jika diasumsikan bahwa rentang kuantizer adalah X max=4 σ x , maka


persamaan 2.11 menjadi :

SNR=6 B−7,2( dB)…………………………………..(2.12)

Ini menunjukan bahwa setiap penambahan bit akan memperbaiki SNR


sampai 6 dB.

2.3.2 Kuantisasi - law


The quantizer seragam hanya optimal untuk sinyal terdistribusi secara
merata. Untuk sinyal yang lebih terkonsentrasi di dekat nilai-nilai amplitudo
kecil, misalnya distribusi Gaussian dengan mean nol, maka diperlukan untuk
mengkuantisasi lebih halus di amplitudo kecil. Hal ini dapat dicapai dengan
terlebih dahulu menerapkan pemetaan sinyal dilanjutkan dengan kuantisasi
seragam. Pemetaannya adalah.
[ x (n)]
y ( n )=F [ x (n) ] = X max
[
log 1+ μ
X max ] sign [ x ( n) ]
……………(2.13)
log [ 1+ μ ]

Gambar 2.2 menunjukan kurva-kurva y(n) versus x(n) untuk nilai yang
berbeda. Sangatlah jelas bahwa persamaan 2.13 dapat meningkatkan atau
mempertinggi amplitude input yang kecil. Gambar 2.3 menunjukan distribusi
level-level kuantisasi pada kasus = 40, dan N = 8. Jika = 0, persamaan 2.13
akan menurunkan y(n) = x(n), yaitu level-level kuantisasi dipisahkan secara
seragam. Akan tetapi untuk besar, dan |x(n)| besar,
Gambar 2.2 Karakteristik Hubungan Input-Output Kuantiser µ -Law

x (n)
| |
| y ( n)|=X max log
X max
……………………………………….(2.14)

y (n)
Xmax ………………………………………..(2.15)
|x (n)|=X max 10
Kecuali pada amplitudo yang sangat rendah, level-level kuantisasi
meningkat secara eksponensial. Kuantisasi ini disebut dengan µ-law kuantisasi.
Formulasi signal-to-quantizing noise ratio untuk kuantiser µ -law, dinyatakan
dengan :

2 2

[ [ ] [ ]]
X X
SNR=6 B+4,77−20 log 10 [ ln ( 1+ μ ) ] −10 log 10 1+ max + √ 2 max
μσ x μσ x
…............

...................................(2.16)

Gambar 2.3 Distribusi Level-Level Kuantisasi untuk µ-Law 3-Bit Quantizer dengan µ= 40
2.4 Langkah Percobaan
2.4.1 Kuantisasi Seragam
1. Buatlah fungsi fungsi dibawah ini :
function []=demo_quant(inname,outname, N);
%Membaca sinyal input
[x,fs,N0]=wavread(innam
e); xmin=min(x);
xmax=max(x); Q=(xmax-
xmin)/N;
disp('N0,xmin,xmax,N,Q'
);
disp([N0,xmin,xmax,N,Q]
);

%Terapkan kuantisasi seragam pada setiap


sample xq=sign(x).*(floor((abs(x)+Q/2)/Q)*Q);

%Bandingkan kualitas
suara
wavwrite(xq,fs,N0,outnam
e); sound(x,fs);
fprintf('\n Hit a key to continue');
pause;
sound(xq,fs);

%Plot bentuk gelombang pada seluruh


perioda t=1:length(x);
figure; plot(t,x,'r:');
hold on;
axis tight; grid on;
legend('original')

%figure;
plot(t,x,'r:'); hold
on; plot(t,xq,'b-');
axis tight; grid on;
legend('original','quantized')

%Plot bentuk gelombang pada perioda yang


dipilih t=5000:5100;
figure; plot(t,x(5000:5100),'r:');
hold on;
plot(t,xq(5000:5100),'b-'); axis
tight; grid on;

% Hitung
MSE D=x-xq;
MSE=mean(D.
^2);
fprintf('\n Error antara original dan quantized =
%g\n\n',MSE

Kode Program 2.1 Kuantisasi Seragam


2. Simpanlah program ini di folder work pada matlab anda menggunakan
nama “
uniform”
3. Pastikan terdapat file.wav di folder work
4. Jalankan program ini dengan memasukan inname.wav, outname.wav,
dan jumlah level N = 4 (2 bit).
Contoh :
>> uniform('mozart.wav','mozart_uniform_4.wav',4)

5. Simpan grafik yang ditampilkan dan catat nilai MSE


6. Ulangi langkah no.4 dan no. 5 dengan memasukan kuantisasi uniform
dengan nilai N = 8, 16, 32, 64, 128 dan 256. Nilai-nilai ini adalah
identik dengan jumlah bit yang digunakan yaitu, 3 bit, 4 bit, 5 bit, 6 bit,
7 bit dan 8 bit)
7. Ulangi langkah no.4 - no.6 dengan memasukan inname dengan file.wav
yang lain
8. Untuk setiap file.wav yang digunakan, bandingkanlah sekuen asli dan
sekuen setelah dikuantisasi dalam bentuk kualitas sound dan bentuk
gelombang. Juga analisis MSE yang dihasilkan.
5.4.2 Kuantisasi -law
1. Buatlah fungsi fungsi dibawah ini.

function []=quant_mulaw(inname,outname, N, mu);

%Membaca sinyal
input
[x,fs,N0]=wavread(in
name); xmin=min(x);
xmax=max(x);

magmax=max(abs(x));
xmin=-magmax;
xmax=magmax; Q=(xmax-
xmin)/N;
disp('N0,xmin,xmax,N,Q
,mu');
disp([N0,xmin,xmax,N,Q
,mu]);

%Terapkan transform mu-law pada sampel


original
y=xmax*log10(1+abs(x)*(mu/xmax))/log10(1+mu
);
%Terapkan kuantisasi seragam pada nilai absolute
setiap sampel
yq=floor((y-xmin)/Q)*Q+Q/2+xmin;
%Terapkan invers transform mu-law pada
sekuen terkuantisasi
xq=(xmax/mu)*(10.^((log10(1+mu)/xmax)*yq)-1).*sign(x);
%Bandingkan kualitas
sound
wavwrite(xq,fs,N0,out
name); sound(x,fs);
fprintf('\n Hit a key to continue');
pause;
sound(xq,fs);

%Plot bentuk gelombang pada seluruh


perioda t=1:length(x);
figure;
plot(t,x,'r:');
hold on;
plot(t,xq,'b-');
axis tight; grid
on;
legend('original','quantized')
%Plot bentuk gelombang pada perioda yang
dipilih t=2000:2200;
figure;
plot(t,x(2000:2200),'r:'); hold
on; plot(t,xq(2000:2200),'b-');
axis tight; grid on;
%
Hitung
MSE
D=x-xq;
MSE=mean
(D.^2);
fprintf('\n Error antara original dan quantized =
%g\n\n',MSE)

Kode Program 2.2 Kuantisasi µ-Law

2. Simpanlah program ini di folder work pada matlab anda menggunakan


nama “
mulaw”
3. Pastikan terdapat file.wav di folder work
4. Jalankan program ini dengan memasukan inname.wav, outname.wav,
jumlah level N N > 1 dan mu-law: 1<= mu <= 255
Contoh :
>> mulaw
('mozart.wav','mozart_uniform_16.wav',4, 16)
5. Simpan grafik yang ditampilkan dan catat nilai MSE
6. Ulangi langkah no.4 – no.5 dengan memasukan kuantisasi -law dengan
nilai mu
= 16 dan N = 8, 16, 32, 64, 128.
7. Ulangi langkah no.4 - no.6 dengan memasukan inname dengan file.wav
yang lain.
8. Untuk setiap file.wav yang digunakan:
1. Bandingkanlah sekuen asli dan sekuen setelah dikuantisasi dalam
bentuk kualitas sound dan bentuk gelombang. Juga analisis MSE yang
dihasilkan.
2. Bandingkan sekuen terkuantisasi yang telah diperoleh dengan kuantiser
seragam dan dengan kuantiser mu-law pada level kuantisasi (N) yang
sama. Kuantiser manakah yang menghasilkan error yang lebih kecil pada
nilai sinyal rendah, dan error lebih besar pada nilai sinyal besar.
(Gunakan plot bentuk gelombang untuk membandingkan).

Anda mungkin juga menyukai