Disusun Oleh:
Intan Andriani Putri, S.Si., M.T
TEOREMA KONVOLUSI
Teorema konvolusi adalah karakteristik penting dari Transformasi Fourier. Teorema ini
menyatakan bahwa Konvolusi pada domain waktu sama dengan perkalian pada domain frekuensi,
atau sebaliknya. Untuk memahami teorema tersebut, ambil dua sinyal sebagai contoh 𝑥(𝑡) dan
𝑦(𝑡).
A. TUGAS PENDAHULUAN
1. Sebutkan perbedaan DFT dan FT dalam hal periode
2. Buktikan persamaan (1)
3. Jelaskan yang dimaksud dengan konvolusi sirkular
4. Apa itu wavelet Ricker dan tuliskan persamaannya
B. PRAKTIKUM
B.1 KONVOLUSI DALAM DOMAIN WAKTU DAN PERKALIAN SPEKTRUM
SINYAL
Pada bagian ini, kita akan melakukan konvolusi dari dua sinyal serta mengamati hasilnya pada
domain waktu serta hasil perkalian sinyal tersebut dalam domain frekuensi. Di sini kita
menggunakan sinyal kontinu yang didisktitisasi pada domain waktu dengan sampling frequency
sebesar 𝑓𝑠 = 100 𝐻𝑧.
1. Buat script baru dengan nama convT01_NIM_nama
2. Definisikan sampling frequency, durasi waktu, dan deret waktu yang kita inginkan dengan
menjalankan script berikut pada Editor:
clc; clear all;
Fs = 100; % sampling frequency (Hz)
T = 10; % waktu (s)
t = -T:1/Fs:T; % vektor waktu (s)
f = linspace(-Fs/2, Fs/2, length(t)); % vektor frekuensi (Hz)
3. Definisikan dua sinyal input yang akan dikunvolusikan yaitu:
𝑥(𝑡) yang merupakan fungsi impuls causal, dan
𝑦(𝑡) yang merupakan sinc function dikuadratkan
dengan menjalankan script berikut pada Editor:
x = exp(-abs(t));
x(1:(length(x)-1)/2)=0;
y = (sinc(t)).^2;
4. Konvolusikan kedua sinyal 𝑥(𝑡) dan 𝑦(𝑡) untuk mendapatkan hasil konvolusi pada domain
waktu 𝑧(𝑡) dengan menjalankan script berikut pada Editor:
z = conv(x, y, 'same')/Fs;
5. Plot sinyal input 𝑥(𝑡) dan 𝑦(𝑡) serta hasil konvolusi pada domain waktu 𝑧(𝑡) dengan
menjalankan script berikut pada Editor:
subplot(2,2,1)
plot(t,x,'b','LineWidth',1.5)
xlabel('waktu (s)')
ylabel('Amplitude')
legend ('x(t)')
title('Sinyal x(t)')
grid on
subplot(2,2,2)
plot(t,y,'r','LineWidth',1.5)
xlabel('waktu (s)')
ylabel('Amplitude')
legend ('y(t)')
title('Sinyal y(t)')
grid on
subplot(2,2,3)
plot(t,z,'k','LineWidth',1.5)
xlabel('waktu (s)')
ylabel('Amplitude')
legend ('z(t)')
title('Hasil konvolusi x(t) dan y(t)')
grid on
Sehingga diperoleh gambar:
Gambar 1. Berurutan dari kiri atas ke kanan bawah: Sinyal input 𝑥(𝑡); sinyal input 𝑦(𝑡); dan
hasil konvolusi pada domain waktu 𝑧(𝑡)
6. Lakukan FFT terhadap sinyal input dan hasil konvolusi 𝑧(𝑡), lalu plot hasilnya dengan
menjalankan script berikut pada Editor:
X = abs(fftshift(fft(x)/Fs));
Y = abs(fftshift(fft(y)/Fs));
Z = abs(fftshift(fft(z)/Fs));
subplot(2,2,1)
plot(f,X,'b','LineWidth',1.5)
xlabel('frekuensi (Hz)')
ylabel('abs(X(f))')
xlim([-2 2])
ylim([0 1])
title('Spektrum amplitudo X(f)')
grid on
subplot(2,2,2)
plot(f,Y,'r','LineWidth',1.5)
xlabel('frekuensi (Hz)')
ylabel('abs(Y(f))')
legend ('Y(f)')
title('Spektrum amplitudo Y(f)')
xlim([-2 2])
ylim([0 1])
grid on
subplot(2,2,3)
plot(f,Z,'k','LineWidth',1.5)
xlabel('frekuensi (Hz)')
ylabel('abs(Z(f))')
legend ('Z(f)')
xlim([-2 2])
ylim([0 1])
title('Spektrum hasil konvolusi Z(f)')
grid on
Sehingga diperoleh gambar:
Gambar 2. Berurutan dari kiri atas ke kanan bawah: Spektrum sinyal input 𝑋(𝑓); spektrum sinyal
input 𝑌(𝑓); dan spektrum hasil konvolusi pada domain waktu 𝑍(𝑓)
7. Kalikan spektrum kedua input sehinggal menghasilkan 𝐴(𝑓) lalu plot hasilnya dengan
𝑍(𝑓) dengan menjalankan script berikut pada Editor:
A = X.*Y;
subplot(2,2,1)
plot(f,Z,'k','LineWidth',1.5)
xlabel('frekuensi (Hz)')
ylabel('abs(Z(f))')
legend ('Z(f)')
grid on
xlim([-2 2])
ylim([0 1])
title('Spektrum hasil konvolusi Z(f)')
subplot(2,2,2)
plot(f,A, 'b', 'LineWidth', 1.5)
xlabel('frekuensi (Hz)')
ylabel('abs(Z(f))')
legend ('A(f)')
grid on
xlim([-2 2])
ylim([0 1])
title('Hasil kali spektrum X(f) dan Y(f)')
Sehingga diperoleh gambar:
(a) (b)
Gambar 3. (a) Spektrum hasil konvolusi pada domain waktu 𝑍(𝑓); dan (b) Hasil perkalian
spektrum input pada domain frekuensi
8. Amati hasil dan tuliskan kesimpulan yang diperoleh dari percobaan ini pada laporan
sementara
9. Kumpulkan script yang dibuat
Gambar 4. Atas: sinyal input serta hasil konvolusi pada domain waktu; dan bawah: sinyal input
serta hasil konvolusi pada domain frekuensi
5. Amati hasil dan tuliskan kesimpulan yang diperoleh dari percobaan ini pada laporan
sementara
6. Kumpulkan script yang dibuat
B.3 KONVOLUSI DALAM DOMAIN WAKTU DAN FREKUENSI DENGAN ZERO
PADDING
Ketika kita melakukan transformasi fourier diskrit, kita menggunakan asumsi bahwa sinyal input
merupakan satu periode. Maka dari itu, pada saat melakukan konvolusi pada domain frekuensi
yang dilakukan bukan konvolusi linier namun konvolusi sirkular. Untuk mengatasi isu tersebut,
kita dapat melakukan zero padding pada domain waktu. Jika input sinyal kita memiliki panjang
L1 dan L2, zero padding perlu dilakukan sepanjang 2𝛾
1. Buat script baru dengan nama convT03_NIM_nama
2. Definisikan sinyal input 𝑥(𝑡) dan 𝑦(𝑡) serta lakukan konvolusi pada domain waktu untuk
memperoleh 𝑧(𝑡) dengan menjalankan script berikut pada Editor:
clc; clear all;
t = 0:1:128;
x = exp(-.1*t);
y = sin(2*pi*t/32);
z = conv(x, y);
3. Lakukan zero padding pada sinyal input untuk memperoleh 𝑥2 (𝑡) dan 𝑦2 (𝑡) yang telah
dillakukan zero padding dengan menjalankan script berikut pada Editor:
a = length(x);
b = length(y);
nfft = 2^nextpow2(a+b-1);
x2 = [x, zeros(1, nfft-a)];
y2 = [y, zeros(1, nfft-b)];
t2 = [0:1:length(x2)-1];
4. Lakukan konvolusi melalui FFT pada 𝑥2 (𝑡) dan 𝑦2 (𝑡) lalu plot hasilnya dengan
menjalankan script berikut pada Editor:
z_fft = real(ifft(fft(x2).*fft(y2)));
subplot(2,1,1)
plot(x, 'k', 'LineWidth', 1.5)
hold on
plot(y, 'b', 'LineWidth', 1.5)
hold on
plot(z, 'r', 'LineWidth', 1.5)
hold off
xlabel('waktu (s)')
ylabel('amplitude')
xlim([0 200])
legend ('x(t)', 'y(t)', 'z(t)')
title('Konvolusi x(t) dan y(t) pada domain waktu menghasilkan
z(t)')
grid on
subplot(2,1,2)
plot(x2, 'k', 'LineWidth', 1.5)
hold on
plot(y2, 'b', 'LineWidth', 1.5)
hold on
plot(z_fft, 'r', 'LineWidth', 1.5)
hold off
xlabel('waktu (s)')
ylabel('amplitude')
xlim([0 200])
legend ('x(t)', 'y(t)', 'z(t)')
title('Konvolusi x(t) dan y(t) pada domain frekuensi melalui
perkalian spektrum')
grid on
Sehingga diperoleh gambar:
Gambar 5. Atas: sinyal input serta hasil konvolusi pada domain waktu setelah dilakukan zero
padding; dan bawah: sinyal input serta hasil konvolusi pada domain frekuensi setelah dilakukan
zero padding
5. Amati hasil dan tuliskan kesimpulan yang diperoleh dari percobaan ini pada laporan
sementara
6. Kumpulkan script yang dibuat
Gambar 6. Atas: trace seismik hasil konvolusi pada domain waktu; dan Bawah: trace seismik
hasil konvolusi pada domain frekuensi
7. Buat trace seismik yang merupakan hasil konvolusi wavelet Ricker pada bagian sebelumnya
dengan koefisien refleksi yang diperoleh dari parameter fisis sebagai berikut:
Lapisan ke-1 Kedalaman (m) Kecepatan (m/s) Densitas (gr/cc)
1 0 – 50 500 1,2
2 50 – 100 1600 1,68
3 100 – 150 1800 2,15
4 150 - 200 1600 1,68
8. Amati hasil dan tuliskan kesimpulan yang diperoleh dari percobaan ini pada laporan akhir
beserta script yang dibuat.