Sinyal
Digital
Laboratorium Sistem Digital
Perangkat Praktikum:
Komputer / Laptop
Software MATLAB dengan Signal Processing Toolbox
DASAR TEORI
1.1. Variabel-Variabel
1.1.1. Vektor dan Matriks
Bahasa MATLAB disdekasikan untuk kalkulasi matriks dan sangat optimal dalam
melakukan operasi-operasi matriks. Variabel-variabel yang ditangani adalah matriks riil dan
matriks kompleks. Suatu skalar adalah matriks 1 x 1, suatu vektor kolom adalah suatu matriks
dengan hanya satu kolom. Dan suatu vektor baris adalah suatu matriks dengan hanya satu baris.
Notasi (m x n) mengindekasikan bahwa variabel yang ditinjau memiliki m baris dan n kolom.
Contoh 1-1 (Penugasan suatu matriks riil) Tulislah a=[1 2 3; 4 5 6] pada prompt MATLAB
di dalam jendela perintah. Jawabannya adalah sebagai berikut:
String-string karakter juga bisa ditugaskan pada elemen-elemen suatu matriks. Namun,
panjang string harus kompatibel terhadap striktur matriks. Sebagai contoh, N=['Yamari'; 'Bahari']
adalah contoh yang benar, sedangkan M=['Yamari'; 'Elektro'] akan menyebabkan error.
Saat komponen-komponen vektor membentuk suatu runtun nilai-nilai yang dipisahkan oleh
interval reguler, maka akan lebih mudah untuk menggunakan apa yang disebut dengan loop
implisit dengan tipe (indAwal:kangkah:indAkhr). Ekspersi ini merujuka pada suatu daftar nilai
yang berawal dari indAwal, berujung dan berakhir pada indAkhir, dengan inkremen sebesar
langkah. Nilai-nilai yang ada pada loom implisit tersebut tidak boleh melewakti indAkhir. Nilai
inkremen langkah bisa diabaikan, jika anda menginginkannya bernilai 1.
Contoh 1-2 (Enumerasi implisit) Tulislah a=(0:1:10) atau a=(0:10). MATLAB akan
menghasilkan sebagai berikut:
Elemen terakhir dari suatu vektor diindikasikan dengan resecvasi end. Pada contoh sebelumnya,
a(end) mengindikasikan bahwa nilainya adalah 8. Adalah hal yang memungkinkan di dalam
MATLAB untuk menekspansi ukuran suatu matriks, beirkut adalah beberapa teknik untuk
mengekspansi suatu matriks.
1.1.2. Array
Array multidimensi merupakan suatu ekstensi dari suatu matriks dua-dimensi. Salah satu
cara untuk mengkreasi suatu array semacam itu adalah dengan menggunakan suatu matriks dua-
dimensi yang sudah ada dan mengekspansinya. Ketiklah perintah-perintah berikut ini:
Fungsi-fungsi cat dan repmat disediakan MATLAB untuk menghasilkan array-array multi-
dimensi.
Suatu struktur didefinisikan dengan instruksi struct. Contoh berikut ini mendefinisikan
suatu struktur, disebut dengan yamaristruk, yang terdiri dari tiga bidang: bahasa,versi, dan tahun.
Instruksi ini menugaskan string karakter MATLAB kepada bidang pertama, sting karakter 7.04
kepada bidang kedua, dan nilai numerik 2005 kepada bidang ketiga:
Instruksi kedua menampilkan isi dari yamaristruk.Tahun, yaitu 2005. Suatu struktur
berdimensi 1x1 diorganisir sama dengan suatu array sel berdimensi nx1, dimana n adalah jumlah
bidang struktur. Oleh karena itu, sel dapat dikomparasi dengan struktur namun dengan bidang-
bidang yang tak bernama.
Contoh berikut ini mendefinisikan suatu struktur dengan nama yamaristruk, yang terdiri
dari dua perekaman, perekaman pertama memuat tiga bidang bahasa,versi dan tahun. Kepada
masing-masing bidang ditugaskan dua string karakter MATLAB dan C++, dua nilai 6.5 dan 7.04,
dan dua nilai 2005 dan 2008:
Operasi backlash(\) menyediakan solusi terhadap masalah linier Ax=b dalam format x
=A\b. Jika A adalah suatu matriks kuadrat(jumlah baris sama dengan jumlah kolom) full-
rank, maka hal iniakan menghasilkan perkalian antara matriks inverse A dengan vektor
kolom b.
Vektor-vektor a dan b adalah vektor-vektor baris dan rii berukuran (4x1). Skalar c, jadi
sama dengan produk skalar dari vektor a dan vektor b. Di sisi lain, d adalah matriks berukuran
(4x4)
Contoh 1-7 (Beberapa operasi pointwise) ketiklah perintah-perintah berikut ini dan periksalah
Fungsi reshape digunakan untuk mengubah ukuran suatu matriks, sebagai contoh, dari
matriks berukuran (2 x 6) menjadi suatu matriks berukuran (3 x 4). Perubahan ukuran ini dilakukan
secara langsung, seperti yang ditunjukkan dibawah ini:
Contoh 1-9 (Matriks-matriks terdefinisi) ketiklah instruksi-instruksi berikut dan amati hasilnya:
Instruksi-instruksi di atas menghasilkan suatu vektor baris dengan 10 elemen yang bertanda
saling bergantian. Seperti yang telah perhatian, hal yang sama terjadi dengan (-1).^[0:9].
Waktu adalah suatu vektor baris berukuran (1 x 1024) dan oleh karena itu waktu*frek
adalah suatu matriks berukuran (1024 x 3). Anda dapat melihat sendiri dengan mengetikkan, pada
akhir contoh sebelumnya, perintah whos:
Pada contoh ini, a adalah matriks berukuran (2 x 2), polinomial karakteristiknya adalah
poly(a) yang sama dengan det( ) = 2 1. Vektor-vektor eigen dari a diberikan oleh
Isnan, isinf, isinfinite, isstr, ischar, dan lain-lain merupakan fungsi boolean yang bisa
digunakan untuk tujuan-tujuan logika.
Contoh 1-13 (Program loop) ketiklah instruksi-instruksi berikut dan amati hasilnya:
Instruksi terakhir menghasilkan suatu matriks c yang identik dengan matriks b. Eksekusinya jauh
lebih cepat. Anda bisa membuktikannya sendiri.
Contoh 1-15 (Menggambar suatu lingkaran) Ketiklah instruksi-instruksi berikut dan amati
hasilnya:
Perintah axis(square) memaksa tampilan untuk muncul sehingga sumbu horizontal dan vertikal
sama panjang. Perintah axis yang kedua memaksa nilai-nilai tertentu menjadi maksimal dan
minimal pada koordinat x dan koordinat y.
Contoh 1-16 (Angka dan string karakter) Ketiklah instruksi-instruksi berikut dan amati
hasilnya:
Perintah sprintf dapat juga digunakan unutk membentuk suatu string karakter.
1.5. Masukan/Keluaran
MATLAB juga menyediakan fasilitas masukan/keluaran dari papan ketik ke monitor atau dari
papan ketik ke file dan sebaliknya. Berikut adalah fungsi-fungsi utama yang digunakan:
Input, ginput, ... untuk akuisisi dari papan ketik.
Disp, sprintf, ... untuk menampilkan pada monitor.
Gtext, plot, grid, title, ... untuk menampilkan suatu grafik.
Load, save untuk memuat atau menyimpan variabel-variabel di dalam suatu file dalam
format yang spesifik terhadap MATLAB. Secara sefault, file-file tersebut berekstensi .mat.
Fopen, fread, fwrite untuk masukan/keluaran dengan fasilitas pemformatan.
Program diatas menciptakan file coba1.dat yang masing-masing elemennya adalah integer 16 bit,
kemudian membaca kembali file tersebut dan ditugaskan kepada variabel y.
LATIHAN
1. Amatilah apa yang tertampil jika skript MATLAB berikut ini anda ketikkan.
2. Amatilah apa yang tertampil jika skript MATLAB berikut ini anda ketikkan.
3. Amatilah apa yang tertampil jika skript MATLAB berikut ini anda ketikkan.