MATLAB by Me

Transformasi Fourier Sederhana Menggunakan MATLAB

Posted

Bagi para saintis dan engineer istilah transformasi Fourier pasti tidak asing lagi. Metode ini banyak sekali dimanfaatkan untuk berbagai hal misalnya dalam signal atau image processing. Sebelum kita masuk ke MATLAB, ada baiknya kita pahami terlebih dahulu tentang apa itu Transformasi Fourier.

Semua fenomena yang terjadi di alam semesta ini dapat direpresentasikan dalam bentuk gelombang sebagai fungsi terhadap waktu, ruang atau variabel lainnya. Misalnya saja, gelombang suara, gelombang elektromagnetik bahkan harga suatu barang terhadap waktu. Transformasi Fourier membantu kita untuk melihat dengan cara yang berbeda terhadap fungsi gelombang tersebut.

Transformasi Fourier pertama kali diperkenalkan oleh Jean Baptise Joseph Fourier, seorang ilmuwan berkebangsaan Perancis yang lahir pada tanggal 21 Maret 1768 dan meninggal pada 16 Mei 1830. Secara sederhana transformasi Fourier berfungsi untuk mengubah fungsi gelombang dengan domain waktu menjadi domain frekuensi. Untuk lebih jelasnya mari kita lakukan dengan MATLAB

Pertama-tama kita membuat sebuah sinyal dengan frekuensi f1=100Hz pada waktu dari 0 sampai 1 detik dengan interval 0.001, kemudian kita plot

f1=100;
t=0:0.001:1;
y1=sin(2*pi*f1*t);
figure(1)
plot(t,y1)
axis([0 0.1 -1 1])
title(['Frekuensi ' num2str(f1) 'Hz'])

 

Kemudian kita buat lagi sinyal dengan frekuensi f2=250Hz pada waktu yang sama

f2=250;
y2=sin(2*pi*f2*t);
figure(2)
plot(t,y2,'r')
axis([0 0.1 -1 1])
title(['Frekuensi ' num2str(f2) 'Hz'])

 

Jika kita jumlahkan kedua sinyal tersebut dengan sintaks berikut

y3=y1+y2;
figure(3)
plot(t,y3,'g')
axis([0 0.1 -2 2])
title(['Frekuensi ' num2str(f1) 'Hz + Frekuensi ' num2str(f2) 'Hz'])

 

Dengan menggunakan fungsi fft pada MATLAB kita dapat men-decompose kembali sinyal pada gambar di atas berdasarkan frekuensinya, berikut sintaksnya

Fs = 1000; % Sampling frequency
T = 1/Fs; % Sample time
L = length(y3); % Length of signal
Y = fft(y3);
k = linspace(-Fs/2,Fs/2,length(y3));
figure
plot(abs(k),2*abs(fftshift(Y))/Fs);

Dari gambar di atas terlihat peak sinyalnya terdapat pada x sama dengan 100 dan 250. Peak-peak tersebut merupakan nilai frekuensi yang membentuk sinyal pada gambar 3.

Jadi dengan transformasi Fourier kita dapat membagi sinyal berdasarkan komponen frekuensi penyusunnya.

Sekian artikel sederhananya
Terima kasih

Leave a Reply

Your email address will not be published. Required fields are marked *