Jumat, 19 April 2013

Praktikum 4. Pemrosesan Sinyal Digital



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