job sheet 6 psd
DESCRIPTION
praktek psdTRANSCRIPT
-
1
Politeknik Negeri Malang Jl. Soekarno Hatta No. 9 Malang
Email: http://www.polinema.ac.id/
JOB SHEET 6
PSD/Prak/012 Pertemuan ke-12-13 Dosen: Lucky Nindya Palupi, ST. M.Sc
Nama Mahasiswa : __________________________________
Waktu (Hari, jam) : __________, _______
Kelas/Semester : __/ Genap
Program Studi : Teknik Elektronika
Judul Job Sheet : Windowing dan Analisa Spektrum
Unit Kompetensi : Windowing pada Fast Fourier Transform (FFT)
Job Sheet ke- : 6
Tujuan
1. Mengamati sinyal dalam domain waktu dan domain frekuensi dengan menggunakan FFT
2. Mengetahui bagaimana membagi sinyal ke dalam bentuk window
3. Menghitung dan menampilkan spectrum suatu window sinyal
Dasar Teori
Windowing
Seringkali kita menginginkan untuk menganalisa suatu sinyal yang panjang dengan cara
mengambil satu bagian yang cukup mewakili. Hal ini lebih kita kenal sebagai proses
windowing. Sebagai contoh sederhana disini diinginkan untuk menghitung spectrum rata-
rata atau yang lebih dikenal sebagai suatu spectrogram. Sayangnya dalam hal ini kita tidak
dapat secara sederhana mengambil sinyal secara gampang dengan menentukan suatu
periode secara sembarang. Karena hal ini akan menyebabkan efek diskontinuitas.
Windowing juga digunakan dalam mendesain FIR. Respon impulse sinyal infinite h[n]
-
2
dikalikan dengan window w[n] untuk mendapatkan respon impulse hd[n]=w[n]h[n].
Sebagai contoh disini kita lihat perbandingan window hamming, hanning dan window
rectangular.
Analisa Spektrum
Untuk menghitung frekuensi dari suatu sinyal, sebuah implementasi diskrit dari analisa
Fourier dapat digunakan, yang kemudian lebih kita kenal sebagai Fast Fourier Transform,
atau disingkat FFT. Secara umum teknik ini merupakan pendekatan yang terbaik untuk
transformasi. Dalam hal ini input sinyal ke window ditetapkan memiliki panjang 2m. Anda
dapat memilih analisis window yang akan digunakan. Output dari syntax FFT(x,n)
merupakan sebuah vector komplek, dengan n amplitudo komplek dari 0Hz sampai dengan
sampling frekuensi yang digunakan.
Alat dan Bahan
1. 1 (satu) buah PC lengkap/ laptop dan OS Windows
2. Perangkat lunak aplikasi MATLAB.
Keselamatan Kerja
1. Pakailah pakaian kerja yang benar
2. Letakkan peralatan kerja dan bahan pada tempat yang telah disediakan
3. Gunakan semua peralatan sesuai dengan fungsinya
4. Bekerjalah dengan hati-hati dan teliti
5. Ikuti petunjuk dosen pembimbing
Langkah Percobaan
A. Pengamatan Sinyal Tunggal
1. Bangkitkan sinyal sinus yang memiliki frekuensi f1, dan amplitudo 1 Volt.
Fs=100;
t=(1:100)/Fs;
f=5;
s=sin(2*pi*f*t);
-
3
subplot(2,1,1)
plot(t,s)
xlabel('time')
2. Lanjutkan langkah ini dengan memanfaatkan fungsi fft untuk mentranformasi sinyal ke
dalam domain frekuensi
S=fft(s,512);
w=(0:255)/256*(Fs/2);
subplot(2,1,2)
plot(w,abs(S(1:256)))
xlabel('frequency')
Langkah ini akan memberikan hasil seperti Gambar berikut :
Gambar 1 Sinyal sinus dalam domain waktu dan frekuensi
3. Cobalah anda merubah nilai f1=5, 10, 20, dst Apa yang anda lihat pada gambar sinyal anda?
4. Cobalah merubah nilai amplitudo dari 1 volt menjadi 2, 4 atau 5. Apa yang terjadi pada sinyal
anda?
-
4
Kombinasi 2 Sinyal
Anda telah mengetahui cara mengamati sinyal dalam doain waktu dan frekuensi.
1. Pada percobaan berikut ini anda coba bangkitkan 2 sinyal sinus dengan frekuensi f1 dan f2.
Sementara nilai amplitudo dapat anda lihat pada listing program berikut ini. Caranya adalah
dengan mengetik program berikut ini
Fs=100;
t=(1:400)/Fs;
f1=1;
s1=(2/pi)*sin(2*pi*f1*t);
f2=3;
s2=(2/3/pi)*sin(2*pi*f2*t);
s=s1+s2;
subplot(2,1,1)
plot(t,s)
xlabel('time')
S=fft(s,512);
w=(0:255)/256*(Fs/2);
subplot(2,1,2)
plot(w,abs(S(1:256)))
xlabel('frequency')
Perhatikan bentuk sinyal yang dihasilkan dari langkah anda tersebut.
2. Rubah nilai f2 =10, 25, 30 dst. Apa yang anda dapatkan dari langkah ini?
3. Coba rubah nilai amplitudo pada sinyal kedua menjadi 1 , 5 atau 10. Apa yang anda dapatkan
dari langkah ini?
Kombinasi 4 Sinyal
Pada percobaan berikut ini anda coba bangkitkan 4 sinyal sinus dengan frekuensi f1, f2, f3, dan
f4. Sementara nilai amplitudo dapat anda lihat pada listing program berikut ini. Caranya adalah
dengan mengetik program berikut ini:
-
5
Fs=100;
t=(1:400)/Fs;
f1=1;
s1=(2/pi)*sin(2*pi*f1*t);
f2=3;
s2=(2/3/pi)*sin(2*pi*f2*t);
f3=5;
s3=(2/5/pi)*sin(2*pi*f3*t);
f4=7;
s4=(2/7/pi)*sin(2*pi*f4*t);
s=s1+s2+s3+s4;
subplot(2,1,1)
plot(t,s)
xlabel('time')
S=fft(s,512);
w=(0:255)/256*(Fs/2);
subplot(2,1,2)
plot(w,abs(S(1:256)))
xlabel('frequency')
Perhatikan bentuk sinyal yang dihasilkan dari langkah anda tersebut.
2. Rubah nilai f2 =10, f3 = 20 dan f4 =30. Apa yang anda dapatkan dari langkah ini?
Kombinasi 6 Sinyal
Pada percobaan berikut ini anda coba bangkitkan 4 sinyal sinus dengan frekuensi f1, f2, f3, f4,
f5, dan f6. Sementara nilai amplitudo dapat anda lihat pada listing program berikut ini. Caranya
adalah dengan mengetik program berikut ini
Fs=100;
t=(1:200)/Fs;
f1=1;
s1=(2/pi)*sin(2*pi*f1*t);
f2=3;
-
6
s2=(2/3/pi)*sin(2*pi*f2*t);
f3=5;
s3=(2/5/pi)*sin(2*pi*f3*t);
f4=7;
s4=(2/7/pi)*sin(2*pi*f4*t);
f5=9;
s5=(2/9/pi)*sin(2*pi*f5*t);
f6=11;
s6=(2/11/pi)*sin(2*pi*f6*t);
s=s1+s2+s3+s4+s5+s6;
subplot(2,1,1)
plot(t,s)
xlabel('time')
S=fft(s,512);
w=(0:255)/256*(Fs/2);
subplot(2,1,2)
plot(w,abs(S(1:256)))
xlabel('frequency')
Perhatikan bentuk sinyal yang dihasilkan dari langkah anda tersebut. Apakah anda
mendapatkan hasil seperti gambar berikut ini?
-
7
Gambar 2. Gabungan 6 sinyal dalam domain waktu dan frekuensi
B. Windowing pada sebuah sinyal
Sinyal Raised Cosine
Disini kita akan mencoba untuk membangkitkan sinyal rasied cosine dalam domain waktu dan
mengamati bagaimana proses window hamming berpengaruh pada sinyal. Langkah selanjutnya
adalah sebagai berikut
1. Bangkitkan sinyal rasied cosine
t=-25:25;
x=length(t);
f1=0.05;
b = 0.4*sinc(2*pi*f1*t);
subplot(2,1,1)
plot(b)
2. Tambahkan perintah berikut ini setelah program diatas
b1 = b.*hamming(x)';
subplot(2,1,2)
plot(b1)
-
8
Anda akan mendapatkan tampilan seperti berikut:
Gambar 3. Pengaruh windowing pada sinyal raised cosine
Sinyal Sinus
Disini kita akan mencoba untuk membangkitkan sinyal sinus dalam domain waktu dan
mengamati bagaimana proses window hamming berpengaruh pada sinyal. Langkah selanjutnya
adalah sebagai berikut
1. Bangkitkan sinyal sinus
t=-40:40;
x=length(t);
f1=0.15;
b = 0.4*sin(2*pi*f1*t);
subplot(2,1,1)
plot(b)
xlabel('a. Tanpa window')
2. Tambahkan perintah berikut ini setelah program diatas
b1 = b.*hamming(x)';
subplot(2,1,2)
-
9
plot(b1)
xlabel('b. Dengan window')
Anda akan mendapatkan tampilan seperti berikut:
Gambar 4. Pengaruh windowing pada sinyal sinus
C. Pengaruh Windowing pada Spectrum Sinyal Disini kita akan mencoba untuk membangkitkan sinyal sinus dalam domain waktu dan
mengamati bagaimana proses window hamming berpengaruh spectrum sinyal. Langkah
selanjutnya adalah sebagai berikut
1. Bangkitkan sinyal sinus
n = 512;
m = 128;
h = hamming(m);
sr = zeros(size(1:n));
sh = zeros(size(1:n));
f = pi / 3;
for i = 1:m ; sr(i) = sin(f * i) ; end
for i = 1:m ; sh(i) = h(i) * sin(f * i) ; end
ar=abs(fft(sr));
-
10
ah=abs(fft(sh));
subplot(4,1,1)
plot(sr(1:n/2))
subplot(4,1,2)
plot(sh(1:n/2))
subplot(4,1,3)
plot(ar(1:n/2))
subplot(4,1,4)
plot(ah(1:n/2))
Gambar 5. Pengaruh windowing pada spectrum satu sinyal sinus
Coba anda perhatikan bagaimana kondisi spectrum sinyal dengan menggunakan window dan
tanpa window. Informasi apa yang anda dapatkan?
-
11
2. Modifikasi program diatas menjadi seperti berikut
n = 512;
m = 128;
h = hamming(m);
sr = zeros(size(1:n));
sh = zeros(size(1:n));
f1 = pi / 3;
f2 = 10*pi / 3;
for i = 1:m ; sr(i) = sin(f1 * i) + sin(f2 * i) ; end
for i = 1:m ; sh(i) = h(i) *sin(f1 * i)+ h(i) *sin(f2 * i) ; end
ar=abs(fft(sr));
ah=abs(fft(sh));
subplot(4,1,1)
plot(sr(1:n/2))
subplot(4,1,2)
plot(sh(1:n/2))
subplot(4,1,3)
plot(ar(1:n/2))
subplot(4,1,4)
plot(ah(1:n/2))
-
12
Gambar 6.Pengaruh windowing pada spectrum dua sinyal sinus
3. Coba anda kembalipada program yang ada pada langkah 1. Dengan melakukan sedikit
modifikasi
seperti berikut ini, coba anda perhatikan hasil apa yang didapat
n = 512;
m = 128;
h = hamming(m);
sr = zeros(size(1:n));
sh = zeros(size(1:n));
f = pi / 3;
for i = 1:m ; sr(i) = sin(f * i) ; end
for i = 1:m ; sh(i) = h(i) * sin(f * i) ; end
ar=abs(fft(sr));
ah=abs(fft(sh));
-
13
subplot(4,1,1)
plot(ar(1:n/2))
subplot(4,1,2)
plot(ah(1:n/2))
subplot(4,1,3)
plot(20 * log10(ar(1:n/2)))
subplot(4,1,4)
plot(20 * log10(ah(1:n/2)))
Gambar 7.Pengaruh windowing pada power spectral density suatu sinyal
4. Anda sudah mengamati bagaimana bentuk power spectral density (PSD) tanpa window dan
menggunakan window. Jelas terlihat bagaimana penekanan nilai spectral sampai nol pada saat
kita gunakan window. Hal ini telah kita lakukan pada sinyal tunggal. Bagaimana dengan sinyal
yang terdiri dari sua buah sinus? Ikuti langkah program berikut:
-
14
n = 512;
m = 128;
h = hamming(m);
sr = zeros(size(1:n));
sh = zeros(size(1:n));
f1 = pi / 3;
f2 = 10*pi / 3;
for i = 1:m ; sr(i) = sin(f1 * i) + sin(f2 * i) ; end
for i = 1:m ; sh(i) = h(i) *sin(f1 * i)+ h(i) *sin(f2 * i) ; end
ar=abs(fft(sr));
ah=abs(fft(sh));
subplot(4,1,1)
plot(ar(1:n/2))
subplot(4,1,2)
plot(ah(1:n/2))
subplot(4,1,3)
plot(20 * log10(ar(1:n/2)))
subplot(4,1,4)
plot(20 * log10(ah(1:n/2)))
-
15
Gambar 8.Pengaruh windowing pada power spectral density suatu sinyal ganda
5. Apakah anda cukup puas sampai disini, akan lebih memantapkan pemahaman anda jika
dilanjutkan dengan memberikan berbagai perlakuan seperti berikut:
Rubah nilai frekuensi f1=2 sedangkan f2=20, 25, dan 30. Apa yang anda dapatkan?
D. Proses windowing Pada Sinyal Audio
Disini dicoba untuk menggunakan window dalam pengolahan sinyal audio yang sebenarnya.
Langkah
selanjutnya adalah seperti berikut.
1. Tulis sebuah program untuk mmeanggil file audio dengan extention wav (misalnya
intro.wav).
Tetapkan sampel sebanyak 1024.
fn=input('Masukkan nama file wav anda, misal intro:','s');
fx=input('Sampel yang diambil, misal 1024: ');
[x,fs,nb]=wavread(fn,fx);
T=fx-1;
-
16
t=(0:T)/fx;
subplot(4,1,1)
plot(x)
2. Aplikasikan windo hamming untuk pengolahan sinyal.
y=x.*hamming(fx);
subplot(4,1,2)
plot(t,y)
3. Cobalah gambarkan spektrum sinyal audio tersebut.
X=fft(x,fx);
X=X(1:fx/2);
fx_2_1=fx/2-1;
f=(0:fx_2_1)*fs/fx;
subplot(4,1,3)
plot(f,20*log10(abs(X)+eps))%nilai defult eps=2.2204e-016
Y=fft(y,fx);
Y=Y(1:fx/2);
fx_2_1=fx/2-1;
f=(0:fx_2_1)*fs/fx;
subplot(4,1,4)
plot(f,20*log10(abs(Y)+eps))%nilai defult eps=2.2204e-016
Langkah yang harus anda lakukan adalah coba rubah nilai sample fx dengan nilai 2000, 8000,
12000, dan 16000. Cobalah simpan setiap gambar yang anda hasilkan dari praktikum ini dan
lakukan analisa.
Data dan Analisa
Anda telah melakukan berbagai langkah untuk percobaan operasi dasar sinyal. Yang harus
anda lakukan adalah menjawab setiap pertanyaan yang ada pada langkah percobaan.