Anda di halaman 1dari 11

Digital Signal and System

DSP Labs
Fungsi-fungsi Pembangkit Sinyal
• Sinyal sinusoidal dengan frekuensi f dengan interval waktu t:
y = sin(2*pi*f*t)

• Sinyal kosinus dengan frekuensi f dengan interval waktu t:


y = cos(2*pi*f*t)

• Sinyal unit impuls dengan jumlah zeros z:


y = [1;zeros(z,1)]

• Fungsi step dengan interval waktu t:


y = ones(s,1)

• Fungsi ramp dengan interval waktu t:


y = t

• Sinyal kotak dengan frekuensi f pada interval waktu t dan duty cycle dalam persen:
y = square(2*pi*f*t,duty)

• Gigi gergaji dengan frekuensi f pada interval waktu t:


y = sawtooth(2*pi*f*t)
1. Membangkitkan Sinyal Sinusoidal
Tentukan interval waktu yang digunakan, misalnya dari 0-10 detik dengan frekuensi sampling 100 Hz:

t=[0:1/100:10];

Buatlah sinyal sinus dengan frekuensi 1 Hz dan amplituda 5:

y=5*sin(2*pi*t);

Tampilkan grafik:

plot(t,y);

Lakukan hal yang sama terhadap sinyal kosinus, perhatikan makna dari frekuensi yang diberikan (setelah
mengganti nilai frekuensi dan amplituda).

Fasilitas menampilkan beberapa grafik dalam satu window, yaitu perintah:

subplot(r,c,n);

– r adalah jumlah baris, c adalah jumlah kolom, n adalah posisi gambar.


2. Membangkitkan Sinyal Impuls

t = [0:1:20];
y = [1;zeros(20,1)];
stem(t,y);

Untuk membuat impuls yang terdapat pada detik tertentu dibutuhkan penambahan zeros pada
detik-detik awal. Misalnya, impuls akan terjadi pada detik ke-10 dengan rentang waktu 20 detik,
maka terdapat 10 buah zeros di depan dan terdapat 10 zeros sisanya.

t = [0:1:20];
y = [zeros(10,1);1;zeros(10,1)];
stem(t,y);

Buatlah sinyal impuls pada detik ke-15 dan ke-45 pada interval waktu 0 – 50 detik!
3. Membangkitkan Sinyal Unit Step

a. Buatlah unit step dengan perintah:

t = [0:1/100:10]; %frekuensi sampling 100 Hz


y = ones(1001,1); %s = (frekuensi sampling x interval) + 1
plot(t,y);

b. Buatlah unit step yang memiliki delay waktu 1 detik dengan perintah:

t = [0:1/100:10]
y = [zeros(100,1);ones(901,1)];
plot(t,y);

Lakukan hal yang sama dengan delay waktu 15 detik dan frekuensi sampling 100 Hz!
4. Membangkitkan Sinyal Ramp

Buat sinyal ramp dengan persamaan:

a. y = 5t
b. y = 5-t

Tampilkan dengan perintah:

plot(t,y); grid on;


5. Membangkitkan Sinyal Kotak

Sinyal kotak biasa dengan interval waktu 0-5 detik, frekuensi sampling 100 Hz,
frekuensi sinyal 3 Hz:

t = [0:0.01:5];
y = square(2*pi*3*t);
plot(t,y); grid on;

Buat juga sinyal kotak dengan spesifikasi yang sama tetapi diberi duty cycle 75%,
dengan perintah:

y = square((2*pi*3*t),75);
plot(t,y);

Tampilan kedua grafik dalam satu window dengan perintah subplot, agar dapat
diamati perbedaannya.
6. Membangkitkan Sinyal Gigi Gergaji
Sinyal gigi gergaji dengan interval dan fs yang sama dengan soal no. 1 dan
menggunakan frekuensi 3 Hz:

y = sawtooth(2*pi*3*t);
plot(t,y);
7. Membedakan Perkalian Matriks dan Skalar

Lakukan operasi matematika dari data-data yang diketahui. Perhatikan bahwa data-data
memang dimasukkan dalam bentuk matriks. Tetapi bila ingin melakukan operasi matematika
biasa maka yang dilakukan adalah operasi larik (array), contoh:

a = [1 3 5 7];
b = [2 4 8 10];
c = a.*b;
c = a*b %amati perbedaan dengan dan tanpa titik

maka hasil yang diperoleh (c) bukanlah perkalian matriks melainkan perkalian antar anggota
dengan posisi yang sama (ukuran array harus sama).

Jika tidak menggunakan titik maka MATLAB akan menganggap operasi yang akan dilakukan
adalah perkalian matriks.
8. Konvolusi
a. Lakukan konvolusi dua sinyal dengan perintah:

a = [3 5 3];
b = [2 5];
c = conv(a,b);

b. Definisikan x(n) adalah impuls dengan zeros 10 buah dan h(n) = {1, 1, 2, 3, 3, 5, 6, 2, 4} :

x = [1 zeros(1,10)];
h = [1 1 2 3 3 5 6 2 4];

Konvolusikan x(n) dengan h(n):

y = conv(x,h);

Perhatikan daerah hasil y!


c. Lakukan hal yang sama dengan x(n) tetap berupa impuls tetapi h(n) =
sin(2*pi*2*t) dan bandingkan h(n) dan hasil konvolusi dalam satu window
dengan perintah:

t = [0:0.01:5]
h = sin(2*pi*2*t);
y = conv(x,h);
y = y(: , 1:501) %memotong daerah hasil y sesuai dengan ukuran daerah t
subplot(2,1,1),plot(t,h),ylabel(‘h(n)’),
subplot(2,1,2),plot(t,y),ylabel(‘y(n)’)

Anda mungkin juga menyukai