JOB SHEET 6 PSD

16
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]

description

praktek psd

Transcript of JOB SHEET 6 PSD

  • 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.