Categories
DSP

Analisis Sinyal Menggunakan Wavelet – Pendahuluan

Kebutuhan akan resolusi tinggi dalam analisis sinyal non-stasioner telah mengakibatkan perkembangan berbagai sarana (tools) yang ampuh untuk menganalisis data-data sinyal non-stasioner.

Metode Transformasi berbasis Wavelet merupakan salah satu sarana yang dapat digunakan untuk menganalisis (meneliti) sinyal-sinyal non-stasioner. Dalam beberapa tahun terakhir ini, metode ini telah dibuktikan kegunaannya dan sangat populer di berbagai bidang ilmu. Analisis Wavelet dapat digunakan untuk menunjukkan kelakukan sementara (temporal) pada suatu sinyal, misalya dalam bidang geofisika (sinyal seismik), fluida, medik dan lain sebagainya. Metode Transformasi Wavelet ini dapat digunakan untuk menapis data atau meningkatkan mutu kualitas data; dapat juga digunakan untuk mendeteksi kejadian-kejadian tertentu serta dapat digunakan untuk pemampatan data (Foster dkk., 1994).

Selain itu Transformasi Wavelet juga dapat digunakan untuk analisis sinyal-sinyal non-stasioner (yaitu sinyal yang kandungan frekuensinya bervariasi terhadap waktu), karena berkaitan dengan kemampuannya untuk memisah-misahkan berbagai macam karakteristik pada berbagai skala (Anant dan Dowla, 1997).

Konsep Transformasi Wavelet telah dirumuskan sejak awal 1980-an oleh beberapa ilmuwan seperti Morlet, Grosmann, Daubechies dan lain-lain. Sejak itu Wavelet kemudian dikembangkan dalam beberapa area disiplin ilmu atau aplikasi seperti matematika, fisika, pemrosesan citra, analisis numerik, pengolahan data citra dan data geofisika. Transformasi Wavelet merupakan transformasi yang terpadu menggunakan kernel terintegrasi yang dinamakan wavelet. Wavelet ini digunakan dalam dua cara:

  1. Sebagai kernel terintegrasi untuk analisis serta mengekstraksi informasi suatu data, dan
  2. Sebagai suatu basis penyajian atau karakterisasi suatu data. Hal ini akan membawa kita kepada 2 (dua) pertanyaan berikut:
    1. informasi apakah yang dapat diekstraksi menggunakan wavelet ? dan
    2. bagaimana cara kita memperoleh suatu penyajian atau deskripsi suatu data menggunakan wavelet ?

Jawaban untuk pertanyaan yang pertama terletak pada sifat terpenting dari wavelet yaitu lokalisasi waktu-frekuensi (time-frequency localization). Kelebihan dari analisis sinyal menggunakan wavelet adalah bahwa dapat dipelajarinya karakteristik sinyal secara lokal dan detil, sesuai dengan skala-nya. Sifat ini sangat berguna untuk sinyal-sinyal non-stasioner atau memiliki komponen transien dengan waktu-hidup (lifetime) yang pendek atau memiliki karakteristik yang berbeda pada skala-skala yang berbeda atau memiliki singularitas. Sedangkan jawaban untuk pertanyaan yang kedua didasarkan pada cara memandang wavelet sebagai blok pembangun dalam proses penguraian (decomposition) atau ekspansi deret. Jadi, suatu penyajian data menggunakan wavelet dilakukan dengan cara ekspansi tak-berhingga dari wavelet yang diulur atau dilated dan digeser atau translated (Kumar dan Foufoula-Georgiou, 1994).

Wavelet merupakan fungsi matematik yang membagi-bagi data menjadi beberapa komponen frekuensi yang berbeda-beda, kemudian dilakukan analisis untuk masing-masing komponen menggunakan resolusi yang sesuai dengan skalanya (Graps, 1995). Kepentingan penggunaan Transformasi Wavelet ini berdasarkan fakta bahwa dengan Transformasi Wavelet akan diperoleh resolusi waktu dan frekuensi yang jauh lebih baik daripada metode-metode lainnya seperti Transformasi Fourier maupun Transformasi Fourier Waktu Pendek (STFT=Short Time Fourier Transform), selain itu analisis data pada kawasan waktu dan frekuensi penting dan harus dilakukan untuk mempelajari perilaku sinyal-sinyal non-stasioner, selain itu juga dapat dilakukan analisis data pada kawasan waktu dan amplitudo serta kawasan frekuensi dan daya (spektrum).

Daftar Pustaka:

  • Anant, K.S. dan Dowla, F.U., 1997, Wavelet Transform Methods for Phase Identification in Three-Component Seismograms, Bulletin of Seismological Society of America, Vol. 87, No. 6, halaman 1598 – 1612.
  • Foster, D.J., Mosher, C.C. dan Hassanzadeh, S., 1994, Wavelet Transform Methods for Geophysical Applications, 64th Annual International Meeting, Soc. Expl. Geophys., Expanded Abstract, halaman 1465 – 1468.
  • Graps, A., 1995, An Introduction to Wavelets, IEEE Computational Science and Engineering, vol.2, num.2, IEEE Computer Society, Loas Alamitos – CA, USA.
  • Kumar, P. dan Foufoula-Georgiou, E., 1994, Wavelet Analysis in Geophysics: An Introduction, Wavelet in Geophysics, Academic Press Inc., USA, halaman 1-43.

semoga bermanfaat… (klik disini untuk mengunduh ebook-nya)

Categories
Mikrokontroler

Watchdog dengan BASCOM-51 atau BASCOM-AVR

Diterbitkan Nopember 2008, di-update 27 Januari 2010

Pewaktu watchdog merupakan piranti pewaktuan perangkat keras yang bisa memicu reset sistem pada saat program utama, karena ada beberapa keasalahan, seperti hang, mengabaikan layanan rutin ke watchdog (biasanya seperti pemberian pulsa secara rutin), atau gampangannya kalo Anda punya anjing atau kucing kemudian lupa memberikan makan, apa yang terjadi? Ya jegog atau ngeong khan?? Dalam hal ini, saat jegog atau ngeong, pewaktu watchdog akan mereset sistem. Intinya, mengembalikan sistem ke awal mula (kondisi normal) karena telah terjadi kesalahan atau hang tadi…

Watchdog pada keluarga AT89 (khususnya seri AT89S52 ke atas) terdiri dari sebuah pencacah 13-bit dan Watchdog Timer Reset (WDTRST). WDT atau pewaktu watchdog biasanya tidak (belum) diaktifkan. Untuk mengaktifkan WDT, pengguna harus menuliskan 0x1E dan 0xE1 secara berurutn ke register WDTRST (lokasi SFR alamat 0xA6). Saat WDT diaktifkan, nilainya akan selalu dinaikkan setiap siklus mesin selama osliator juga bekerja. Timeout pada WDT bergantung pada frekuensi kristal atau detak yang digunakan. Tidak ada jalan lain untuk menon-aktifkan WDT kecuali melalui RESET (baik reset secara perangkat keras atau reset karena WDT melimpah atau overflow). Pada saat WDT melimpah, maka akan menghasilkan luaran pulsa RESET HIGH pada pin RST.

Instruksi Watchdog pada BASCOM51/BASCOM-AVR

Sintaks:

START WATCHDOG ' untuk menjalankan pewaktu watchdog
STOP WATCHDOG  ' untuk menghentikan pewaktu watchdog
RESET WATCHDOG ' untuk mereset nilai pewaktu Watchdog

Catatan:

  • AT89S8252 memiliki pewaktu Watchdog internal.
  • Pewaktu watchdog adalah pewaktu yang bisa me-RESET mikrokontroler saat mencapai nilai tertentu.
  • Selama jalannya program, pewaktu ini harus di-reset (secara manual) sebelum mencapai nilai maksimum-nya. Hal ini untuk memastikan bahwa program berjalan dengan baik dan benar (kayak bahasa Indonesia aja ya…).
  • Saat program mengalami masalah (hang, crash) atau diam saja pada suatu kalang, maka tidak terjadi proses reset pewaktu Watchdog sehingga RESET sistem secara otomatis akan terjadi.

Anda perlu mengkonfigurasi waktu reset Watchdog dengan perintah…

CONFIG WATCHDOG = waktu

Waktu, yang dinyatakan dalam milidetik, jika watchdog tidak direset, akan menyebabkan limpahan (overflow) yang kemudian me-RESET sistem, nilainya antara lain: 16, 32, 64, 128, 256, 512, 1024 atau 2048

Contoh dan penjelasan

$regfile="89s8252.dat"
$crystal = 12000000
$baud = 2400

Config Watchdog = 2048           ' lakukan reset setelah 2048 milidetik
Start Watchdog                   ' jalankan pewaktu watchdog
Dim I As Word
For I = 1 To 10000
   Print I                         ' tampilkan nilai I
'  Reset Watchdog
'
' jika Anda perhatikan, perintah FOR-NEXT
' tidak akan selesai karena keburu di-RESET
' tetapi jika perintah Reset Watchdog diaktifkan...
' instruksi FOR-NEXT akan berjalan dengan normal,
' karena pewaktu WDT akan di-reset sebelum
' mencapai 2048 milidetik
Next
End

Semoga bermanfaat…

Categories
DSP

Perkembangan (Aplikasi) Transformasi Wavelet

Wavelet theory” is the result of a multidisciplinary effort that brought together mathematicians, physicists and engineers… this connection has created a flow of ideas that goes well beyond the construction of new bases or transforms. – Stephane Mallat

Dalam beberapa tahun belakangan ini telah terjadi ledakan besar pada aktivitas yang melibatkan wavelet. Ribuankarya ilmiah (paper) tentang teori dan aplikasi wavelet telah diterbitkan. Wavelet merupakan metode yang ampuh dan fleksibel untuk menangani berbagai masalah dasar dalam dunia sains dan teknik.

Berikut ini beberapa bidang aplikasi yang dapat ditangani menggunakan wavelet:

  • Audio denoising, Pesan yang disampaikan melalui telepon internasional mengandung banyak derau. Bagaimana menghilangkan derau ini sedemikian hingga pesan menjadi jelas?
  • Signal compression, isu penyimpanan dan distribusi data-data multimedia melalui jaringan merupakan dasar dari berbagai macam penelitian pemampatan data. Adakah cara memampatkan data sedemikian rupa sehingga rasio pemampatan sebesar-besarnya tanpa banyak kehilangan informasi akibat proses pemampatan tersebut?
  • Object detection, Bagaimana kita bisa mendeteksi adanya sebuah objek dalam sebuah gambar yang begitu kompleks?
  • Fingerprint compression, FBI memiliki lebih dari 25juta sidik jari, andaikata data sidik jari disimpan tanpa proses pemampatan, maka diperlukan lebih dari 250 terabyte. Adakah cara pemampatan data sidik jari tersebut dengan rasio yang besar tanpa banyak kehilangan data aslinya? (atau kalau perlu 100% reversible, artinya data asli dan hasil pemampatan bisa dikembalika seperti semula 100% sama…)
  • Image denoising, Citra yang diperoleh dari mikroskop elektron dan sinar laser banyak mengandung derau, apakah derau ini bisa dihilangkan? Sehingga gambar menjadi lebih jelas?
  • Image enhancement, Kalau sebuah foto menjadi buram, bagaimana cara untuk memfokuskan kembali?
  • Image recognition, Bagaimana manusia bisa mengenal wajah? Apakah ini bisa dilakukan melalui komputer? Robot?
  • Diagnosing heart or brain trouble, Apakah ada cara untuk mendeteksi detak jantung atau detak otak yang abnormal?
  • Speech recognition, Faktor-faktor apa saja yang membedakan antara bunyi konsonan dan vokal? Bagaimana manusia bisa mengenali ucapan? Dengan berbagai macam manusia?

dan masih banyak lagi lainnya…

Yang jelas, Transformasi Wavelet sangat sesuai untuk bidang aplikasi yang melibatkan sinyal-sinyal atau data-data yang a-periodik, penuh derau (noisy), terputus-putus (intermittent), transien dan seterusnya. Mengapa? Karena Transformasi Wevelet menawarkan analisis waktu-frekuensi yang berbeda dari STFT (Short-Time Fourier Transform), yang kemudian melahirkan berbagai macam metode berbasis wavelet untuk analisis data yang canggih.

Banyak ide awal analisis menggunakan Transformasi Wavelet diawali puluhan tahun yang lalu, awalnya di pertengahan tahun 1980-an untuk analisis sinyal-sinyal seismik. Pada waktu itu diawali dari sekelompok kecil ilmuwan (small community) yang kemudian menghasilkan beberapa paper-paper. Hingga tahun 1990-an mulailah berbagai macam aplikasi Wavelet dalam bidang sains dan teknologi mulai berkembang dengan cepat, perkembangan tersebut ditunjukkan dengan jumlah paper yang dipublikasikan semakin banyak dari tahun ke tahun, perhatikan gambar berikut…

Sumber:

  • Addison, Paul.S., 2002, “The Illustrated Wavelet Transform Handbook“, Institute of Physics Publishing, Bristol
  • Walker, James.S., 1999, “A Primer on Wavelets and Their Scientific Applications 1stED“, Chapman & Hall/CRC, USA

Semoga bermanfaat…

Categories
DSP

Nyquist – Efek Aliasing

Jika Anda belum tahu tentang Teorem Nyquist, coba baca artikel saya disini. Okey, sekarang saya akan coba menunjukkan kepada Anda mengenai Efek Aliasing (yang nanti akan lihat bahwa frekuensi alias = frekuensi pencuplikan – frekuensi sinyal), yaitu suatu efek yang akan terjadi jika kita melakukan pencuplikan dengan frekuensi pencuplikan dibawah dari ketentuan Nyquist. Okey let’s get started…

Pertama kita gunakan frekuensi pencuplikan sebesar 20 Hz dan rentang waktu selama 1 detik…

fs=20;
t=0:1/fs:1;

Kita awali dengan frekuensi 1Hz, kemudian dilanjutkan dengan frekuensi 2Hz, 5Hz, 10Hz (pas setengah frekuensi pencuplikan), 15Hz, 18Hz dan 19Hz…

f1=1;
x1=sin(2*pi*f1*t);
f2=2;
x2=sin(2*pi*f2*t);
f3=5;
x3=sin(2*pi*f3*t);
f4=10;
x4=sin(2*pi*f4*t);
f5=15;
x5=sin(2*pi*f5*t);
f6=18;
x6=sin(2*pi*f6*t);
f7=19;
x7=sin(2*pi*f7*t);

Kemudian kita gambarkan semua hasil dalam satu plot agar kita bisa membandingkan 7 frekuensi tersebut (dengan frekuensi pencuplikan yang sama, 20Hz)…

plot(t,x1,’-o’,t,x2,’-o’,t,x3,’-o’,t,x4,’-o’,t,x5,’-o’,t,x6,’-o’,t,x7,’-o’);
legend(‘1hz’,’2hz’,’5hz’,’10hz’,’15hz’,’18hz’,’19hz’);
title(‘Teorema Nyquist – Efek Aliasing (Fs=20Hz)’);

Hasilnya ditunjukkan pada gambar berikut…

Nach menarik sekali hasilnya, Anda perhatikan bahwa untuk frekuensi 10Hz hasilnya berupa garis lurus (masih ingat dengan artikel saya Teorema Nyquist – Pengenalan?), jelas karena frekuensi pencuplikan = 2 kali frekuensi 10Hz. Bagaimana dengan frekuensi 1Hz, 2Hz dan 5Hz? Nothing’s wrong khan, baik2 aja khan?

Mmmm… bagaimana dengan frekuensi 15Hz, 18Hz dan 19Hz? Nah gambarnya memang terbalik dari frekuensi, masing-masing, 5Hz, 2Hz dan 1Hz tetapi frekuensi-nya khan sama, iya khan? Ini dia yang dinamakan Efek Aliasing. Misalnya untuk 15Hz menghasilkan…

frekuensi aliasing = frekuensi pencuplikan – frekuensi 15Hz = 20Hz – 15Hz =5Hz

Jadi frekuensi 15Hz, dengan Fs=20Hz, merupakan kembaran (alias) dari 5Hz. Demikian seterusnya untuk contoh-contoh frekuensi aliasing lainnya (18Hz dan 19Hz yang masing-masing menghasilkan 2Hz dan 1Hz).

Jika ada pertanyaan atau komentar silahkan saja… Have a nice day…! Terima kasih, semoga bermanfaat…

Categories
Pembelajaran

Tentang PSpice!

Apakah Spice Atau Pspice Itu?

SPICE adalah program yang mampu mensimulasikan rangkaian elektronika melalui komputer. Anda bisa melihat bentuk gelombang dari tegangan atau arus pada rangkaian Anda. SPICE menghitung tegangan dan arus versus waktu (Analisa Transien) atau versus frekuensi (Analisa AC). Banyak program SPICE juga bisa digunakan untuk analisa DC, sensitivitas, derau maupun distorsi.

Kepanjangan SPICE adalah Simulation Program with Integrated Circuit Emphasis. Para peneliti di Uiversitas Kalifornia, Berkeley telah mengembangkan program komputer ini sejak pertengahan tahun 70-an. Apa yang mendorong pengembangan program SPICE ini? Hadirnya berbagai macam IC (Integrated Circuit) menuntut suatu metode untuk menguji dan mencoba rancangan rangkaian sebelum proses fabrikasi.

Saat ini, SPICE tersedia dari berbagai macam perusahaan yang kemudian menambahkan fasilitas untuk menggambar rangkaian serta kemampuan untuk plot grafik hasil analisis. Simulator dan aplikasi SPICE telah berkembang unuk berbagai macam rangkaian analog dan digital, piranti microwave dan sistem mekatronika.

Mengapa Menggunakan Pspice?

SPICE merupakan alat yang bagus untuk belajar elektronika. Anda bisa meningkatkan pemahaman suatu rangkaian seiring dengan percobaan da simulasi menggunakan SPICE. Lakukan eksperimen! Ubah rangkaian dan lihatlah apa yang terjadi! Ubahlah nilai resistor, nilai kapasitor dan lain sebagainya serta perhatikan efek pada rangkaian sekejap mata.

Idealnya, kita perlu membuat dan menguji rangkaian elektronika sesungguhnya da memahami perilakunya. Bagaimanapun juga, Anda membutuhkan breadboard, komponen-komponen dan waktu untuk merangkai rangkaian tersebut. Rangkaian sesungguhnya adakalanya membutuhkan peralatan yang mahal mulai dari suplai daya, generator sinyal dan osiloskop. Selain itu tidak selalu mudah merangkai semua rangkaian elektronika yang Anda temukan menggunakan breadboard.

Anda bisa menghabiskan waktu berjam-jam untuk membuat rangkaian elektronika yang sesungguhnya dan hanya untuk mendapatkan suatu konsep sederhana dari rangkaian tersebut, sedangka menggunakan SPICE Anda bisa melakukannya dalam hitungan menit. SPICE bisa Anda anggap sebagai breadboard “virtual”. Walaupun Anda hanya memiliki waktu yang pendek, Anda bisa mendapatkan prinsip-prinsip dan aplikasi dari beberapa rangkaian elektronika.

Bagaimana PSpice Bekerja?

Pada dasarnya, SPICE bekerja dengan cara sebagai berikut:

  1. Tentukan sebuah rangkaian dalam berkas teks (ekstensi “.CIR”) yang dinamakan netlist atau menggunakan simbol-simbol grafik melalui pembuatan skematik (rangkaian yang digambar);
  2. Jalankan simulasi. SPICE membaca netlist dan kemudian melakukan analisa yang diminta: AC, DC atau Respon transien. Hasilnya disimpan dalam sebuah berkas keluaran teks (ekstensi “.OUT”);
  3. Perhatikan hasil simulasi pada berkas teks keluaran (ekstensi “.OUT”) menggunakan editor teks. Banyak program SPICE yang sudah menyediakan tampilan grafik untuk plot data-data yang tersimpan pada berkas data biner.

Netlist Atau Skematik?

Muncul pertanyaan, apakah rangkaian yang akan disimulasikan dengan SPICE harus dibuat menggunakan teks berupa netlist atau digambar menggunakan skematik. Jawabannya disarankan menggunakan editor teks, mengapa? Walaupun menggambar rangkaian menggunakan schematic capture memiliki beberapa kelebihan, tetapi masing-masing vendor SPICE memiliki antarmuka skematik dan format berkas yang berbeda-beda. Hal ini bisa menyebabkan kebingungan, jika Anda menggunakan berbagai macam versi SPICE untuk sebuah rangkaian. Selain itu, banyak karakterisik komponen tidak nampak melalui skematik (selain itu, schematic capture selalu membuat berkas netlist sebelum menjalankan simulasi, jadi ya sama saja dong…)

Deskripsi netlist dari sebuah rangkaian adalah sederhana dan kosisten untuk tiap-tiap vendor SPICE dengan beberapa variasi. Seluruh properti komponen dan rangkaian jelas terlihat. Mempelajari netlist itu mudah dan melakukan perubahan bisa dilakukan secara cepat. Anda bisa membuat sebuah netlist dengan menggambar rangkaian yang bersangkutan di atas kertas dan menerapkan beberapa aturan sederhana. Selain itu, beberapa buku SPICE (masih kebanyakan dalam bahasa Inggris) sangat menyarankan penggunaan netlist, walaupun selanjutnya Anda memutuskan untuk menggunakan program schematic capture.

Mensimulasikan Rangkaian Anda

Mensimulasikan dan menguji rangkaian Anda bisa dilakukan dengan mudah:

  1. Gambarkan atau tuliskan rangkaian Anda, jangan lupa memberikan nomor pada masing-masing titik;
  2. Beri label pada masing-masing komponen dan nilainya;
  3. Buatlah sebuah berkas teks (netlist) yang berisikan semua komponen dan hubungan antar titik koneksi;
  4. Tentukan tipe analisis yang akan dilakukan (AC, Transien, DC, derau dan lain-lain) dan sertakan pernyataan-pernyataan yang terkait;
  5. Jalankan simulasi dan perhatikan hasilnya.
  6. Anda bisa mendapatkan koleksi rangkaian SPICE dari internet, gunakan koleksi rangkaian yang Anda peroleh tersebut untuk membuat rangkaian yang Anda inginkan dengan cara merubah sebagian komponen maupun nilai-nilainya.

Informasi lebih lengkap silahkan mengunduh ebook gratis tentang Simulasi Elektronika disini, listing program eksperimen dan tutorial serta PSPICE-nya (27MB).

Categories
Pembelajaran

Integral Transform – Brief Historical

The thorough study of nature is the most fertile ground for mathematical discoveries.
– Joseph Fourier

If you wish to foresee the future of mathematics our proper course is to study the history and present condition of the science.
– Henri Poincar´e

The tool which serves as intermediary between theory and practice, between thought and observation, is mathematics, it is mathematics which builds the linking bridges and gives the ever more reliable forms. From this it has come about that our entire contemporary culture, in as much as it is based the intellectual penetration and the exploitation of nature, has its foundations in mathematics.
– David Hilbert

Integral transformations have been successfully used for almost two centuries in solving many problems in applied mathematics, mathematical physics, and engineering science. Historically, the origin of the integral transforms including the Laplace and Fourier transforms can be traced back to celebrated work of P.S.Laplace (1749-1827) on probability theory in the 1780s and to monumental treatise of Joseph Fourier (1768-1830) on La Th´eorie Analytique de la Chaleur published in 1822. In fact, Laplace’s classic book on La Th´eorie Analytique des Probabilities includes some basic results of the Laplace transform which is one of the oldest and most commonly used integral transforms available in the mathematical literature. This has effectively been used in finding the solution of linear differential equations and integral equations. On the other hand, Fourier’s treatise provided the modern mathematical theory of heat conduction, Fourier series, and Fourier integrals with applications. In his treatise, Fourier stated a remarkable result that is universally known as the Fourier Integral Theorem. He gave a series of examples before stating that an arbitrary function defined on a finite interval can be expanded in terms of trigonometric series which is now universally known as the Fourier series. In an attempt to extend his new ideas to functions defined on an infinite interval, Fourier discovered an integral transform and its inversion formula which are now well known as the Fourier transform and the inverse Fourier transform. However, this celebrated idea of Fourier was known to Laplace and A. L. Cauchy (1789-1857) as some of their earlier work involved this transformation. On the other hand, S. D. Poisson (1781-1840) also independently used the method of transform in his research on the propagation of water waves.

However, it was G.W.Leibniz (1646-1716) who first introduced the idea of a symbolic method in calculus. Subsequently, both J.L.Lagrange (1736-1813) and Laplace made considerable contributions to symbolic methods which became known as operational calculus. Although both the Laplace and the Fourier transforms have been discovered in the nineteenth century, it was the British electrical engineer Oliver Heaviside (1850-1925) who made the Laplace transform very popular by using it to solve ordinary differential equations of electrical circuits and systems, and then to develop modern operational calculus. It may be relevant to point out that the Laplace transform is essentially a special case of the Fourier transform for a class of functions defined on the positive real axis, but it is more simple than the Fourier transform for the following reasons. First, the question of convergence of the Laplace transform is much less delicate because of its exponentially decaying kernel exp (-st), where Re s>0 and t>0. Second, the Laplace transform is an analytic function of the complex variable and its properties can easily be studied with the knowledge of the theory of complex variable. Third, the Fourier integral formula provided the definitions of the Laplace transform and the inverse Laplace transform in terms of a complex contour integral that can be evaluated with the help the Cauchy residue theory and deformation of contour in the complex plane.

If you want to know more, you can read this nice book…
Debnath, L. and Bhatta, D., 2007, “Integral Transforms and Their Applications 2ed“, Taylor & Francis Group, LLC.

Categories
DSP

Nyquist – Apaan tuch?

Dalam dunia Pemrosesan Sinyal Digital, ada suatu proses untuk mendapatkan data digital melalui proses pencuplikan, artinya sinyal analog dicuplik (diambil) secara diskrit dengan periode Ts atau frekuensi cuplik Fs. Nah agar tidak terjadi kesalahan (yang kemudian diberi nama aliasing), pak Nyquist memberikan aturan bahwa frekuensi cuplik minimal harus 2 (dua) kali lipat frekuensi maksimum yang dikandung sinyal yang bersangkutan.

Untuk memahami hal tersebut, mari kita persiapkan dulu sinyal sinusoidal dengan frekuensi 2 Hz. Kita gunakan frekuensi cuplik 1000 Hz atau periode 0.001 detik (supaya gambarnya jauh lebih ‘mulus’ dibandingkan dengan eksperimen-eksperimen yang akan kita lakukan)…

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

Okey, Anda siap? Konsenterasi… kita awali dengan menyiapkan gambar (perintah figure), kemudian diteruskan dengan menyiapkan variabel waktu t1 dengan frekuensi sampling = frekuensi sinyal (atau periodenya 1/f detik), kita hitung y1-nya kemudian kita gambarkan sinyal asli y dan sinyal hasil pencuplikan y1, menggunakan perintah-perintah berikut…

>>figure;
>>t1=0:1/f:1;
>>y1=sin(2*pi*f*t1);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya (yang asli warna biru, yang cuplikan warna hijau)…

Hmmm… apaan tuch (perhatikan garis hijau), kok cuman garis lurus, berarti salah nich… Ya jelas lha wong frekuensi pencuplikan = frekuensi sinyal, harusnya khan 2 kali lipat, coba kita ubah lagi… (gunakan 1/(2*f))

>>figure;
>>t1=0:1/(2*f):1;
>>y1=sin(2*pi*f*t2);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = 2 x frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya…

Oalah…. sami mawon, podho wae, sama saja… ya garis lurus lagi (walaupn jumlah datanya bertambah, perhatikan lingkaran-lingkaran hijau, bandingkan dengan gambar sebelumnya)! Loch khan pak Nyquist sudah bilang kalo itu 2 kali lipat adalah minimal, ya mestinya pake yang lebih tinggi lagi, coba sekarang pake 2,5 kali lipat…

>>figure;
>>t1=0:1/(2.5*f):1;
>>y1=sin(2*pi*f*t1);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = 2,5 x frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya…

Wah ini agak lumayan (maksudnya dibandingkan hasil-hasil sebelumnya), bukan garis lurus, tapi… belum berbentuk sinusoidal ya…?? Okey kita coba jadi 3 kali lipat…

>>figure;
>>t1=0:1/(3*f):1;
>>y1=sin(2*pi*f*t1);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = 3 x frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya…

Kemudian 4 kali lipat…

>>figure;
>>t1=0:1/(4*f):1;
>>y1=sin(2*pi*f*t1);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = 4 x frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya…

Kemudian 10 kali lipat…

>>figure;
>>t1=0:1/(10*f):1;
>>y1=sin(2*pi*f*t1);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = 10 x frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya…

Kemudian (terakhir, jangan kebanyaken) 20 kali lipat…

>>figure;
>>t1=0:1/(20*f):1;
>>y1=sin(2*pi*f*t1);
>>plot(t,y,t1,y1,’-o’);
>>title(sprintf(‘frekuensi sampling = 20 x frekuensi sinyal, jumlah data %d’,length(y1)));

Hasilnya…

Bagaimana? Semakin mendekati sinusoidal aslinya too…?? Cuman jumlah data-nya juga semakin banyak, iya khan? Terus silahkan disimpulkan sendiri, okey? Atau kalo masih penasaran silahkan Anda coba 30, 40, 70 atau bahkan 100 kali lipat… silahkan jika mau…

Silahkan berikan komentar atau pertanyaan Anda…

NB: Sinyal asli sebenarnya menggunakan frekuensi cuplik sebesar 500 kali dari frekuensi 2 Hz (=1000 Hz), jadi wajar saja jika gambarnya halus (banget).

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
FPGA

Convergence and Digitization

We are transitioning from an industrial-based analog economy to an information-based digital economy. The momentum for this transition is been fueled by a number of converging factors.

  • Converging media: Digitization of data, voice, video, and communications is driving consumer product convergence. Convergence is happening in everyone’s backyard with incredible computing power being embedded within everyday consumer appliances. The digital revolution, be it from vinyl players changing to MP3 players or from analog TV to digital TV (recently, TVRI has trial broadcasted Digital TV in Jakarta), is occurring very rapidly. Data, video, and voice can now be transmitted over the same backbone due to the digital revolution.
  • Internet based lifestyles: As quickly as the Internet came into our lives it has become omnipresent. Families are becoming more aware of how the Internet can be used in their homes, and companies are also increasingly using it as a commercial channel. The Internet serves as the technology platform that enables an entirely new generation of consumer applications, including voice and video communications, e-commerce solutions, personalized news services, home security and automation, utilities resource management, and entertainment title distribution. The availability of such a wide variety of applications is changing the way people relate to the Internet itself. “Internet Lifestyles” is a new way of thinking that has resulted in the formation of an organization called the Internet Home Alliance. The principle behind this new organization is that consumers want to enjoy the benefits of the Internet lifestyle without worrying about the technology that enables it to work. The Alliance is bringing new levels of comfort, convenience, and security by creating the necessary infrastructure. Installation and support from various companies provide integrated services, eliminating the need for multiple points of consumer contact.
  • Deregulation: There is a heavy deregulation of global infrastructure industries such as telecommunications, utilities, and cable. These companies are developing new ways of improving their business by using the Internet and increasing revenues through additional services to the home.
  • Digitization of consumer products: For some time now, there has been a trend towards the digitization of consumer products. A product that is digital is one which is synonymous with higher quality, greater accuracy, higher reliability, faster speed, lower power, and lower cost. Simply stated, anything that is digital is better. The digitization of consumer products has not only led to the improvement of existing products, but it has also lead to the creation of a whole new class of products that never before existed. PVRs (Personal Video Recorders) are revolutionizing the way we watch TV, satellite modems are bringing faster Internet access to the home, and MP3 players have revolutionized portable digital music.

Source:

  • Dhir, Amit, 2001, “The Home Networking Revolution: A Designer’s Guide“, Xilinx, Inc.
  • Xilinx: Market Solutions (click here)
Categories
PLC/SCADA

PLC and Response Time

The total response time of the PLC is a fact we have to consider when shopping for a PLC. Just like our brains, the PLC takes a certain amount of time to react to changes. In many applications speed is not a concern, in others though…

If you take a moment to look away from this text you might see a picture on the wall (or maybe your wallpaper at your laptop/desktop). Your eyes actually see the picture before your brain says “Oh, there’s a picture on the wall (or on my laptop/desktop)”. In this example your eyes can be considered the sensor. The eyes are connected to the input circuit of your brain. The input circuit of your brain takes a certain amount of time to realize that your eyes saw something. (If you have been drinking alcohol (only for example, is harom according to Alloh rule) this input response time would be longer!) Eventually your brain realizes that the eyes have seen something and it processes the data. It then sends an output signal to your mouth. Your mouth receives this data and begins to respond to it. Eventually your mouth utters the words “Gee, that’s a really ugly picture!”.

Notice in this example we had to respond to 3 things:

  • INPUT– It took a certain amount of time for the brain to notice the input signal from the eyes.
  • EXECUTION– It took a certain amount of time to process the information received from the eyes. Consider the program to be: If the eyes see an ugly picture then output appropriate words to the mouth.
  • OUTPUT– The mouth receives a signal from the brain and eventually spits (no pun intended) out the words “Gee, that’s a really ugly picture!”

If you want to know about PLC, PLC Programming and Applications buy my books (in Indonesian) or download my free ebook (also in Indonesian).