Categories
DSP

Bagaimana membuat & menggambar sinusoidal di Matlab?

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…

Categories
DSP

Kelebihan Pemrosesan Sinyal Digital

Ada beberapa alasan mengapa digunakan pemrosesan sinyal digital pada suatu sinyal analog. Pertama, suatu sistem digital terprogram memiliki fleksibilitas dalam merancang-ulang operasi-operasi pemrosesan sinyal digital hanya dengan melakukan perubahan pada program yang bersangkutan, sedangkan proses merancang-ulang pada sistem analog biasanya melibatkan rancang-ulang perangkat keras, uji coba dan verifikasi agar dapat bekerja seperti yang diharapkan.

Masalah ketelitian atau akurasi juga memainkan peranan yang penting dalam menentukan bentuk dari pengolah sinyal. Pemrosesan sinyal digital menawarkan pengendalian akurasi yang lebih baik. Faktor toleransi yang terdapat pada komponen-komponen rangkaian analog menimbulkan kesulitan bagi perancang dalam melakukan pengendalian akurasi pada sistem pemrosesan sinyal analog. Di lain pihak, sistem digital menawarkan pengendalian akurasi yang lebih baik. Beberapa persyaratan yang dibutuhkan, antara lain penentuan akurasi pada konverter A/D (analog ke digital) serta pengolah sinyal digital, dalam bentuk panjang word (word length), floating-point versus fixed-point arithmetic dan faktor-faktor lain.

Sinyal-sinyal digital dapat disimpan pada media magnetik (berupa tape atau disk) tanpa mengalami pelemahan atau distorsi data sinyal yang bersangkutan. Dengan demikian sinyal tersebut dapat dipindah pindahkan serta diproses secara offline di laboratorium. Metode-metode pemrosesan sinyal digital juga membolehkan implementasi algoritma-algoritma pemrosesan sinyal yang lebih canggih. Umumnya sinyal dalam bentuk analog sulit untuk diproses secara matematik dengan akurasi yang tinggi.

Implementasi digital sistem pemrosesan sinyal lebih murah dibandingkan secara analog. Hal ini disebabkan karena perangkat keras digital lebih murah, atau mungkin karena implementasi digital memiliki fleksibilitas untuk dimodifikasi.

Kelebihan-kelebihan pemrosesan sinyal digital yang telah disebutkan sebelumnya menyebabkan pemrosesan sinyal digital lebih banyak digunakan dalam berbagai aplikasi. Misalnya, aplikasi pengolahan suara pada kanal telepon, pemrosesan citra serta transmisinya, dalam bidang seismologi dan geofisika, eksplorasi minyak, deteksi ledakan nuklir, pemrosesan sinyal yang diterima dari luar angkasa, dan lain sebagainya.

Namun implementasi digital tersebut memiliki keterbatasan, dalam hal kecepatan konversi A/D dan pengolah sinyal digital yang bersangkutan. (Proakis dan Manolakis, 1992)

Daftar Pustaka

Proakis, John G. dan Dimitris G. Manolakis, 1992, “Digital Signal Processing: Principles, Algorithms, and Applications“, Macmillan Publishing Company, New York, USA.

Categories
DSP

Pembuatan Ekualiser 10-Band Stereo Digital dengan Algoritma Penapis Lolos-pita Tanggap Impuls Tak-Hingga

ABSTRAK

Telah dibuat sebuah aplikasi ekualiser menggunakan algoritma Penapis Lolos-pita Tanggap Impuls Tak-hingga (IIRInfinite Impulse Response). Dengan ekualiser tersebut dapat diubah penguatan pada tingkat frekuensi tertentu, sehingga dapat ditonjolkan suara bass, trebel maupun vokal dari suatu sinyal audio.

Salah satu teknik dasar yang merupakan komponen utama dalam pembuatan sebuah ekualiser adalah penapisan. Teknik penapisan digunakan untuk meloloskan beberapa sinyal tertentu dan memblokade lainnya. Penapis Lolos-pita Tanggap Impuls Tak-hingga adalah salah satu teknik penapisan yang menggunakan metode rekursif (menggunakan keluaran sebelumnya sebagai masukan saat ini dan digunakan untuk mendapatkan keluaran saat ini).

PENDAHULUAN

Ekualiser merupakan salah satu komponen efek suara (sound effect) yang biasanya terdapat dalam sebuah pemutar audio. Hampir semua pemutar audio dilengkapi dengan komponen ini. Keberadaan komponen ini menjadi penting mengingat fungsinya yang dapat mengatur penguatan masing-masing pita frekuensi secara terpisah. Ekualiser digunakan untuk melakukan seleksi terhadap suatu frekuensi tertentu dan mengubah kuat bunyi (gain) pada tingkat frekuensi tersebut. Dulunya komponen ekualiser ini terdapat dalam pemutar audio dan dibuat secara perangkat keras. Namun kini dengan kemajuan teknik pemrograman dan perkembangan bahasa pemrograman dapat diprogram sebuah ekualiser yang tentu lebih murah dengan kualitas yang tak kalah dari ekualiser secara perangkat keras.

(informasi selengkapnya bisa diunduh disini)

Categories
DSP

Transformasi Paket Wavelet, Dekomposisi Wavelet dan Korelasi pada Data Seismik Gn. Merapi, Jawa – Indonesia

Abstrak

Pada penelitian ini telah dilakukan eksplorasi dan pengujian Transformasi Paket Wavelet (TPW) dan Dekomposisi Wavelet yang dilanjutkan dengan proses korelasi terhadap data-data Gn. Merapi. Proses korelasi dilakukan untuk menghasilkan analisa kuantitaif tingkat kesamaan pada frekuensi-frekuensi tertentu (berkaitan dengan hasil Dekomposisi Wavelet).

Hasil dari TPW menunjukkan adanya gambaran pola (analisa kualitatif), sedangkan hasil Dekomposisi Wavelet yang dilanjutkan dengan proses korelasi menunjukkan adanya tingkat kesamaan sinyal pada frekuensi-frekuensi tertentu dan hal ini berkaitan dengan suatu event tertentu (analisa kuantitatif).

Pendahuluan

Mempelajari perilaku suatu gunung berapi sehingga didapatkan karakteristik dari gunung yang bersangkutan merupakan penelitian yang salah satunya dapat dimanfaatkan untuk mendukung sistem peringatan dini bencana alam (gunung berapi). Salah satu metode yang digunakan adalah dengan memanfaatkan data-data seismik gunung yang bersangkutan.

Gelombang seismik ditimbulkan oleh suatu gangguan elastis yang merambat dari satu tempat (titik) ke tempat (titik) yang lain melalui suatu medium, yaitu bumi. Secara alami, gelombang seismik dapat ditimbulkan karena adanya aktifitas kerak bumi (berupa pengangkatan, penurunan, tekanan atau pelipatan/patahan) dan aktifitas gunung berapi. Yang pertama dinamakan gelombang seismik tektonik (gempa bumi) sedangkan yang kedua dinamakan gelombang seismik volkanik. Piranti yang digunakan untuk merekam gelombang seismik dinamakan seismograf.

Data-data gelombang seismik yang telah terekam, kemudian diproses atau diolah untuk suatu tujuan atau kepentingan tertentu. Misalnya, dengan menggunakan rekaman data seismik gempa bumi (tektonik) dapat ditentukan pusat dan kedalaman gempa bumi yang bersangkutan. Sedangkan pada gunung berapi dapat digunakan untuk memperkirakan jenis aktivitas gunung berapi tersebut, seperti gerakan magma, guguran lava padat, gejala-gejala akan terjadinya letusan dan lain-lain.

(informasi selengkapnya bisa diunduh disini)

Categories
DSP

What is a Filter? And why learn about it?

What is a Filter?

Any medium through which the music signal passes, whatever its form, can be regarded as a filter. However, we do not usually think of something as a filter unless it can modify the sound in some way. For example, speaker wire is not considered a filter, but the speaker is (unfortunately). The different vowel sounds in speech are produced primarily by changing the shape of the mouth cavity, which changes the resonances and hence the filtering characteristics of the vocal tract. The tone control circuit in an ordinary car radio is a filter, as are the bass, midrange, and treble boosts in a stereo preamplifier. Graphic equalizers, reverberators, echo devices, phase shifters, and speaker crossover networks are further examples of useful filters in audio. There are also examples of undesirable filtering, such as the uneven reinforcement of certain frequencies in a room with “bad acoustics.” A well-known signal processing wizard is said to have remarked, “When you think about it, everything is a filter.”

A digital filter is just a filter that operates on digital signals, such as sound represented inside a computer. It is a computation which takes one sequence of numbers (the input signal) and produces a new sequence of numbers (the filtered output signal). The filters mentioned in the previous paragraph are not digital only because they operate on signals that are not digital. It is important to realize that a digital filter can do anything that a real-world filter can do. That is, all the filters alluded to above can be simulated to an arbitrary degree of precision digitally. Thus, a digital filter is only a formula for going from one digital signal to another. It may exist as an equation on paper, as a small loop in a computer subroutine, or as a handful of integrated circuit chips properly interconnected.

Why learn about filters?

Computer musicians nearly always use digital filters in every piece of music they create. Without digital reverberation, for example, it is difficult to get rich, full-bodied sound from the computer. However, reverberation is only a surface scratch on the capabilities of digital filters. A digital filter can arbitrarily shape the spectrum of a sound. Yet very few musicians are prepared to design the filter they need, even when they know exactly what they want in the way of a spectral modification. A goal of this book is to assist sound designers by listing the concepts and tools necessary for doing custom filter designs.

There is plenty of software available for designing digital filters [10,8,22]. In light of this available code, it is plausible to imagine that only basic programming skills are required to use digital filters. This is perhaps true for simple applications, but knowledge of how digital filters work will help at every phase of using such software.

Also, you must understand a program before you can modify it or extract pieces of it. Even in standard applications, effective use of a filter design program requires an understanding of the design parameters, which in turn requires some understanding of filter theory. Perhaps most important for composers who design their own sounds, a vast range of imaginative filtering possibilities is available to those who understand how filters affect sounds. In my practical experience, intimate knowledge of filter theory has proved to be a very valuable tool in the design of musical instruments. Typically, a simple yet unusual filter is needed rather than one of the classical designs obtainable using published software.

Excerpt from “Introduction to Digital Filters: with Audio Applications” by Julius Orion Smith II

Categories
DSP

DSP = The Most Powerful Technologies!

Digital Signal Processing is one of the most powerful technologies that will shape science and engineering in the twenty-first century. Revolutionary changes have already been made in a broad range of fields: communications, medical imaging, radar & sonar, high fidelity music reproduction, and oil prospecting, to name just a few. Each of these areas has developed a deep DSP technology, with its own algorithms, mathematics, and specialized techniques. This combination of breath and depth makes it impossible for any one individual to master all of the DSP technology that has been developed. DSP education involves two tasks: learning general concepts that apply to the field as a whole, and learning specialized techniques for your particular area of interest.

Source: Smith, Steven W., 1999, “The Scientist and Engineer’s Guide to Digital Signal Processing, 2nd Edition“, California Technical Publishing (click here for free full ebook!)

Categories
DSP

Perjalanan Mempelajari DSP

Apaan DSP itu?? DSP merupakan kependekan dari Digital Signal Processing atau dalam bahasa kita dikenal dengan PSD atau Pemrosesan Sinyal Digital.

Belajar DSP bukan merupakan tujuan akhir, begitu menurut Lyons (penulis buku “Understanding Digital Signal Processing 2nd Edition“), artinya Belajar DSP merupakan suatu perjalanan. Saat kita memahami suatu topik, muncullah pertanyaan-pertanyaan berikutnya yang akhirnya membawa kita ke topik-topik lain, tetapi dengan ‘senjata’ yang lebih lengkap, sebagaimana beberapa aspek DSP yang digambarkan pada diagram berikut ini…

Mempelajari dasar-dasar, dan bagaimana berbicara dengan bahasa, pemrosesan sinyal digital tidak membutuhkan kemampuan analisis yang kuat maupun latar belakang matematis yang rumit. Yang Anda perlukan adalah pengalaman belajar Matematika Dasar, seperti trigonometri (minimal tahu apa itu gelombang sinusoidal, dll), buku DSP yang tepat dan (penting nich) antusiasme! Ya Betul sekali, antusiasme!

Anda bisa memulai belajar menggunakan dua buku yang saya sarankan, yaitu:

  • Lyons, Richard G., 2004, “Understanding Digital Signal Processing, Second Edition“, Prentice Hall PTR (info);
  • Tan, Li, 2008, “Digital Signal Processing: Fundamentals & Applications“, Elsevier Inc. (info).

Baik, lantas bagaimana dengan keterangan diagram tersebut?

Pada awalnya kita hanya mengenal sinyal atau isyarat analog dan kontinyu (terus menerus tanpa ada jeda sedikitpun, misalnya antara data untuk t=0 detik hinga t=1 detik, kita memiliki semua data secara lengkap, tidak hanya pada t=0 detik dan t=1 detik saja).

Dengan adanya teknologi komputer, pemrosesan sinyal mengalami kemajuan karena data-data sinyal tersebut dapat tersimpan dan diproses menggunakan komputer, caranya? Yaitu dengan melakukan pencuplikan (bisa dibayangkan berapa banyak data yang tersimpan jika masih bersifat kontinu? Karena antara t=0 detik hingga t=1 detik bisa berjumlah tak-hingga) menjadi data-data diskrit, hanya untuk saat t tertentu saja, misalnya dengan periode pencuplikan T=0.5 detik, akan diperoleh frekuensi pencuplikan fs=2 Hz atau 2 data tiap detik, sehingga untuk 1 menit = 60 x 2 daa = 120 data/menit.

Tidak hanya proses pencuplikan, juga dilakukan proses kuantisasi, yaitu merubah angka analog menjadi digital selebar n-bit, artinya jika hanya menggunakan 3-bit maka hanya ada 2^3 = 8 tingkat data, demikian seterusnya, semakin lebar bit-nya semakin akurat dan otomatis semakin membutuhkan banyak ruang penyimpan.

Nah, data digital ini perlu dianalisa lebih lanjut, karena masih dalam ranah waktu (time domain), informasi yang diperoleh hampir tidak ada, sehingga seringkali dibutuhkan informasi, misalnya, spektrum atau kandungan frekuensi dari sinyal yang bersangkutan (ranah frekuensi atau frequency domain). Sehingga perlu mempelajari DFT atau Discrete Fourier Transform.

Lantas bisa muncul pertanyaan “Bagaimana proses dari DFT?”, “Mengapa bisa terjadi leakage (cacat) dalam hasilnya? “.Jawaban-nya ada di pengetahuan tentang konvolusi. Lantas “Bagaimana mengantisipasi leakage tersebut?”, jawabannya di Window Functions (Anda mungkin kemudian bertanya “Apa itu Window functions? Buat apa?” dan setrusnya). “Bagaimana spektrum hasil DFT bisa diubah?”, nah yang ini Anda perlu mempelajari Digital Filters. Demikian seterusnya, silahkan Anda lihat kembali diagram-nya. Jika masih ingin mendalami PSD silahkan ikut kuliah PSD-1 dan 2 dari saya atau membaca beberapa buku yang sarankan sebelumnya.

Semoga bermanfaat dan selamat belajar!