Anda di halaman 1dari 30

PRAKTIKUM PENGOLAHAN SINYAL DIGITAL

Oleh :

I MADE BUDI SUKSMADANA, ST., MT.


Hanya digunakan di lingkungan
Jurusan Teknik Elektro, Fakultas Teknik
Universitas Mataram

LABORATORIUM KOMPUTER
JURUSAN TEKNIK ELEKTRO
FAKULTAS TEKNIK
UNIVERSITAS MATARAM
KATA PENGANTAR

Semakin maju era digitalisasi maka pengolahan sinyal digital pun semakin
berkembang. Untuk melakukan pengolahan sinyal digital maka suatu sinyal harus dapat
diamati dengan beberapa cara, yaitu : dengan mengamati sifat-sifat statistik dari sinyal
tersebut, dengan mengamati sinyal tersebut dalam ruang waktu dan dengan mengamati
sinyal tersebut dalam ruang frekwensi. Sinyal-sinyal alami (continue) tidak dapat
langsung diproses dengan cara digital, jadi sebelum diproses sinyal tersebut didigitalisasi
(sehingga bersifat discrete) dengan melakukan pencuplikan (sampling).
Pada modul praktikum ini dilakukan pembuatan program/scrip pada MATLAB
untuk memahami algoritma-algoritma yang digunakan untuk mengamati sinyal-sinyal
diskrit dan cara membentuk sinyal-sinyal diskrit tersebut dengan melakukan sampling,
juga dibuat program/scrip beberapa penerapan dari pengolahan sinyal digital.
Penulis menyadari masih terdapat banyak kekurangan dalam penulisan modul
praktikum ini. Untuk itu maka saran dan kritik penulis harapkan demi kesempurnaan
modul praktikum ini. Akhir kata penulis mengharapkan modul praktikum ini dapat
bermanfaat.

Mataram, Desember 2004

penulis

Praktikum Pengolahan Sinyal Digital oleh IMBS 1


I. STATISTIK DAN PROBABILITAS SINYAL

1. Tujuan :

Dapat mengetahui karakteristik suatu sinyal melalui sifat-sifat statistik (nilai rata-
rata, variance dan standard deviation) dan probabilitas sinyal tersebut, yang kemudian
dapat digunakan dalam melakukan Pemrosesan Sinyal Digital.

2. Tinjauan singkat :

Sebuah sinyal adalah menggambarkan hubungan antara sebuah parameter dengan


parameter lainnya. Misal, sebuah sinyal analog elektronik yang besar tegangannya
bervariasi terhadap waktu. Jika kedua parameter sinyal tersebut nilainya dalam rentang
kontinyu maka sinyal tersebut disebut sinyal kontinyu(continuous signal), jika kedua
parameter tersebut dibentuk dari prosses digitalisasi (digitized) / kuantisasi (quantized)
maka sinyal tersebut disebut sinyal diskrit (discrete signal). Biasanya sinyal kontinyu
terdapat di alam tetapi sinyal diskrit hanya terdapat dalam komputer.

Gambar 1.1 Grafik sebuah sinyal tegangan terhadap waktu dan rata-ratanya

Pada Gambar 1.1 bagian yang vertical menunjukkan amplitudo/sumbu y (y-


axis)/peubah bebas (dependent variable)/ordinate, sedangkan bagian yang mendatar
disebut sumbu x (x-axis) / peubah tidak bebas (independent variable) / domain / abscissa.
sample number. Umumnya sumbu horizontal diberi nama sample number (untuk sinyal
diskrit) / waktu, jarak (untuk sinyal kontinyu)
Mean (µ) adalah istilah dalam statistik yang menyatakan nilai rata-rata dari
deretan data, nilai rata-rata yaitu jumlah dari semua data dibagi banyaknya data, sebuah
sinyal seperti Gb. 1.1 memiliki mean yang dinyatakan dengan (1.1).

N −1
1
µ=
N
∑x
i =0
i (1.1)

Variance (σ2) menunjukkan daya (power) yaitu fluktuasi sinyal terhadap nilai
rata-ratanya (1.2)

Praktikum Pengolahan Sinyal Digital oleh IMBS 2


2
1 N −1
σ2 = ∑ ( xi − µ )
N − 1 i =0
(1.2)

Standard deviation (σ) juga disebut average deviation atau juga disebut nilai
Root-Mean-Square (RMS) yang umum digunakan di bidang elektronika. Nilai RMS
menunjukkan besarnya komponen AC dari sebuah sinyal. Jika sebuah sinyal tidak
memiliki komponen DC maka nilai RMS – nya adalah sama dengan standard deviation –
nya. Sebagai catatan standard deviation adalah akar kwadrat dari variance (1.3).

2
1 N −1
σ = ∑ ( xi − µ )
N − 1 i =0
(1.3)

Histogram dari sebuah sinyal menunjukkan frekwensi/probabilitas munculnya


nilai-nilai sample dari sebuah sinyal.

Gambar 1.2 Histogram dari sinyal Gb. 1.1 dibagi dalam 128 dan 32 point.

Sedangkan nilai Probability Mass Function (pmf) adalah nilai histogramnya dibagi
dengan jumlah sample.

3. Langkah percobaan :

3.1. Ketiklah scrip berikut dalam bentuk M-File menggunakan MATLAB : (ingat
simpan/save scrip yang dibuat)

clc;
close all;
clear;

load leleccum;
sinyal = leleccum(1:500); % ambil 500 data saja
t=length(sinyal);

plot(sinyal,'k'); title('sinyal leleccum');


xlabel('waktu (t) (detik)'); ylabel('tegangan (v) (volt)');

rata = mean(sinyal); % nilai rata2 sinyal


variance = var(sinyal); % nilai variansi

Praktikum Pengolahan Sinyal Digital oleh IMBS 3


standev = std(sinyal); % nilai standard deviasi

figure;
plot((0:t-1),sinyal,'k',(0:t-1),rata,'k');
title(['sinyal asli \mu = ',...
num2str(rata),'; \sigma^2 = ',...
num2str(variance),...
'; \sigma = ',num2str(standev)]);
xlabel('waktu (t) (detik)'); ylabel('tegangan (v) (volt)');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, amati dari grafik-
grafik yang dihasilkan !, buat analisanya !

3.2. Sisipkan scrip berikut di baris 8 dari scrip pada langkah (3.1.)

k = 5;
sinyal2 = sinyal;
sinyal2(50:250) =sinyal(50:250) + k;

dan sisipkan scrip berikut diakhir baris scrip pada langkah (3.1.)

ratas2 = mean(sinyal2); % nilai rata2 sinyal2


variances2 = var(sinyal2); % nilai variansi
standevs2 = std(sinyal2); % nilai standard deviasi

figure;
plot((0:t-1),sinyal2,'k',(0:t-1),ratas2,'k');
title(['sinyal modifikasi \mu = ',num2str(ratas2),...
'; \sigma^2 = ',num2str(variances2),...
'; \sigma = ',num2str(standevs2)]);
xlabel('waktu (t) (detik)'); ylabel('tegangan (v) (volt)');

figure;
plot((0:t-1),sinyal,'k',(0:t-1),sinyal2,'r',(0:t-
1),rata,'k',(0:t-1),ratas2,'r');
title('sinyal asli dan sinyal modifikasi')
xlabel('waktu (t) (detik)'); ylabel('tegangan (v) (volt)');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, amati dari grafik-
grafik yang dihasilkan !, buat analisanya !

3.3. Lakukan langkah (3.2) dengan nilai k = -10, -5, 10, kemudian run scrip tersebut,
amati dari grafik-grafik yang dihasilkan !, buat analisanya !

3.4. Ketiklah scrip berikut dalam bentuk M-File menggunakan MATLAB : (ingat
simpan/save scrip yang dibuat)
clc;
close all;

load leleccum;
sinyal = leleccum(1:500); % ambil 500 data saja
sinyal(100:250) = sinyal(100:250)-5;

k = 5;

Praktikum Pengolahan Sinyal Digital oleh IMBS 4


sinyal2 = sinyal;
sinyal2(50:250) =sinyal(50:250) + k;

t=length(sinyal);

plot(sinyal,'k'); title('sinyal leleccum');


xlabel('waktu (t) (detik)'); ylabel('tegangan (v) (volt)');

figure;
hist(sinyal,128);
title('histogram 128 point'); xlabel('sample');
ylabel('frekwensi muncul');
figure;
hist(sinyal,64);
title('histogram 32 point'); xlabel('sample'); ylabel('frekwensi
muncul');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, amati dari grafik-
grafik yang dihasilkan !, buat analisanya !

3.5. Lakukan langkah (3.1.) dan rubah sinyal leleccum menjadi sinyal sinus dari scrip
berikut !

fs = 1/1000;
ss = (0:fs:1);
sinyal = sin(2*pi*50*ss);

Lakukan juga dengan sinyal penjumlahan dua buah sinyal sinus dengan
frekwensi berbeda !

fs = 1/1000;
ss = (0:fs:1);
sinyal = sin(2*pi*50*ss) + 2*sin(2*pi*120*ss);

Run scrip tersebut, amati dari grafik-grafik yang dihasilkan !, buat juga grafik
histogramnya, buat analisanya !

♣♣♣♣ ☺☺☺☺☺☺☺☺ ♣♣♣♣

Praktikum Pengolahan Sinyal Digital oleh IMBS 5


II. SINYAL WAKTU DISKRIT

1. Tujuan :

a. Dapat mendeskripsikan dan menganalisa hubungan antara sinyal waktu-diskrit dengan


waktu pencuplikan (sampling time). Sinyal-sinyal ini akan digunakan dalam
Pemrosesan Sinyal Digital.
b. Dapat mendeskripsikan dan menganalisa sinyal-sinyal diskrit berikut: sinyal
sinusoidal, sinyal eksponensial-komplek (teori Euler's) dan sinyal-sinyal uji (impulse ,
step, ramp)

2. Tinjauan singkat :

Sinyal waktu-diskrit adalah sebuah sinyal yang mempunyai nilai/besar tertentu


hanya pada waktu tertentu saja. Notasi sinyal waktu-diskrit adalah x[ nT ], T adalah
periode pencuplikan/sampling dan n adalah nilai pencuplikan/sampling. Sinyal waktu-
diskrit umumnya terdapat di komputer/alat-alat digital. Sinyal waktu-diskrit dihasilkan
dari Sinyal waktu-kontinyu yang mengalami proses konversi Analog ke Digital (Analog
To Digital Conversion (ADC)) (2.1)

x[n] = x(nTs ) (2.1)

x(t ) A-to-D x[n] = x(nTs )


converter

Gambar 2.1 Blok diagram yang merepresentasikan sebuah pencuplik

Sinyal sinusoidal (berupa sinyal cosinus maupun sinus) waktu-diskrit berasal dari
sinyal sinusoidal waktu kontinyu yang dicuplik pada periode waktu tertentu, sinyal ini
dinyatakan dengan (2.2)

x[n] = A cos(2πf 0 nT + θ ) (2.2)

f0 adalah frekwensi sinyal dalam Hz, A adalah amplitudo, T adalah periode sampling
yang nilainya T=1/fs, n adalah nilai pencuplikan dan θ adalah beda phase, misal sinyal
sinus dengan sinyal cosinus berbeda phase 900. Gambar 2.2. menampilkan dua buah
sinyal cosinus yang memiliki amplitudo dan frekwensi yang sama tetapi waktu
pencuplikannya berbeda.

Praktikum Pengolahan Sinyal Digital oleh IMBS 6


Gambar 2.2 Pengaruh waktu pencuplikan pada sebuah sinyal sinusoidal

Sinyal sinusoidal dapat pula dinyatakan sebagai sinyal eksponensial-komplek


berdasarkan teori Euler's (2.3).

e j ( 2πf 0 nT +θ ) = cos(2πf 0 nT + θ ) + j sin(2πf 0 nT + θ ) (2.3)

sehingga sinyal cosinusnya adalah

x[n] = ℜe[ Ae j ( 2πf 0 nT +θ ) ] (2.3)

persamaan (2.3) dapat juga dibentuk dalam persamaan (2.4)

A j ( 2πf 0 nT +θ ) A − j ( 2πf 0 nT +θ )
x[n] = e + e
2 2 (2.3)

Ada beberapa sinyal uji yang sering digunakan untuk menguji sebuah plant, antara
lain sinyal impulse (2.4), sinyal unit step (2.5) dan sinyal ramp(2.6).

1; n = 0
δ [n] =  (2.4)
0; n ≠ 0

1; n ≥ 0
u[n] =  (2.5)
0; n < 0

n; n ≥ 0
r[ n ] =  (2.6)
0; n < 0

Daya sinyal (Signal power) diskrit adalah besarnya daya yang dimiliki oleh suatu
sinyal diskrit. Persamaan daya sinyal diskrit adalah

Praktikum Pengolahan Sinyal Digital oleh IMBS 7


n1 + N 0 −1
1

2
P= x[nT ] (2.6)
N0 n = n1

3. Langkah percobaan :

3.1. Ketiklah scrip berikut dalam bentuk M-File menggunakan MATLAB : (ingat
simpan/save scrip yang dibuat)

clc;
close all;

fs = 1000; %frekwensi sampling


t = 0:1/fs:1;
n = 0:length(t)-1;
A = 3; %amplitudo
f0 = 4; %frekwensi sinyal

sinyal = A*cos(2*pi*f0*t);

plot(n,sinyal);
title(['sinyal : {\itA}*cos(2{\it\pif_0nT})']);
tkhor = 0.5*fs/10;
tkver = max(sinyal)-(max(sinyal)/10);
text(tkhor,tkver,['{\itA} = ',num2str(A),'; {\itf_0} = ',...
num2str(f0),'Hz; {\itf_s} = ',num2str(fs),'Hz;',...
' {\itT} = 1/{\itf_s} = ',num2str(1/fs),' detik']);
xlabel('n (sample)'); ylabel('Amplitudo');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, lakukan untuk nilai A =
1, 3, 5; nilai f0 = 1Hz, 2Hz, 5Hz, 10Hz; nilai fs = 1Hz, 10Hz, 100Hz, amati dari
grafik-grafik yang dihasilkan ?, buat analisanya !

3.2. Ketiklah scrip berikut dalam bentuk M-File menggunakan MATLAB : (ingat
simpan/save scrip yang dibuat)
clc;
close all;

fs = 100; %frekwensi sampling


t = 0:1/fs:1;
n = 0:length(t)-1;
A = 3; %amplitudo
f0 = 2; %frekwensi sinyal

sinyal = (A/2*(exp(i*2*pi*f0*t))) + (A/2*(exp(-i*2*pi*f0*t)));


plot(n,sinyal);
title(['{\itx}[{\itnT}] = {\itA}/2\it{e}^{j(2{\it\pif_0nT}+'...
'{\it\theta})} + {\itA}/2{\ite}^{-j(2{\it\pif_0nT}+'...
'{\it\theta})};']);
tkhor = 0.5*fs/10;
tkver = max(sinyal)-(max(sinyal)/10);
text(tkhor,tkver,['{\itA} = ',num2str(A),'; {\itf_0} = ',...
num2str(f0),'Hz; {\itf_s} = ',num2str(fs),'Hz;',...
' {\itT} = 1/{\itf_s} = ',num2str(1/fs),' detik']);
xlabel('n (sample)'); ylabel('Amplitudo');

Praktikum Pengolahan Sinyal Digital oleh IMBS 8


Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, lakukan untuk nilai A
= 1, 3, 5; nilai f0 = 1Hz, 2Hz, 5Hz, 10Hz; nilai fs = 1Hz, 10Hz, 100Hz, amati dari
grafik-grafik yang dihasilkan bandingkan dengan langkah 3.1 !, buat analisanya !

3.3. Ketiklah scrip berikut dalam bentuk M-File menggunakan Matlab : (ingat
simpan/save scrip yang dibuat)
clc;
close all;

fs = 100; %frekwensi sampling


t = 0:1/fs:1;
n = 0:length(t)-1;

sinyal_impl = 1 *(t==0);
sinyal_stp = 1 *(t>0);
sinyal_ramp = t .*(t>0);

plot(n,sinyal_impl);
title('sinyal uji impulse');
tkhor = 0.5*fs/10;
tkver = max(sinyal_impl)-(max(sinyal_impl)/25);
tkver1 = max(sinyal_stp)+(max(sinyal_stp)/25);
text(tkhor,tkver,['{\itf_s} = ',num2str(fs),'Hz;',...
' {\itT} = 1/{\itf_s} = ',num2str(1/fs),' detik']);
axis([0 max(n) 0 tkver1]);
xlabel('n (sample)'); ylabel('Amplitudo');

figure; plot(n,sinyal_stp);
title('sinyal uji unit step');
tkhor = 0.5*fs/10;
tkver = max(sinyal_stp)-(max(sinyal_stp)/25);
tkver1 = max(sinyal_stp)+(max(sinyal_stp)/25);
text(tkhor,tkver,['{\itf_s} = ',num2str(fs),'Hz;',...
' {\itT} = 1/{\itf_s} = ',num2str(1/fs),' detik']);
axis([0 max(n) 0 tkver1]);
xlabel('n (sample)'); ylabel('Amplitudo');

figure; plot(n,sinyal_ramp);
title('sinyal uji ramp');
tkhor = 0.5*fs/10;
tkver = max(sinyal_ramp)-(max(sinyal_ramp)/25);
tkver1 = max(sinyal_ramp)+(max(sinyal_ramp)/25);
text(tkhor,tkver,['{\itf_s} = ',num2str(fs),'Hz;',...
' {\itT} = 1/{\itf_s} = ',num2str(1/fs),' detik']);
axis([0 max(n) 0 tkver1]);
xlabel('n (sample)'); ylabel('Amplitudo');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, amati dari grafik-
grafik yang dihasilkan !, buat analisanya !

3.4. Sisipkan scrip berikut di baris 12 dari scrip pada langkah (3.1.)

dump = 0;
for t=1:length(sinyal)
dump = dump + (sinyal(t))^2;
end

Praktikum Pengolahan Sinyal Digital oleh IMBS 9


P = (1/length(sinyal)) * dump; % daya sinyal

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, tentukan besarnya
daya sinyal untuk nilai A = 1, 3, 5; nilai f = 1Hz, 2Hz, 5Hz, 10Hz; nilai Ts = 1Hz,
10Hz, 100Hz !

♣♣♣♣ ☺☺☺☺☺☺☺☺ ♣♣♣♣

Praktikum Pengolahan Sinyal Digital oleh IMBS 10


III. OPERASI DAN ANALISA SISTEM WAKTU-DISKRIT
DALAM RUANG-WAKTU

1. Tujuan :

a. Dapat melakukan operasi dasar terhadap sinyal waktu-diskrit dalam ruang-waktu.


b. Dapat melakukan analisa terhadap sinyal waktu-diskrit dalam ruang-waktu.
c. Dapat melakukan dan menggambarkan proses konvolusi (yang merupakan proses
dalam ruang-waktu) untuk mendapatkan keluaran dalam waktu-diskrit dari masukan
dalam waktu-diskrit ke suatu plant.

2. Tinjauan singkat :

Umumnya ada tiga operasi dasar yang dapat dilakukan terhadap sebuah sinyal
dalam ruang-waktu, yaitu time scale (penskalaan terhadap waktu), time reversal
(pembalikan terhadap waktu) dan time sift (penggeseran terhadap waktu).
Sinyal waktu-diskrit diskalakan dengan faktor b>0 adalah merubah waktu
pencuplikan dari T ke T/b, seperti diilustrasikan pada gambar berikut.

Gambar 2.1 Grafik dari sebuah sinyal waktu-diskrit yang mengalami penskalaan

Sinyal waktu-diskrit yang mengalami pembalikan adalah suatu sinyal yang


dihasilkan dengan cara mencerminkan sinyal pada sumbu t = 0, seperti diilustrasikan
pada gambar berikut.

Praktikum Pengolahan Sinyal Digital oleh IMBS 11


Gambar 2.2 Grafik dari sebuah sinyal waktu-diskrit yang mengalami pembalikan

Sinyal waktu-diskrit yang mengalami pergeseran waktu adalah suatu sinyal yang
dihasilkan dengan cara menggeser sebesar t – t1, bila t1 > 0 maka sinyal digeser ke kanan
sebesar t1 (mengalami penundaan waktu), bila t1 < 0 maka sinyal digeser ke kiri sebesar t1
(mengalami percepatan), seperti diilustrasikan pada gambar berikut.

Gambar 2.3 Grafik dari sebuah sinyal waktu-diskrit yang mengalami penggeseran

Metode analisa ruang-waktu digunakan untuk merepresentasikan keluaran dalam


ruang-waktu dari suatu sistem, yang dihasilkan oleh masukan dalam ruang-waktu ke

Praktikum Pengolahan Sinyal Digital oleh IMBS 12


sistem tersebut, atau disebut juga respon suatu sistem (system response). Untuk
melakukan analisa ruang-waktu maka suatu sistem harus dibentuk dalam model
matematikanya. Model matematika yang membentuk suatu masukan-keluaran sistem
waktu-diskrit disebut persamaan sistem (system equation)

b0

x[n] v[n] y[n]


X + +

b1 a1 z-1
z-1

y[n-1]
X X

Gambar 3.1. Blok diagram sebuah sistem waktu-diskrit (z-1 menandakan ditunda/delay)

Dari gambar 3.1. dapat dibentuk model matematikanya sebagai berikut :

k l
y[nT ] = ∑ (− ai ) y[(n − i )T ] + ∑ bi x[(n − i )T ] (3.1)
i =1 i =0

Dari (3.1), bila ai , bi ≠ 0 maka sistem disebut tapis IIR, sedangkan bila ai = 0; bi ≠ 0 maka
sistem disebut tapis FIR. Sistem tapis FIR juga dapat diwujudkan dengan melakukan
konvolusi antara masukan dengan plan. Sehingga (3.1) dapat diubah sebagai berikut :

l
y[nT ] = ∑ bi x[(n − i )T ] (3.1)
i =0

y[nT ] = b[nT ] ⊗ x[nT ] (3.1)

3. Langkah percobaan :

3.1. Ketiklah scrip (untuk penskalaan sinyal) berikut dalam bentuk M-File menggunakan
MATLAB : (ingat simpan/save scrip yang dibuat)

clc;
close all;
clear;

T = 2;
t = -6:T:6;
y = t/2;
z = t/0.5;
hs = abs(t);

subplot(311); stem(t,hs,'fill'); axis([-14 14 0 8]);


text(-13,7,['{\itx}[{\itnT}] = |{\itn}|; Sinyal, {\itT} =
',num2str(T)]);

Praktikum Pengolahan Sinyal Digital oleh IMBS 13


ylabel('Amplitudo');
subplot(312); stem(y,hs,'fill'); axis([-14 14 0 8]);
text(-13,7,['{\itx}[{\itn}({\itT/b})] = |{\itn}|; {\itb} = 2;
Sinyal terkompres'])
ylabel('Amplitudo');
subplot(313); stem(z,hs,'fill'); axis([-14 14 0 8]);
text(-13,7,['{\itx}[{\itn}({\itT/b})] = |{\itn}|; {\itb} = 0.5;
Sinyal terkembang'])
ylabel('Amplitudo'); xlabel('n (sample)');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, ubah-ubahlah nilai-
nilai Ts, persamaan y, z dengan mengubah nilai pembagi, amati dari grafik-grafik
yang dihasilkan !, buat analisanya !

3.2. Ketiklah scrip (untuk pembalikan sinyal) berikut dalam bentuk M-File
menggunakan Matlab : (ingat simpan/save scrip yang dibuat)

clc;
close all;
clear;

T = 1;
t = -4:T:4;
y = 2*t;
z = -2*t;

subplot(211); stem(t,y,'fill'); axis([-6 6 -12 12]);


text(-5.5,10,['{\itx}[{\itnT}] = 2{\itn}'])
ylabel('Amplitudo');
subplot(212); stem(t,z,'fill'); axis([-6 6 -12 12]);
text(-5.5,10,['{\itx}[{\it-n}({\itT})] = -2{\itn}'])
ylabel('Amplitudo'); xlabel('n (sample)');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, ubah-ubahlah nilai Ts,
amati dari grafik-grafik yang dihasilkan !, buat analisanya !

3.3. Ketiklah scrip (untuk penggeseran sinyal) berikut dalam bentuk M-File
menggunakan Matlab : (ingat simpan/save scrip yang dibuat)

clc;
close all;
clear;

Ts= 1;
t = -6:Ts:6;
x = 0.08*t - 0.96*sqrt(abs(t));
y = 0.08*(t-1) - 0.96*sqrt(abs(t-1));
z = 0.08*(t+2) - 0.96*sqrt(abs(t+2));

subplot(311); stem(t,x,'fill'); axis([-7 7 -4 2]);


text(-6.5,1,['{\itx}[{\itnT}] = 0.08*({\itn}) -
0.96*\surd|{\itn}|'])
ylabel('Amplitudo');
subplot(312); stem(t,y,'fill'); axis([-7 7 -4 2]);
text(-6.5,1,['{\itx}[({\itn}-1){\itT}] = 0.08*({\itn}-1)'...
' - 0.96*\surd|{\itn}-1|'])

Praktikum Pengolahan Sinyal Digital oleh IMBS 14


ylabel('Amplitudo');
subplot(313); stem(t,z,'fill'); axis([-7 7 -4 2]);
text(-6.5,1,['{\itx}[({\itn}+2){\itT}] = 0.08*({\itn}+2)'...
' - 0.96*\surd|{\itn}+2|'])
ylabel('Amplitudo'); xlabel('n (sample)');

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, ubah-ubahlah nilai Ts,
persamaan y dengan mengubah nilai pengurang t, z dengan mengubah nilai
penambah t, amati dari grafik-grafik yang dihasilkan !, buat analisanya !

3.4. Perhatikan blok diagram sebuah sistem berikut ! Sistem ini memiliki frekwensi
cuplik (fs) 10 sample/detik (T = 1/10 detik). Gambarkan grafik y[nT] untuk 0 <= t
<= 3 detik jika masukan sinyalnya adalah x[nT] = 2u[(n-2)T] (u adalah sinyal unit
step) dengan b0 = 1/3; b1 = 1/3 dan b2 = 1/3 (adalah perilaku tapis moving average,
salah satu tapis FIR). Plant z-1 adalah plant waktu tunda (delay).

b0

b0x[nT]
x[nT] y[nT] = b0x[nT] + b 1x[(n-1)T] + b 2x[(n-2)T]
x +
b1x[(n-1)T]
+
b1 b2x[(n-2)T]
z-1
b1x[(n-1)T]
x[(n-1)T] x +

b2
z-1
b2x[(n-2)T]
x[(n-2)T] x

Blok diagram sistem tersebut diubah menjadi sebuah model matematikanya, sebagai
berikut :

y[nT ] = b0 [nT ] + b1 [(n − 1)T ] + b2 [(n − 2)T ]

Ketiklah scrip berikut dalam bentuk M-File menggunakan Matlab : (ingat


simpan/save scrip yang dibuat)
% Analisa ruang-waktu dari suatu sistem diskrit (Tapis Moving
AVERAGE)
clc;
close all;
clear;

fs = 10; % waktu sampling 10 sample/s


t = 0:1/fs:3; % dianalisa selama 0 sampai 3 detik

Praktikum Pengolahan Sinyal Digital oleh IMBS 15


% jadi ada 31 nilai sample
n = 0:length(t)-1; % indeksnya 1-31

ytemp = zeros(size(t)); % buat array sebanyak n unt keluaran

DelyStf = 3;
AmplStf = 2;
x = AmplStf*(n>DelyStf); %buat fungsi step

b0 = 1/3;
b1 = 1/3;
b2 = 1/3;

for k = 3:length(t),
ytemp(k) = b2*x(k) + b1*x(k-1) + b0*x(k-2);
end

plot(n,x,'--r');
hold on;
plot(n,ytemp);
title('Analisa ruang-waktu dari suatu sistem diskrit (Tapis
MOVING AVERAGE)');
xlabel(['n (sample); ({\itT} = ',num2str(1/fs),'detik)']);
ylabel('amplitudo'); grid on;
axis([0 max(n) -0.20 (AmplStf+0.2)]);
legend([num2str(AmplStf),'{\itu}[({\itn}-',...
num2str(DelyStf),'){\itT}]'],['{\ity}({\itnT})']);

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, ubahlah nilai-nilai
DelyStf (2,3 dst), AmplStf(1,2 dst) , fs(10,20,50,100) yang membentuk sinyal step
unit, amati dari grafik-grafik yang dihasilkan !, buat analisanya !

3.5. Buatlah blok diagram pada langkah 3.4. dengan menggunakan SIMULINK pada
MATLAB seperti pada gambar berikut :

Praktikum Pengolahan Sinyal Digital oleh IMBS 16


Bandingkan hasil grafiknya dengan hasil langkah 3.4.

3.6. Lakukan langkah 3.4 dan 3.5 untuk tapis 4-point dan 5-point moving average, amati
dari grafik-grafik yang dihasilkan !, buat analisanya !

3.7. Ketiklah scrip berikut dalam bentuk M-File menggunakan Matlab : (ingat
simpan/save scrip yang dibuat)

% Analisa ruang-waktu dari suatu sistem diskrit (Tapis Moving


AVERAGE)
% dengan Konvolusi
clc;
close all;
clear;

fs = 10; % waktu sampling 10 sample/s


t = 0:1/fs:3; % dianalisa selama 0 sampai 3 detik
% jadi ada 31 nilai sample
n = 0:length(t)-1; % indeksnya 1-31

b = [1/3 1/3 1/3];

DelyStf = 2;
AmplStf = 2;
x = AmplStf*(n>DelyStf);

pj_b = length(b);
pj_x = length(x);

temp = zeros(1,(pj_x + pj_b)-1);

% bagian untuk melakukan konvolusi


for mb=1:pj_x,
for nb=1:pj_b,
temp(mb+nb-1) = temp(mb+nb-1)+(x(mb)*b(nb));
end
end

plot(n,x,'--r');
title('Analisa ruang-waktu dari suatu sistem diskrit (Tapis
MOVING AVERAGE)');
hold on;
plot(n,temp(1:31));
xlabel(['n (sample); ({\itT} = ',num2str(1/fs),'detik)']);
ylabel('amplitudo'); grid on;
axis([0 max(n) -0.20 (AmplStf+0.2)]);
legend([num2str(AmplStf),'{\itu}[({\itn}-',...
num2str(DelyStf),'){\itT}]'],['{\ity}({\itnT})']);

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, ubahlah nilai-nilai
st(2,3 dst), at(1,2 dst) , Ts(10,20,50,100) yang membentuk sinyal step unit, amati
dari grafik-grafik yang dihasilkan !, buat analisanya !

Praktikum Pengolahan Sinyal Digital oleh IMBS 17


3.8. Lakukan langkah 3.7 dengan menggunakan fungsi conv (fungsi konvolusi yang
disediakan MATLAB ), bandingkan hasilnya !

3.9. Lakukan langkah 3.4, 3.5 dan 3.7 dengan sinyal masukan impulse dan ramp,
bandingkan hasilnya dan buat analisanya !

♣♣♣♣ ☺☺☺☺☺☺☺☺ ♣♣♣♣

Praktikum Pengolahan Sinyal Digital oleh IMBS 18


IV. OPERASI DAN ANALISA SISTEM WAKTU-DISKRIT
DALAM RUANG-FREKWENSI

1. Tujuan :

a. Dapat merepresentasikan sinyal waktu-diskrit dalam ruang-frekwensi


b. Dapat melakukan analisa terhadap sinyal waktu-diskrit dalam ruang-frekwensi.

2. Tinjauan singkat :

Sebuah sinyal waktu-diskrit dapat direpresentasikan dalam ruang-frekwensi untuk


mengetahui karakteristiknya. Misal sebuah sinyal berikut :

x[nT ] = 4 cos(2π (0.1)n + 0.4) + 6 cos(2π (0.2)n − 0.2) (4.1)

sinyal ini memiliki karakteristik : amplitudonya 4 dan 6, phasenya 0.4 rad dan –0.2 rad
dan frekwensi yang dinormalisasi 0.1 dan 0.2. Ke-enam buah nilai tadi adalah merupakan
representasi dalam ruang-frekwensi yang dinormalisasi dari sinyal x[nT ] . Dari data-data
di atas maka dapat dibentuk spektrum frekwensi (frequency spectrum) atau secara umum
disebut spektrum.

Gambar 2.1 Grafik dari sebuah sinyal (4.1)

Fungsi antara amplitudo dengan frekwensi yang dinormalisasi disebut spektrum


amplitudo (amplitude spectrum), sedangkan fungsi antara phase dengan frekwensi yang
dinormalisasi disebut spektrum phase (phase spectrum).
Biasanya spektrum direpresentasikan dalam dua-sisi untuk sinyal waktu-diskrit. Tetapi
untuk bagian real dari sinyal digambarkan hanya bagian frekwensi positifnya karena
spektrum adalah bentuknya simetri maka bagian negatifnya dapat dengan mudah
ditentukan.
Untuk menentukan spectrum dari sinyal (4.1) maka pertama-tama digunakan teori
Euler's sebagai berikut :

x[nT ] = [2e − j 0.4 ]e j 2π ( −0.1) n + [2e j 0.4 ]e j 2π ( 0.1) n + [3e j 0.2 ]e j 2π ( −0.2) n + [3e − j 0.2 ]e j 2π ( 0.2) n (4.2)

Praktikum Pengolahan Sinyal Digital oleh IMBS 19


Persamaan (4.2) menunjukkan sebuah sinyal yang merupakan penjumlahan 4 buah
rotating phasor dengan rotation per sample-nya adalah –0.1, 0.1, -0.2 dan 0.2. Persamaan
(4.2) dapat digambarkan pada gambar 2.2.

Gambar 2.2 Grafik spectrum amplitudo dan phase dari (4.1) atau (4.2)

Dalam pengolahan sinyal dikenal beberapa sinyal uji yaitu :

a. Unit Pulse Signal


1 n = 0
δ [ n] =  (4.3)
0 n ≠ 0

Gambar 2.3 Grafik Unit Impulse Signal (4.3) dan Fourier transform-nya

b. Unit Step Signal


1 n ≥ 0
u[n] =  (4.4)
0 n ≤ 0

Praktikum Pengolahan Sinyal Digital oleh IMBS 20


Gambar 2.4 Grafik Unit Step Signal (4.4) dan Fourier transform-nya

c. Unit Ramp Signal


n n ≥ 0
r[n] = nu[n] =  (4.5)
0 n ≤ 0

Gambar 2.5 Grafik Unit Ramp Signal (4.4) dan Fourier transform-nya

3. Langkah percobaan :

3.1. Sebuah deret x[n] (sinyal-diskrit) mempunyai spektrum amplitudo dan phase yang
ternormalisasi dari sebuah sinyal x[nT] seperti gambar berikut :

Praktikum Pengolahan Sinyal Digital oleh IMBS 21


Untuk membentuk sinyal dalam ruang-waktu dari spektrumnya, spektrum tersebut
dibentuk dahulu menjadi persamaan berikut:

x[n] = 2 cos(2π (0.15)n + 0.4) + 6 cos(2π (0.25)n − 0.8)


+ 4 cos(2π (0.3)n − 0.4) (4.1)

x[n] = 2 cos(0.3πn + 0.4) + 6 cos(0.5πn − 0.8) + 4 cos(0.6πn − 0.4)

Ketiklah scrip berikut untuk mendapatkan deret x[n] dalam rentang 0 ≤ n ≤ 30

clc;
clear;
close all;

n = 0:30;
x = 2*cos(0.3*pi*n + 0.4) + 6*cos(0.5*pi*n - 0.8) +...
4*cos(0.6*pi*n - 0.4);

stem(n,x,'fill');
title(['Sinyal {\itx}[({\itn}]']);
xlabel('n');
ylabel('{\itx}[({\itn}]')
axis([0 30 -12 12]);

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, amati dari grafik yang
dihasilkan !, buat analisanya !

3.2. Tambahkan scrip berikut pada akhir scrip yang telah dibuat pada langkah 3.1 !

T = 0.01;
t = n*T;
figure; stem(t,x,'fill'); grid on;
title(['Sinyal {\itx}[{\itnT}]']);
xlabel(['t (detik) ; ({\itT} = ',num2str(T),')']);
ylabel('{\itx}[{\itnT}]')
axis([0 0.65 -12 12]);

T2 = 0.02;
t2 = n*T2;

Praktikum Pengolahan Sinyal Digital oleh IMBS 22


figure; stem(t2,x,'fill'); grid on;
title(['Sinyal {\itx}[{\itnT}]']);
xlabel(['t (detik) ; ({\itT} = ',num2str(T2),')']);
ylabel('{\itx}[{\itnT}]')
axis([0 0.65 -12 12]);

Pelajari scrip yang telah dibuat, kemudian run scrip tersebut, amati dari grafik-
grafik yang dihasilkan (pengaruh periode sampling) !, buat analisanya !

3.3. Ketiklah scrip berikut (untuk mendapatkan representasi dalam ruang frekwensi dari
sinyal-sinyal uji : impulse, step dan ramp) dalam bentuk M-File menggunakan
MATLAB : (ingat simpan/save scrip yang dibuat)

clc, clear, close all;

Ts = 1/10; %(second);
t = 0:Ts:1;
n = t*(1/Ts);

x = ones(1,length(n));
for st = 0:length(n)-1
x(st+1) = x(st+1) * (st == 0);
end

stem(n,x,'fill');
title(['Unit Pulse Signal {\it\delta}[{\itn}]']);
xlabel('\itn');
ylabel('{\itx}[({\itn}]')
axis([0 length(t)-1 -Ts*0.25 Ts*10]);

btakh = 256;
cctv = fft(x,btakh);
cctvka = cctv(btakh/2:btakh);
cctvki = cctv(1:(btakh/2)-1);
fulltv = [cctvka cctvki];

% settt = (1/Ts)*((-btakh/2):(btakh/2)-1)/btakh;
settt = 2*((-btakh/2):(btakh/2)-1)/btakh;
figure; subplot(211); plot(settt,abs(fulltv));
title(['Foureir Transform dari Unit Step Signal
{\it\delta}[{\itn}]']);
ylabel('Magnitude');
subplot(212); plot(settt,angle(fulltv));
ylabel(['Phase']);
xlabel(['frekwensi yang dinormalisasi']);

Scrip di atas hanya untuk sinyal impulse (Gambar 2.3.), pelajari scrip di atas
kemudian buatlah untuk sinyal step dan ramp. Amati grafik-grafik yang dihasilkan,
buat analisanya !.

3.4. Ketiklah scrip berikut dalam bentuk M-File menggunakan Matlab : (ingat
simpan/save scrip yang dibuat) :

clc; clear; close all;

Praktikum Pengolahan Sinyal Digital oleh IMBS 23


clc; clear; close all;

x = [-2,0,-1,0,2,1,2,3,1,2,1,4,1,0,1,0,-1,...
-3,-4,-2,-2,1,0,-3,1,4,1,3,4,1,0,2];

Ts = 1/100;
n = -15:16;
stem(n,x);
title(['Sinyal {\itx}[{\itn}]']);
ylabel(['Amplitudo']);
xlabel(['{\itn}']);
axis([-16 17 min(x)-1 max(x)+1]);

l_fft = 256;
x_fft = fft(x,l_fft);
x_fftka = x_fft(l_fft/2:l_fft);
x_fftki = x_fft(1:(l_fft/2)-1);
fulltv = [x_fftka x_fftki];

setskl = 2*((-l_fft/2):(l_fft/2)-1)/l_fft;
figure; subplot(211); plot(setskl,abs(fulltv));
title(['Spektrum magnitude sinyal {\itx}[{\itn}]']);
ylabel(['Amplitudo']);
subplot(212); plot(setskl,angle(fulltv));
title(['Spektrum sudut phase sinyal {\itx}[{\itn}]']);
ylabel(['Radian']);
xlabel(['frekwensi yang dinormalisasi']);

h = zeros(size(x));
h(15:19) = [1/3 1/3 1/3 1/3 1/3];

h_fft = fft(h,l_fft);
h_fftka = h_fft(l_fft/2:l_fft);
h_fftki = h_fft(1:(l_fft/2)-1);
fulltvh = [h_fftka h_fftki];

figure; subplot(211); plot(setskl,abs(fulltvh));


title(['Spektrum magnitude filter {\ith}[{\itn}]']);
ylabel(['Amplitudo']);
subplot(212); plot(setskl,angle(fulltvh));
title(['Spektrum sudut phase filter {\ith}[{\itn}]']);
ylabel(['Radian']);
xlabel(['frekwensi yang dinormalisasi']);

condata = conv(x,h);
conv_fft = fft(condata,l_fft);
conv_fftka = conv_fft(l_fft/2:l_fft);
conv_fftki = conv_fft(1:(l_fft/2)-1);
fulltvcon = [conv_fftka conv_fftki];

figure; subplot(211); plot(setskl,abs(fulltvcon));


title(['Spektrum magnitude sinyal {\itx}[{\itn}] '...
'yang ditapis filter {\ith}[{\itn}]']);
ylabel(['Amplitudo']);
subplot(212); plot(setskl,angle(fulltvcon));
title(['Spektrum sudut phase sinyal {\itx}[{\itn}] '...
'yang ditapis filter {\ith}[{\itn}]']);
ylabel(['Radian']);
xlabel(['frekwensi yang dinormalisasi']);

Praktikum Pengolahan Sinyal Digital oleh IMBS 24


Pelajari scrip di atas, dengan mengamati grafik-grafik yang dihasilkan, buat
analisanya !.

♣♣♣♣ ☺☺☺☺☺☺☺☺ ♣♣♣♣

Praktikum Pengolahan Sinyal Digital oleh IMBS 25


V. APLIKASI PENGOLAHAN SINYAL DIGITAL

1. Tujuan :

Dapat menerapkan pengolahan sinyal digital dalam beberapa aplikasi sehari-hari

2. Tinjauan singkat :

Dalam kehidupan sehari-hari pengolahan sinyal digital dapat diterapkan pada


banyak hal seperti :

a. Membangkitkan gelombang beat note (suara cicit burung)


b. Membangkitkan gelombang Amplitudo Modulasi (AM)
c. Membangkitkan nada/not musik

3. Langkah percobaan :

3.1. Membangkitkan beat note (suara cicit burung)


Suara cicit burung dibentuk dari penjumlahan dua buah sinusoid dengan perbedaan
frekwensi yang kecil, yang dapat dinyatakan dengan persamaan berikut :

x(t ) = cos(2πf1t ) + cos(2πf 2t ) (5.1)

f1 dan f 2 selisihnya ( f ∆ ) kecil sekali, dimana f1 = ( f c − f ∆ ) dan f 2 = ( f c + f ∆ ) ,


1 1
sehingga f c = ( f 1 + f 2 ) (center frequency) dan f ∆ = ( f 2 − f1 ) (deviation
2 2
frequency), seperti ditunjukkan pada gambar spektrum berikut.

1 1 1 1
2 2 2 2

f∆
f
− f1 − fc − f2 0 f1 fc f2

Gambar 2.1 Spektrum dari sinyal beat note

Dengan menggunakan nilai eksponensial komplek maka persamaan (5.1) dijabarkan


sebagai berikut :

x(t ) = ℜe{e j 2πf1t } + ℜe{e j 2πf 2t }

Praktikum Pengolahan Sinyal Digital oleh IMBS 26


= ℜe{e j 2π ( f c − f ∆ ) t } + ℜe{e j 2π ( f c + f ∆ ) t }
= ℜe{e j 2πf ct (e − j 2πf ∆ t + e j 2πf ∆ t )}
= ℜe{e j 2πf ct (2 cos(2πf ∆ t ))}
= 2 cos(2πf ∆ t ) cos(2πf c t ) (5.2)

Buatlah sebuah m-file yang dapat menghasilkan sinyal beat note dengan f c = 400
dan f ∆ =20 Hz, Ts (waktu sampling) = 1/1000, kemudian amati spektrumnya
(menggunakan fungsi fft), dengar suara yang dihasilkan oleh sinyal x(t)
(menggunakan fungsi sound). Sehingga didapat gambar grafik-grafik berikut :

Gambar 2.2 Sinyal dan spektrum beat note f c = 400 dan f ∆ =20 Hz yang
dihasilkan menggunakan MATLAB

Ubah-ubahlah nilai-nilai f c dan f ∆ , amati gambar grafik yang dihasilkan !, buat


analisanya.

3.2. Membangkitkan gelombang Amplitudo Modulasi (AM)


Gelombang Amplitudo Modulasi (AM) digunakan dalam sistem komunikasi.
Sebuah gelombang AM dihasilkan dari proses perkalian sinyal frekwensi rendah
dengan sinyal sinusoid frekwensi tinggi (gelombang pembawa / carrier frequency),
yang dapat dinyatakan dengan persamaan berikut :

x(t ) = v(t ) cos(2πf c t )


(5.1)

Spektrum gelombang AM seperti pada gambar 2.3

5 5
2 2

1 1 1 1
2 2 2 2

f
− ( fc + f ∆ ) − fc − ( fc − f∆ ) ( fc + f∆ ) fc ( fc − f ∆ )
0

Praktikum Pengolahan Sinyal Digital oleh IMBS 27


Gambar 2.3 Spektrum dari gelombang AM

Buatlah sebuah m-file yang dapat menghasilkan gelombang AM f c = 400 Hz dan


v(t ) = (5 + 2 cos(40πt )) , Ts (waktu sampling) = 1/1000, kemudian amati
spektrumnya (menggunakan fungsi fft), dengar suara yang dihasilkan oleh sinyal
x(t) (menggunakan fungsi sound). Sehingga didapat gambar grafik-grafik berikut :

Gambar 2.4 Gelombang AM dan spektrumnya dengan f c = 200 yang dihasilkan


menggunakan MATLAB

3.3. Membangkitkan nada/not musik


Kita mengenal 7 buah nada yaitu C (do), D (re), E (mi), F (fa), G (sol), A (la), B
(si). Sebagai tetapan untuk nada dasarnya adalah nada A dengan frekwensi 440 Hz.
Masing-masing nada memiliki nomor kunci berdasarkan bilah-bilah kunci di piano
yaitu C (40), D (42), E (44), F (45), G (47), A (49), B (51). Untuk menentukan
frekwensi masing-masing nada dilakukan dengan cara mengurangkan nomor kunci
nada yang dicari dengan nomor kunci nada dasar kemudian frekwensi nada
dasarnya dikalikan dengan 2hasil pengurangan/12. Misal untuk menentukan
frekwensi nada C adalah

fC = 440 * 2 ( 40−49) / 12 = 440 * 2 −9 / 12 = 261.6256Hz

kemudian untuk menyuarakannya maka dibangunlah sebuah sinyal sinus dengan


frekwensi-frekwensi tersebut, lamanya frekwensi tersebut disuarakan menentukan
panjangnya suara nada tersebut.
Ketiklah scrip berikut untuk menghasilkan suara tangga nada.

clc; clear; close all;

keys = [ 40 42 44 45 47 49 51 52 ];

fs = 11025;
Ts = 1/fs;
t = 0:Ts:1;

Praktikum Pengolahan Sinyal Digital oleh IMBS 28


sel = zeros(1,length(keys));
f = zeros(1,length(keys));

for kk = 1:length(keys);
sel(1,kk) = keys(kk) - 49;
f(1,kk) = 440 * 2^(sel(1,kk)/12);
end;

x1 = sin(2*pi*f(1,1)*t);
x2 = sin(2*pi*f(1,2)*t);
x3 = sin(2*pi*f(1,3)*t);
x4 = sin(2*pi*f(1,4)*t);
x5 = sin(2*pi*f(1,5)*t);
x6 = sin(2*pi*f(1,6)*t);
x7 = sin(2*pi*f(1,7)*t);
x8 = sin(2*pi*f(1,8)*t);
dly = zeros(1,length(x1)/2);

data = [ x1 x2 x3 x4 x5 x6 x7 x8];

sound(data,fs);

Amati dan pelajari scrip tersebut, kemudian run apa yang terjadi ? dengarkan suara
yang terdengar ! Ubah-ubahlah nilai fs, apa yang terjadi ?.
Buatlah agar menghasilkan suara do-re-mi-re-mi-fa-mi-fa-sol-fa-sol-la-sol-la-si !

♣♣♣♣ ☺☺☺☺☺☺☺☺ ♣♣♣♣

Praktikum Pengolahan Sinyal Digital oleh IMBS 29

Anda mungkin juga menyukai