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
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
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