Mari Berbagi walaupun hanya sekedar Informasi

Berbagi informasi tentang segala hal positif

Memahami Makna Discrete Fourier Transform

with 9 comments

Kuliah di bidang teknik bagi sebagian orang sangat menjemukan. Dijejali dengan rumusan-rumusan yang bentuk simbolnya pun tak menarik. Semakin diperhatikan semakin mata terasa berat dan bantal siap menanti. Tak terkecuali memahami Discrete Fourier Transform.

Segala macam transformasi, seperti namanya mempunyai arti pengubahan. Dalam hal ini implementasinya adalah mengubah dari kawasan waktu menjadi kawasan frekuensi. Transformasi tersebut dapat dilakukan pada suatu sistem atau fungsi maupun terhadap suatu sinyal. DFT mengubah sinyal atau sistem dari kawasan waktu ke kawasan frekuensi. Tujuan segala macam transformasi adalah tersebut adalah untuk mempermudah analisisnya.

Perbedaan DFT dengan DTFT (discrete time Fourier Transform) adalah pada evaluasi frekuensi yang terbatas. Jadi DFT sendiri sebenarnya adalah DTFT dalam implementasi nyata karena keterbatasan piranti pemroses, memori dan piranti lainnya. Pada prakteknya DFT sendiri dikerjakan oleh suatu pemroses baik itu komputer atau DSP dengan algoritma yang dinamakan Fast Fourier Transform (FFT). Algoritma FFT sendiri ada berbagai macam. Oleh karena FFT adalah implementasi penerapan DFT maka antara FFT dan DFT sering dianggap sama dan dapat dipertukarkan.

DFT yang dikenakan pada sinyal akan menghasilkan spektrum frekuensi yang terdiri dari spektrum magnitude dan spektrum fasa yang menunjukan hubungan antara magnitude, fasa dengan frekuensi. Artinya kita dapat melihat komponen penyusun sinyal tersebut dari magnitude sinyal pada rentang frekuensi. Begitu juga dengan fasenya. Misalnya digunakan untuk analisis suara manusia maka kita dapat melihat sebenarnya suara kita memyunyai magnitude besar pada frekuensi berapa saja, yang menunjukkan dominan frekuensi dari suara kita.
Analisis ini juga dapat digunakan untuk mengamati suara dengan deraunya. Jika suara kita yang direkam berasama suara derau periodis (misal bunyi tut), maka dengan mudah kita dapat mengamati pada frekuensi berapa derau tersebut untuk kemudian dapat merancang filter untuk menghapus derau tersebut.

Penerapan DFT pada tanggapan cuplik satuan suatu sistem akan menghasilkan tanggapan frekuensi yang terdiri dari tanggapan magnitude dan tanggapan fase. Hal ini berguna untuk analisis suatu filter, bagaimana respon filter tersebut secara frekuensi. Tentu sebagai anak elektro sudah tidak asing lagi dengan low pass, high pass, band pass dan band rejected filter. Penamaan tersebut adalah dilihat dari tanggapan frekuensi filter.

Untuk mendapatkan gambaran yang jelas mari kita liat betapa indahnya suara kita dengan cara berikut:
1. Rekam suara anda dengan recorder pada laptop anda. Silahkan bersuara yang termerdu. Simpan dalam format dot wav.
2. Copy file tersebut dan pastekan pada folder kerja Matlab
3. Bukalah Matlab anda dan baca suara tersebut taruh dalam suatu variabel dengan perintah wavread
misal: A=wavread(‘suara_merduku.wav’)
4. Lihat ukuran matrik A denngan perintah size(A). Kalau ukurannya nx2 maka ambil B=A(:,1), kalau ukurannya 2xn maka ambil B=(1,:). Ini Hanya mengambil salah satu komponen suara saja (membuat mono suara stereo)
5. Ketikkan pada command window matlab anda sptool maka akan muncul window baru untuk analisis sinyal dan filter
6. Klik file, import, from workspace, pilih variabel B dan klik tanda panah untuk import dan beri nama ‘suaraku’
7. Sekarang kita sudah mendapati suara kita pada tool Matlab tersebut.
8. Klik pada suaraku, kemudian klik create pada spektral maka anda sudah mendapati bentuk suara anda dalam kawasan frekuensi. Silahkan diamati sendiri dengan sumbu y adalah magnitude dalam linear atau desibel, sumbu x adalah frekuensi ternormalisasi (kalikan frekuensi pencupliknya maka akan didapati frekuensi sebenarnya, frekuensi recorder bawaan windows adalah 44.100 Hz)

Ditulis oleh:
Dhidik Prastiyanto

Written by dhidikp

May 9, 2009 at 7:48 am

9 Responses

Subscribe to comments with RSS.

  1. Kalau mau agak interaktif dan “hura-hura” saya lebih suka mendemokan pakai AUDACITY. Biasanya mahasiswa suka yg model gini he he

    Record dg audacity langsung, bisa tampilkan di spektrumnya, bisa lakukan filter, tampil lagi dispektrumnya

    Bisa juga generate sinus dsb.

    Dan satu lagi Audacity Open Source dan tersedia di Windows, Linux, dsb

    IMW

    May 9, 2009 at 8:03 am

    • Makasih sarannya Pak Made, memang akan lebih jelas kalo didemokan..
      cuma sy kadang berpikir dengan memahami tulisan akan mengasah otak untuk berpikir..ada yang bilang kalo gambar dapat mewakili ribuan kata..tapi bisa dibalik juga kata dapat mewakili ribuan gambar (imajinasi).

      Barusan buka audacity, menarik juga sepertinya audacity. Sy juga sedang mencoba octave, open source yang mirip dengan matlab. Untuk sementara di Jerman masih punya lisens matlab, ntar kalo balik indonesia sepertinya octave lebih cocok

      dhidikp

      May 9, 2009 at 8:12 am

  2. Berbicara tentang Mahasiswa, mereka lebih suka di terangkan dengan gambar2nya pak. Agar mereka lebih tau sebenarnya mereka ngitung gitu2an buat apa sih? Kalo dah tau maksudnya kan jadi lebih asyik… Oooo ternyata gunanya seperti itu…
    Berbicara tentang lisensi, di sinilah letak perbedaan Islam, Bani Israil, dan Kristen. Islam tidak ada istilah lisensi yang ada adalah 3 perkara yang tidak akan putus amalannya yaitu: 1. Ilmu yang bermanfaat, 2. Sodakoh Jariah, 3. Anak sholeh. Kehidupan seorang muslim semata2 hanya untuk mengharapkan belas kasih Allah hidup bahagia di dunia dan di Akherat. Ibaratnya pahala ilmu yang bermanfaat itu kayak MLM. Hanya Allah yang bisa menjalankan sistem MLM ini karena Allah maha kaya.
    Berbeda dengan Bani Israil dan Kristian yang mementingan kehidupan dunia. Lisensi untuk mengeruk keuntungan. Besok Indonesia buat tempe harus bayar lisensi Jepang. jepang tinggal tidur dapat uang…
    “Barang siapa mengharapkan kehidupan di akherat, Niscaya Allah mencukupkannya kehidupannya di dunia”

    tahan prahara

    May 9, 2009 at 11:18 am

    • Alasan sy meminimalkan gambar di blog ini adalah supaya dapat diakses dengan lebih cepat, maklum koneksi internet di indonesia masih banyak yang lelet.
      Ilmu memang harus disebarkan, denagn menyebarkan ilmu, maka akan semakin bertambah pengetahuan kita

      dhidikp

      May 9, 2009 at 11:57 am

  3. Kalau mau ngegantiin Matlab, pakai saja Scilab. Menurut saya sudah saatnya kita para dosen mengajarkan mahasiswa di Indonesia dengna software yang Open Source (atau terjangkau). Sebab seperti Matlab mahasiswa di Indonesia relatif tidak akan bisa membeli (buntutnya membajak deh).

    Toh fungsi-fungsi yang ada dari Scilab [http://www.scilab.org] sudah cukup utk level mahasiswa (cukup banget sih).

    Audacity sangat menarik utk pengajaran, karena kita bisa membuat mahasiswa tertarik melihat “koneksi” antara rumus dan hasil suara yang dihasilkan.

    Justru itu saya sarankan utk peneliti dan dosen yg sempat merasakan “kemewahan” di Uni sini, jangan terlena dg fasilitas (misal adanya software berlisensi) tapi mulai berfikir apa yang mungkin diterapkan di Indonesia. Itu yg coba saya terapkan selama ini.

    IMW

    May 10, 2009 at 9:38 pm

    • Terimakasih sarannya. Ternyata toolbox yang tersedia dalam scilab juga cukup banyak.
      Saya akan coba untuk mengubah diktat kuliah signal processing yang semula mengacu ke matlab diganti dengan software ini.
      Yang masih sy pikirkan saat ini adalah bagaimana mengusahakan perangkat keras yang vital untuk frekuensi tinggi seperti
      vector network analyzer karena mutlak untuk pengukuran berbagai parameter dalam bidang microwave memakai alat ini.

      dhidikp

      May 11, 2009 at 8:22 pm

  4. Mungkin saya agak melenceng dari bahasan ini.Dalam Matlab memang sudah disediakan sebuah kode perintah berupa “fft” untuk menjalankan fft itu sendiri. Jadi apabila akan menggunakan perintah untuk menjalankan fast fourier transform pada amatlab hanya tinggal mengetik “y=fft(x)” tanpa mengetahui apa sebenrnya isi dari perintah itu. Lalu yang ingin saya tanyakan, bagaimana sebenarnya algoritma yang terkandung dalam kode perintah “fft” yg ada pada matlab?

    Rasistra

    June 19, 2009 at 4:30 pm

    • kita dapat dengan mudah mengetahui algoritma yang digunakan oleh matlab dalam suatu fungsinya. ketikan help fft maka akan keluar penjelasan tentang algoritma fft yang dipergunakan walaupun hanya algoritma umumnya saja
      N
      X(k) = sum x(n)*exp(-j*2*pi*(k-1)*(n-1)/N), 1 <= k <= N.
      n=1
      The inverse DFT (computed by IFFT) is given by
      N
      x(n) = (1/N) sum X(k)*exp( j*2*pi*(k-1)*(n-1)/N), 1 <= n <= N.
      k=1
      Dua rumusan tersebut yg digunakan untuk perintah fft maupun idft. kita juga dapat mendevelop suatu fungsi tersendiri untuk menjalankan fft dari penjabaran rumusan umum tersebut.

      dhidikp

      June 22, 2009 at 8:21 am

  5. mau nanya dong,

    misal udah didomain frekuensi, frekuensi sinyalnya jadi banyak ya? thanks

    Christ

    July 1, 2009 at 4:54 am


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: