Rabu, 14 September 2016

Pengolahan Sinyal Digital-Gelombang Diskrit Bag. 1 [006-001]

PENGOLAHAN SINYAL DIGITAL – Gelombang Diskrit [ Bagian 1 ]


Dalam pengolahan sinyal, ada 2 tipe yaitu sinyal analog dan sinyal digital. Sinyal analog dapat digambarkan dalam bentuk diskrit sedangkan sinyal digital dalam bentuk gelombang atau dapat dikatakan bersifat kontinu. (Li Tan, 2008 ) Dalam pengolahan sinyal digital ini, filter analog memproses input analog untuk mendapatkan sinyal band terbatas yang akan dikirim ke Analog Digital Convertion ( ADC ) yang terdiri dari Unit ADC sampel sinyal analog, sampel dan pengkodean tingkat sinyal terkuantisasi dengan sinyal digital.

Pada blog ini akan membahas tentang Gelombang Diskrit yang artinya adalah signal analog. Untuk proses pembuatan sinyal analog ini dapat menggunakan program MATLAB dan Java. Jika anda menggunakan bahasa C/C++ tidak masalah hanya program C/C++ tidak mampu dibuat dalam bentuk GUI. Untuk membuat sinyal analog dalam program Java, terlebih dahulu saya akan menjelaskan proses pembuatan dengan menggunakan MATLAB terlebih dahulu kemudian saya akan menerjemahkan ke dalam Java.

Secara umum, bentuk formula pada sinyal baik analog maupun digital akan dibentuk dengan fungsi F(x). Misalkan jika ingin membuat sinyal sinus dengan bentuk fungsi F(x) = A sin (bx) maka anda bisa membuat program sinyal analog dengan menggunakan rumus formula tersebut. Dalam bentuk formula tersebut, anggap saja A itu sebagai nilai amplitudo sehingga kita dapat mengetahui seberapa besar amplitudo pada sinyal yang dibentuk.

Baiklah, saya akan memberi contoh program sinyal analog dengan menggunakan MATLAB dan Java. Namun, sebelum ke arah Java, kita buat dulu dalam MATLAB setelah itu tinggal dicopy saja ke dalam bahasa Java. Berikut ini adalah bentuk programnya :

A.        Program Sinyal Analog Dalam MATLAB
Untuk membuatan program sinyal analog dengan menggunakan MATLAB, tinggal menentukan nilai a ≤ t ≤ b kemudian menginput nilai A dan b dan membentuk formula F(x) yang sudah ditulis sebelumnya. Setelah itu, tinggal menggunakan fungsi stem dan set untuk menggambar grafik sinyal analog. Bentuk programnya seperti di bawah ini :

n = 0:1:40; % sample index from 0 to 20
x = sin(0.1*pi*n); % Evaluate f(x) = sin (0,1πn)
Hs = stem(n,x,’b’,’filled’); % Stem-plot with handle Hs
set(Hs,’markersize’,4); % Change circle size
xlabel(’n’); ylabel(’x(n)’); % Label axis
title(’Stem Plot of sin(0.2 pi n)’); % Title plot

Dengan begitu, jika dijalankan akan diperoleh hasil seperti di bawah ini :

B.        Program Sinyal Analog Dalam JAVA
Untuk bentuk program sinyal analog dengan Java cukup melihat bentuk kodingan dari MATLAB dan diterjemahkan ke dalam Java sesuai syntaxnya. Karena program yang kita buat dalam bentuk gambar, maka kita bisa menggunakan Processing yang setara dengan Java. Anda bisa download program Processing lewat google atau bisa lewat alamat web di sini. Bentuk programnya dapat dilihat di bawah ini :


float[] x = new float [41];
float[] y = new float [41];

void setup() {
  background(255);
  size(400,400);
  noLoop();
}

void draw() {
  line(0, height/2, width, height/2); // Membuat garis tengah
 
  // Membuat kotak - kotak dengan ukuran 5 x 4
  strokeWeight(0.1);
  for (int i = 50; i <= width; i+=50)
    line (i,0, i, height);
  for (int i = 40; i <= height; i+=40)
    line (0,i, width, i);
  strokeWeight(1);
 
  /* Pada gambar grafik ini tiap pixel x dan y berbeda
     sumbu-x : tiap satuan bernilai 10 pixel
     sumbu-y : tiap satuan bernilai 200 pixel
  */
  for (int i = 0; i < x.length; i++) {
    x[i] = i; // Mendefinisikan nilai x[i]
    y[i] = (float) Math.sin(0.1*PI*x[i])*200; // Mendefinisikan nilai y[i] dengan f(x) = sin (0.1*pi*x)
    line (x[i]*10, height/2, x[i]*10, height/2 - y[i]); // Membuat garis yang akan membentuk sinyal analog
  }
}
Sehingga hasil outputnya akan diperoleh seperti di bawah ini :
( Pada sumbu-X, tiap kotak bernilai 5 satuan sedangkan sumbu-Y tiap kotak bernilai 0.2 satuan dilihat dari garis tengah )



Dengan begini, anda sudah bisa membentuk sebuah sinyal diskrit dengan menggunakan bahasa Java. Tetapi, untuk saat ini pada bagian ini sampai sini terlebih dahulu karena untuk menerapkan gambar grafik sinyal diskrit harus menggunakan Library. Untuk pembahasannya akan dilanjutkan pada bagian 2. Okay sampai di sini dulu ya dari blog saya. Tetap semangat dan jangan menyerah :)

Referensi :
Proakis, John G & Vinay K. Ingle. 2012. Digital Signal Processing Using MATLAB 3th. Northeastern University. Cengage Learning


Li Tan. 2008. Digital Signal Processing Fundamentals and Application. Elsevier

#SemangatHidup:)

“Jangan pernah takut untuk selalu mencoba. Karena dengan selalu mencoba, anda bisa menemukan jawaban bahkan bisa menemukan misteri dengan tidak sengaja”
By : Kelvin Herwanda Tandrio



Tidak ada komentar:

Posting Komentar