LAPORAN PRAKTIKUM DIGITAL SIGNAL PROCESSING PRAKTIKUM IV SAMPLING DAN ALIASING
NAMA
: NADYA AMALIA
NIM
: J1D108034
ASISTEN
: JEDIYANU WIGAS TU’U
PROGRAM STUDI S-1 FISIKA FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMBUNG MANGKURAT BANJARBARU 2011
PRAKTIKUM IV SAMPLING DAN ALIASING
I.
TUJUAN PERCOBAAN Tujuan dari percobaan ini adalah agar mahasiswa dapat memahami
pengaruh pemilihan jumlah sample dan pengaruhnya pada proses recovery sinyal. II.
TINJAUAN PUSTAKA Dalam proses pengolahan sinyal analog, sinyal input masuk ke Analog
Signal Processing (ASP), diberi berbagai perlakukan (misalnya pemfilteran, penguatan,dsb.) dan outputnya berupa sinyal analog. Proses pengolahan sinyal secara digital memiliki bentuk sedikit berbeda. Komponen utama system ini berupa sebuah processor digital yang mampu bekerja apabila inputnya 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, dan sebagainya. Berdasarkan pada penjelasan diatas 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
… (i)
dimana: fs = frekuensi sinyal sampling fi = frekuensi sinyal informasi yang akan disampel Fenomena aliasing proses sampling akan muncul pada sinyal hasil sampling apabila proses frekuensi sinyal sampling tidak memenuhi criteria diatas.
Perhatikan sebuah sinyal sinusoida waktu diskrit yang memiliki bentuk persamaan matematika seperti berikut: x(n) = A sin(ωn +θ)
… (ii)
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 1. Sinyal sinus diskrit. Sinyal sinus pada Gambar 3 tersusun dari 61 sampel, sinyal ini memiliki frekuensi f = 50 dan disampel dan disempel dengan Fs = 1000. 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 periodik maka cos(2π(N+n)+θ) = cos(2πn+θ) = cos(2πn+θ+2πk)
⇔ 2πfN = 2πk ⇔ ݂ = ே ⇔ f harus rasional
2. Sinyal dengan fekuensi beda sejauh k2π(dengan k bernilai integer) adalah identik. Jadi berbeda dengan kasus pada C-T, pada kasus D-T ini sinyal yang memiliki suatufrkeuensi 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. III. PERANGKAT YANG DIPERLUKAN 1. PC yang dilengkapi dengan perangkat multimedia (sound card, Microphone, Speaker active, atau headset). 2. Sistem Operasi Windows dan Perangkat Lunak Matlab yang dilengkapi dengan tool box DSP. IV. PROSEDUR KERJA 4.1
Pengamatan Pengaruh Pemilihan Frekuensi Sampling Secara Visual
1. Membuat program baru dengan langkah berikut: 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])
2. Melakukan perubahan pada nilai Fs, pada sinyal s1 sehingga bernilai 10, 12, 14, 16, 20, dan 30.
4.2
Pengamatan Pengaruh Pemilihan Frekuensi Sampling pada Efek Audio
1. Membuat program bari sampling_2.m dengan perintah seperti berikut ini: clear all; Fs=1000; t=0:1/Fs:0.25; f=100; x=sin(2*pi*f*t); sound(x,Fs)
2. Setelah program dijaankan. Selanjutnya mengubah nilai f = 200, 300, 400, 500, 600, 700, 800, dan 900. 4.3
Pengamatan Efek Aliasing pada Audio 1
1. Menyusun sebuah lagu sederhana dengan cara membuat program baru berikut ini: %gundul.m clc Fs=16000; t=0:1/Fs:0.25; c=sin(2*pi*262*t); d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol]; nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; sound(lagu,Fs)
2. Menambahkan perintah berikut pada bagian akhir program: wavwrite(lagu,‘gundul.wav’)
3. Mengedit program diatas, dan melakukan perubahan pada nilai frekuensi sampling Fs=16000, menjadi Fs =10000, 8000, 2000, 1000, 900, 800, 700, 600, dan 500. 4.4
Pengamatan Efek Aliasing pada Audio 2
1. Membuat program baru seperti berikut ini: clear all; [Y,Fs]=wavread('lagu_1_potong.wav'); Fs=16000;%nilai default Fs=16000
%Pilihan untuk memainkan lainnya Fs=8000, 11025, 22050,44100 sound(Y,Fs)
2. Mengubah nilai Fs = 8000. 3. Mengulangi lagi dengan merubah nilai Fs = 11025, 22050, dan 44100. V.
HASIL DAN PEMBAHASAN
5.1
Hasil
1. Pengamatan Pengaruh Pemilihan Frekuensi Sampling Secara Visual Source code :
Output :
2. Pengamatan Pengaruh Pemilihan Frekuensi Sampling pada Efek Audio Source code : %Pengamatan Pengaruh Pemilihan Frekuensi Sampling pada Efek Audio Fs=1000; t=0:1/Fs:0.25; f=100; x=sin(2*pi*f*t);
subplot(331);sound(x,Fs);plot(x);title('f=100 Hz') Fs=1000; t=0:1/Fs:0.25; f=200; x=sin(2*pi*f*t); subplot(332);sound(x,Fs);plot(x);title('f=200 Hz') Fs=1000; t=0:1/Fs:0.25; f=300; x=sin(2*pi*f*t); subplot(333);sound(x,Fs);plot(x);title('f=300 Hz') Fs=1000; t=0:1/Fs:0.25; f=400; x=sin(2*pi*f*t); subplot(334);sound(x,Fs);plot(x);title('f=400 Hz') Fs=1000; t=0:1/Fs:0.25; f=500; x=sin(2*pi*f*t); subplot(335);sound(x,Fs);plot(x);title('f=500 Hz') Fs=1000; t=0:1/Fs:0.25; f=600; x=sin(2*pi*f*t); subplot(336);sound(x,Fs);plot(x);title('f=600 Hz') Fs=1000; t=0:1/Fs:0.25; f=700; x=sin(2*pi*f*t); subplot(337);sound(x,Fs);plot(x);title('f=700 Hz') Fs=1000; t=0:1/Fs:0.25; f=800; x=sin(2*pi*f*t); subplot(338);sound(x,Fs);plot(x);title('f=800 Hz') Fs=1000; t=0:1/Fs:0.25; f=900; x=sin(2*pi*f*t); subplot(339);sound(x,Fs);plot(x);title('f=900 Hz')
Output :
3. Pengamatan Efek Aliasing pada Audio 1 Source code : %Pengamatan Efek Aliasing pada Audio 1 Fs=16000; t=0:1/Fs:0.25; c=sin(2*pi*262*t); d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol]; nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; subplot(231);sound(lagu,Fs);plot(lagu);title('Fs=16000 Hz') Fs=10000; t=0:1/Fs:0.25; c=sin(2*pi*262*t); d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol];
nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; subplot(232);sound(lagu,Fs);plot(lagu);title('Fs=10000 Hz') Fs=8000; t=0:1/Fs:0.25; c=sin(2*pi*262*t); d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol]; nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; subplot(233);sound(lagu,Fs);plot(lagu);title('Fs=8000 Hz') Fs=1000; t=0:1/Fs:0.25; c=sin(2*pi*262*t); d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol]; nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; subplot(234);sound(lagu,Fs);plot(lagu);title('Fs=1000 Hz') Fs=800; t=0:1/Fs:0.25; c=sin(2*pi*262*t); d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol]; nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; subplot(235);sound(lagu,Fs);plot(lagu);title('Fs=800 Hz') Fs=500; t=0:1/Fs:0.25; c=sin(2*pi*262*t);
d=sin(2*pi*294*t); e=sin(2*pi*330*t); f=sin(2*pi*249*t); g=sin(2*pi*392*t); a=sin(2*pi*440*t); b=sin(2*pi*494*t); c1=sin(2*pi*523*t); nol = [zeros(size(t))]; nada1 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol,nol]; nada2 = [c,e,c,e,f,g,g,nol,b,c1,b,c1,b,g,nol]; nada3 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c,nol]; nada4 = [c,nol,e,nol,g,nol,f,f,g,f,e,c,f,e,c]; lagu=[nada1,nada2,nada3,nada4]; subplot(236);sound(lagu,Fs);plot(lagu);title('Fs=500 Hz')
Output :
4. Pengamatan Efek Aliasing pada Audio 2 Source code : %Pengamatan Efek Aliasing pada Audio 2 [Y,Fs]=wavread('yodel.wav'); Fs=8000;%nilai default Fs=8000 %Pilihan untuk memainkan lainnya Fs=8000, 11025, 22050,44100 sound(Y,Fs) subplot(231);plot(Y);title('Fs=8000 Hz') [Y,Fs]=wavread('yodel.wav'); Fs=16000;%nilai default Fs=16000 sound(Y,Fs) subplot(232);plot(Y);title('Fs=16000 Hz') [Y,Fs]=wavread('yodel.wav'); Fs=11025;%nilai default Fs=11025 sound(Y,Fs)
subplot(233);plot(Y);title('Fs=11025 Hz') [Y,Fs]=wavread('yodel.wav'); Fs=22050;%nilai default Fs=22050 sound(Y,Fs) subplot(234);plot(Y);title('Fs=22050 Hz') [Y,Fs]=wavread('yodel.wav'); Fs=44100;%nilai default Fs=44100 sound(Y,Fs) subplot(235);plot(Y);title('Fs=44100 Hz')
Output :
5.2
Pembahasan Pengamatan pengaruh pemilihan frekuensi sampling secara visual
memberikan hasil, di mana dari source code terlihat bahwa sinyal yang dibangkitkan merupakan sinyal sinus. Untuk output yang dihasilkan, dengan menggunakan perintah subplot dapat ditampilkan beberapa sinyal hasil sampling sekakigus, di bagian atas merupakan sinyal dengan frekuensi sampling masingmasing adalah 8 Hz, 10 Hz, 12 Hz, 16 Hz, 20 Hz, dan 30 Hz. Sedangkan di bagian bawah merupakan contoh sinyal yang mengalami sampling dengan frekuensi sampling Fs=16 Hz. Terlihat dengan jelas bahwa dengan semakin besarnya nilai frekuensi sampling Fs, dalam satu periode sinyal terbangkit juga akan semakin banyak. Dengan kata lain sinyal hasil sampling akan semakin rapat dan semakin menyerupai bentuk sinyal aslinya (analog)
Untuk pengamatan pengaruh pemilihan sampling pada efek audio pertamatama dilakukan dengan membangkitkan source code yang telah disebutkan pada modul praktikum. Setelah program dijalankan, selanjutnya untuk periode samping yang sama yakni Fs=1000 Hz diberikan nilai f yang berbeda-beda yakni 100 Hz, 200 Hz, 300 Hz, 400 Hz, 500 Hz, 600 Hz, 700 Hz, 800 Hz, dan 900 Hz. Setelah program dijalankan ternyata sinyal dengan f=100 Hz menghasilkan bunyi yang sama dengan sinyal dengan f=900 Hz, sinyal dengan f=200 Hz menghasilkan bunyi yang sama dengan sinyal dengan f=800 Hz, sinyal dengan f=300 Hz menghasilkan bunyi yang sama dengan sinyal dengan f=700 Hz, dan sinyal dengan f=400 Hz menghasilkan bunyi yang sama dengan sinyal dengan f=600 Hz. Dan dari output yang didapat juga terlihat bahwa sinyal-sinyal dengan masingmasing nilai berbeda tersebut akan sama untuk sinyal-sinyal yang menghasilkan bunyi yang sama. Hal inilah yang disebut sebagai efek aliasing. Penyusunan sebuah lagu sederhana dengan membuat program seperti pada modul praktikum dilakukan untuk melakukan pengamatan efek aliasing pada audio 1. Langkah pertama adalah dengan menentukan periode sampling terlebih dahulu yakni masing-masing Fs=16000 Hz, Fs=10000 Hz, Fs=8000 Hz, Fs=1000 Hz, Fs=800 Hz, dan Fs=500 Hz. Kemudian untuk penentuan nada-nada dasar adalah sama yakni untuk masing-masing nada dasar (c, d, e, f, g, a, b, c1) dibangkitkan berdasarkarkan fungsi sinus dengan frekuensi standarnya masingmasing. Berdasarkan source code pada modul praktikum, saat program dijalankan bunyi yang dihasilkan adalah lagu gundul pacul. Dengan menambahkan perintah wavwrite, lagu tersebut disimpan dalam direktori dengan ekstensi .wav. Selanjutnya, lagu tersebut diplot terhadap waktu. Dan memberikan hasil bahwa semakn kecil nilai frekuensi sampling, bunyi yang dihasilkan akan semakin tidak jelas atau terdengar putus-putus. Pengamatan efek aliasing pada audio 2, saya mencoba membangkitkan audio yodel.wav. Seperti pada pangamatan efek aliaing pada audio 1, sinyal dibangkitkan dengan frekuensi sampling Fs yang berbeda-beda. Bunyi yang dihasilkan akan semakin melengking untuk frekuensi sampling Fs yang semakin besar.
VI.
KESIMPULAN
1. Semakin besar frekuensi sampling, secara visual sinyal sampling yang dibangkitkan dalam satu periode akan semakin banyak. Sehingga bentuk sinyal sampling tersebut akan semakin mendekati bentuk sinyal aslinya (analog). Sebaliknya, semakin kecil nilai frekuensi sampling, akan semakian sedikit sinyal sampling yang dibangkitkan dalam satu periode dan akan semakin banyak bagian dari sinyal asli yang hilang. 2. Suatu sinyal dengan frekuensi berbeda akan berbeda jika frekuensinya dibatasi pada daerah −π < ω < π atau –1/2 < f <1/2. Diluar itu akan terjadi fenomena aliasing. Dimana, untuk suatu sinyal audio akan dihasilkan bunyi yang sama meskipun frekuensi samplingnya berbeda.
DAFTAR PUSTAKA
Santoso, Tri Budi & Miftahul Huda. 2008. Dasar-dasar Operasi Matlab: Modul 4 Praktikum Sinyal dan Sistem. Meddins, Bob. 2000. Introduction to Digitl Signal Processing. University of East Anglia. United Kingdom.