Anda di halaman 1dari 18

LAPORAN PRAKTIKUM IV SINYAL

Disusun Oleh :
Farahiyah Aisah (02311640000055)

Departemen Teknik Fisika


Fakultas Teknologi Industri
Institut Teknologi Sepuluh Nopember
Surabaya
I. Fungsi Window dan Filter
Saat memproses sinyal, kita tidak dapat memprosel sinyal secara langsung. Misalnya
terdapat sinyal dengan panjang waktu 5 menit, kita tidak bisa langsung memproses
atau mengolah sinyal tersebut secara langsung, melainkan harus memotong sinyal
tersebut. Pada praktikum ini sinyal dipotong sepanjang 51 ms dengan windowing
rectangular. Saat pemotongan sinyal secara tiba-tiba, mengakibatkan noise atau derau
dengan frekuensi tinggi yang juga biasa disebut fenomena gibbs. Maka untuk
mengurangi derau tersebut dan menghaluskan sinyal digunakanlah hamming window.
Contoh script menggunakan rectangular dan hamming adalah sebagai berikut :

%UAS 21 Dec 2009
% Sampling frequency in Hz
Fs = 16000;
 
% contoh Rectangular and Hamming window, banyak fungsi window lainnya
jendela1 = rectwin(51);
jendela2 = hamming(51);
 
% Magnitudo FFT dari fungsi window
fftLength = 1024;
magFJendela2 = abs(fft(jendela2, fftLength));
magFJendela1 = abs(fft(jendela1, fftLength));
 
%Ganti namaJendela dengan window function yang anda pakai
subplot(2,1,1);
plot(linspace(0,0.5,ceil(fftLength/2)), 
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('namaJendela1 Window');
subplot(2,1,2);
plot(linspace(0,0.5,ceil(fftLength/2)), 
20*log10(magFJendela2(1:ceil(fftLength/2))));
ylabel('dB');
xlabel('Normalized Frequency');
legend('namaJendela2 Window');
 
% Window visualization tool by MATLAB
wvtool(jendela1, jendela2);

Dengan hasil gambar grafik sebagai berikut :
1a

1b

Pada gambar 1a dapat dilihat bahwa jendela 1 menggunakan window rectangular dan
jendala 2 menggunakan hamming window. Dapat dilihat bahwa pada jendela 1
gambar frekuensi lebih tidak teratur membentuk sinyal sinusoidal ini dikarenakan ada
nya noise. Sedangkan pada jendela 2, pola frekuensi sudah menunjukkan pola
sinusoidal yang berulah dengan teratur. Sinyal disini dipotong 51 ms, maka dari itu
sinyal masih membentuk sinusoidal belum kotak layaknya sinya digital. Pada gambar
1b, gambar kiri menunjukan rectangular window dengan garis warna biru dan
hamming window dengan garis warna orange yang keduanya dilihat berdasarkan
domain waktu. Dapat dilihat pada domain waktu hamming window menunjukkan
sinyal sinusoidal yang halus terlepas dari derau.
Kemudian script diganti menggunakan fungsi hanning window dengan script sebagai
berikut :
%UAS 21 Dec 2009
% Sampling frequency in Hz
Fs = 16000;

% contoh Rectangular and Hamming window, banyak fungsi window lainnya


jendela1 = rectwin(51);
jendela2 = hann(51);

% Magnitudo FFT dari fungsi window


fftLength = 1024;
magFJendela2 = abs(fft(jendela2, fftLength));
magFJendela1 = abs(fft(jendela1, fftLength));

%Ganti namaJendela dengan window function yang anda pakai


subplot(2,1,1);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('namaJendela1 Window');
subplot(2,1,2);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela2(1:ceil(fftLength/2))));
ylabel('dB');
xlabel('Normalized Frequency');
legend('namaJendela2 Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);

Dengan gambar sinyal yang dihasilkan sebagai berikut :

1c
1d

Fungsi kedua yang digunakan adalah hanning window. Saat kita merekam suara,
sinyal suara yang kita dapatkan pasti bervariasi dengan suara background dan lainnya.
Ini mengakibatkan adanya sinyal yang tidak periodic. Dengan membuat frekuensi
menjadi membentuk sinyal sinusoida seperti pada gambar 1d kiri. Nilai sinusoida
yang dihasilkan oleh hanning window merupakan 0 pada awal 1 ditengah dan kembali
0 diakhir berbeda dengan hamming windon yang tidak menyentuh nilai 0. Hanning
window ini terlihat lebih akurat untuk memotong noise atau sinyal yang tidak
dibutuhkan. Dapat dilihat dari hasil percobaan bahwa frekuensi semakin lama akan
turun ini diakibatkan karena menghilangkan noise yang ada sehingga kebocoran suara
yang terjadi dihilangkan sedangkan amplitude maksimum frekuensi yang diinginkan
akan sangat tinggi. Nilai keeroran maksimum dari hanning window hanya 15 %.
Kemudian, di coba fungsi window lain yaitu flattop, dengan script sebagai berikut :
%UAS 21 Dec 2009
% Sampling frequency in Hz
Fs = 16000;

% contoh Rectangular and Hamming window, banyak fungsi window lainnya


jendela1 = hann(51);
jendela2 = flattopwin(51);

% Magnitudo FFT dari fungsi window


fftLength = 1024;
magFJendela2 = abs(fft(jendela2, fftLength));
magFJendela1 = abs(fft(jendela1, fftLength));

%Ganti namaJendela dengan window function yang anda pakai


subplot(2,1,1);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('namaJendela1 Window');
subplot(2,1,2);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela2(1:ceil(fftLength/2))));
ylabel('dB');
xlabel('Normalized Frequency');
legend('namaJendela2 Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);

Dengan hasil gambar sebagai berikut :

1e

1f
Flattop window memiliki riak yang low pass yaitu kurang dari 0,01 dB dan biasa
digunakan untuk kalibrasi. Bandwidth dari flattop 2,5 lebih besar dari hann window.
Ke akuratan amplitude pada flattop window lebih tinggi dari hann window. Bisa
dilihat pada gambar 1e, bandwth pada flattop lebih besar daripada hann.
Kemudian, digunakan window blackman dan dibandingkan dengan hann window,
script sebagai berikut :
%UAS 21 Dec 2009
% Sampling frequency in Hz
Fs = 16000;

% contoh Rectangular and Hamming window, banyak fungsi window lainnya


jendela1 = hann(51);
jendela2 = blackman(51);

% Magnitudo FFT dari fungsi window


fftLength = 1024;
magFJendela2 = abs(fft(jendela2, fftLength));
magFJendela1 = abs(fft(jendela1, fftLength));

%Ganti namaJendela dengan window function yang anda pakai


subplot(2,1,1);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('namaJendela1 Window');
subplot(2,1,2);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela2(1:ceil(fftLength/2))));
ylabel('dB');
xlabel('Normalized Frequency');
legend('namaJendela2 Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);

Dengan hasil gambar sebagai berikut :


1g

1h

Dapat dilihat bahwa window hann dan blackman memiliki kesamaan untuk membuat
sinyal lebih smooth. Dan jika dilihat dari frekuensi domain terlihat bahwa blackman
lebih smooth dan memiliki bandwidth lebih besar.
Jika dibandingkan dengan pengolahan filter pada praktikum 2, didapatkan kesimpulan
sebagai berikut :
 Filter menggunakan konvolusi pada domain waktu sedangkan windowing
perkalian dari domain waktu
 Dalam menggunakan window, sinyal harus dipotong terlebih dahulu
sedangkan dalam filter bisa diolah langsung
 Filter mengukur spektrum dengan respon frekuensi yang diketahui sedangkan
window memfilter spektrum
Pada filter hal yang dikehendaki adalah menghilangkan sinyal yang tidak diinginkan
dengan cara menghilangkan frekuensi yang tidak diinginkan dari time domain.
Pada window menggunakan fungsi perkalian yang akan mengnolkan interval yang
tidak diinginkan sehingga dapat kita lihat dalam potongan sinyal yang di lakukan
perkalian dengan window aka nada saat sinyal sinus 0 dan 1 pada amplitude
maksimum di tengah, ini juga merubah frekuensi pada domain frekuensi
II. Time Frequency Analysis
Spektogram adalah rangkaian spektra yang disusun dalam waktu dengan
mengompresi sumbu amplitudo menjadi 'peta kontur' yang ditarik dalam skala abu-
abu. Grafik akhir memiliki waktu sepanjang sumbu horizontal, frekuensi sepanjang
sumbu vertikal, dan amplitudo sinyal pada waktu dan frekuensi tertentu ditampilkan
sebagai tingkat abu-abu. Secara konvensional, hitam digunakan untuk memberi sinyal
paling banyak energi, sedangkan putih digunakan untuk sinyal yang paling sedikit.
Spektrogram adalah representasi visual dari spektrum frekuensi suara atau sinyal lain
yang bergantung terhdap waktu. Dengan script di bawah ini :

T = 0:0.001:2;
X = chirp(T,100,1,200,'q');
spectrogram(X,128,120,128,1E3);
title('Quadratic Chirp');

Didapatkan gambar spectrogram sebagai berikut ;

2a
Narrowband dan Wideband spectrogram : Jika masing-masing snapshot spektral
adalah memiliki panjang sekitar 3ms (atau jika kita menggunakan filter bandpass
sekitar 300Hz) maka kita melihat pulsa lipat vokal individu dan dering resonansi
formant dalam spektogram tersebut. Ini disebut wideband spectrogram. Jika masing-
masing snapshot spektral adalah bagian sekitar 20ms (atau jika kita menggunakan
filter bandpass sekitar 45Hz) maka kita melihat harmonik dari sumber suara, dengan
frekuensi dekat yang lebih gelap. Ini disebut Narrow band spectrogram.

Berikut adalah kodingan dari narrowband dan wideband :


%Narrowband
t_window_narrowband = .5;
t_overlap_narrowband = .1;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 128;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = window_narrowband;
noverlap = noverlap_narrowband;
subplot(2,1,1);
spectrogram(y,128,noverlap_narrowband,nfft_narrowband,1E3,'yaxis');
xlabel('Frekuensi (Hz)');
ylabel('Time (sec)');
title('narrowband spectrogram');

%Wideband
Fs=1000;
t_window_wideband = .5;
t_overlap_wideband = .1;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 128;
jendela = window_wideband;
noverlap = noverlap_wideband;
nfft = nfft_wideband;
subplot (2,1,2)
spectrogram(y,128,noverlap,nfft_wideband,Fs,'yaxis');
xlabel ('Frekuensi (Hz)');
ylabel ( 'Time (sec)');
title('wideband spectrogram');

Sehingga didapatkan gambar sebagai berikut :


Dapat dilihat bahwa power dari wideband dan narrowband berbeda.

Rectwin
%Narrowband
t_window_narrowband = .5;
t_overlap_narrowband = .1;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 128;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = window_narrowband;
noverlap = noverlap_narrowband;
subplot(2,1,1);
spectrogram(y,rectwin(128),noverlap_narrowband,nfft_narrowband,1E3,'y
axis');
xlabel('Frekuensi (Hz)');
ylabel('Time (sec)');
title('narrowband spectrogram');

%Wideband
Fs=1000;
t_window_wideband = .5;
t_overlap_wideband = .1;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 128;
jendela = window_wideband;
noverlap = noverlap_wideband;
nfft = nfft_wideband;
subplot (2,1,2)
spectrogram(y,rectwin(128),noverlap,nfft_wideband,Fs,'yaxis');
xlabel ('Frekuensi (Hz)');
ylabel ( 'Time (sec)');
title('wideband spectrogram');

Sehingga didapatkan gambar sebagai berikut :

Flattop
%Narrowband
t_window_narrowband = .5;
t_overlap_narrowband = .1;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 128;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = window_narrowband;
noverlap = noverlap_narrowband;
subplot(2,1,1);
spectrogram(y,Flattopwin(128),noverlap_narrowband,nfft_narrowband,1E3
,'yaxis');
xlabel('Frekuensi (Hz)');
ylabel('Time (sec)');
title('narrowband spectrogram');

%Wideband
Fs=1000;
t_window_wideband = .5;
t_overlap_wideband = .1;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 128;
jendela = window_wideband;
noverlap = noverlap_wideband;
nfft = nfft_wideband;
subplot (2,1,2)
spectrogram(y,flattopwin (128),noverlap,nfft_wideband,Fs,'yaxis');
xlabel ('Frekuensi (Hz)');
ylabel ( 'Time (sec)');
title('wideband spectrogram');

Hanning
%Narrowband
t_window_narrowband = .5;
t_overlap_narrowband = .1;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 128;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = window_narrowband;
noverlap = noverlap_narrowband;
subplot(2,1,1);
spectrogram(y,hann(128),noverlap_narrowband,nfft_narrowband,1E3,'yaxi
s');
xlabel('Frekuensi (Hz)');
ylabel('Time (sec)');
title('narrowband spectrogram');

%Wideband
Fs=1000;
t_window_wideband = .5;
t_overlap_wideband = .1;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 128;
jendela = window_wideband;
noverlap = noverlap_wideband;
nfft = nfft_wideband;
subplot (2,1,2)
spectrogram(y,hann(128),noverlap,nfft_wideband,Fs,'yaxis');
xlabel ('Frekuensi (Hz)');
ylabel ( 'Time (sec)');
title('wideband spectrogram');

Sehingga didapatkan gambar sebagai berikut :

III Speech Analysis


Dengan script dibawah ini dan memakai audio Driving 2.wav
%Narrowband
t_window_narrowband = .5;
t_overlap_narrowband = .1;
T = 0:0.001:2;
Fs = 1000;
y = 'Driving 2.wav';
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = window_narrowband;
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time (sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram wav');

%Wideband
t_window_wideband = .5;
t_overlap_wideband = .1;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 1024;
jendela = window_wideband;
noverlap = noverlap_wideband;
nfft = nfft_wideband;
subplot (2,1,2)
specgram(y,nfft_wideband,Fs,jendela,noverlap);
xlabel ('Time (sec)');
ylabel ( 'Frekuensi (hz)');
title('wideband spectrogram wav');

Dengan gambar sebagai berikut :

Fs = 8000

Fs = 16000
IV Transformasi Selain Fourier
Scalogram, didapatkan source code scalogram sebagai berikut :
t = linspace(-1,1,512);
s = 1-abs(t);

% Plot signal s
figure;
plot(s), axis tight
% Compute coefficients COEFS using cwt
COEFS = cwt(s,1:32,'cgau4');

% Compute and plot the scalogram (image option)


figure;
SC = wscalogram('image',COEFS);

Didapatkan gambar sebagai berikut :


Haar
t = linspace(-1,1,512);
s = 1-abs(t);

% Plot signal s
figure;
plot(s), axis tight
% Compute coefficients COEFS using cwt
COEFS = cwt(s,1:32,'haar');

% Compute and plot the scalogram (image option)


figure;
SC = wscalogram('image',COEFS);

Anda mungkin juga menyukai