PERCOBAAN 4
SAMPLING DAN ALIASING
Tujuan Praktikum
- Mahasiswa memahami dan dapat memilih nilai sampel yang tepat terhadap suatu sinyal.
- Mahasiswa memahami pengaruhnya sampling, oversampling, dan undersampling pada proses recovery sinyal
- Mahasiswa dapat melakukan rekontruksi sinyal dari hasil sampling dan menguji hasilnya.
- Mahasiswa dapat membuat dan menyimpan file dalam format “wav”
4.1 Dasar
Teori
Dalam proses pengolahan
sinyal analog, sinyal input masuk ke Analog
Signal Processing (ASP), diberi berbagai perlakuan (misalnya pemfilteran,
penguatan,dsb.) dan outputnya berupa sinyal analog.
Gambar 4.1.
Sistem Pengolahan Sinyal Analog
Proses pengolahan sinyal secara digital
memiliki bentuk sedikit berbeda. Komponen utama sistem ini berupa sebuah processor digital yang mampu
bekerja apabila masukannya berupa sinyal digital. Untuk sebuah input berupa
sinyal analog perlu proses awal yang bernama digitalisasi melalui perangkat
yang bernama analog-to-digital conversion (ADC), dimana sinyal analog
harus melalui proses sampling, quantizing dan coding. Demikian juga output dari processor digital harus melalui
perangkat digital-to-analog conversion (DAC) agar outputnya kembali
menjadi bentuk analog. Ini bisa kita amati pada perangkat seperti PC, digital sound system, dsb. Secara
sederhana bentuk diagram bloknya adalah seperti berikut ini.
Gambar
4.2. Sistem Pengolahan Sinyal
Digital
4.1.1.
Sinyal Waktu Diskrit
Berdasarkan pada penjelasan di atas kita tahu
betapa pentingnya satu proses yang bernama sampling.
Setelah sinyal waktu kontinyu atau yang juga popoler kita kenal sebagai sinyal
analog disampel, akan didapatkan bentuk sinyal waktu diskrit. Untun mendapatkan
sinyal waktu diskrit yang mampu mewakili sifat sinyal aslinya, proses sampling
harus memenuhi syarat Nyquist:
fs > 2 fi
dimana:
fs = frekuensi sinyal sampling
fi = frekuensi sinyal informasi yanga akan disampel
atau
dengan kata lain bahwa frekuensi sampel adalah minimal dua kali frekuensi
sinyal.
Fenomena aliasing
akibat proses sampling akan muncul
pada sinyal hasil sampling apabila
proses frekuensi sinyal sampling
tidak memenuhi kriteria di atas. Perhatikan sebuah sinyal sinusoida waktu
diskrit yang memiliki bentuk persamaan matematika seperti berikut:
x(n) = A sin(ωn +θ) (2)
dimana:
A = amplitudo sinyal
ω = frekuensi sudut
θ = fase awal sinyal
Frekuensi
dalam sinyal waktu diskrit memiliki satuan radian per indek sample, dan memiliki
ekuivalensi dengan 2πf.
Gambar
4.3. Sinyal Sinus Diskrit
Sinyal sinus pada Gambar 4.3 tersusun dari 61
sampel pada sepanjaag sinyal, sinyal sinus ini memiliki frekuensi f = 50 Hz dan
disampel dengan frekuensi sampel Fs = 1000 Hz. Sehingga untuk satu siklus
sinyal sinus memiliki sample sebanyak Fs/f = 1000/50 = 20 sampel. Berbeda dengan
sinyal waktu kontinyu (C-T), sifat frekuensi pada sinyal waktu diskrit (D-T)
adalah:
1. Sinyal hanya periodik jika f rasional.
Sinyal periodic dengan periode N apabila berlaku
untuk semua n bahwa x(n+N) = x(n).
Periode fundamental NF adalah nilai N yang terkecil.
Sebagai contoh: agar suatu sinyal periodic maka:
2.
Sinyal dengan fekuensi berbeda sejauh k2π (dengan k bernilai integer) adalah identik.
Jadi
berbeda dengan kasus pada C-T, pada kasus D-T ini sinyal yang memiliki suatu frkeuensi
unik tidak berarti sinyal nya bersifat unik.
Sebagai contoh:
cos[(ωο + 2π)n + θ] = cos (ωο + 2π)
karena
cos(ωο + 2π) = cos(ωο). Jadi bila xk(n) = cos(ωοn+ 2π) , k = 0,1,…. dimana ωk = ωοn+ 2kπ, maka
xk(n) tidak bisa dibedakan satu sama lain. Artinya x1(n) = x2(n) = x3(n)….=
xk(n). Sehingga suatu sinyal dengan frekuensi berbeda akan berbeda jika
frekuensinya dibatasi pada daerah −π < ω < π atau –1/2 < f < 1/2. Diluar
itu akan terjadi fenomena aliasing.
Berikut ini akan dijelaskan lebih rinci tentang sampling dan aliasing.
4.1.2.
Digital Sampling
Dalam analisis dan aplikasi sinyal semuanya diterapkan
dalam sebuah komputer. Dalam komputer sebuah sinyal dinyatakan sebagai
sederetan bilangan. Seperti telah disebutkan bahwa dalam pengolahan sinyal,
sinyal yang terdeteksi dikonversi menjadi sederetan bilangan oleh sebuah perangkat
elektronik atau komputer disebut: analog-to-digital conversion. Sinyal analog adalah sinyal tegangan kontinyu
yang dinyatakan secara analog. Amplitudo sinyal ini secara kontinyu bervariasi
pada kisarannya. Konversi analog ke digital merupakan proses pembangkitan
sederetan bilangan, setiap bilangan menyatakan amplitdo dari sinyal analog pada
titik tertentu. Sederetan bilangan yang dihasilkan dinamakan sinyal diskrit
atau mungkin sinyal digital, dan diperoleh dari sinyal analog yang disampel.
Proses ini ditunjukkan pada Gambar 4.4. Gambar 4.4(a) adalah sinyal analog dan
Gambar 4.4(b) adalah sinyal diskrit. Pada sinyal diskrit tampak bahwa sampulnya
menyerupai sinyal analog asli yang disampel.
Gambar 4.4 Proses digitalisasi (a) Sinyal Analog, (b) Deretan Digital
Hasil Sampling dari Sinyal (a).
Proses digitalisasi
sinyal didefinisikan dengan konsep sampling.
Pada Gambar 4.4(b). menunjukkan sampling sinyal analog pada interval waktu
beraturan 0,5 ms. Atau juga dapat dinyatakan bahwa sinyal di-sampling pada frekuensi 2000
sample/second. Nilai ini diperoleh dengan mengambil inverse dari interval
waktu, dan secara tipikal dinyatakan dalam Hertz (Hz). Sehingga frekuensi sampling-nya menjadi 2 kHz.
Suatu sinyal
sinusoida yang dinyatakan dengan amplitudo 1 volt dan frekuensinya 1 Hertz. Sampling sinyal ini pada frkuensi 10 Hz
menghasilkan sebuah deretan titik data yang melingkupi sinusoida yang asli jika
titik-titik tersebut dihubungkan dengan sebuah garis (warna merah pada Gambar
4.5). Ini merupakan dasar yang harus diperhatikan yang menentukan batas frekuensi
terendah sinusoida agar sinyal dapat dikembalikan atau direkontruksi menjadi
sinyal yang sesuai dengan aslinya.
Gambar 4.5
Samping dan Rekonstruksi (a) Sinyal 1
V, 1Hz Sinusoida Di-sampling
10 Hz, (b) Pembentukan Sinusoida Tersampling 10 Hz.
Gambar 4.6 Samping
dan Rekonstruksi (a) Sampling Sebuah
Sinusoida 1 V, 1 Hz
Mendekati 2 Hz (b)
Pembentukan Sinusoida pada Sampling 2 Hz.
Perhatikan sinyal yang sama 1 V, 1 Hz sinusoida,
tapi sekarang di- sampling pada
setiap 0,75 detik ( 4/3 Hz). Berbeda dengan dua kejadian sebelumnya,
menghasilkan frekuensi sinusoida terendah melalui titik-titik deretan tersebut
bukan sinusoida 1 Hz, tapi gelombang sinusoida sekitar 1/3 Hz. Ini jelas dari
contoh tersebut bahwa sinyal original adalah undersampled dan tidak cukup titik-titik untuk membawa
informasi secara tepat. Ingat bahwa kondisi undersampled dapat menghasilkan aliasing.
Gambar 4.7 Samping dan Rekonstruksi (a) Menyampling
Sebuah Sinussoida 1 V, 1 Hz pada 4/3 Hz (b) Pembentukan Sinusoida Tersampling
pada 4/3 Hz Menghasilkan Sinyal Merah pada 1/3 Hz. Sinyal 1 Hz yang Asli
Disampling Terlalu Rendah.
Dengan contoh di atas, ini
menjadi penting untuk realisasi bahwa sinusoida hanya dapat secara tepat
tercapai jika di-sampling paling
kecil dua kali frekuensinya. Hukum ini dikenal sebagai Nyquist Theorem.
4.2 Peralatan
- PC
yang dilengkapi dengan perangkat multimedia (sound card, Microphone, active speaker e, atau headset)
-
Sistem Operasi Windows dan Perangkat Lunak MATLAB yang dilengkapi dengan tool box
DSP
4.3 Langkah
Percobaan
4.3.1 Pengamatan Pengaruh Pemilihan Frekuensi Sampling Secara Visual
1. Prosedur yang akan anda lakukan mirip dengan
yang ada di percobaan 2, tetapi di sini lebih ditekankan pada konsep pemahaman
fenomena sampling. Untuk itu anda
mulai dengan membuat program baru dengan perintah seperti berikut.
%---------------------------------------------------------
%Nama File : Sinyal_Diskrit.m
%Oleh :
%---------------------------------------------------------
Fs=8; %frekuensi sampling
t=(0:Fs-1)/Fs;
%proses normalisasi
s1=sin(2*pi*t*2);
subplot(211)
stem(t,s1)
axis([0 1 -1.2 1.2])
Fs=16; %frekuensi sampling
t=(0:Fs-1)/Fs;
%proses
normalisasi
s2=sin(2*pi*t*2);
subplot(212)
stem(t,s2)
axis([0 1 -1.2 1.2])
Gambar 4.8. Pengaruh Jumlah Sampel Berbeda Terhadap Satu
Perioda Sinyal Terbangkit
2. Lakukan
perubahan pada nilai Fs, pada sinyal s1 sehingga bernilai 10, 12, 14, 16, 20,
dan 30. Catat apa yang terjadi ? Apa pengaruh jumlah sampel berbeda untuk satu
periode sinyal terbangkit?
Berikut ini diberikan contoh yang harus anda coba dan amati hasilnya.
%---------------------------------------------------------
%Nama File : Sinyal_Diskrit_Sampling_Beda.m
%Oleh :
%---------------------------------------------------------
% sinyal kontinyu
t=[0:0.005:3];
x=sin(2*pi*1*t)+sin(2*pi*2*t);
figure(1),
clf, plot(t,x), grid on,...
xlabel('Time(s)');
ylabel('Amplitude'),...
title('Continous
Time signal')
% sinyal diskrit dengan Ts = 0.4
ts1=[0:0.4:3];
xs1=sin(2*pi*1*ts1)+sin(2*pi*2*ts1);
figure(2),clf,stem(ts1,xs1);
grid
on,hold on,plot(t,x,'r:'), hold off,...
xlabel('Time(s)');
ylabel('Amplitude'),...
title('sampling
x(t) dengan T_s=0,4')
% sinyal diskrit dengan Ts = 0.08
ts2=[0:0.08:3];
xs2=sin(2*pi*1*ts2)+sin(2*pi*2*ts2);
figure(3),clf,stem(ts2,xs2);
grid
on,hold on,plot(t,x,'r:'), hold off,...
xlabel('Time(s)');
ylabel('Amplitude'),...
title('sampling x(t) dengan
T_s=0,08')
% sinyal diskrit dengan Ts = 0.04
ts3=[0:0.04:3];
xs3=sin(2*pi*1*ts3)+sin(2*pi*2*ts3);
figure(4),clf,stem(ts3,xs3);
grid
on,hold on,plot(t,x,'r:'), hold off,...
xlabel('Time(s)');
ylabel('Amplitude'),...
title('sampling
x(t) dengan T_s=0,04')
Gambar 4.9. Macam-macam Jumlah Sampel Berbeda Terhadap Satu Sinyal
Terbangkit
4.3.2 Pengaruh Pemilihan Frekuensi Sampling pada Efek Audio
Misalkan x1(t)
= cos 2π10t dan x2(t)=2 π50t. Samplinglah keua sinyal ini menjadi x1(n)
dan X2(n) dengan Fs = 40 Hz dan bandingkan hasilnya. Jika
Fs = 40 Hz maka T = 1/40, dan
x1(n) =
x1(t)|t=nT=cos 2π10nT= cos 2π(10/40)nT= cos πn/2
dan
x2(n) = x2(t)|t=nT=cos
2π(50/40)nT=
cos(2π)(1+(10/40))n
= cos2πn(10/40)=cos
πn/2
Perhatikan bahwa x1
= x2n! Dapat disimpulkan bahwa untuk F1 = 40 Hz, sinyal F2 = 50 Hz
adalah alias dari F1 = 10 Hz. Demikian juga untuk Fk = 10 + Fsk.
Silakan dicoba program MATLAB berikut ini yang
menyatakan x1(t), x2(t), dan x3(t), amati dan bandingkan hasilnya. Di samping
itu anda harus menjelaskan langkah-langkah dari program tersbut untuk memahami
tujuan tentang sampling dan aliasing.
%---------------------------------------------------
%Nama
File : Sampling_Aliasing.m
%Oleh :
%---------------------------------------------------
Fs=40;
T=1/Fs;
%
sinyal asli frekuensi 10 Hz
t=[-pi/2:0.02:pi/2];
x1=cos(2*pi*10*t);
subplot(3,1,1),plot(x1);
%
t=[-pi/2:T:pi/2];
x2=cos(2*pi*10*t);
subplot(3,1,2),plot(x2);
%
t=[-pi/2:T:pi/2];
x3=cos(2*pi*50*t);
subplot(3,1,3),plot(x3);
Di sini kita akan
mendengarkan bagaimana pengaruh frekuensi sampling
melalui sinyal audio. Untuk itu anda
harus mempersiapkan PC anda dengan speaker aktif yang sudah terkonek dengan sound card. Selanjutnya anda ikuti
langkah berikut.
1. Buat
program baru dengan nama ”Sampling.m” menggunakan
perintah-perintah seperti berikut ini:
%---------------------------------
%Nama File : Sampling.m
%Oleh :
%---------------------------------
clear all;
Fs=1000;
t=0:1/Fs:0.25;
f=100;
x=sin(2*pi*f*t);
sound(x,Fs)
2. Setelah anda menjalankan program tersebut apa
yang anda dapatkan? Selanjutnya coba anda rubah nilai f = 200, 300, 400, 500,
600, 700, 800, dan 900. Apa yang anda dapatkan? Bentuk suara yang sama dengan
frekuensi pembangkitan
berbeda itulah yang seringkali disebut orang sebagai efek aliasing. Coba anda
catat frekuensi 200 memiliki bunyi yang sama dengan frekuensi berapa ? Sehingga
frekuensi 200 adalah alias dari frekuensi tsb.
4.3.3
Pengamatan Efek Aliasing pada Audio
Berikut ini sebuah program untuk membangkitkan
delapan gelombang sinusoida dengan frekuensi yang berbeda-beda. Dengan memilih
frekuensi tertentu akan dibangkitkan sinyal dengan nada yang berbeda. Program
di bawah ini telah diatur frkuensinya
agar dapat memberikan nada “do, re, mi, fa, sol, la, si, do”. Agar
diketahui perbedaannya, program ini telah dilengkapi dengan perintah untuk
mengaktifkan sound card. Silakan
dicoba. Perlu diingatkan bahwa untuk menghemat waktu, dalam menyalin program ke
dalam comman window atau work MATLAB, anda dapat langsung melakukan copy block dan paste.
%---------------------------------------------------------
%Nama File : Nada.m
%Oleh :
%---------------------------------------------------------
clear
clc
Fs=16000;
t=0:1/Fs:0.5;
c=2*sin(2*pi*262*t);
d=2*sin(2*pi*294*t);
e=2*sin(2*pi*330*t);
f=2*sin(2*pi*350*t);
g=2*sin(2*pi*392*t);
a=2*sin(2*pi*440*t);
b=2*sin(2*pi*494*t);
c1=2*sin(2*pi*523*t);
nol =
[zeros(size(t))];
nada=[c,d,e,f,g,a,b,c1,nol];
sound(nada)
dengan
demikian dengan mengatur nada tersebut anda dapat mengatur sedemikian rupa
sehingga menjadi suatu lagu yang lengkap.
Berikut
ini dipelajari cara menyimpan data dalam format “wav”. Caranya:
1. Susunlah sebuah rangkaian not di atas sehingga
membentuk suatu lagu. Berilah nama program sesuai dengan judul lagu. Jalankan dan dengarkan suaranya. Jika
sudah benar lakukan langkah berikut:
2. Pada bagian akhir program tambahkan perintah
berikut yang digunakan untuk menyim-pan program dalam format “wav”.
wavwrite(nada,‘judul_lagu.wav’)
3. Coba minimize Matlab, cobalah gunakan Windows
Explorer untuk melihat dimana file berada. Kalau sudah terlihat coba click
kanan dan jalankan.
4. Coba anda edit program yang telah dibuat, dan
lakukan perubahan pada nilai frekuensi sampling Fs=16000, menjadi Fs =10000,
8000, 2000, 1000, 900, 800, 700, 600, dan 500.
Apa yang anda dapatkan?
5. Dengan Fs=16000, lakukan perubahan
nilai t=0:1/Fs:0.1, t=0:1/Fs:0.2, t=0:1/Fs:0.3,
t=0:1/Fs:0.7,
4.3.4
Pengamatan Pembacaan File “wav”
Disini kita akan bermain dengan sebuah lagu
yang diambil dari sebuah file *.wav. Untuk itu mulailah dengan langkah
1. Anda buat program baru seperti berikut ini.
%-------------------------------------------------------------------
%Nama File : Baca_Wav.m
%Oleh :
%-------------------------------------------------------------------
% mintalah copy sebuah lagu dengan format wav dan
% frekuensi sampling 16000 kepada instruktur
% kemudian buatlah program sebagai berikut:
clear all;
[Y,Fs]=wavread('How_can_I_tell_her.wav');
Fs=16000;
sound(Y,Fs)
Copy-kan lagu tersebut
dengan nama: “How_can_I_tell_her.wav”
dalam work dari MATLAB. Jalankan program tersebut? Nikmati
beberapa saat. Perhatikan suaranya, apakah normal. Tunggu sampai selesai,
karena lagu ini tidak dapat dimatikan sebelum selesai.
2. Lanjutkan
langkah anda dengan merubah nilai Fs = 8000. Jalankan program anda, dan dengarkan
yang terjadi. Suaranya seperti apa?
3. Ulangi
lagi dengan merubah nilai Fs = 22000, dan 44000. Apakah kedengaran seperti
suara syaitan. Jika ya, beerarti anda bohong, karena anda tidak pernah
mendengarkan suara syatan. Kalau belum
puas coba ganti Fs sesuka hati anda. Jangan lupa catat dan buat analisa tentang
fenomena yang terjadi dari hasil percobaan.
4.4. Analisis
Data
Setelah anda memahami dan puas bermain dengan
teorema sampling, sekarang saatnya
anda melakukan hal yang juga dirasa penting. Apa yang telah anda lakukan pastinya
sudah dicatat, buatlah laporan dan analisis mengapa muncul fenomena seperti
diatas? Pasti anda dapat menjelaskan secara ilmiah atau matematis, sajikan
dalam laporan anda. Fenomena itu lebih dikenal dengan nama apa? Apa yang
menyebabkannya? Karena anda telah belajar menyimpan dan memanggil ulang file
wav, jelaskan bagaimana suaranya jika ffrekuensi sampling terlalu rendah atau
terlalu tinggi!.
4.5. Tugas
1. Jelaskan. Apa
yang dimaksud dengan undersampling dan oversampling? Beri contoh dalam bentuk
program!.
2. Buat program yang dapat memanggil sebuah lagu
dan sekaligus dapat memainkan lagu tersebut (selain lagu yang diberikan dalam
contoh di atas).
3. Buat program
yang dapat memanggil sebuah lagu dan sekaligus dapat memainkan lagu tersebut,
tapi dengan durasi separuhnya saja (lagu tepotong separuh).
4. Buat program
yang dapat memanggil sebuah lagu selain format wav dan sekaligus dapat
memainkan lagu tersebut.
Tidak ada komentar:
Posting Komentar