Senin, 23 April 2012

Analisis Spektra

Berikut ini bentuk script fungsi sft dari transformasi fourier lamabat.
 
function yk = sft(y)
% Slow fourier transformation
% yk = sft(y)
% Input vektor time series y
% Output hasil transformasi DFT
N = length(y);
sudut = -2*pi*sqrt(-1)/N;
for k=0:N-1
   temp = exp(sudut*(0:N-1)*k);
   yk(k+1) = sum(y.*temp);
end
return

Berikut ini adalah program matlab yang menggunakan fungsi sft(y) di atas dengan data time series berupa sinyal sinusoidal sin(2Ï€ft+fase)

% DFT - program transformasi fouriersi
%       menggunakan fungsi slow fourier transformetion
clear all;
clc;
help DFT;
N = input ('Masukan jumlah titik N - ');
frek = input('Masukan frekwensi gelombang sinus - ');
fase = input('Masukan beda fase -');
tau = 1 ;

% Membuat data set time series
t = (0:(N-1))*tau;    % tk = k*tau, k = 0...N-1
y = sin(2*pi*t*frek + fase);
flops(0);   % menolkan flops

% Menghitung hasil transformasi fourier dengan fungsi sft
yk = sft(y);
fprintf('jumlah flop= %g untuk %d data /n',flops,N);

% Menghitung vektor frekwensi
f = (0:(N-1))/(N*tau);   % fk = k/N.tau
subplot(121)


plot(t,y);
title('Data asli time series');
ylabel('Amplitudo');
xlabel('waktu');
subplot(122)
plot(f,real(yk),'-',f,imag(yk),'--');
title('Real(solid); imag(dash)');
ylabel('Transformasi fourier');
xlabel('Frekwensi');
subplot(111)

Dengan memasukkan data-data N=50, frekuensi 0,2 Hz, dan fase π/2. Di run akan muncul tampilan seperti berikut:


Gambar 1. Running data dft
  
 Pembahasan
Pada praktikum ini, praktikan melakukan praktikum analisis spektra. Analisis spektra adalah suatu analisis yang dilaksanakan untuk melihat spektrum frekuensi yang terkandung dalam data runtun waktu (time series data). Analisis spektra didasari oleh transformasi data dari domain waktu ke domain frekuensi sehingga spektrum frekuensi yang terkandung dapat dipantau. Salah satu bentuk transformasi yang paling banyak digunakan adalah transformasi fourier, dan dalam bidang numerik biasa disebut sebagai Discrete Fourier Transformation (DFT).
Secara umum, operasi pada program Matlab ini memiliki simbol-simbol tertentu yang mempunyai fungsi masing-masing, seperti simbol percent (%) yang digunakan untuk mengabaikan kalimat yang berada sesudah simbol tersebut, tanda koma (,) digunakan untuk memisahkan dua pernyataan dalam sebaris, tanda  titik koma (;) digunakan untuk memisahkan dua pernyataan tanpa echo, dan tanda titik-titik (....) digunakan untuk melanjutkan statement ke baris berikutnya. Analisis spektral dalam penelitian ini digunakan untuk menampilkan periode setiap gelombaltg yang tersembunyi dari sebuah data deret waktu.
Pada praktikum Transformasi Fourier Lambat, dibuat data seperti data pengamatan di atas. Setelah dibuat programnya, file disimpan dengan nama “sft”.  Akan tetapi jika program tersebut di running, maka hasil run tidak muncul. Melainkan harus memasukkan data time series berupa sinyal sinusoida sinus atau cosinus. Programnya dapat dilihat pada data pengamatan di atas. Jika dilakukan running maka akan seperti gambar 1 di atas.