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:

ff1

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

ff2

Selanjutnya kita melakukan transformasi fourier dan hasilnya menjadi sebagai berikut

ff3

Cukup heavy dengan matematika jadi silakan memperdalam pada buku-buku, artikel, ataupun journal. Smile

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 s1 selanjutnya kalau kita melakukan transformasi fourier maka hasilnya menjadi

s2

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

s3

Sama kan hasilnya? tapi tunggu, tampilannya gak elegan ? gampang cukup tambahkan dengan fungsi pretty(fw) dan hasilnya menjadi seperti dibawah ini.

s4 

Mudahkan? Winking smile

Kita lanjut dengan fungsi unit step yaitu u dan kalau digambarkan akan menghasilkan seperti dibawah ini

u-1

Kalau fungsi unit step ini u dilakukan transformasi fourier akan menghasilkan fungsi sebagai berikut

u2

dan gambarnya fungsinya menjadi

u-2

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

u-r1

Kalau kita perhatikan diatas, disana tertulis dirac(w) . Ini menunjukan fungsi t1.

Kalau kita panggil fungsi pretty(fw) maka akan menghasilkan simbolik matematika yang bagus sebagai berikut

u-r2

Mari kita lebih komplek lagi. Misalkan kita mempunyai fungsi sebagai berikut

n1

Kalau kita lakukan perhitungan transformasi fourier akan menghasilkan fungsi sebagai berikut

n2

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

n_r1

Disini variabel i menunjukkan nilai imaginer atau j.

Kalau kita panggil pretty(fw) maka hasilnya menjadi

n_r2

Well, semoga artikel ini membantu. Winking smile

Jika kesulitan dengan sintak Matlab, saya juga sudah membuat tutorial pemrogaman Matlab di PE College, gratis. Cek website ini [V].

Referensi

  1. Benoit Boulet, Fundamental of Signals and Systems, Charles River Media, 2006
  2. Matlab Help documentation

Tags:

MATLAB | Papers

blog comments powered by Disqus

About Agus Kurniawan

Agus Kurniawan

For more detail about me click here [V]

Please entry your name into my guestbook [V]

If you want to contact me, please go here [V]

Go here for my professional services [V]

My Books

Pemrograman Java Tingkat Lanjut

ASP.NET SignalR Programming By Example KnockoutJS Programming by Example

Getting Started with Java ME Embedded 8 and Raspberry Pi XBee IEEE 802.15.4 Programming

Raspberry Pi System Programming for Beginner Backbone.js Programming By Example

PHP and SQL Server Programming By Example AngularJS Programming by Example

jQuery Programming by Example Getting Started with Arduino and Ruby

Raspberry Pi Command Line for Beginner Getting Started with Arduino and Python

MSP430 LaunchPad Programming TypeScript Programming by Example

Getting Started with Matlab Simulink and Arduino SQL Server for Node.js

Pocket Reference: Netduino for Beginner Database Programming using Matlab

Pocket Reference: Basic Sensors in Windows 8 Getting Started with Matlab Simulink and Raspberry Pi

Getting Started with Arduino and Java  Pocket Reference: Raspberry Pi Programming

Getting Started with Arduino and Matlab Getting Started with Arduino and .NET

Pocket Reference: Raspberry Pi Getting Started with Arduino and Node.js

MongoDB for VB.NET Panduan Praktis Windows Azure

Network Forensics: Panduan Analisis Dan Investigasi Paket Data Jaringan Menggunakan Wireshark Object-Relational Mapping (ORM): MongoDB, Mongoosejs and Node.js By Example

Nodejs Programming by Example MongoDB for by Example

Pemrograman Parallel Dengan MPI dan C Panduan Lengkap iPad 2 Untuk Pemula

Pemrograman Jaringan Dengan Java Aplikasi Pilihan iPad Untuk Anak-Anak

Buku lainnya [V]

Agus Kurniawan is Microsoft MVP (Most Valuable Professional)

Agus Kurniawan- Github Profile

Agus Kurniawan- Codeplex Profile

Follow Me

Follow agusk2010 on Twitter

Month List