Transformasi Fourier Dengan Matlab

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

Tags:

MATLAB | Papers

Continuous-time and Discrete-time Signals

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

Tags:

Communication Systems | MATLAB

Belajar Pemrograman MATLAB

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

Tags:

MATLAB