by Agus Kurniawan
15. April 2011 08:46
Fourier transform merupakan operasi matematika yang bertujuan untuk dekomposisi dari suatu sinyal (umumnya bentuk time-domain) ke unsur pokok berdasarkan frekuensi yang terkandung. Pada artikel ini gw akan memberikan ilustrasi bagaimana melakukan Fourier transform dengan menggunakan Matlab.
Fourier Transform
Secara umum sinyal berbasis waktu atau ditulis f(t) dapat diformula dalam bentuk periodic waveform sebagai berikut:
Formula diatas cukuplah terkenal. Anda dapat membaca di buku yang membahas mengenai Fourier Series atau datang ke wikipedia link ini.
Sebagai ilustrasi, gw mengambil contoh soal dari buku [1] misalkan kita mempunyai sinyal sebagai berikut
Selanjutnya kita melakukan transformasi fourier dan hasilnya menjadi sebagai berikut
Cukup heavy dengan matematika jadi silakan memperdalam pada buku-buku, artikel, ataupun journal.
Fourier Transform Dengan Matlab
Untuk menggunakan fourier transform kita membutuhkan Symbolic Math Toolbox dan kita dapat memanfaatkan fungsi fourier untuk mengeksekusi fourier transform.
Sebagai contoh kita mempunyai fungsi yaitu selanjutnya kalau kita melakukan transformasi fourier maka hasilnya menjadi
Nah, bagaimana melakukan ini dengan menggunakan Matlab? Cukup mudah. Berikut ini kode program nya
syms t v w x;
f = exp(-x^2);
fw=fourier(f)
Disini gw menyimpan kode program diatas dengan nama file ff2.m dan selanjutnya dieksekusi melalui Matlab command. Hasilnya seperti dibawah ini
Sama kan hasilnya? tapi tunggu, tampilannya gak elegan ? gampang cukup tambahkan dengan fungsi pretty(fw) dan hasilnya menjadi seperti dibawah ini.
Mudahkan?
Kita lanjut dengan fungsi unit step yaitu dan kalau digambarkan akan menghasilkan seperti dibawah ini
Kalau fungsi unit step ini dilakukan transformasi fourier akan menghasilkan fungsi sebagai berikut
dan gambarnya fungsinya menjadi
Bagaimana ini melakukannya dengan menggunakan Matlab?
Fungsi unit step dapat memanfaatkan fungsi heaviside(x) sehingga transformasi dari fungsi unit step akan menjadi sebagai berikut
syms t w f;
u0 = heaviside(t);
fw = fourier(u0)
Kalau dijalankan akan menghasilkan seperti dibawah ini
Kalau kita perhatikan diatas, disana tertulis dirac(w) . Ini menunjukan fungsi .
Kalau kita panggil fungsi pretty(fw) maka akan menghasilkan simbolik matematika yang bagus sebagai berikut
Mari kita lebih komplek lagi. Misalkan kita mempunyai fungsi sebagai berikut
Kalau kita lakukan perhitungan transformasi fourier akan menghasilkan fungsi sebagai berikut
Sedangkan implementasi dengan menggunakan Matlab sebagai berikut
syms t w;
x = -exp(-t)*heaviside(t)+3*dirac(t);
fw = fourier(x)
Hasil eksekusinya sebegai berikut
Disini variabel i menunjukkan nilai imaginer atau j.
Kalau kita panggil pretty(fw) maka hasilnya menjadi
Well, semoga artikel ini membantu.
Jika kesulitan dengan sintak Matlab, saya juga sudah membuat tutorial pemrogaman Matlab di PE College, gratis. Cek website ini [V].
Referensi
Benoit Boulet, Fundamental of Signals and Systems, Charles River Media, 2006
Matlab Help documentation
241cb302-dc1a-41a9-8f04-e48dfe1fece5|0|.0
Tags:
MATLAB | Papers
by Agus Kurniawan
29. January 2011 12:24
Bagi mereka yang sedang belajar communication system, konsep signal and system menjadi prasyarat materi yang harus dikuasai. Suatu signal atau sinyal dalam bahasa Indonesia menunjukan fungsi waktu terhadap variabel pengukuran seperti suhu, kecepatan, posisi dan sebagainya. Secara umum ada dua tipe sinyal yaitu
Continuous-time
Discrete-time
Pada tutorial ini gw akan menunjukan bagaimana representatif suatu signal dengan menggunakan Matlab.
Continuous-Time Signal
Secara matematika fungsi sinyal bertipe Continuous-time dapat ditulis sebagai berikut
Contoh sinyal continuous-time sebagai berikut
Ok, bagaimana implementasi pada Matlab? cukup mudah, misalkan kita mempunyai suatu sinyal yang fungsi matematika sebagai berikut
Nilai f1 dan f2 merupakan frekuensi sinyal. Misalkan nilai f1 = 35 dan f2=90 maka realisasi dengan menggunakan Matlab sebagai berikut
t = (0:0.001:4);
x = sin(2*pi*35*t) + 2*cos(2*pi*90*t);
figure('Name','Continous Signal');
plot(t(1:60),x(1:60));
xlabel('time');
ylabel('x(t)');
Kalau dijalankan di Matlab akan menghasilkan gambar seperti dibawah ini
Discrete-Time Signal
Sinyal diskrit disimbolkan dalam matematika sebagai berikut:
Nilai n menunjukan nilai diskrit yang diperoleh dari proses sampling.
Kalau kita sudah menghasilkan fungsi continuous-time dengan Matlab dengan menggunakan fungsi plot maka untuk menampilkan dalam bentuk diskrit maka kita dapat menggunakan fungsi stem.
Dengan fungsi sinyal yang sama seperti contoh diatas maka kita dapat menampilkan dalam bentuk diskrit sebagai berikut
t = (0:0.001:4);
x = sin(2*pi*35*t) + 2*cos(2*pi*90*t);
figure('Name','Decrete Signal');
stem(t(1:60),x(1:60));
xlabel('n');
ylabel('x[n]');
title('Contoh Discrete-time Signal');
Kalau dijalankan di Matlab akan menghasilkan gambar seperti dibawah ini
Signal Energy
Secara umum sebuah continuous-time signal dapat dihitung energinya dengan formula dibawah ini
Sedangkan realisasi dalam Matlab kita dapat menggunakan fungsi sinc. Contoh energi dari sinyal kontinu diatas dapat dihitung dengan matlab sebagai berikut
t = (0:0.001:4);
x = sin(2*pi*35*t) + 2*cos(2*pi*90*t);
e_x=sinc(x);
figure('Name','Enegery of Continous Signal');
plot(t(1:60),e_x(1:60));
xlabel('time');
ylabel('Ex');
title('Contoh Enegery of Continous Signal');
Hasilnya grafiknya seperti dibawah ini
Sedangkan untuk bentuk discrete-time dapat menggunakan stem setelah menghitung sinc
t = (0:0.001:4);
x = sin(2*pi*35*t) + 2*cos(2*pi*90*t);
e_x=sinc(x);
figure('Name','Enegery of Discrete Signal');
stem(t(1:60),e_x(1:60));
xlabel('time');
ylabel('Ex');
title('Contoh Enegery of Discrete Signal');
Contoh hasilnya sebagai berikut
Cukup mudah kan.
Tutorial selanjutnya nanti akan membahas FFT dan Laplace transform. Semoga berguna
Referensi
Michael P. Fitz, Fundamental of Communication Systems, McGraw-Hill, 2007
Simon Haykin, Communication Systems, John Wiley & Sons, 2001
by Agus Kurniawan
1. October 2010 06:12
MATLAB banyak sekali digunakan untuk melakukan simulasi suatu sistem guna menguji kinerja sistem tersebut. Secara de facto MATLAB banyak digunakan untuk para peneliti. Bagi rekan yang ingin belajar tentang pemrograman MATLAB, saya sudah membuat tutorial pemrograman MATLAB dalam bentuk video tutorial. Materinya meliputi: 1. Mengenal MATLAB 2. Instalasi Matlab 3. Mengenal Desktop MATLAB 4. Bekerja Dengan M-Editor 5. Mengenal Data Type 6. Input/Output MATLAB Console 7. Operasi Aritmatika 8. Operasi Logika 9. Operasi Relasi 10. Kondisional - If 11. Kondisional - Switch 12. Looping - For 13. Looping - While 14. Looping - Break dan Continue 15. Komparasi String 16. Operasi File Materi tutorial ini dapat diakses gratis di portal PE College dengan alamat http://www.pecollege.net/ViewVideoList.aspx?list=14 Semoga ini berguna
d53e113c-26ba-424c-b076-f29e0ca75869|0|.0
Tags:
MATLAB