Anda di halaman 1dari 29

Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004

1 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD


copyright@Training and Research Center for Scientific & Industrial Instrumentation
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
2 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
MODUL 2

DASAR PENGOLAHAN SINYAL DIGITAL dan
REPRERSENTASI SINYAL DISKRIT


DASAR PENGOLAHAN SINYAL DIGITAL

Sinyal, Sistem dan Pemrosesam Sinyal

Sinyal adalah besaran fisis yang berubah menurut waktu, ruang, atau variabel-variabel bebas
lainnya. Contoh sinyal: sinyal ucapan, ECG, dan EEG.
Secara matematis, sinyal adalah fungsi dari satu atau lebih variabel independen. Proses ini
dilakukan melalui pemodelan sinyal. Contoh fungsi matematis dari sinyal adalah:
s
1
(t)=5t
s2(x,y)=3x+2xy+10y
2

s3(x,y,t) = (s2(x,y),t)








Gambar 2.1. Melalui pemodelan sinyal, besaran fisis dapat direpresentasikan menjadi fungsi
matematis.

Elemen-Elemen Dasar Sistem DSP

Sistem Analog vs Sistem Digital




Gambar 2.2. Pemrosesan sinyal analog secara analog.









Gambar 2.3. Pemrosesan sinyal secara digital dapat dilakukan terhadap sinyal analog maupun sinyal digital.
Blok ADC mengubah sinyal analog menjadi digital, sedangkan blok DAC mengubah sinyal digital menjadi
sinyal analog.



Besaran
Fisis
Pemodelan
Sinyal
Fungsi
Matematis
SINYAL
ASP
(Analog Signal Procesor)
Sinyal
Analog
Sinyal
Analog
DSP
(Digital Signal Processor)
Sinyal
Analog
ADC
Sinyal
Analog
DAC
Sistem diskrit
Sinyal
Digital
Sinyal
Digital
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
3 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Keuntungan pemrosesan secara digital(DSP) dibandingkan dengan ASP:
ASP mempunyai keterbatasan pada aplikasinya untuk melakukan pemrosesan sinyal yang rumit.
Ini akan membawa kerumitan pula dalam merancang sistemnya. Sementara menggunakan DSP
kita dapat memanfaatkan PC sebagai pengolah sinyal yang andal. Beberapa keuntungan DSP
antara lain:
1. Sistem menggunakan pendekatan DSP dapat dikembangkan menggunakan perangkat
lunak pada komputer. Oleh karena itu relatif mudah untuk membuat dan melakukan uji
coba dan juga praktis karena portabel.
2. Operasi DSP hanya berdasar pada proses penjumlahan dan perkalian, sehingga prosesnya
sangat stabil (stabilitasnya tidak bergantung dengan temperatur).
3. DSP menjadi pilihan lebih murah karena perkembangan VLSI
4. Operasi DSP dapat dengan mudah dimodifikasi pada kondisi riil time, dengan cara
mengubah program.

Klasifikasi Sinyal

Sinyal Nyata vs Kompleks
Sinyal nyata (riil) adalah sinyal yang bernilai bilangan nyata. Sinyal kompleks adalah sinyal yang
bernilai bilangan kompleks. Perhatikan dua sinyal berikut ini:

s
1
(t)=A sin 3t s
2
(t)=Ae
j3t
= A cos 3t + j sin 3t (2.1)

dengan S
1
(t) adalah sinyal nyata, sedangkan S
2
(t) adalah sinyal kompleks.

Multi channel vs Single channel
Sinyal multikanal (multichannel) adalah sinyal yang terdiri dari kumpulan beberapa sinyal
independen (komposit). Sinyal satu kanal (singlechannel) adalah sinyal tunggal. Perhatikan dua
sinyal berikut ini:
S
1
(t) = {s
1
(t),s
2
(t),s
3
(t),....s
n
(t)}; S
2
= s
1
(t) (2.2)

dengan S
1
(t) adalah sinyal multikanal, sedangkan S
2
(t) adalah sinyal satu kanal. Contoh sinyal
multikanal adalah sinyal video berwarna (kanal-kanal merah, hijau, dan biru), serta sinyal musik
stereo (kanal-kanal kiri dan kanan). Contoh sinyal satu kanal adalah sinyal radio medium wave
(MW) pada radio biasa.

Multi Dimensional vs Single Dimensional
Sinyal multidimensi (multi dimensional) adalah sinyal dengan lebih dari satu variabel independen.
Sinyal satu dimensi (single dimensional) adalah sinyal dengan variabel independen tunggal.
Perhatikan dua sinyal berikut ini:
f(x,y) vs s
1
(t) (2.3)
Sinyal f (x,y) adalah sinyal multidimensi karena memiliki variabel independen x dan y. Sinyal s
1
(t)
adalah sinyal dimensi satu karena variabel independennya hanya t.

Continuous Time vs Discrete Time
Sinyal waktu kontinu (continous time) adalah sinyal dengan variabel independen bernilai nyata
(riil). Sinyal waktu diskrit (discrete time) adalah sinyal dengan variabel independen bernilai
integer. Perhatikan dua sinyal berikut ini:
0.8
n
, n 0
x(t) = e
-t
, - < t < vs x(n) =
0, jika tidak (2.4)
Sinyal x(t) adalah sinyal waktu kontinu karena t adalah bilangan nyata. Sinyal x(n) adalah sinyal
waktu diskrit karena n adalah bilangan integer.
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
4 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Ada dua cara memperoleh sinyal waktu diskrit:
Sampling dari sinyal waktu kontinu
Mencacah (counting)

Continuous Valued vs Discrete Valued
Sinyal nilai kontinu (continuous valued) adalah sinyal yang besarnya (atau variabel dependennya)
merupakan bilangan nyata. Sinyal nilai diskrit (discrete valued) adalah sinyal yang besarnya (atau
variabel dependennya) merupakan bilangan diskrit (artinya bilangan yang memiliki indeks).



Gambar 2.4. Melalui kuantisasi, sinyal bernilai kontinu dapat diubah menjadi sinyal bernilai diskrit.

Sinyal digital adalah sinyal yang sekaligus waktu diskrit dan nilai diskrit valued, sedangkan
Sinyal analog adalah sinyal yang sekaligus waktu kontinu dan nilai kontinu.

Sinyal Deterministik vs Sinyal Random
Sinyal deterministik adalah sinyal dimana besarannya diketahui dengan pasti apabila diketahui
variabel independennya (misalnya besar sebelumnya, saat ini, dan masa datang diketahui dengan
pasti).
Sinyal random adalah sinyal yang besarnya tidak terprediksi sebelum terjadi. Kadang-kadang
sinyal yang rumit menggunakan model random.

Konsep Frekuensi untuk Sinyal Waktu Diskrit dan Sinyal waktu Kontinu

Sinyal Waktu Kontinu (C-T)
Sebuah sinyal analog berbentuk sinusoid
Xa(t) = A cos ( t + ), - < t < (2.5)
Dalam konteks ini, masing-masing besaran di ruas kanan dikenal sebagai:
A : Amplitudo
: Frekuensi (dalam radian per detik)
: Phase/ fasa (dalam radian)

Frekuensi juga memiliki hubungan dengan frekuensi F dengan satuan Hertz (Hz)
melalui
= 2F (2.6)
Bila frekuensi F diketahui, maka bisa didefinisikan perioda fundamental T
FP

T
FP
= 1/F (2.7)
Sifat Frekuensi F :
1. Untuk F tetap xa = (t) periodik, yaitu x
a
(t + T) = x
a
(t). Perioda dari sinyal ini adalah T
sedemikian sehingga untuk semua t berlaku
x
a
(t + T) = x
a
(t)
Perioda fundamental adalah perioda yang nilainya terkecil, dan berlaku T = k T
FP

dengan k= 1,2,3 .... . Perlu diingat bahwa T
FP
T itu unik, sedangkan T tidak.
2. Sinyal dengan F berbeda adalah berbeda.
3. Menaikkan F sama dengan menaikkan laju osilasi (rate of oscillation)

Ketiga sifat ini juga berlaku bagi frekuensi pada sinyal komplek eksponensial
x
a
(t) = Ae
j(t+)
, karena identitas Euler:
e
j
= cos() j sin ()
dan sebaliknya x
a
(t) = Acos(t+) = Ae
j(t+)
+ Ae
-j(t+)
(2.8)

Nilai Kontinu
Kuantisasi
Nilai Diskrit
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
5 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Sinyal waktu diskrit (D-T) Sinusoidal
Sebuah sinyal sinusoidal waktu diskrit berbentuk
x
a
(n) = A cos (n + );- < n < (2.9)
dengan n adalah indeks sampel. Untuk sinyal seperti ini, parameter di ruas kanan
dikenal dengan nama
A : Amplitudo; : Frekuensi : Phasa
Sebagaimana pada kasus C-T, frekuensi (dalam satuan radian per indeks sampel)
memiliki hubungan dengan frekuensi f melalui = 2f.
Berlainan dengan sifat frekuensi F pada kasus C-T, sifat frekuensi f adalah
1. Sinyal hanya periodik bila f rasional. Sinyal periodik dengan periode N apabila berlaku untuk
semua n bahwa x(n+N) = x(n). Perioda fundamental N
F
adalah N yang terkecil.
Contoh : Agar periodik, maka
Cos (2f ((N+n)+ ) = Cos (2f n+ )= Cos (2f n+ +2k)
2fN = 2k f=k/N f harus rasional
2. Sinyal dengan frekuensi berbeda sejauh k2 (dengan k integer) adalah identik. Jadi berbeda
dengan kasus C-T, pada kasus D-T ini, sinyal dengan frekuensi unik tidak selalu berarti
sinyalnya unik. Contoh:
cos ((
o
+2)n+) = cos (
o
n +)
karena cos (2k +) = cos . Jadi bila, x
k
(n) = cos (
k
n +), k = 0, 1, dengan

k
=
o
+ 2k, maka x
k
(n) tidak bisa dibedakan satu sama lain, artinya x
1
(n)=x
2
(n)=
x
3
(n)=...=x
k
(n) disebut indistinguishable identical atau alias satu sama lain. Jadi sinyal dengan
frekuensi berbeda akan berbeda bila frekuensinya dibatas pada daerah - < < atau
-1/2< f < -1/2, di luar itu, terjadi aliasing.
3. Frekuensi tertinggi yang bisa dicapai adalah pada = , f = 1/2. Jadi daerah fundamental
(fundamental range) didefinisikan sebagai daerah frekuensi sepanjang 2 yang mengandung
frekuensi 0, misalnya 0 2 atau - < .

Konsep Eksponensial komplek berelasi secara harmonik

Eksponensial waktu kontinu
Perhatikan sekumpulan sinyal ini:

s
k
(t) = e
jk
0
t
= e
j2kF
0
t
; k=0,1,2,3... (2.10)

Sinyal ini memiliki keistimewaan, yaitu satu sama lain memiliki hubungan secara harmonik.
Sinyal s
1
(t), s
2
(t) , s
3
(t), dst, memang memiliki beragam periode T, namun ada sebuah periode
T
p
=1/F
0
yang ternyata dimiliki oleh setiap sinyal tersebut. Periode ini disebut perioda fundamental
dari kumpulan sinyal ini, dan F
o
disebut frekuensi fundamental dari kumpulan sinyal ini. Salah
satu sifat istimewanya adalah semua sinyal di dunia yang memiliki periode T
p
dapat dinyatakan
sebagai kombinasi linier dari sinyal-sinyal s
k
(t) ini, menurut

x(t)= c
k
s
k
(t) (2.11)
k=

Discrete-Time Exponentials
Hal yang sama berlaku juga di domain waktu diskrit. Di sini, sinyal yang terhubung
secara harmonis adalah
s
k
(n) = e
j2kf
0
n
; k=0,1,2,3... (2.12)

yang memiliki frekuensi fundamental f
o
=1/N dengan periode N. Sinyal
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
6 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
s
k
(n) = e
j2kn/N
= ini dapat digunakan untuk menghasilkan sinyal periodik dengan
periode N menurut kombinasi linier:
N-1
x(t)= c
k
s
k
(t) (2.13)
k=0

Konversi Analog ke Digital dan Digital ke Analog

Sinyal analog bisa diubah menjadi sinyal digital dengan analog-to-digital converter (ADC).
Sebaliknya sinyal digital bisa diubah menjadi sinyal analog dengan digital-to-analog converter
(DAC). Dengan adanya kemampuan ini, maka pemroses digital bisa digunakan untuk memproses
sinyal analog, karena sinyal analog diubah dahulu menjadi sinyal digital.



Gambar 8. Konversi sinyal analog menjadi sinyal digital.




Gambar 2.5. Konversi sinyal digital menjadi sinyal analog.

ADC
Proses ADC terdiri dari tiga tahap. Pertama sinyal analog x
a
(t) dilalukan pada sebuah pencuplik
(sampler). Hasilnya adalah sinyal waktu diskrit x(n). Sinyal waktu diskrit ini kemudian
dikuantisasi untuk menghasilkan sinyal bernilai digital x
q
(n) . Sinyal ini kadangkala perlu dikode
agar sesuai dengan aplikasi tertentu, menghasilkan sinyal digital yang diinginkan.








Gambar 2.6. Proses konversi sinyal analog menjadi sinyal digital.

Proses sampling waktu kontinu menjadi waktu diskrit
Untuk kasus sinyal sinusoidal yang diketahui frekuensinya, kita dapat menghitung frekuensi sinyal
diskrit yang dihasilkan pada sampling rate tertentu, dan sebaliknya. Proses yang terjadi dalam blok
sampler secara matematis adalah:
x(n) = x
a
(nT) = x
a
(t)|
t = nT
(2.14)





Gambar 2.7. Blok proses penyamplingan data.


ADC
SINYAL
DIGITAL
SINYAL
ANALOG
DAC
SINYAL
ANALOG
SINYAL
DIGITAL
SAMPLER
QUANTIZER
Coder
Sinyal
analog
Sinyal waktu
diskrit
Sinyal Terkuantisasi
(nilai diskrtit)
Sinyal
Digital
x(n) x
a
(t)
x
q
(n)
SAMPLER
DATA
x
a
(t)
x(n) = x
a
(t)|
t
= nT
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
7 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Generalisasi Aliasing
Secara umum, sampling dari x
a
(t)=A cos(2F
0
t+) pada frekuensi sampling F
s
menghasilkan
x(n)=A cos(2f
o
n+), dengan f
o
= F
0
/F
s
. Bila F
s
/2< F
o
<F
s
/2, hasil sampling terhadap frekuensi
ini adalah one-to-one mapping antara frekuensi F
o
dengan f
o
. Bila tidak, misalnya
x
a
(t)=A cos(2F
k
t+), ternyata F
k
=Fo+kF
s
, k= 1, 2,... , yakni F
k
adalah sama (alias) dengan
F
o
sehingga terjadi aliasing.








Gambar 2.8. Hubungan antara frekuensi waktu kontinu dengan frekuensi waktu diskrit dari sinyal yang
terhubung oleh proses sampling.

Teorema Sampling, Nyquist Rate, Nyquist Criteria, dan Interpolasi
Ideal
Misalnya diketahui sinyal analog
N
x
a
(t) = A
i
cos (2 F
i
t+) (2.15)
i=1
Sinyal ini adalah superposisi (penjumlahan) dari sinyal s
i
(t)=Acos(2F
i
t+
i
), yang disebut
komponen frekuensi, karena setiap s
i
(t) memiliki frekuensi beda sebesar F
i
. Berarti frekuensi
tertinggi dari x
a
(t) adalah F
max
= max F
i
, dan frekuensi sampling harus memenuhi kriteria Nyquist,
yaitu Fs > 2 F
max
. Angka 2 F
max
ini didefinisikan sebagai Nyquist rate.

Rekonstruksi Ideal
Memperoleh x(n) dari x
a
(t) cukup mudah, yaitu melalui x(n)= x
a
(t)|
t=nT
. Akan tetapi bagaimana
memperoleh (rekonstruksi) x
a
(t) dari x(n) ? Teorema sampling mengatakan proses ini hanya bisa
berhasil bila kriteria Nyquist dipenuhi pada saat memperoleh x(n) . Cara rekonstruksi adalah
dengan menggunakan fungsi interpolasi g(t). Misalnya F
max
= B. Maka, g(t) = (sin 2Bt)/2Bt,
yang juga dikenal sebagai fungsi sinc. Proses interpolasi dilakukan melalui:

x(t)= x
a
(n/F
s
) g(t-(n/F
s
) = x(n) g(t-nT) (2.16)
k= k=

Proses Kuantisasi
Proses kuantisasi mengubah sinyal continuous valued x(n) menjadi sinyal discrete valued x
q
(n)
yang digunakan untuk merepresentasikan x(n). Salah satu proses kuantisasi yang sering digunakan
berbentuk x
q
(n)= Q |x(n)|.

Kuantisasi ini menghasilkan kesalahan (error) kuantisasi sebesar e
q
(n)= x
q
(n)-x(n). Besar
kesalahan ini diilustrasikan pada Gambar berikut. Misalnya sinyal analog x
a
(t) ternyata memiliki
nilai antara 0.1 x
a
(t) 0.4. Sinyal ini disampling pada sebuah frekuensi sampling tertentu
menghasilkan x(n). Pada titik-titik sampling, nilai x(n) persis sama dengan x
a
(t). Namun ketika
dikuantisasi, maka hasilnya x
q
(n) memiliki perbedaan dengan x
q
(n) (dan x
a
(t) pada titik sampling)
sebesar eq(n). Hal ini disebabkan oleh adanya pembatasan nilai yang bisa dimiliki oleh x
q
(n).
Dalam contoh ini, x
q
(n) hanya diberi kesempatan untuk mempunyai satu dari L buah nilai dari
daftar yang terbatas {0.0, 0.1, 0.2, dst}. Nilai-nilai sebanyak L itu disebut sebagai level kuantisasi.
-


F
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
8 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Step kuantisasi () adalah selisih antara satu level dengan level terdekat berikutnya, yang dalam
contoh ini sebesar 0.1.










Gambar 2.9. Proses kuantisasi. = step kuantisasi (atau resolusi).

Ada dua cara untuk menentukan besarnya nilai untuk sebuah sampel: trunkasi atau pembulatan
(rounding). Seperti yang diperlihatkan pada Tabel 2.1., pada cara trunkasi, nilai x
q
(n) yang dipilih
untuk merepresentasikan x(n) adalah level terbesar yang bernilai x(n) . Pada cara pembulatan,
nilai x
q
(n) yang terpilih adalah level yang menghasilkan e
q
(n) terkecil.

Tabel 2.1 Nilai-nilai yang terjadi dalam proses kuantisasi pada contoh di atas.

Cara pemotonagn Cara pembulatan n x(n)
x
q
(n) | e
q
(n)| x
q
(n) | e
q
(n)|
0 0.40 0.40 0.00 0.40 0.00
1 0.34 0.30 0.04 0.30 0.04
2 0.30 0.30 0.00 0.30 0.00
3 0.26 0.20 0.06 0.30 0.04
4 0.22 0.20 0.02 0.20 0.02
5 0.19 0.10 0.09 0.20 0.01
6 0.18 0.10 0.08 0.20 0.02
7 0.15 0.10 0.05 0.20 0.05
8 0.14 0.10 0.04 0.10 0.04
Rata-rata 0.042 0.024

Cara trunkasi sebenarnya lebih sederhana, namun bisa berakibat kesalahan yang lebih besar, yaitu
e
q
(n)< . Untuk cara rounding, kita peroleh pembatasan kesalahan (error bound) yang lebih baik,
yakni e
q
(n) /2 . Pada contoh ini, cara trunkasi menghasilkan e
q
(n) rata-rata 0.042, sedangkan
cara pembulatan menghasilkan e
q
(n) rata-rata 0.024.

Kemudian muncul pertanyaan bagaimana cara menghitung jumlah bit minimal agar error
kuantisasi dapat dibatasi pada level tertentu. Mengapa kita ingin melakukan kuantisasi padahal hal
ini mengakibatkan kesalahan kuantisasi? Tidak lain karena kita ingin menghemat penggunaan
jumlah bit untuk merepresentasikan sampel-sampel sinyal. Apabila kita menyediakan b buah bit
untuk kebutuhan setiap sampel, maka tersedia L = 2
b
kemungkinan level untuk x
q
(n). Apabila step
kuantisasi adalah , maka kuantisasi ini memiliki daerah (range) kuantisasi sebesar ( 2
b
1).
(Pengurangan oleh angka satu disebabkan oleh kenyataan bahwa step kuantisasi yang pertama
membutuhkan dua level, sedangkan step berikutnya cukup dengan satu level). Daerah nilai yang
dicakup kuantisasi ini harus cukup lebar untuk bisa mencakup rentang dinamis (dynamic range)
dari sinyal, yang didefinisikan sebagai (max x(n) min x(n)). Dalam contoh di atas bisa dilihat
max x(n) = 4.0 sedangkan min x(n) = 0.14, sehingga rentang dinamisnya adalah 3.86.

0.0
0.1
0.2
0.3
0.4

Range
kuantisasi
x
q
(n)
x(n)
x
a
(n)
1 2 3 4 5 6
7 8
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
9 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Dalam praktek seringkali lebih penting untuk memperkecil kesalahan relatif daripada kesalahan
absolut. Untuk itu, dikenal besaran energi dari sinyal maupun kesalahan, yang didefinisikan
masing-masing sebagai

x
= | x(n)|
2
dan
e
= | e
q
(n)|
2
n n (2.17)
Misalnya sinyal x
1
(n) yang memiliki energi E
x1
= 10 dikuantisasi dengan energi kesalahan
E
1e
= 0.2. Sementara itu sinyal x
2
(n) yang memiliki enersi E
x2
= 1 dikuantisasi dengan kesalahan
energi E
e2
= 0.1. Sekilas sinyal x
1
(n) mengalami kerugian lebih besar daripada x
2
(n) akibat E
e1
>
E
e2
. Namun dalam situasi praktis impak negatif yang dialami x
2
(n) sebenarnya lebih besar daripada
yang dialami x
1
(n), karena E
e2
adalah 10% dari E
x2
, sedangkan E
1e
hanyalah 2% dari E
x1
. Oleh
sebab itu, besaran yang sering dipakai untuk melihat kualitas kuantisasi adalah adalah signal-to-
noise ratio (SNR), yang didefinisikan (dalam dB) sebagai

SNR = 10 log (E
x
/Ee) (2.18)

Jelaslah bahwa kita perlu mencari jumlah bit b yang optimal, artinya jumlah bit terkecil yang bisa
mencapai SNR yang dinginkan. Untuk jumlah bit yang tetap, SNR yang terbaik akan diperoleh
apabila rentang kuantisasi secara efektif mencakup rentang dinamis. Untuk sinyal yang nilainya
terdistribusi secara uniform, ini berarti rentang kuantisasi sama dengan rentang dinamis.


REPRESENTASI SINYAL WAKTU DISKRIT

SINYAL-SINYAL WAKTU DISKRIT

Sinyal analog akan ditulis selanjutnya dengan x
a
(t) dengan variabel t dapat mewakili
kuantitas fisis apa saja, tetapi akan kita asumsikan dia mewakili waktu dalam detik. Sinyal diskrit
akan dituliskan dengan x(n), dengan variabel n mewakili nilai bilangan bulat dan menunjukan
contoh waktu diskrit. Oleh karena itu disebut sinyal waktu diskrit, yang merupakan sejumlah
sekuen dan akan dituliskan dengan notasi berikut ini:

x(n) = {x(n)} = {. . . , x(-1), x(0), x(1), x} (2.19)

dengan panah atas menandakan sampel pada n = 0.

Pada MATLAB kita bisa mengungkapkan sekuen dengan durasi waktu tertentu melalui baris
vektor dengan nilai yang bersesuaian. Oleh karena itu ungkapan x(n) yang benar memerlukan dua
vektor, masing-masing untuk x dan n. Contoh suatu sekuen x(n) = {- 2, -1, 0,1, 4, 3, 7} dapat
diungkapkan dalam MATLAB sebagai

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

Umumnya kita hanya menggunakan ungkapan vektor x jika posisi sampel tidak diperlukan
atau jika informasi semacam tidak penting (contohnya jika sekuen dimulai pada n=0). Ungkapan
urutan waktu yang acak tidak dapat diungkapkan pada MATLAB oleh karena keterbatasan
memory.

TIPE-TIPE SEKUEN

Kita menggunakan beberapa sekuen dasar pada pengolahan sinyal untuk tujuan analisis.
Definisi dan ungkapannya pada MATLAB diberikan di bawah ini:

Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
10 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Unit sekuen sampel:

{ { } ,... 0 , 0 , 1 , 0 , 0 ..., ) (
0
0
, 1
, 0
= =

<
n
n
n u (2.20)

Pada MATLAB fungsi zeros (1,N) membuat N vektor baris yang bernilai nol, yang
digunakan untuk mengimplementasikan (n) pada suatu interval tertentu. Walau demikian cara
yang lebih baik mengungkapkannya (n) dengan logika Matlab n = = 0. Contoh
{
0
0
, 1
, 0 0
) (
=

=
n
n
n n
pada interval n
1
n
0
n
2
.

Unit Sekuen step:

{ { } ,... 1 , 1 , 1 , 0 , 0 ..., ) (
0
0
, 1
, 0
= =

<
n
n
n u
(2.21)

Pada MATLAB fungsi ones(1,N) membuat suatu N vektor baris yang bernilai satu. Ini bisa
digunakan untuk membuat u(n) pada suatu interval tertentu. Sekali lagi cara yang lebih elegan
untuk mengungkapkannya dengan logika Matlab n>=0. Untuk mengimplementasikan
{
0
0
, 1
, 0 0
) (

<
=
n
n
n n u
pada interval n
1
n
0
n
2.


Sekuen eksponesial bernilai bilangan riil

x(n) = a
n
, n ; a R (2.22)

Pada MATLAB suatu operator sekuen ".^"' diperlukan untuk suatu sekuen eksponensial
bernilai riil.

Sekuen eksponensial dengan nilai kompleks
x(n) = e
(+jo)n
, n (2.23)

dengan disebut suatu atenuasi atau redaman dan
0
adalah frekuensi dalam radian. Fungsi
MATLAB exp digunakan untuk membuat sekuen ini. Contohnya, untuk membuat
x(n) = exp [(2 + j3) n] , 0 n 10, kita menggunakan script MATLAB:

Sekuen Sinusoidal:
x(n) = cos(
o
n+), n ; (2.24)
dengan adalah fasa dalam radian. Fungsi MATLAB cos (atau sin) digunakan untuk membuat
sekuen sinus.

Sekuen Random :
Banyak sekuen yang kenyataannya tidak dapat diungkapkan dengan ekspresi matematika
seperti halnya di atas. Sekuen ini disebut sekuen random ( atau stochastic) dan dicirikan oleh
parameter-parameter yang berkaitan dengan fungsi-fungsi kerapatan probabilitas (probability
density functions) atau moments statistika.

Pada MATLAB terdapat dua jenis (pseudo) sekuen random. Fungsi MATLAB rand (1,N)
menghasilkan suatu sekuen N bilangan random yang elemennya terdistribusi secara seragam antara
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
11 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
[0,1]. Sedangkan fungsi randn(1,N) menghasilkan N sekuen random Gaussian dengan rata-rata
(mean) 0 dan varian 1. Sekuen random yang lainnya dapat dibuat dengan menggunakan
transformasi fungsi di atas.

Beberapa hal penting pada DSP

Terdapat beberapa hal penting pada teori sinyal waktu diskrit dan kita akan mendiskusikan dan
mencoba pada beberapa pemanfaatan yang penting pada DSP.

Pembuatan Unit Sampel
Sekuen x(n) acak dapat dibuat dengan penjumlahan bobot dengan penunda dan penyekalaan suatu
sekuen unit sampel seperti

=
=
k
k n k x n x ) ( ) ( ) ( (2.25)
kita akan guanakan fungsi ini pada bagian selanjutnya.

Pembuatan Komponen Genap dan Ganjil
Suatu sekuen x
e
(n) disebut genap(simetris) jika
x
e
(-n) = x
e
(n) (2.26)
dan disebut ganjil (antisimetris) jika
x
o
(-n) = -x
o
(n)

Setiap sekuen bernilai riil acak (n) dapat dikomposisi ulang menjadi komponen genap dan
ganjilnya.
x(n) = x
e
(n) + x
o
(n) (2.27)
dengan bagian genap dan ganjilnya diberikan masing-masing oleh:
| | | | ) ( ) (
2
1
) ( ) ( ) (
2
1
) (
0
n x n x n x and n x n x n x
e
= + =
(2.28)
(catatan: indek e untuk even dan o untuk odd)

Kita akan menggunakan komposisi ulang ini dalam mempelajari sifat-sifat transformasi Fourier.
Lihat Latihan untuk fungsi gnapgnjil(x,n)



Gambar 2.10


Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
12 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
( )

= d e j X t x
t j
a a
2
1
) (
Korelasi suatu sekuen
Korelasi adalah suatu operasi yang digunakan pada berbagai Aplikasi pengolahan sinyal digital.
Ini adalah ukuran derajat bahwa dua buah sekuen itu sama. Diberikan dua buah sekuen bernilai riil
x(n) dan y(n) pada energi yang terbatas, korelasi dari x(n) dan y(n) adalah sebuah sekuen r
xy
(l)
yang didefinisikan sebagai:

=
=
n
y x
l n y n x l ) ( ) ( ) (
,

(2.29)
Indek l disebut parameter pergeseran atau ketertinggalan (lag). Kasus khusus pada persamaan
(2.28) terjadi ketika y(n) = x(n) disebut sebagai korelasi diri atau lebih popular dengan sebutan
autocorrelation yang didefinisikan sebagai:

=
=
n
xx
l n x n x l ) ( ) ( ) (
(2.30)
Besaran ini akan memberikan ukuran dari kemiripan diri antara sekuen yang mempunyai poros
yang berbeda.

Jika kita bandingkan operasi konvolusi persamaan (2.11) dengan crosscorrelation yang
didefinisika pada persamaan (2.6), kita amati mempunyai suatu kesamaan. Crosscorrelation r
yx
(l)
dapat dibuat dalam bentuk
r
yx
(l) = y(l) *x(-l) (2.31)
dengan autocorrelation r
xx
(l) dalam bentuk
r
xx
(l) = x(l) *x(-l) (2.32)
Oleh karena itu korelasi ini dapat dihitung menggunakan fungsi conv jika sekuen mempunyai
durasi tertentu.


SAMPLING DAN REKONSTRUKSI DARI SINYAL ANALOG

Pada banyak aplikasi seperti misalnya pada dunia komunikasi digital, sinyal analog dikonversi
menjadi sinyal diskrit meggunakan operasi sampling dan kuantisasi (secara menyeluruh disebut
analog-to-digital conversion atau ADC). Sinyal diskrit ini diproses lebih lanjut oleh digital
signal processor , dan sinyal yang diteruskan dikonversi menjadi analog menggunakan operasi
rekonstruksi (disebut signal digital-to-analog conversion atau DAC). Menggunakan analisis
fourier untuk menmggambarkan operasi sampling dari sudut pandang domain frekuensi,
menganalisa efeknya, dan melakukan operasi rekonstruksi. Kita juga mengasumsikan bahwa
jumlah level kuantisasi cukup besar sehingga efek kuantisasi untuk menggambarkan sinyal dapat
diabaikan.

SAMPLING
Misalkan x
a
(t) adalah sinyal analog (benar dapat diintegrasi ). Continous-time fourier transform-
nya (CTFT) diberikan oleh :


(2.33)

dengan adalah frekuensi analog dalam radian/detik. Inverse continous time fourier transform-
nya diberikan oleh:

(2.34)


Sekarang kita sampel x
a
(t) pada interval sampling selama Ts detik untuk medapatkan sinyal
waktu diskrit x(n).

= dt e t x j X
t j
a a
) ( ) (
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
13 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation

=
(

|
|
.
|

\
|
=
l s s
a
s
j
l
T T
j X
T
e X

2 1
) (
s
s
T
F
1
=
( )

= d e j X t x
t j
a a
2
1
) (
( )
s a
nT x n x

= ) (




Katakan X(e
j
) adalah transformasi fourier waktu diskrit (DTFT) dari x(n). Kemudian
selanjutnya ditunjukkan bahwa X(e
j
) suatu penjumlahan amplitudo terskala, frekuensi terskala,
dan versi translasi dari transformasi fourier X
a
(j) .

(2.35)

Hubungan di atas dikenal sebagai formula aliasing. Frekuensi analog dan digital dihubungkan
melalui Ts
= Ts (2.36)

sementara frekuensi sampling Fs diberikan oleh

sampel/detik (2.37)


































Gambar 2.11 Operasi sampling dalam domain waktu dan frekuensi
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
14 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Ilustrasi grafik dari (2.35) ditunjukkan pada Gambar 2.11 yang kita amati, secara umum bahwa
sinyal diskrit adalah versi alias-nya dari sinyal analog yang bersangkutan karena frekuensi-
frekuensi yang lebih tinggi dialiaskan menjadi frekuensi yang lebih rendah jika terdapat overlap.
Walau demikian, memungkinkan untuk memperoleh kembali transformasi fourier X
a
(j) dari
X(e
j
) (atau dengan kata lain, sinyal analog x
a
(t) dari sampel x(n)) jika tak terhingga replikasi
atau tiruan dari X
a
(j) tidak overlap dengan satu sama lain untuk membentuk X(e
j
). Ini benar
untuk sinyal-sinyal analog pita terbatas.

Sinyal Pita Terbatas
Suatu sinyal merupakan pita terbatas jika terdapat suatu frekuenasi radian tertentu o
sedemikian sehingga X
a
(j) adalah nol untuk || > o. Frekuensi Fo = o/2 yang disebut
lebar pita sinyal dalam Hz.

Mengacu pada Gambar 3.10, jika > 0, Ts-atau ekivalennya, Fs,/2 > F0, maka

X(e
j
) = ; (2.38)


yang menuntun kita ke teori sampling untuk sinyal-sinyal terbatas.

Prinsip Sampling
Suatu sinyal pita terbatas x
a
(t) dengan lebar pita Fo dapat direkonstruksi dari nilai sampel-
sampelnya jika frekuensi samplingnya Fs = 1/T lebih besar dar dua kali lebar pita Fo dari x
a
(t).

Fs > 2Fo
Jika tidak kita akan menghasilkan aliasing dalam x(n). Kecepatan sampling atau sering disebut
sampling rate dari 2Fo untuk sinyal analog pita terbatas disebut Nyquist rate.

Perlu dicatat bahwa sesudah x
a
(t) tersampel, frekuensi analog yang diwakili x(n) adalah Fs/2 Hz
(atau = ). Ini cocok dengan implikasi yang dinyatakan pada sifat ke-2 dari discrete-time
Fourier transform pada sub bahasan pertama modul ini.


REKONSTRUKSI

Dari teorema sampling dan contoh di atas, jelas bahwa jika kita sampel pita terbatas x
a
(t) di atas
nyquist rate-nya, maka kita tidak dapat merekonstruksi x
a
(t) dari sampel x(n)-nya. Rekonstruksi
ini dapat dianggap sebagi dua langkah proses:
Pertama, sampel dikonversi menjadi deretan bobot impuls.

=
+ + + + =
n
s s s
T n x T n x nT t n x ... ) ( ) 0 ( ) ( ) 1 ( ... ) ( ) (


Lalu deretan impuls difilter melalui suatu ideal filter analog lowpass pada pita terbatas
pada interval [-Fs/2 , Fs/2].

x(n) x
a
(t)


Gambar 2.11


Konversi deretan
impuls
lowpass
filter ideal
|
|
.
|

\
|
s s
T
j X
T
1
s s s
T T T

<
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
15 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Dua langkah ini dapat digambarkan secara matematik menggunakan suatu formula interpolasi.



(2.39)

dengan sinc(x) = adalah fungsi interpolasi. Intepretasi fisis dari rekonstruksi

(2.39) di atas diberikan oleh Gambar 2.12, yang kita dapat amati bahwa itu merupakan suatu
interpolasi yang ideal yang secara praktis tidak mudah dilakukan karena keseluruhan sistem
adalah noncausal sehinga tidak dapat diandalkan.





































Gambar 2.12. Rekonstruksi sinyal pita terbatas dari sampel


x
x

sin
)] ( [ sin ) ( ) (
s s
n
a
nT t F c n x t x =

=
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
16 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
D/A converters praktis

Pada praktiknya kita memerlukan suatu pendekatan berbeda dengan (2.39). Dua langkah
prosedur masih dapat dilakukan, tapi sekarang kita tukar dengan filter lowpass ideal dengan
suatu filter analog lowpass praktis. Intepretasi lain dari (2.39) adalah bahwa ini merupakan
interpolasi orde tak terbatas. Kita menginginkan interpolasi orde terbatas (pada kenyataannya
orde rendah). Terdapat beberapa pendekatan untuk melakukan ini.
Interpolasi Zero-order-hold (ZOH): pada interpolasi ini, untuk nilai sampel yang
diberikan ditahan selama interval sampel sampai sampel berikutnya diterima.

, nTs n < (n+1)Ts

Kita dapat menentukan dengan memfilter deretan impuls melalui suatu filter interpolasi
dalam bentuk

, 1
{
= ) (
0
t h
, 0
s
T t 0
yang
lainnya
yang merupakan suatu pulsa kotak. Sinyal yang dihasilkan merupakan bentuk
gelombang potongan gelombang konstan (tangga) yang memerlukan pendekatan desain
post-filter analog untuk akurasi rekonstruksi bentuk gelombang.

x(n) x
a
(t) x
a
(t)


Interpolasi First-order-hold (FOH): Pada kasus ini pengaturan sampel digabungkan oleh
garis lurus. Ini dapat dilakukan dengan melalui pemfilteran deretan impulse
{
, 1
T
t
+
, 1
T
t

= ) (
0
t h
, 0
s
T t 0
yang
lainnya
s s
T t T 2

Lagi-lagi suatu pendekatan desain post filter analog dibutuhkan untuk akurasi rekonstruksi.
Interpolasi ini dapat diperluas pada orde yang lebih tinggi.
















Post-Filter ZOH
) ( ) ( n x t x
a
=
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
17 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
LATIHAN MODUL 2

DASAR PENGOLAHAN SINYAL DIGITAL:
REPRESENTASI SINYAL DAN SINYAL WAKTU DISKRIT

KONSEP FREKUENSI UNTUK SINYAL WAKTU DISKRIT DAN SINYAL WAKTU KONTINU

LATIHAN 1

Gambar gelombang x
a
(t) = A cos (2 t + ) menggunakan Matlab.

Jawab:
Script Matlab untuk menghasilkan gelombang ini adalah:
t=[-pi/2:0.001:pi/2];
x=2*cos(2*pi*t);
plot(x);

LATIHAN 2
Plot Gelombang dari sinyal x
a
(n) = A cos (2f n +).

Jawab :
Script Matlab untuk menggambarkan gelombang ini adalah:
t=[-pi/2:0.05:pi/2];
x=2*cos(2*pi*t);
stem(x);

PROSES SAMPLING WAKTU KONTINU MENJADI WAKTU DISKRIT

LATIHAN 3
Tunjukkan proses sampling waktu kontinu menjadi diskrit dengan bantuan fungsi Matlab stem

Jawab :
t=[-pi/2:0.01:pi/2];
x=cos(2*pi*t);
subplot(1,2,1),plot(x)
t=[-pi/2:0.08:pi/2];
x=cos(2*pi*t);
subplot(1,2,2),stem(x)

LATIHAN 4
Samplinglah sinyal x
a
(t)=Acos(2Ft+ ) menjadi sinyal x(n) dengan sampling frekuensi F
s
,
kemudian carilah hubungan antara frekuensi dari sinyal x
a
(t) dengan frekuensi dari sinyal x(n).

Jawab :
x(n)=x
a
(t)|
t =nT
= Acos (2FnT+)=Acos((2Fn)/F
s
)+)=Acos((2Fn)/F
s
) +)|
f=F/Fs

dengan =2f = 2 F/F
s
=/F
s
=.
Jadi sinyal x(n) yang dihasilkan memiliki frekuensi yang proporsional terhadap frekuensi dari
sinyal x
a
(t). Namun kita perlu ingat bahwa meskipun < F < dan < < , akan tetapi ada
keterbatasan < f < dan < < . Oleh sebab itu agar rumus T = di atas bisa berlaku
maka harus berlaku pembatasan:
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
18 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
-1/2T= -F
s
/2 F F
s
/2 =1/2T, sehingga F
max
= F
s
/2
Atau dengan cara yang sama,
/=F
s
F
s
= / , sehingga
max
= F
s


LATIHAN 5
Diketahui sinyal analog x
a
(t)=3 cos 50t +10sin 300t + cos100t . Berapa Nyquist rate-nya?

Jawab :
Perhatikan:
xa(t) = 3 cos 50t + 10 sin 300t - cos 100t
F1 = 25 F2 = 150 F
3
= 50
Jadi sinyal ini memiliki tiga frekuensi, yaitu F
1
= 25 Hz, F
2
= 150 Hz, dan F
3
= 50 Hz. Jadi
Nyquist rate = 2Fmax = 2150Hz = 300 Hz.


LATIHAN 6
Misalkan x
1
(t)=cos 210t dan x
2
(t)=cos 250t. Samplinglah kedua sinyal ini menjadi x
1
(n) dan
x
2
(n) dengan F
s
= 40 Hz, dan bandingkan hasilnya.

Jawab:
F
s
=40Hz T = 1/40, maka
x
1
(n)=x
1
(t)|
t=nT
= cos 210nT =cos 2n(10/40)=cos n/2
dan
x
2
(n)=x
2
(t)|
t=nT
= cos 2(50/40)n =cos(2)(1+(10/40))n = cos2n(10/40)=cos n/2

Perhatikan bahwa ternyata x
1
(n)=x
2
(n)! Dapat disimpulkan untuk F
1
= 40 Hz, sinyal F
2
= 50 Hz
adalah alias dari F1= 10 Hz. Demikian juga Fk = 10 + Fsk
Listing Matlabnya adalah sebagai berikut :

Fs=40;
T=1/Fs;
t = [-pi/2 :0.02:pi/2];
x1 = cos(2*pi*10*t);
subplot(3,1,1),plot(x1);
%
t = [-pi/2 :T:pi/2];
x2 = cos(2*pi*10*t);
subplot(3,1,2),plot(x2);
%
t=[-pi/2:T:pi/2];
x3=cos(2*pi*50*t);
subplot(3,1,3),plot(x3);









Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
19 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
FAST FOURIER TRANSFORM (FFT)

fft(x) adalah fungsi pada Matlab yang digunakan utuk menghitung kandungan frekuensi suatu
sinyal x dan mengembalikan nilainya dalam vektor yang berukuran sama dengan x.
fft(x,N) adalah fungsi pada Matlab yang digunakan utuk menghitung kandungan frekuensi suatu
sinyal x dan mengembalikan nilai-nilainnya dalam vektor sejumlah N.


LATIHAN 7
Membuat sinyal sinusoid domain waktu yang berisikan 64 sampel dengan frekuensi 20 Hz
disampling pada 128 Hz

Jawab :
N=64;
T=1/128;
k=0:N-1;
x=sin(2*pi*20*k*T);
plot(x);
xlabel('kT detik');ylabel('x(kT)');
title(' Sinusoid 20 Hz ');

LATIHAN 8
Kita ingin mengetahui kandungan frekuensi sinyal x ini pada domain frekuensi, tentu saja kita
berharap hasilnya adalah 20 Hz dan nol pada titik yang lain. Untuk menentukan X
k
dengan
kenaikan frekuensi 1/(NT) atau 2 Hz. Sehingga komponen 20 Hz harus tampil pada X
10
.

Jawab :
N=64;
T=1/128;
k=0:N-1;
x=sin(2*pi*20*k*T);
X=fft(x);
magX=abs(X)
stem(k(1:N/2),magX(1:N/2));
title(' Besaran X(k)');
xlabel('k');ylabel('abs(x(kT))'), grid

LATIHAN 9
Tampilkan sumbu x dalam skala Hz daripada indeks k. Berikut perintah untuk menampilkan
dalam skala Hz .

Jawab :
% Plot kandungan frekuensi sebagai fungsi Hz
clear all
N = 64;
T = 1/128;
k = 0:N-1;
hertz = k*(1/(N*T));
x = sin(2*pi*20*k*T);
X = fft(x);
magX = abs(X)
stem(hertz(1:N/2), magX(1:N/2));
title(' Besaran X(k)');
xlabel('Hz'); ylabel('abs(x(kT))'), grid


Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
20 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
LATIHAN 10
Misalnya kita menggunakan sinyal sinusoid dengan frekuensi 19 Hz dari pada 20 Hz. Karena
kenaikan Hz diantara nilai X
k
adalah 2 Hz (atau Fs/N), sedangkan sinusoid ini harus tampil pada
X
9,5
. Akan tetapi nilai k adalah bilangan bulat, sehingga tidak ada nilai X
9,5
. Pada situasi seperti ini,
sinusoid akan muncul pada nilai dengan indek X
k
yang terdekat. Untuk contoh ini akan tampil
pada X
9
an X
10
yang masing-masing menyatakan pada 18 Hz dan 20 Hz

Jawab :
N = 64;
T = 1/128;
k = 0:N-1;
hertz = k*(1/(N*T));
x = sin(2*pi*19*k*T);
X = fft(x);
magX = abs(X)
stem(hertz(1:N/2), magX(1:N/2));
title(' Besaran X(k)');
xlabel('Hz'); ylabel('abs(x(kT))'), grid

LATIHAN 11
Program berikut ini mempunyai resolusi 1 Hz, coba jalankan program berikut dan tunjukkan
kenapa tidak mampu menampilkan resolusi yang baik?

Jawab :
N = 128;
T = 1/128;
k = 0:N-1;
hertz = k*(1/(N*T));
x = sin(2*pi*19*k*T)+ sin(2*pi*20*k*T)
X = fft(x);
magX = abs(X)
plot(hertz(1:N/2), magX(1:N/2));
title(' Besaran X(k)');
xlabel('Hz'); ylabel('abs(x(kT))'), grid

LATIHAN 12
Diketahui sinyal analog x
a
(t) = 3 cos 100 t.
a. Plot grafik x
a
(t) tersebut dan cari frekuensi sampling minimum untuk menghindari aliasing
secara analitik dan plotkan hasilnya!
b. Jika Fs = 200 Hz, bagaimana bentuk fungsi x(n), kemudian plot hasilnya?
c. Jika Fs = 75 Hz, bagaimana bentuk fungsi x(n), kemudian plot hasilnya?

Jawab:
% sinyal xa(t)= 3*cos(100*pi*t)
% bedanya disampling dengan Fs= 200 dan 75 Hz
clear all
t = [-pi/2:0.05:pi/2];
xa = 3*cos(2*50*pi*t)
subplot(3,2,1),plot(xa)
title('sinyal asli')

% sampling sinyal analog dengan frek. 200 Hz
Fs = 200
N1 = 200;
T1 = 1/Fs;
k1 = 0:N1-1;
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
21 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
hertz = k1*(1/(N1*T1));
xa = 3*cos(2*pi*50*k1*T1);
subplot(3,2,3),stem(xa);
title('sinyal asli disampling 200 Hz')
y1= fft(xa)
magY1 = abs(y1).*2/N1;
subplot(3,2,4),stem(hertz(1:N1/2),magY1(1:N1/2));
title('spektrum sinyal disampling 200 Hz')
% sampling sinyal analog dengan frek. 75 Hz
N2 = 75
Fs2 = 75
T2 = 1/Fs2
k2 = 0:N2-1;
xa = 3*cos(2*pi*50*k2*T2);
subplot(3,2,5),stem(xa)
title('sinyal asli disampling 75 Hz')
hertz = k2*(1/(N2*T2));
y2 = fft(xa)
magY2 = abs(y2).*2/N2;
subplot(3,2,6), stem(hertz(1:N2/2), magY2(1:N2/2));
title('spektrum sinyal asli disampling 75 Hz')


LATIHAN 13
Diketahui sinyal analog
x
a
(t) = 3 cos 2000t + 5 sin 6000t + 10 cos 12000t
buatlah Matlab Script untuk Plot x
a
(t)dan spektrumnya ?
Jawab:
% memilih Nyquist rate yang tepat
clear all
% sampling sinyal analog dengan frek. 200 Hz
Fs = 12000
N1 = 1000;
T1 = 1/Fs;
k1 = 0:N1-1;
hertz = k1*(1/(N1*T1));
xa = 3*cos(2*pi*1000*k1*T1)+5*sin(2*pi*3000*k1*N1)
+10*cos(2*6000*pi*k1*N1)
subplot(2,1,1),plot(xa);
title('sinyal disampling 200 Hz')
y1 = fft(xa)
magY1 = abs(y1).*2/N1;
subplot(2,1,2), plot(hertz(1:N1/2), magY1(1:N1/2));
title('spektrum sinyal disampling 200 Hz')

IFFT (INVERSE FOURIER TRANSFORM)

ifft(x) menghitung sinyal domain waktu x dari nilai-nilai frekuensi x dan mengembalikannya
kedalam vektor yang berukuran sama dengan x.
ifft(x,N) menghitung sinyal domain waktu x dari nilai frekuensi x dan mengembalikan nilai-
nilainnya dalam vektor sejumlah N.

LATIHAN 14
Menghitung perbedaan antara x dan ifft(fft(x)))

Jawab :
clear all
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
22 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
% menghitung perbedaaan antara x dan ifft(fft(x)))
N = 128;
T = 1/128;
k = 0:N-1;
x = sin(2*pi*19*k*T);
X = fft(x);
y = ifft(X)
Y= fft(y)
magY = abs(Y)
magX = abs(X)
% plot x domain waktu
subplot(2,2,1), plot(x)
xlabel('kT detik'); ylabel('x(kT)');
title(' Sinusoid 19 Hz ');
% plot kandungan frekuensi sinyal x
hertz = k*(1/(N*T));
subplot(2,2,3), stem(hertz(1:N/2), magX(1:N/2));
title(' Besaran X(k)');
xlabel('Hz'); ylabel('abs(x(f))'), grid
% plot y-ifft(X) = ifft(fft(x)domain waktu
magX = abs(Y)
subplot(2,2,2), plot(x)
xlabel('kT detik'); ylabel('x(kT)');
title(' Sinusoid 19 Hz hasil ifft ');
% plot y domain frekuensi
hertz = k*(1/(N*T));
subplot(2,2,4), stem(hertz(1:N/2), magX(1:N/2));
title(' Besaran X(k) hasil ifft');
xlabel('Hz'); ylabel('abs(x(f))'), grid
% menghitung perbedaaan antara x dan ifft(fft(x)))
delta = sum(x-ifft(fft(x)));

pada comand window ketikkan
delta
delta =
-3.3307e-016

Nilai delta yang tercetak adalah delta =-3.3307e-016 atau bisa dikatan nol. Algoritma FFT benar-
benar ampuh sebagai tool untuk analisis sinyal digital. Jangan lupa bahwa informasi penting juga
terkandung dalam fasa dari F
k
.

Berikut untuk latihan selanjutnya dengan menggunakan program yang sama:
Buatlah dan plot 128 titik sinyal di bawah dengan menggunakan sampling 1kHz. Kemudian
gunakan algoritma FFT untuk membuat dan plot 64 point yang pertama dari keluaran fungsi fft.
Gunakan skala Hz pada sumbu x. Buktikan bahwa puncaknya terletak pada titik yang diharapkan?
1. f
k
=2 sin (250kT)
2. g
k
= cos (250kT)- cos (200kT)
3. h
k
= 5- cos (1000kT)
4. m
k
= 4 sin (250kT- /4)

Contoh Jawaban No 1:
N = 128;
T = 1/1000;
k = 0:N-1;
hertz = k*(1/(N*T));
x = 2*sin(2*pi*50*k*T);
X = fft(x);
magX = abs(X)
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
23 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
subplot(2,1,1), stem(k(1:N/2), magX(1:N/2));
title(' Besaran X(k)');
xlabel('k'); ylabel('abs(x(kT))'), grid
subplot(2,1,2),stem(hertz(1:N/2),magX(1:N/2));
title(' Besaran X(k)');
xlabel('Hz');ylabel('abs(x(kT))'), grid


JENIS -JENIS SEKUEN
Latihan membuat fungsi dalam Matlab untuk berbagai jenis sekuen yang bermanfaat pada
DSP
SEKUEN SAMPEL
% Fungsi impseq.m
%
function [x,n] = impseq(n0,n1,n2)
%Menghasilkan x(n)= delta(n-n0); n1 <= n <= n2
% --------------------------------------------
%[x,n] = impseq(n0,n1,n2)
%
n = [n1:n2]; x = [(n-n0) == 0];
SEKUEN STEP
% Fungsi stepseq.m
%
function [x,n] = stepseq(n0,n1,n2)
% Menghasilkan x(n) = u(n-n0); n1 <= n <= n2
%--------------------------------------------
% [x,n] = stepseq(n0,n1,n2)
%
n = [n1:n2]; x = [(n-n0) >= 0];

PENJUMLAHAN SAMPEL
Penjumlahan sampel demi sampel diberikan oleh ungkapan berikut:
{x
1
(n)} + {x
2
(n)} = {x
1
(n) + x
2
(n)}

% Fungsi sigadd.m
%
function [y,n] = sigadd(x1,n1,x2,n2)
% membuat y(n) = x1(n)+x2(n)
%---------------------------------------
% [y,n] = sigadd(x1,n1,x2,n2)
% y = jumlah sekuen sebanyak n, yang meliputi n1 dan n2
% x1 = sekuen pertama sebanyak n1
% x2 = sekuen ke dua sebanyak n2 (n2 dapat berbeda dengan n1)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % durasi dari y(n)
y1=zeros(1,length(n)); y2=y1; % inisialisasi
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 dengan durasi y
y2(find((n>= min(n2))&(n<=max(n2))==1))=x2; % x2 dengan durasi y
y = y1+y2; % penjumlahan sekuen

PERKALIAN SINYAL:
Operasi ini adalah sampel demi sampel ( atau perkalian titik ) yang diberikan oleh:
{x1(n)} {x2(n)} = {x1(n)x2(n)}
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
24 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Ini dilakukan dalam MATLAB dengan menggunakan operator sekuen ". *". Lagi-lagi kita harus
memberikan batasan yang sama untuk operator .* sebagaimana operator +. Oleh karena itu kita
harus membuat fungsi sigmult, yang mempunyai fungsi yang sama dengan sigadd.

%Fungsi sigmult.m
%
function [y,n] = sigmult(x1,n1,x2,n2)
% membuat y(n) = x1(n)*x2(n)
% [y,n] = sigmult(x1,n1,x2,n2)
% y = perkalian sekuen sepanjang n, yang meliputi n1 dan n2
% x1 = sekuen pertama sepanjang n1
% x2 = sekuen ke dua sepanjang n2 (n2 boleh berbeda dengan n1)
n = min(min(n1),min(n2)):max(max(n1),max(n2));% durasi y(n)
y1 = zeros(1,length(n)); y2 = y1; % inisialisasi
y1(find((n>=min(nl))&(n<=max(n1))==1))=x1; % x1 dengan durasi y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 dengan durasi y
y = y1 .* y2; % perkalian sekuen

PENGGESERAN :
Pada operasi ini setiap sampel x(n) digeser sejauh k untuk mendapatkan sekuen yang
tergeser y(n).
y(n) = {x(n - k)}
Jika kita memisalkan m = n - k, maka n = m + k dan operasi di atas diberikan oleh
y (m + k) = {x(m)}
Oleh karena itu operasi ini tidak mempunyai akibat pada vektor x, tetapi vektor n akan berubah
dengan bertambahnya sejumlah k pada tiap elemen. Operasi ini menggunakan fungsi sigshift.

% Fungsi sigshift.m
%
function [y,n] = sigshift(x,m,n0)
% membuat y(n) = x(n-n0)
%--------------------------
%[y,n] = sigshift(x,m,n0)
%
n = m+n0; y = x:

FOLDING:
Pada operasi ini setiap sampel dari (n) ditukar pada sekitar n = o untuk mendapatkan sekuen
yang terlipat y(n).
y(n) = {x(-n)}
Pada MATLAB operasi ini diimplementasikan dengan fungsi fliplr(x) untuk sampel nilai dan -
fliplr(n) untuk sampel posisi seperti pada fungsi sigfold.

% Fungsi sigfold.m
%
function [y,n] = sigfold(x,n)
% Membuat y(n) = x(-n)
% ---------------------
% [y,n] = sigfold(x,n)
%
y = fliplr(x); n = -fliplr(n);

SUMASI SAMPEL:
Operasi ini berbeda dari penjumlahan sinyal. Ini menambahkan semua nilai sampel dari
antara n
1
dan n
2
.
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
25 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation

=
+ + =
2
1
) ( ... ) ( ) (
2 1
n
n n
n x n x n x

Ini dapat dijalankan dengan fungsi sum(x(n1:n2)).
SAMPEL PRODUCTS:
Operasi ini juga berbeda dari operasi perkalian. Operasi ini mengalikan seluruh nilai sampel x(n)
antara n
l
dan n
2
.

=
2
1
) ( ... ) ( ) (
2 1
n
n
n x x x n x n x

Ini dapat dilakukan dengan fungsi prod(x(n1:n2)).
ENERGI SINYAL
Energi dari sekuen x(n) diberikan oleh


= =
2
) ( ) ( * ) ( n x n x n x
x


dengan indek atas * menandakan operasi konjugat komplek. Energi pada sekuen x(n) dengan
waktu terbatas dapat dihitung pada MATLAB menggunakan
Ex = sum(x .* conj(x));
Ex = sum(abs(x) .^ 2); % alternatif

POWER(DAYA) SINYAL:
Rata-rata daya suatu sekuen periodic dengan perioda dasar N diberikan oleh

=
1
0
2
) (
1
N
x
n x
N
P

Menggunakan operasi MATLAB yang telah didiskusikan selama ini kita bisa membuat fungsi
gnapgnjil sebagai berikut.

% Fungsi gnapgnjil.m
%
function [xe, xo, m] = gnapgnjil(x,n)
%Sinyal riil dikomposisi ulang menjadi bagian genap dan ganjil
%-------------------------------------------------------------
% [xe, xo, m] = gnapgnjil(x,n)
%
if any(imag(x) ~= 0)
erroz('x tidak merupakan sekuen riil')
end
m = -fliplr(n);
m1 = min([m,n]); m2 = max([m,n]); m = m1:m2;
nm = n(1)-m(1); n1 = 1:length(n);
x1 = zeros(1,length(m));
x1(n1+nm) = x; x =x1;
xe = 0.5*(x + fliplr(x));
xo = 0.5*(x - fliplr(x));

LATIHAN-LATIHAN UNTUK OPERASI SEKUEN :

LATIHAN 15
Membuat x(n) = exp [(2 + j3) n] , 0 n 10, menggunakan script MATLAB:
n = [0:10]; x = exp((2+3j)*n); plot(n,x);

Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
26 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
LATIHAN 16
Membuat x(n) = 3 cos(0.ln+/3) +2 sin(0.5n), 0 n 10, menggunakan script MATLAB
berikut ini :
n = [0:10]; x = 3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n); plot(n,x)

LATIHAN 17
Misalkan x(n) = u(n) - u(n - 10). Komposisi ulang x(n) menjadi komponen genap dan ganjil?
Sekuen x(n) yang tidak mempunyai nilai nol sepanjang 0 n 9, ini disebut pulsa kotak. Kita
akan menggunakan MATLAB mencari dan memplot bagian genap dan ganjil.

Jawab :
n = [0:10]; x = stepseq(0,0,10)-stepseq(10,0,10);
[xe,xo,m] = gnapgnjil(x,n);
figure(1); clf
subplot(2,2,1); stem(n,x); title('Pulsa Rectanguler')
xlabel(n); ylabel(x(n)); axis([-10,10,0,1.2])
subplot(2,2,2);stem(m,xe);title(bagian genap);
xlabel(n); ylabel(xe(n)); axis([-10,10,0,1.2])
subplot(2,2,4);stem(m,xo);title(bagian ganjil);
xlabel(n); ylabel(xe(n)); axis([-10,10,-0.6,0.6])

LATIHAN 18
Buat dan plot sekuen berikut ini pada interval yang ditentukan
a. x (n) = 2(n + 2) - (n - 4), -5 n 5.
b. x(n) = n [u(n) - u(n - 10)] + 10e-0.3(n-10) [u(n - 10) - u(n - 20)] , 0 n 20.
c. x(n) = cos(0.04n) + 0.2(n), 0 n 50, dengan (n) adalah sekuen randomis Gausian
dengan rata-rata nol(zero mean) dan satuan varian.
d.
x
(n) = {..., 5, 4, 3, 2, 1, 5, 4, 3, 2, 1, 5, 4, 3, 2, 1, ...}; -10 n 9.

Jawab:
a. x (n) = 2(n + 2) - (n - 4), -5 n 5.
n = [-5:5];
x = 2*impseq(-2,-5,5) - impseq(4,-5,5);
stem(n,x); title('Sekuen pada latihan 18.a')
xlabel('n'): ylabel('x(n)');
Simbol .* menandakan operasi pemrosesan sinyal digital.
b. x(n) = n [u(n) - u(n - 10)] + 10e-0.3(n-10) [u(n - 10) - u(n - 20)] , 0 n 20.
n = [0:20];
x1 = n.*(stepseq(0,0,20)-stepseq(10,0,20));
x2 = 10*exp(-0.3*(n-10))
.*(stepseq(10,0,20)-stepseq(20,0,20));
x = x1+x2;
subplot(2,2,3);stem(n,x); title(Sekuen pada latihan 18.b)
xlabel(n); ylabel(x(n));

c. x(n) = cos(0.04n) + 0.2(n), 0 n 50, dengan (n) adalah sekuen randomis Gausian dengan
rata-rata nol(zero mean) dan satuan varian.
n = [0:50];
x=cos(0.04*pi*n)+0.2*randn(size(n));
subplot(2,2,2); stem(n,x); title(Sekuen pada latihan 18.c);
xlabel(n); ylabel(x(n));
d.
x
(n) = {..., 5, 4, 3, 2, 1, 5, 4, 3, 2, 1. 5, 4, 3, 2, 1, ... }; -10 n 9.
n = [-10:9]; x = [5,4,3,2,1];
xtilde = x' * ones(1,4);
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
27 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
xtilde = (xtilde(:))';
subplot(2,2,4);stem(n,xtilde);title('Sekuen pada latihan 18.d')
xlabel('n'); ylabel('xtilde(n)');

LATIHAN 19
Misalkan x (n) = { 1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1 }. Jelaskan dan plot sekuen berikut:
a. x1 (n) = 2x(n - 5) 3x (n + 4)
b. x2(n) = x(3-n) + x(n)x(n-2)

Jawab :
n = -2:10; x = [1:7,6:-1:1]; % akan menghasilkan x(n)
a. x1(n) = 2x(n - 5) 3x (n + 4).
[x11,n11] = sigshift(x,n,5); [x12,n12] = sigshift(x,n,-4);
[x1,n1] = sigadd(2*x11,n11,-3*x12,n12);
subplot(2,1,1);stem(n1,x1);title('Sekuen pada Percobaan 19.a)
xlabel('n'); ylabel('x1(n)');

b. x2(n) = x(3 - n) + x(n) x(n - 2).
[x21,n21] = sigfold(x,n); [x21,n21] = sigshift(x21,n21,3);
[x22,n22] = sigshift(x,n,2); [x22,n22] = sigmult(x,n,x22,n22);
[x2,n2] = sigadd(x21,n21,x22,n22);
subplot(2,1,2); stem(n2,x2); title('Sekuen pada latihan 19.b')
xlabel('n'): ylabel('x2(n)');

LATIHAN 20
Buatlah sinyal bernilai kompleks berikut
10 10 , ) (
) 3 . 0 1 . 0 (
=
+
n e n x
n j

dan plot besarnya, fasa, bagian riil dan bagian imaginer menjadi empat bagian subplot secara
terpisah.
Jawab :
n = [-10:1:10]; alpha = -0.1+0.3j;
x = exp(alpha*n);
subplot(2,2,1); stem(n,riil(x));
title(Bagian Riil);xlabel(n)
subplot(2,2,2); stem(n,imag(x));
title(Bagian Imaginer);xlabel(n)
subplot(2,2,3); stem(n,abs(x));
title(Bagian Besaran);xlabel(n)
subplot(2,2,4); stem(n,(180/pi)*angle(x));
title(Bagian Fasa);xlabel(n)

KONVOLUSI

LATIHAN 21
Pada percobaan ini kita akan mendemonstrasikan salah satu aplikasi sekuen crosscorrelation
.Misalkan
| | 2 , 4 , 1 , 0 , 7 , 11 , 3 ) ( = n x

adalah prototipe sekuen dan misalkan y(n) adalah versi noise-corrupted-and-shifted-nya
y(n) = x(n - 2) - w(n)
dengan w(n) adalah sekuen Gaussian dengan rata-rata(mean) 0 dan varian 1. Hitung
crosscorrelasi antara y(n) dan x(n).
Jawab:
Dari konstruksi y(n) menjadikan y(n) mirip dengan x(n - 2) dan oleh karena itu crosscorrelation
mereka menunjukkan kesamaan yang paling kuat pada l = 2. Untuk menguji keluaran ini
Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
28 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
menggunakan MATLAB, misalkan kita menghitung crosscorrelasi menggunakan dua sekuen noise
yang berbeda.

% sekuen noise 1
x = [3,11,7,0,-1,4,2]; nx = [-3:3];
[y,ny] = sigshift(x,nx,2);
w = rand(1,length(y)); nw = ny;
[y,ny] = sigadd(y,ny,w,nw);
[x,nx] = sigfold(x,nx);
[rxy,nrxy] = conv_m(y,ny,x,nx);
subplot(1,1,1), subplot(2,1,1); stem(nrxy,rxy)
axis([-5,10,-50,250]); xlabel(variabel Ketertinggalan l)
ylabel(rxy); title(Crosscorrelasi: sekuen noise 1)
%
% sekuen noise 2
x = [3,11,7,0,-1,4,2]; nx=[-3:3];
[y,ny] = sigshift(x,nx,2);
w = randn(1,length(y)); nw = ny;
[y,ny] = sigadd(y,ny,w,nw);
[x,nx] = sigfold(x,nx);
[rxy,nrxy] = conv_m(y,ny,x,nx);
subplot(2,1,2), stem(nrxy,rxy)
axis([-5,10,-50,250]); xlabel(variabel ketertinggalan l)
ylabel(rxy); title( Crosscorrelasi: sekuen noise 2)

LATIHAN 22
Misalkan pulsa rectangular x(n) = u(n) u(n-10) (lihat latihan sebelumnya) dijadikan sebagai
input pada system LTI dengan impulse respon

h(n) = (0.9)
n
u(n)

Tentukan keluaran y(n), dan plot hasil impulse x(n), fungsi respon(h(n)) dan keluaran (y(n)) dan
diskusikan hasilnya.

Jawab :
x(n) adalah sinyal input dan h(n) adalah respon impulse, dari persamaan (2.11)

= =

= =
9
0
9
0
) (
) ( ) 9 . 0 ( ) 9 . 0 ( ) ( ) 9 . 0 )( 1 ( ) (
k k
k n k n
k n u k n u n y (2.14)
Penjumlahan pada persamaan hampir merupakan penjumlahan sekuen geometric kecuali suku
u(n-k) mengambil nilai yang berbeda bergantung n dan k. Terdapat tiga kondisi yang berbeda
dengan u(n-k) dapat dievaluasi.

LATIHAN 23
Diberikan dua sekuen sebagai berikut:
| | 2 , 4 , 1 , 0 , 7 , 11 , 3 ) ( = n x , -3 n 3 ; | | 1 , 2 , 5 , 0 , 3 , 2 ) ( = n h , -1 n 4
tentukan konvolusi y(n)=x(n)*h(n)

Jawab :
Jika sekuen acak dengan durasi yang tidak terbatas, MATLAB tidak dapat digunakan secara
langsung untuk menghitung konvolusi. MATLAB menyediakan fungsi yang sudah jadi, disebut
conv yang menghitung konvolusi antara dua sekuen yang mempunyai durasi tetap (finite-duration
sequences). Fungsi conv mengasumsikan bahwa dua sekuen dimulai pada n = 0 dan perintahnya
adalah
y = conv(x,h);

Workshop Pengolahan Sinyal & Sistem Pengaturan Juli 2004
29 Instrumentasi Elektronika, Jurusan Fisika, FMIPA UNPAD
copyright@Training and Research Center for Scientific & Industrial Instrumentation
Mencara nilai-nilai y(n) untuk percobaan di atas Matlab Scriptnya adalah
x = [3, 11, 7, 0, -1, 4, 2];
h = [2, 3, 0, -5, 2, 1];
y = conv(x,h)
y =
6 31 47 6 -51 -5 41 18 -22
-3 8 2

Walaupun demikian, fungsi conv tidak menyediakan dan tidak pula menerima informasi
pewaktuan apapun jika sekuen mempunyai support yang sembarang. Apa yang diperlukan adalah
suatu titik awal dan akhir dari y(n). Diberikan suatu durasi tertentu x(n) dan h(n), sangat mudah
untuk menentukan titik-titik ini. Misalnya

{x(n); n
xb
n

n
xe
} dan {h(n); n
hb
n n
he
}

adalah dua durasi tertentu suatu sekuen. Kita lihat bahwa titik awal dan akhir dari y(n) adalah
berturut-turut:
n
yb
= n
xb
+ n
hb
dan n
ye
= n
xe
+ n
he

Perluasan dari fungsi conv (disebut conv_m.m) yang melakukan konvolusi dengan dukungan
sekuen yang acak dapat didesain.
% Fungsi conv_m.m
%
function [y,ny] = conv_m(x,nx,h,nh)
% Fungsi konvolusi yang dimodifikasi untuk pemrosesan sinyal.
%------------------------------------------------------------
% [y,ny] = conv_m(x,nx,h,nh)
% [y,ny] = hasil konvolusi
% [x,nx] = sinyal pertama
% [h,nh] = sinyal kedua
%
nyb = nx(1)+nh(1); nye = nx(length(x)) + nh(length(h));
ny = [nyb:nye];
y = conv(x,h);

LATIHAN 24
Lakukanlah konvolusi pada Latihan 23 dengan fungsi conv_m .

Jawab:
x = [3, 11, 7, 0, -1, 4, 2]; nx = [-3:3];
h = [2, 3, 0, -5, 2, 1]; ny = [-l:4];
[y,ny] = conv_m(x,nx,h,nh)
y =
6 31 47 6 -51 -5 41 18 -22
-3 8 2
ny =
-4 -3 -2 -1 0 1 2 3 4
5 6 7

Sehingga
y(n) = { 6, 31, 47, 6, -51, -5, 41, 18, -22, -3, 8, 2}
seperti pada Percobaan 23.

Metode alternatif pada MATLAB dapat digunakan untuk melakukan konvolusi.