Baiklah, mari kita mulai dengan menggambar atau membuat sinyal sinusoidal dengan frekuensi 1 Hz selama 1 detik, pertama kita siapkan variabel t-nya:

>> t=0:1;

Kemudian variabel f atau frekuensi-nya:

>> f=1;

Langkah berikutnya adalah menghitung sinusoidalnya, ingat omega = 2 * pi * f, sehingga perintahnya… sekalian kita gambar dengan perintah plot antara variabel t dan y…

>> y=sin(2*pi*f*t);
>> plot(t,y);

nah ini hasilnya…

Eee…. kok malah cuman garis lurus ya??? apanya yang salah nich….?? Ya jelas ada yang salah tho, lha wong data untuk variabel waktu (t) cuman angka 0 dan 1 kok, jadinya y hanya menghitung di 2 titik itu…

Baiklah sekarang akan dicoba kita tambahi data t-nya dengan langkah 0.5 (setengah), jadinya cuman 3 (tiga) titik loch…

>> t=0:0.5:1;
>> y=sin(2*pi*f*t);
>> plot(t,y);

Dan ini hasilnya… (jangan kaget, karena hanya 3 titik)…

Okey sekarang kita ubah lagi jarak datanya menjadi 1/10 (sepersepuluh)…

>> t=0:0.1:1;
>> y=sin(2*pi*f*t);
>> plot(t,y);

Hasilnya seperti ini…

Hmmmm… kurang sip? Okey kita buat jarak antar data 1/100 (seperseratus)…

>> t=0:0.01:1;
>> y=sin(2*pi*f*t);
>> plot(t,y);

Hasilnya…

Wow! sudah bagus tuch… Coba sekarang Anda perhatikan langkah-langkah yang telah kita lalui bersama, hasil terakhir menghasilkan jumlah data terbesar, artinya semakin kecil jarak antar data, untuk satu periode waktu yang sama, menghasilkan jumlah data yang makin besar, keuntungannya, gambar menjadi lebih halus dan alami… Ini konsekuensinya…

Baiklah, sekarang bagaimana kalo frekuensi kita ubah menjadi 2 Hz… (masih menggunakan t sebelumnya)

>> f=2;
>> y=sin(2*pi*f*t);
>> plot(t,y);

Hasilnya… (terlihat ada 2 gelombang dalam 1 detik = 2 Hz atau 2 cycle/sec)…

Sekarang kita pakai frekuensi 10 Hz…

>> f=10;
>> y=sin(2*pi*f*t);
>> plot(t,y);

hasilnya… (hitung jumlah gelombangnya…)

Lumayan… walaupun agak ‘kaku’ tampilannya, kalo frekuensi 10 Hz, menurut Nyquist, sebaiknya minimal gunakan frekuensi pencuplikan 2 kali lipat atau minmal 20 Hz (akan kita bahas dalam posting saya lainnya) atau periodenya 1/20 atau 0.05 detik, sedangkan yang kuta gunakan jarak antar data adalah 0.01 atau 1/100 detik, hasilnya bisa Anda lihat sendiri seperti diatas…

Kalo kemudian jarak antar data kita kecilkan, yaitu 0.001 detik, maka…

>> t=0:0.001:1;
>> y=sin(2*pi*f*t);
>> plot(t,y);

Hasilnya…

Kesimpulan-nya:

  • Perhatikan parameter penting dalam sinusoidal yaitu frekuensi-nya berapa? Gunakan persamaan omega = 2 * pi * frekuensi * waktu.
  • Gunakan jarak antar data minimal 1/2 dari periode (Nyquist Theorem?).
  • Semakin kecil jarak antar data, dengan periode waktu yang sama, semakin besar jumlah datanya…

Ada komentar atau pertanyaan monggo dan silahkan…

Tags: ,

35 Responses to “Bagaimana membuat & menggambar sinusoidal di Matlab?”

  1. Pak tanya,
    saya pake array mic sbg array sensor, terhubung dg soundcard multikanal (M-Audio 66). Bentuk amplitudo waveform sangat kecil, problem saya adalah bagaimana melinearkan/proporsionalkan amplitudo input(dB SPL) dengan output tegangan. Kiranya banyak dapat membantu problem ada skripsi saya ini.
    Bagus,
    T. Fisika ITS ‘05

  2. matlab memang sangat bagus untuk komputasi numerik dengan dukungan berbagai fungsi built in, akan tetapi dalam berbagai kasus yang membutuhkan komputasi iterasi yang banyak seringkali membutuhkan waktu yang tidak sedikit. Walaupun .m dirubah ke .exe sudah bisa , dilain pihak ada beberapa fungsi yang belum bisa di convert ke .exe??

    bagaimana itu pak?

  3. @mulkan:

    untuk membuat stand-alone applications memang enaknya langsung pake EXE, dan ini biasanya yang digunakan untuk penelitian dengan melibatkan real-time computation, justru tidak menggunakan matlab…

    untuk analisis biasa, ya masalah kecepatan mungkin tidak terlalu kritis, yang penting hasilnya bagaimana. Memang kalo lebih cepet lebih baik, sehingga matlab juga menyediakan toolbox real-time (tapi lebih ke perangkat keras)…

    artikel yang berkaitan dengan EXE dalam matlab:

    Converting M-Files to Stand-Alone Applications (web).

    Writing Fast MATLAB Code (PDF)

    Semoga bermanfaat dan terima kasih…

  4. pak, saya mau pakai matlab 7.01 untuk input penelitian tugas akhir saya, tp saya tidak bisa install karena tidak punya lisence 9serial number). sy cb untuk gabung ke matlab (web) tetapi tidak membantu.
    bolehkah saya minta bantuan bapak untuk mendapatkan lisencenya?
    terimakasih.

  5. @Clara:
    sudah saya japri langsung ke wemail anda…
    trims

  6. alexander tompodung
    May 11th, 2009 at 10:17 am

    Mau nanya, gimana membuat file .exe di Matlab?

  7. @alexander:

    Pertanyaa serupa dijawab dalam artikel Converting M-Files to Stand Alone Applications, dan artikel HowTO:Create standalone executable for matlab file.

  8. kalau ingin mengetahui cara compile .m to .exe bisa kunjungi

    http://www.aktis.net46.net

  9. bagaimana membuat grafik lingkaran pada matlab,

  10. Pak Aqfi bagaimana merubah gui yang dibangun menggunakan matlab menjadi sebuah interface yang stand alone?
    Terima kasih banyak…

  11. Alexander Tompodung
    June 11th, 2009 at 9:49 am

    Pak Eko saya mau tanya, tentang contoh aplilasi input data interface sederhana dengan rs232 menggunakan Matlab? Makasih.

  12. kalo bisa jelaskan juga mengenai simulink pak…..

  13. gimana cara mengetahui karakteristik suara (dari soundcard) dengan menggunakan matlab secara langsung??

  14. @je2:
    karakteristik suara bisa dilihat spektrumnya menggunakan DFT atau FFT, bisa juga spektrogramnya menggunakan fungsi specgram pada Matlab yang merupakan implementasi algoritma STFT…
    untuk pemrosesan langsung melalui kartu suara bisa dilihat di http://www.mathworks.com/produ....._data.html

  15. Mempercepat proses eksekusi (compile .m to .exe)

    Anda bisa kunjungi site berikut

    http://softscients.blogspot.co.....ekusi.html

  16. Koneksi Matlab ke Mysql, Anda bisa kunjungi

    http://softscients.blogspot.co.....mysql.html

  17. pak, saya mau tanya, gimana cara merubah sinyal suara, disimpan dalm bentuk .wav diubah menjadi sinyal digital menggunakan matlab, kira2 langkah2 lengkap nya gimana ya pak….trima kasih seblumnya y pak…

  18. Pa agfi I love U,hehe…

    sebagai orang yang saya kagumi!!

    pa saya bingung bagai mana menghubungkan matlab dengan micricntroler?
    mohon pembelajarannya?

  19. @irvan:
    terima kasih… he he he…

    mikrokontroler (misalnya AVR) punya port serial, menggunakan media komunikasi serial inilah mikrokontroler dan MATLAB bisa berkomunikasi, tukar-menukar data…

  20. Pa agfi saya sudah berhasil berkomnikasi lewat serial masalah selanjutnya
    bagai mana cara memplotnya supaya menjadi grafik,apakah bisa lewat real-time window?

  21. Bagus bangt tutorialnya, tapi bagaimana kalau kita membuat pengembangan pemodelan gelombang laut dari ampilitudo yang besar (tinggi) berangsur-angsur ke amplitudo yang semakin kecil sampai titik 0?
    mohon petunjuk dan sertsakan script Matlab nya ke emailku.
    thanks n succses 4ever.

  22. wah top banget…..

    om, gimana cara membuat bentuk sinyal untuk penguat aplifier kelas penguat A, B dan C mungkin bisa membantu???

  23. thx pak…! bermanfaat bgt !

  24. pak,, mohon dijelaskan cara komunikasi serial secara real time antara mikrokontroler (AVR) dengan matlab..

  25. @vee:
    untuk komunikasi serial, di Matlab menggunakan…

    obj = serial(’port’)
    obj = serial(’port’,'PropertyName’,PropertyValue,…)

    informasi lebih lanjut bisa melihat helpnya Matlab…

  26. keren sekali mas, tapi membingungkan juga, mungkin karena gak paham ya. salam hormat

  27. mas mau nanya ? apa artinya 2nd order-filter ? 1st order-filter ? discrete 1st order-filter tu apa maksudx singkat aja thanks ??? i neeedd help u

  28. bisa dijawab antar email juga bisa,,, ada tgas rangkaian matlab nuech…

  29. @danar:
    1st order, 2nd order dst itu terkait dengan akurasi dari filter itu sendiri, biasanya dikaitkan dengan steepness (derajat kemiringan pada daerah transisi antara passband dan stopband)
    penjelasan lebih lanjut bisa membaca di sini

    terima kasih

  30. mau tanya pak, apa fungsi untuk membuat gelombang AM (modulasi amplitudo) jika diketahui fm:10, fc:120, A;10? trims

  31. Kami juga mempunyai artikel tentang matlab silahkan dibaca semoga bermanfaat dan berikut adalah link nya
    http://repository.gunadarma.ac.....aryati.pdf
    terimakasih

  32. pak saya punya suara berderau tahapan saya untuk menghilangkannya bagaimana ya pak? dengan menggungakan matlab pak.. terimakasih pak

  33. maaf pak mau tanya bgmna caranya membunyikan sebuah gelombang melalui matlab?
    misal saya punya gelombang dengan frekuensi 247,494,741,988 caranya membunyikan frekuensi tersebut namun menjadi satu bunyi bgmna ya pak?
    trima kasih pak..

  34. cara untuk mengidentifikasi suara manusia pada siang dan malam
    gimana pak scriptnya untuk membandingkan suara tersebut

Trackbacks/Pingbacks

  1. catatan si pooh » Blog Archive » Pembuatan sinyal dengan Matlab

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>