DSP Labs
Fungsi-fungsi Pembangkit Sinyal
• Sinyal sinusoidal dengan frekuensi f dengan interval waktu t:
y = sin(2*pi*f*t)
• Sinyal kotak dengan frekuensi f pada interval waktu t dan duty cycle dalam persen:
y = square(2*pi*f*t,duty)
t=[0:1/100:10];
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).
subplot(r,c,n);
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
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
a. y = 5t
b. y = 5-t
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];
y = conv(x,h);
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)’)