Anda di halaman 1dari 32

PRAKTIKUM IV

PEMROSESAN SINYAL

Nama : Muhammad Faisol Haq

NRP : 2408 100 010


I. Fungsi Window dan Filter
Ketik command line berikut ini
% 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('Rectangular 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('Hamming Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);

maka akan muncul grafik sebagai berikut

40
Rectangular Window
20

0
dB

-20

-40

-60
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

50
Hamming Window

0
dB

-50

-100
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized Frequency
Time domain Frequency domain
40
1
20

0.8
0

Magnitude (dB)
Amplitude

0.6
-20

0.4
-40

0.2 -60

0 -80
10 20 30 40 50 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency (  rad/sample)

Cari fungsi jendela selain yang diatas (minimal tiga fungsi window selain diatas). Plot
masing-masing lalu bandingkan dengan fungsi filter : fir1, ellip, cheby1. Kesimpulan apa
yang bisa anda peroleh ?

Fungsi window lain

Bartlett dan Blackman


% Sampling frequency in Hz
Fs = 16000;

% contoh Bartlett and Blackman window, banyak fungsi window lainnya


jendela1 = bartlett(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('Bartlett 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('Blackman Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);
Diperoleh hasil sebagai berikut

50
Bartlett Window

0
dB

-50

-100
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

50
Blackman Window
0

-50
dB

-100

-150
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized Frequency

Time domain Frequency domain


1 50

0.8
0
Magnitude (dB)

0.6
Amplitude

-50

0.4

-100
0.2

0 -150
10 20 30 40 50 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency (  rad/sample)
Chebyshev dan Hann
% Sampling frequency in Hz
Fs = 16000;

% contoh Chebyshev and Hann window, banyak fungsi window lainnya


jendela1 = chebwin(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('Chebyshev 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('Hann Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);

diperoleh hasil berikut

50
Chebyshev Window
0

-50
dB

-100

-150
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

50
Hann Window
0

-50
dB

-100

-150
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized Frequency
Time domain Frequency domain
50
1

0.8 0

Magnitude (dB)
Amplitude

0.6
-50

0.4

-100
0.2

0 -150
10 20 30 40 50 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency ( rad/sample)

Kaiser dan Taylor


% Sampling frequency in Hz
Fs = 16000;

% contoh Kaiser and Taylor window, banyak fungsi window lainnya


jendela1 = kaiser(51);
jendela2 = taylorwin(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('Kaiser 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('Taylor Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);
didapatkan hasil berikut

40
Kaiser Window
20

0
dB

-20

-40

-60
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

40
Taylor Window
20

0
dB

-20

-40

-60
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized Frequency

Time domain Frequency domain


1.6 40

1.4
20
1.2
Magnitude (dB)

0
1
Amplitude

0.8
-20

0.6
-40
0.4

0.2 -60
10 20 30 40 50 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency (  rad/sample)
Triang dan Boxcar
% Sampling frequency in Hz
Fs = 16000;

% contoh Triang and Boxcar window, banyak fungsi window lainnya


jendela1 = triang(51);
jendela2 = rectwin(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('Triang 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('Boxcar Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2);

didapatkan hasil berikut

50
Triang Window
0

-50
dB

-100

-150
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

40
Boxcar Window
20

0
dB

-20

-40

-60
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized Frequency
Time domain Frequency domain
40
1
20

0.8 0

-20

Magnitude (dB)
Amplitude

0.6
-40

0.4 -60

-80
0.2
-100

0 -120
10 20 30 40 50 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency ( rad/sample)

Kesimpulan:

Setiap fungsi window punya karakteristik masing – masing. Secara garis besar,
perbedaan masing – masing fungsi ini akan berpengaruh pada nilai dB dan frekuensi normal,
sehingga hal itu dapat dilihat dampak pada amplitude dan waktu yang dihasilkan.
Perbandingan 3 fungsi window dengan fungsi filter

Fungsi window
% Sampling frequency in Hz
Fs = 16000;

jendela1 = hann(51);
jendela2 = flattopwin(51);
jendela3 = Chebwin(51);
jendela4 = Gausswin(51);
jendela5 = Tukeywin(51);
jendela6 = Kaiser(51);

% Magnitudo FFT darifungsi window


fftLength = 1024;
magFJendela6 = abs(fft(jendela6, fftLength));
magFJendela5 = abs(fft(jendela5, fftLength));
magFJendela4 = abs(fft(jendela4, fftLength));
magFJendela3 = abs(fft(jendela3, fftLength));
magFJendela2 = abs(fft(jendela2, fftLength));
magFJendela1 = abs(fft(jendela1, fftLength));

%GantinamaJendeladengan window function yang andapakai


subplot(6,1,1);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('Hann Window');
subplot(6,1,2);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('Flattopwin Window');
subplot(6,1,3);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('Chebyshev Window');
subplot(6,1,4);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('Gausswin Window');
subplot(6,1,5);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela1(1:ceil(fftLength/2))));
ylabel('dB');
legend('Tukeywin Window');
subplot(6,1,6);
plot(linspace(0,0.5,ceil(fftLength/2)),
20*log10(magFJendela2(1:ceil(fftLength/2))));
ylabel('dB');
xlabel('Normalized Frequency');
legend('Kaiser Window');

% Window visualization tool by MATLAB


wvtool(jendela1, jendela2, jendela3, jendela4, jendela5, jendela6);

dan didapatkan hasil berikut

200
0 Hann Window
dB

-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
200
0 Flattopwin Window
dB

-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
200
0 Chebyshev Window
dB

-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
200
0 Gausswin Window
dB

-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
200
0 Tukeywin Window
dB

-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
200
0 Kaiser Window
dB

-200
0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Normalized Frequency

Time domain Frequency domain


1.2 50

1
0
0.8
Magnitude (dB)

-50
0.6
Amplitude

0.4
-100

0.2
-150
0

-0.2 -200
10 20 30 40 50 0 0.2 0.4 0.6 0.8
Samples Normalized Frequency ( rad/sample)
Fungsi filter
LPF = fir1(50,[0.2 0.5]);
freqz(LPF,0.5,1025)

50
Magnitude (dB)

-50

-100
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

1000
Phase (degrees)

-1000

-2000
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency ( rad/sample)

[b,a] = ellip(20,3,30,200/500);
freqz(b,a,1025,1000)
title('n=20 Lowpass Elliptic Filter')
n=20 Lowpass Elliptic Filter
0
Magnitude (dB)

-50

-100
0 50 100 150 200 250 300 350 400 450 500
Frequency (Hz)

200
Phase (degrees)

-200

-400

-600
0 50 100 150 200 250 300 350 400 450 500
Frequency (Hz)
[b,a] = cheby1(20,3,200/450);
freqz(b,a,1025,1000)

0
Magnitude (dB)

-200

-400

-600
0 50 100 150 200 250 300 350 400 450 500
Frequency (Hz)

0
Phase (degrees)

-500

-1000

-1500

-2000
0 50 100 150 200 250 300 350 400 450 500
Frequency (Hz)

Kesimpulan:

Setelah membandingkan antara window function dengan fungsi filter, maka kesimpulan
yang dapat diambil adalah bahwa pada window function, dapat diperoleh grafik yang
menunjukkan noise asli yang rapat dan konstan. Namun pada grafik filter, noise yang
diberikan, mendapat filter dari masing – masing fungsi filter sehingga grafik yang dihasilkan
tidak konstan.

Bagian mana yang dikehendaki dan bagian filter/window mana yang tidak dikehendaki,
Mengapa ?

- Bagian yang dikehendaki oleh window adalah grafik yang rapat dan konstan.
- Bagian yang dikehendaki oleh filter adalah bagian yang renggang.
- Bagian yang tidak dikehendaki window dan filter yaitu bagian noise
II. Time-Frequency Analysis

Spectrogram adalah analisa frekuensi yang bergantung pada waktu. Spectrogram


merupakan visualisasi dari kekuatan spektrum sinyal suara dengan menggunakan metode
estimasi kekuatan spektrum periodogram.

Ketik command line seperti berikut

T = 0:0.001:2;

X = chirp(T,100,1,200,'q');

spectrogram(X,128,120,128,1E3);

title('Quadratic Chirp');

dan didapatkan hasil seperti ini

Quadratic Chirp

1.8

1.6

1.4

1.2
Time

0.8

0.6

0.4

0.2

0 50 100 150 200 250 300 350 400 450 500


Frequency (Hz)

Pengertian Narrowband dan Wideband Spectrogram

Narrowband merupakan jenis spectrogram yang memiliki bandwith 45-50 Hz dengan


kekuatan yang berbeda beda sehingga dapat memilih masing-masing harmonic.
Wideband merupakan jenis spectrogram yang memiliki bandwith 300-500 Hz. Pada
Wideband ini ketika digunakan untuk berbicara normal dengan frekuensi dasar sekitar 100-
200 Hz, akan mengambil energi dari beberapa harmonic.

Modifikasi source code diatas agar mendapatkan kedua jenis spectrogram itu. Terkait
dengan pertanyaan no.3, jelaskan mengapa narrowband dan wideband spectrogram tidak
dikehendaki.
%Narrowband

t_window_narrowband = .005;

t_overlap_narrowband = .001;

T = 0:0.001:2;

Fs = 1000;

y = chirp(T,100,1,200,'q');

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');

%Wideband

t_window_wideband = .005;

t_overlap_wideband = .001;

window_wideband = t_window_wideband*Fs;

noverlap_wideband = 1;

nfft_wideband = 9600;

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');

dan didapatkan hasil berikut

narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)

Ubah jenis window pada spectrogram, lihat soal no. I Fungsi window dan filter diatas.
Urutkan window mana yang paling cocok, sertai dengan plot dan alasan mengapa.

Dengan Rectangular Window


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

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = rectwin (51);
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');

dan didapat hasil berikut

narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Hamming window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = hamming (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = hamming (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Bartlett Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = bartlett(51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = bartlett (51);
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');

dan didapat hasil berikut


narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Blackman Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = blackman(51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = blackman (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Chebyshev Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = chebwin (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = chebwin (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Hann Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = hann (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = hann (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Kaiser Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = kaiser (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = kaiser (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Taylor Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = taylorwin (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = taylorwin (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Triang Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = triang (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = triang (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Dengan Boxcar Window
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = chirp(T,100,1,200,'q');
nfft_narrowband = 1024;
window_narrowband = t_window_narrowband * Fs;
noverlap_narrowband = t_overlap_narrowband * Fs;
jendela = rectwin (51);
noverlap = noverlap_narrowband;
subplot(2,1,1);
specgram(y,nfft_narrowband,Fs,jendela,noverlap);
xlabel('Time(sec)');
ylabel('Frekuensi (Hz)');
title('narrowband spectrogram');

%Wideband
t_window_wideband = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
jendela = rectwin (51);
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');

dan didapat hasil berikut narrowband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Time(sec)
wideband spectrogram

400
Frekuensi (Hz)

200

0
0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
time(sec)
Penjelasan:
III. Speech Analysis

Ketik command line berikut


%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 1000;
y = 'iconk2.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 = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
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');
narrowband spectrogram wav
didapat hasil berikut
400
Frekuensi (Hz)

200

0
1 2 3 4 5 6 7 8
Time(sec) -3
x 10
wideband spectrogram wav

400
Frekuensi (Hz)

200

0
1 2 3 4 5 6 7 8
time(sec) -3
x 10
Analisis spectrogram (narrowband dan wideband)
Mengganti Fs = 8000
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 8000;
y = 'iconk2.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 = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
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');

didapat hasilnya adalah


narrowband spectrogram wav
4000

3000
Frekuensi (Hz)

2000

1000

0
-0.1 -0.05 0 0.05 0.1 0.15 0.2 0.25
Time(sec)
wideband spectrogram wav
4000

3000
Frekuensi (Hz)

2000

1000

0
-1 -0.5 0 0.5 1 1.5 2
time(sec)
Mengganti Fs = 16000
%Narrowband
t_window_narrowband = .005;
t_overlap_narrowband = .001;
T = 0:0.001:2;
Fs = 16000;
y = 'iconk2.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 = .005;
t_overlap_wideband = .001;
window_wideband = t_window_wideband*Fs;
noverlap_wideband = 1;
nfft_wideband = 9600;
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');

dan didapat narrowband spectrogram wav


8000

6000
Frekuensi (Hz)

4000

2000

0
-0.06 -0.04 -0.02 0 0.02 0.04 0.06 0.08 0.1 0.12
Time(sec)
wideband spectrogram wav
8000

6000
Frekuensi (Hz)

4000

2000

0
-0.4 -0.2 0 0.2 0.4 0.6 0.8 1 1.2
time(sec)
Mengganti Fs =

Anda mungkin juga menyukai