Menampilkan Sinyal Menggunakan MATLAB


A.          Perangkat Lunak MATLAB

MATLAB (MATrix LABoratory) adalah suatu perangkat lunak interaktif yang dibuat oleh Works Inc. MATLAB mengintegrasikan kalkulus digital, visualisasi data dan pemrograman lingkungan terbuka. MATLAB secara khusus didesain untuk pemrosesan sinyal digital dan pemodelan sistem digital yang kompleks serta simulasinya. Perangkat lunak ini dapat bekerja pada platform Windows maupun UNIX. 

B.         Perintah MATLAB
Perintah MATLAB yang biasa digunakan pada praktikum yaitu:
Perintah
Keterangan
+, -, *, /, ^
Operator aritmatika yang biasa digunakan. Tambah, kurang, kali, bagi, pangkat
>, <=, >, >=
Operator hubungan antara bilangan yang biasa digunakan. Lebih kecil, lebih kecil sama dengan, lebih besar, lebih besar sama dengan
==
Nilai yang sama
~=
Nilai yang tidak sama
&
Logika AND
|
Logika OR
~
Logika NOT
=
Operator penempatan variabel
,
Digunakan untuk memisahkan argument sebuah fungsi atau elemen pada data array
[]
Digunakan untuk membuat data array
()
Digunakan untuk ekspresi aritmatika
:
Digunakan untuk indeks variabel
;
Digunakan pada akhir statmen agar tidak menampilkan keluaran.
...
Digunakan untuk melanjutkan perintah pada baris selanjutnya
%
Digunakan untuk memberikan komentar
ans
Nama variabel untuk hasil
pi
Nilai dari
sin, cos, tan, cot, sec
Fungsi trigonometri
max
Komponen terbesar
min
Komponen terkecil
mean
Rata-rata
sum
Jumlah dari elemen-elemen
zeros
Memberikan nilai 0 pada array
ones
Memberikan nilai 1 pada array
plot
Plot vector atau matriks atau gambar sinyal.
subplot
Membuat sumbu pada posisi tile
stairs
Gambar grafik dengan step tangga
stem
Plot data sekuensial
Xlabel,
ylabel
Menambahkan teks disamping sumbu x dan sumbu y
title
Menambahkan teks diatas sumbu sebagai judul.
grid
Menambahkan garis grid
figure
Buat jendela gambar baru
clf
Hapus gambar yang aktif
close all
Tutup semua jendela aktif
clc
Hapus semua command aktif
hold on/off
Menyimpan atau membuang plot aktif dan semua properti sumbu
axis
Control skala sumbu dan tampilannya.
Tabel 1: Perintah MATLAB yang Digunakan Pada Praktikum

C.         Sinyal Sinusoida

Membuat model sinyal harus terlebih dahulu mendefinisikan nilai dari sinyal yang akan dimodelkan. Contoh: s1=sin(0:0.1:2*pi);
 
Nilai pada variabel s1 mengambil nilai dari sin 0  - 2*pi dengan rentang nilai 0.1. Kemudian dari nilai tersebut buat plot dengan perintah:

figure, plot(s1, 'r'), hold on, stem(s1, 'g'); title('ES-12-01'); xlabel('x'); ylabel('y');grid on

Maksud dari perintah diatas adalah, menampilkan gambar dari plot nilai s1 dengan warna garis merah, gambar disimpan, tampilkan nilai sekuensial dari s1 dengan warna garis hijau, beri judul ES-12-01, beri nama sumbu x dengan x, beri nama sumbu y dengan x, dan aktifkan garis grid.

         Hasilnya adalah sebagai berikut:

Gambar 1. Sinyal Sinusoida dengan Nilai Sekuensial


Jika menginginkan garis yang tebal pada sinyal sinusoida beri perintah LineWidth. Contoh perintah sebagai berikut:

 
Gambar 2. Memberi Warna Biru Pada Garis Sinyal Sinusoida

D.          Subplot Dua Gambar
Jika ingin menampilkan dua gambar pada satu jendela dapat menggunakan perintah subplot. Di bawah ini perintah untuk menampilkan dua gambar yang terdiri dari dua kolom satu garis dengan komentar (maksud dari perintah perbaris).

x=[0:0.1:2*pi] %Untuk mengambil nilai dari rentang 0 – 2*pi dengan jeda 0.1
s1=sin(x);  %nilai variabel s1 adalah nilai sin(x)
s2=cos(x);  %nilai variabel s2 adalah nilai cos(x)
figure;     %tampil sebagai gambar
subplot(2,1,1);   %tampilkan gambar dengan subplot terdiri dari 2 baris,
dengan satu kolom, dengan x=1 (gambar pertama)
plot(x,s1,'r','LineWidth',3); %tampilkan pada plot x=1 gambar dari s1 dengan
                              garis warna merah, ukuran garis=3
title('Sinyal 1');      %beri judul Sinyal 1
ylabel('Amplitudo');    %label nama y adalah Amplitudo
xlabel('Waktu');        %label nama x adalah Waktu
grid on;                %beri garis2 putus pada gambar.

Hasilnya sebagai berikut:
 
Gambar 3. Plotting Satu Gambar Sinyal

Gambar diatas hanya menampilkan satu gambar sinyal sinusoida pada kolom satu baris satu. Kemudian tambahkan perintah berikut:
subplot(2,1,2);         %tambahkan pada subplot 2 baris, 1 kolom, dengan x=2
stem(s1, 'b', 'LineWidth',2); %tambahkan garis nilai diskrit nilai s1, dengan
                              garis biru, ukuran garis=2
title('Sinyal 2');      %beri judul Sinyal 2
ylabel('Amplitudo');    %label nama koordinat y adalah Amplitudo
xlabel('Waktu');        %label nama koordinat x adalah Waktu
grid on;                %beri garis putus2 pada gambar.

       Hasilnya sebagai berikut:
 
Gambar 4. Plotting Gambar Sinyal Dua Kolom Satu Baris

E.          Subplot Tiga Gambar
Sama seperti perintah diatas, namun terdiri dari 3 kolom dan satu baris. Contoh perintah sebagai berikut:
x=[0:0.1:2*pi]                %Ambil nilai dari 0-2*pi dengan rentang 0.1
s1=sin(x);                    %Beri nilai variabel s1 dengan nilai sin(x)
s2=cos(x);                    %Beri nilai variabel s2 dengan nilai cos(x)
figure;                       %Buat jendela gambar baru
subplot(3,1,1);               %Buat subplot tiga kolom, baris ke satu kolom
kedua gambar 1
plot(s1,'r','LineWidth',3);   %Plot nilai s1 beri warna garis merah, ukuran garis 3pt
title('Sinyal 1');            %Beri judul Sinyal 1
ylabel('Amplitudo');          %Beri nama sumbu y dengan Amplitudo
xlabel('Waktu');              %Beri nama sumbu x dengan Waktu
grid on;                      %Tampilkan garis grid

subplot(3,1,2);               %Buat subplot tiga kolom, bari ke satu kolom
kedua gambar 2
stem(s1, 'b', 'LineWidth',2); %Plot nilai sekuensial dari nilai s1, beri warna
                              garis biru, ukuran garis 2pt
title('Sinyal 2');            %Beri judul sinyal 2
ylabel('Amplitudo');          %Beri nama sumbu y dengan Amplitudo
xlabel('Waktu');              %Beri nama sumbu x dengan Waktu
grid on;                      %Tampilkan garis grid
           
subplot(3,1,3);               %Buat subplot tiga kolom, baris ke satu kolom
ketiga gambar 3
plot(s1, 'r', 'LineWidth', 3), hold on, stem(s2, 'g', 'LineWidth', 2);
                              %Plot nilai s1 dengan warna garis merah, ukuran
                              Garis 3pt. Simpan dan timpa dengan garis nilai
                              Sekuensial dari nilai s2 dengan warna garis
Hijau dan ukuran garis 2pt
title('Sinyal 3');            %Beri judul sinyal 3
ylabel('Amplitudo');          %Beri nama sumbu y dengan Amplitudo
xlabel('Waktu');              %Beri nama sumbu x dengan Waktu
grid on;                      %Tampilkan garis grid

Hasilnya sebagai berikut:

Gambar 5. Plotting Sinyal 3 Kolom 1 Baris




F.      Sinyal Tangga
Sinyal berbentuk kotak bisa didapatkan dari perintah sinyal tangga (stairs). Contoh dari perintah sinyal tangga sebagai berikut:
s1=[ 1 1 2 2 4 4 2 2 1 1 0]   %Beri nilai variabel s1 dengan: 1 1 2 2 4 4 2 2
1 1 0
stairs(s1);                   %Buat bentuk sinyal tangga dari nilai s1.
    
Hasilnya sebagai berikut:

Gambar 6. Sinyal Tangga


Adapun perintah untuk membuat sinyal kotak dari sinyal tangga diatas sebagai berikut:

s1=[1 1 2 2 1 1 2 2];  %Beri nilai variabel s1 dengan: 1 1 2 2 1 1 2 2

stairs(s1), axis ([0 11 0 4]); %Buat bentuk sinyal tangga dari nilai s1
                               dengan pengaturan sumbu Xmin = 0, Xmax = 11,
                               Ymax=0, dan Ymax= 4.


G.           Sinyal Ramp

Perintah untuk membuat sinyal ramp sebagai berikut:

n=3;
s=3;
t=0:n-1;
plot(t,s*t);
ylabel('Amplitude');
xlabel('Time Index');
title('Ramp Signal');
Hasilnya sebagai berikut:
Gambar 7. Sinyal Ramp

H.           Sinyal Eksponensial
Perintah untuk membuat gambar sinyal eksponensial sebagai berikut:
n=3;
a=3;
t=0:.1:n-1;
y=exp(a*t);
plot(t,y);
ylabel('Amplitudo');
xlabel('Time index');
title('Exponential Signal'); 
Hasilnya sebagai berikut
 
Gambar 8. Sinyal Eksponensial
 
I.           Sinyal Unit Step
Perintah untuk membuat gambar sinyal unit step sebagai berikut:
t=0:n-1;
y=ones(1,n);
plot(t,y);
ylabel('Amplitudo');
xlabel('Time Index');
title ('Unit Step Signal');

Hasilnya sebagai berikut :
 
Gambar 9. Sinyal Unit Step
 
J.           Pencerminan Sinyal (Fold)
Sinyal dapat dicerminkan, dengan fungsi awal adalah x(n) maka fungsi untuk pencerminannya adalah x(-n). Adapun perintah pada MATLAB sebagai berikut:
x=[6 3 0 2 1 2 4 0 1 0];
n=(0:9);
nf=-1.*n;
subplot(1,2,1), stem(n,x, 'linewidth',2), title('Sinyal Asli'), hold on;
subplot(1,2,2), stem(nf,x, 'linewidth',2), title('Sinyal Fold');

Nilai variabel x adalah NIM penulis. Hasil dari perintah diatas sebagai berikut:
  
Gambar 10. Sinyal Pencerminan (Fold)
 

Comments

Popular posts from this blog

Pengolahan Sinyal Digital - Teori Dasar

Belajar Arduino - Menyalakan Lampu LED