PRAKTIKUM
PRAKTIKUM
PENGOLAHAN SINYAL WAKTU
DISKRIT
(ET 3005/EL 5155)
PRAKTIKUM
PENGOLAHAN SINYAL WAKTU DISKRIT
(ET 3085/EL 5155)
Semester II 2015/2016
M. Zaki Mubarok
1. Modul Praktikum
2. Log book
3. Alat tulis dan alat hitung (kalkulator)
4. Tugas Pendahuluan
Pada saat praktikum pertama praktikan diwajibkan membawa pas foto 3x4
sebanyak satu buah.
Persiapan Praktikum
Keterlambatan
a) Praktikan yang terlambat datang praktikum akan mendapat nilai nol untuk
praktikum modul tersebut
b) Praktikan yang terlambat mengumpulkan laporan praktikum akan mendapat
nilai nol untuk laporan praktikum modul tersebut
Selama Praktikum
Setelah memasuki laboratorium dan menempati meja praktikum, praktikan
diwajibkan :
Setelah Praktikum
Setelah percobaan selesai praktikan diwajibkan:
Pergantian Jadwal
Kasus umum
Pertukaran jadwal hanya dapat dilakukan per orang dengan modul yang sama.
Prosedur penukaran jadwal adalah sebagai berikut:
1. Menghubungi kordas praktikum mata kuliah terkait
2. Mencari praktikan lain yang bersedia bertukar jadwal
3. Mengisi form yang diberikan kordas praktikum mata kuliah terkait
4. Mengumpulkan form paling lambat tiga hari sebelum praktikum.
Pertukaran jadwal dapat dilakukan oleh praktikan yang sakit atau memiliki
kepentingan mendesak tanpa harus mengumpulkan form pertukaran jadwal sesuai
peraturan yang berlaku. Prosedur penukaran dapat dilakukan dengan cara berikut:
Sanksi
Bagi praktikan yang terbukti melakukan penjiplakan laporan dan atau tugas
pendahuluan dikenakan sanksi berupa nilai E pada mata kuliah terkait.
Pengabaian peraturan di atas dapat dikenakan sanksi pengurangan nilai praktikum.
Bahaya Listrik
Perhatikan dan pelajari tempat-tempat sumber listrik pada laboratorium. Jika ada
potensi bahaya segera laporkan pada asisten.
Bahaya Api
Praktikan dan asisten diharapkan tidak membawa benda-benda yang mudah
terbakar (korek api, gas, dan lain-lain) ke dalam laboratorium.
1. Tidak melakukan sesuatu yang menimbulkan bahaya api pada diri sendiri
atau orang lain
2. Selalu waspada terhadap bahaya api atau panas berlebih pada setiap
aktivitas praktikum.
Lain-lain
Praktikan dan asisten dilarang membawa makanan dan minuman ke meja
praktikum.
1. Perhatikan dan patuhi peringatan yang terdapat pada badan alat praktikum
2. Memahami fungsi alat praktikum dan menggunakannya untuk aktivitas
yang sesuai dengan fungsinya. Menggunakan alat praktikum diluar
fungsinya dapat menimbulkan kerusakan alat dan bahaya keselamatan
praktikan
3. Memahami jangkauan kerja alat praktikum dan menggunakannya sesuai
dengan jangkauan kerja. Menggunakan alat praktikum diluar jangkauan
kerjanya dapat menimbulkan kerusakan alat dan bahaya keselamatan
praktikan
4. Memastikan seluruh peralatan praktikum aman dari benda tajam, api atau
panas berlebih, maupun benda lain yang dapat mengakibatkan kerusakan
alat
5. Tidak melakukan aktivitas yang dapat mengotori atau merusak alat
praktikum
6. Kerusakan alat praktikum menjadi tanggung jawab bersama rombongan
praktikum tersebut. Alat yang rusak harus diganti oleh rombongan
tersebut.
Sanksi
Pengabaian panduan di atas dapat dikenakan sanksi tidak lulus mata kuliah yang
bersangkutan.
Laporan Praktikum
1. Laporan praktikum dibuat oleh praktikan dengan menggunakan format
IEEE yang terdiri atas :
a. Abstrak dan kata kunci
b. Pendahuluan
c. Dasar teori
d. Metodologi
e. Data dan analisis
f. Kesimpulan
g. Daftar pustaka
h. Biografi penulis
2. Praktikan yang terbukti melakukan plagiarisme atas laporan praktikum
akan mendapat nilai E untuk mata kuliah PTT
3. Praktikan wajib mengumpulkan softcopy laporan praktikum ke email
asisten dan email koordinator asisten sesuai waktu yang akan ditetapkan
4. Praktikan wajib menyerahkan hardcopy laporan praktikum ke LTRGM
sesuai waktu yang akan ditetapkan dengan melakukan hal berikut :
a. Mengumpulkan laporan di tempat yang telah disediakan sesuai
dengan modulnya
b. Mengisi formulir pengumpulan laporan praktikum dengan
mencantumkan jam dan tanggal pengumpulan secara benar
c. Praktikan diharapkan memperhatikan dengan seksama tempat dan
formulir yang sesuai dengan laporan praktikum yang akan
dikumpulkan
1. Tujuan
1. Dapat mendesain filter FIR dengan teknik windowing menggunakan bahasa
pemrograman MATLAB.
2. Dapat mengimplementasikan filter FIR untuk pemrosesan sinyal menggunakan DSK
TMS320C6713.
3. Dapat menggambarkan respon magnituda suatu sistem linier tidak berubah terhadap
waktu dari suatu sistem linier tidak berubah terhadap waktu berdasarkan hasil data
pengukuran.
4. Dapat mendengarkan efek pemfilteran sinyal audio untuk filter FIR yang
diimplementasikan menggunakan DSK TMS320C6713.
2. Perangkat Praktikum
Perangkat – perangkat yang digunakan dalam praktikum ini adalah :
3. Dasar Teori
Filter FIR merupakan tipe filter dijital dengan respon impuls terbatas. Respon frekuensi
dari filter FIR dengan orde M – 1 yang kausal adalah :
M 1
H e j h(n)e jn (1.1)
n 0
M 1
H ( z ) h(n) z n (1.2)
n 0
Koefisien filter FIR pada persamaan di atas adalah h(0), h(1), h(2), dst. Terdapat M koefisien
untuk filter FIR orde M – 1 pada persamaan di atas.
Filter FIR adalah stabil dan sangat mudah didesain untuk mendapatkan respon fasa yang
linier.
Spesifikasi filter dapat dinyatakan dalam domain frekuensi dengan respon magnituda dan
respon fasa. Spesifikasi magnituda dapat direpresentasikan dalam dua cara yaitu :
Spesifikasi relatif pada filter lowpass dapat dilihat pada gambar 1.1 (b). R p adalah ripple
passband dalam dB, sedangkan As merupakan redaman stopband dalam dB.
Transition Band
Stopband Ripple
2
(a)
0 p s
0
Rp
Decibels
As
(b)
Parameter – parameter yang diberikan dalam dua spesifikasi di atas saling berkaitan.
H (e j ) dalam spesifikasi absolut sama dengan (1 1 ) sehingga,
1 1
Rp 20log10 0 ( 0) (1.5)
1 1
2
As 20log10 0 ( 1) (1.6)
1 1
1.e
j
c
H d (e j ) (1.7)
0 c
dengan c merupakan frekuensi cutoff dan adalah sampel delay. Respon impuls filter
pada durasi tak terbatas :
1
hd (n) F 1 H d (e j )
2 H
d (e j )e jn d
c
1
1.e e jn d
j
(1.8)
2 c
sin c (n )
=
(n )
Untuk mendapatkan filter FIR h( n) yang kausal dan berfasa linier dengan panjang M, maka :
h ( n) 0 n M 1 M 1
h( n) d dan (1.9)
0 lainnya 2
Secara umum, h( n) merupakan perkalian hd (n) dengan fungsi window w(n) yaitu :
dengan :
Contoh fungsi window yang dapat digunakan adalah window rectangular yang didefinisikan
oleh :
1, 0 n M 1
w(n) RM (n) (1.11)
0, lainnya
1
H (e j ) H d (e j ) W (e j ) W (e ) H d (e j ( ) )d
j
(1.12)
2
1. Window w(n) mempunyai panjang yang terbatas yaitu M, responnya memiliki peaky
main lobe dengan lebar yang proporsional terhadap 1/ M dan memiliki side lobe dengan
tinggi terkecil.
2. Konvolusi periodik menghasilkan respon yang hampir mirip dengan respon ideal
H d (e j ) namun terdapat ripple.
3. Main lobe menghasilkan band transisi pada H (e j ) dengan lebar sesuai dengan
transition width. Lebar ini proporsional terhadap 1/ M . Semakin lebar main lobe maka
akan menyebabkan transition width semakin lebar juga.
4. Side lobe menghasilkan ripple dengan bentuk yang sama baik pada passband maupun
stopband.
H d (e j )
H (e j )
Transition
c 0 c width
Ripples
W (e j )
*
c 0 c
Circular
Convolution Minimum
stopband
attenuation
Max side-lobe height
0
1. Bartlett
2n M 1
M 1 , 0n
2
2n M 1
Fungsi : w(n) 2 , n M 1 (1.13)
M 1 2
0, lainnya
2. Hanning (Hann)
2 n
0.5 1 cos , 0 n M 1
Fungsi : w(n) M 1 (1.14)
0, lainnya
3. Hamming
2 n
0.54 0.46cos , 0 n M 1
Fungsi : w(n) M 1 (1.15)
0, lainnya
4. Blackman
Fungsi :
2 n 4 n
0.42 0.5cos 0.08cos , 0 n M 1
w(n) M 1 M 1 (1.16)
0, lainnya
5. Kaiser
2n
2
I 0 1 1
M 1
Fungsi : w(n) , 0 n M 1 (1.17)
I0
s p
Transition width = f , s p (1.18)
2
As 7.95
Orde filter M 1 (aproksimasi untuk window Kaiser) (1.19)
14.36f
Parameter ( untuk window Kaiser) :
0.1102( As 8.7), As 50 dB
= (1.20)
0.5842( As 21) 0.07886( As 21), 21 As 50 dB
0.4
4 1.8
1 Rectangular 21 dB
M M
8 6.1
2 Bartlett 25 dB
M M
8 6.2
3 Hanning 44 dB
M M
8 6.6
4 Hamming 53 dB
M M
12 11
5 Blackman 74 dB
M M
Berikut ini merupakan contoh program MATLAB yang dapat digunakan dalam
mendesain filter FIR lowpass. Pada simulasi ini digunakan dua program yaitu ideal_lp.m dan
freqz_m.m sebagai berikut.
1. function hd = ideal_lp(wc,M);
% ideal lowpass filter
% [hd] = ideal_lp(wc,M);
alpha = (M – 1)/2;
n = [0:1:(M – 1)];
m = n – alpha + eps;
hd = sin(wc*m)./(pi*m);
% [db,mag,pha,grd,w] = freqz_m(b,a);
[H,w] = freqz(b,a,1000,’whole’);
H = (H(1:1:501))’ ; w = (w(1:1:501));
mag = abs(H);
db = 20*log10((mag+eps)/max(mag));
pha = angle(H);
grd = grpdelay(b,a,w);
Misal, filter FIR lowpass yang akan kita desain memiliki spesifikasi berikut.
Filter ini akan didesain dengan menggunakan teknik window. Pada tabel karakteristik fungsi
window terlihat bahwa window Hamming dan Blackman memberikan redaman lebih besar
dari 50 dB. Dengan demikian, kita dapat memilih salah satu dari kedua jenis window ini.
Dengan menggunakan window Hamming maka panjang filter M adalah :
sedangkan jika menggunakan window Blackman, panjang filter M adalah 111. Pada simulasi
ini dipilih window Hamming yang memberikan band transisi yang lebih kecil dengan orde
filter yang lebih kecil pula. Dalam simulasi ini juga tidak digunakan nilai ripple passband
Rp 0.25 dB sehingga kita harus menghitung nilai ripple sebenarnya. Skrip MATLAB yang
digunakan adalah sebagai berikut.
>> M =ceil(6.6*pi/tr_width) + 1;
>> n =[0:1:M – 1 ];
>> hd = ideal_lp(wc,M);
>> h = hd.*w_ham;
>> Rp = (min(db(1:1:wp/delta_w+1)));
>> As = round(max(db(ws/delta_w+1:1:501)));
%plot
>> subplot(1,1,1);
>> ylabel(‘Decibels’);
Gambar 1.3 Hasil simulasi desain filter FIR lowpass dengan MATLAB
Osiloskop
Generator Sinyal
Kabel Audio
Komputer
DSK
TMS320C6713
c. Pasang perangkat praktikum sesuai gambar 1.4 dengan generator sinyal dan osiloskop
dalam keadaan mati. Hubungkan output generator sinyal dan input kanal 2 osiloskop
masing-masing dengan konektor line-in dan line-out pada DSK dengan menggunakan
kabel audio yang tersedia.
d. Nyalakan DSK dan lakukan prosedur DSK diagnostic dengan double click icon
Klik start dan tunggu hingga proses diagnostic selesai dan keluar tulisan “PASS”.
e. Buka software Code Composer Studio (CCS) dengan double click icon
Kabel Audio
Komputer
DSK
TMS320C6713
6. Referensi
[1] Vinay K. Ingle, John G. Proakis. Digital Signal Processing using MATLAB. Brook
Cole/Thomson Learning. 2000.
[2] Thab B. Welch, Cameron H. G. Wright, Michael G. Morrow. Real-time Digital Signal
processing from MATLAB to C with TMS320C6x DSK. Taylor & Francis Group. 2006.
1. Tujuan
1. Dapat mendesain filter IIR dengan metode transformasi impulse invariance dan bilinear
menggunakan bahasa pemrograman MATLAB.
2. Dapat mengimplementasikan filter IIR untuk pemrosesan sinyal menggunakan DSK
TMS320C6713.
3. Dapat menggambarkan respon magnituda suatu sistem linier tidak berubah terhadap
waktu dari suatu sistem linier tidak berubah terhadap waktu berdasarkan hasil data
pengukuran.
2. Perangkat Praktikum
Perangkat – perangkat yang digunakan dalam praktikum ini adalah :
3. Dasar Teori
Filter IIR merupakan tipe filter dijital dengan respon impuls tak terbatas. Filter IIR sesuai
dengan filter analog yang biasanya memiliki respon impuls dengan panjang tak hingga. Filter
IIR memiliki fungsi sistem dalam domain z sebagai berikut.
Y ( z ) b0 b1 z 1 b2 z 2 b3 z 3 ...
H ( z) (2.1)
X ( z ) 1 a1 z 1 a2 z 2 a3 z 3 ...
1. Desain filter analog lowpass. Filter-filter analog yang biasanya digunakan sebagai
prototipe desain adalah filter Butterworth, Chebyshev dan Elliptic.
2. Mengaplikasikan transformasi filter analog lowpass untuk mendapatkan filter dijital
lowpass. Terdapat 4 metode transformasi filter yaitu :
a. Transformasi impulse invariance. Transformasi ini digunakan jika dikehendaki
bentuk respon impuls yang sama antara filter analog dan filter dijital.
b. Transformasi finite difference approximation. Teknik ini digunakan untuk mengubah
sebuah representasi persamaan perbedaan ke dalam representasi persamaan perbedaan
yang sesuai.
c. Transformasi step invariance. Transformasi ini digunakan untuk menghasilkan
respon step yang sama antara filter analog dan dijital.
d. Transformasi bilinear yaitu mengubah representasi fungsi sistem dari domain analog
ke domain dijital.
3. Mengaplikasikan transformasi frequency-band untuk menghasilkan filter dijital lainnya
dari filter dijital lowpass.
Pada transformasi ini, filter analog ha (t ) disampling dengan interval sampling T untuk
menghasilkan h(n) yaitu :
dengan z e j pada unit circle dan s j pada sumbu imajiner, maka persamaan
transformasi dari bidang s ke bidang z adalah :
z e sT (2.4)
1 2
H ( z) Ha s j
T k
k
T
(2.5)
Transformasi bidang komplek dengan pemetaan pada Persamaan 2.4 ditunjukkan oleh
Gambar 2.2.
j Im( z )
Transformasi
3 / T banyak-ke-satu Unit circle
/T e sT
z
Re( z )
/ T
3 / T z - plane
s - plane
2. Desain filter analog H a (s) dengan spesifikasi p , s , R p , dan As . Filter analog yang
dapat dipilih adalah salah satu dari filter prototipe.
3. Gunakan ekspansi fraksi parsial dengan mengubah H a (s) menjadi :
N
Rk
H a ( s) (2.9)
k 1 s p k
4. Transformasikan pole analog pk ke dalam pole dijital e pkT untuk menghasilkan filter
dijital :
N
Rk
H ( z) pk T 1
(2.10)
k 1 1 e z
3.1.2 Contoh Desain Filter IIR Transformasi Impulse Invariance dengan MATLAB
Berikut ini merupakan contoh program MATLAB yang dapat digunakan untuk
mendesain filter dijital lowpass dengan menggunakan filter prototipe Butterworth. Pada
simulasi ini digunakan 6 program yaitu :
[z,p,k] = buttap(N);
p = p*Omegac;
k = k*Omegac^N;
B = real(poly(z));
b = k*B;
a = real(poly(p));
end
end
end
N = ceil((log10((10^(Rp/10)-1)/(10^(As/10)-1)))/(2*log10(wp/ws)));
Omegac = wp/((10^(Rp/10)-1)^(1/(2*N)));
[b,a] = u_buttap(N,Omegac);
% T = parameter sampling
p = exp(p*T);
[b,a] = residuez(R,p,k);
b = real(b'); a = real(a');
4. function I = cplxcomp(p1,p2)
I=[];
for j = 1:1:length(p2)
for i = 1:1:length(p1)
I = [I,i];
end
end
end
I=I';
M = length(b); N = length(a);
[r1,p1,C] = residuez(b,a);
p = cplxpair(p1,10000000*eps);
I = cplxcomp(p1,p);
r = r1(I);
if K*2 == N
for i=1:2:N-2
B(fix((i+1)/2),:) = real(Brow);
A(fix((i+1)/2),:) = real(Arow);
end
[Brow,Arow] = residuez(r(N-1),p(N-1),[]);
else
for i = 1:2:N-1
Brow = r(i:1:i+1,:);
Arow = p(i:1:i+1,:);
[Brow,Arow] = residuez(Brow,Arow,[]);
B(fix((i+1)/2),:) = real(Brow);
A(fix((i+1)/2),:) = real(Arow);
end
end
b0 = b0/a0;
M = length(b); N = length(a);
if N > M
b = [b zeros(1,N-M)];
elseif M > N
a = [a zeros(1,M-N)]; N = M;
NM = 0;
end
if K*2 == N
b = [b 0];
a = [a 0]
end
broots = cplxpair(roots(b));
aroots = cplxpair(roots(a));
for i = 1:2:2*K
Brow = broots(i:1:i+1,:);
Brow = real(poly(Brow));
B(fix((i+1)/2),:) = Brow;
Arow = aroots(i:1:i+1,:);
Arow = real(poly(Arow));
A(fix((i+1)/2),:) = Arow;
end
Misal filter dijital lowpass yang akan didesain memiliki spesifikasi p 0.2 , s 0.3 ,
Rp 1 dB, As 15 dB . Skrip MATLAB yang digunakan adalah sebagai berikut.
C=[]
B = 1.8557 -0.6304
-2.1428 1.1454
0.2871 -0.4466
Gambar 2.3 Filter dijital lowpass Butterworth dengan metode Impulse Invariance
2 1 z 1 1 sT / 2
s 1
z (2.11)
T 1 z 1 sT / 2
j Im( z )
Transformasi
satu-ke-satu Unit circle
1 sT / 2
z
1 sT / 2 Re( z )
z - plane
s - plane
T T T
sehingga jika : 0 z 1 2 j 2 1 , 0 z 1 j 2 1
T T T
1 j 1 j
2 2 2
T T
dan 0 z 1 2 j 2 1
T T
1 j
2 2
b. Daerah di sebelah kiri pada bidang s dipetakan ke dalam unit circle. Ini merupakan
transformasi yang stabil.
c. Sumbu imajiner dipetakan ke dalam unit circle secara satu-ke-satu. Hal ini menyebabkan
tidak terjadinya aliasing pada domain frekuensi.
dengan magnituda sama dengan satu. Dengan mengasumsikan sebagai fungsi maka
didapat :
T 2
2 tan 1 atau tan (2.14)
2 T 2
Berikut ini merupakan contoh program MATLAB yang dapat digunakan untuk
mendesain filter dijital lowpass dengan menggunakan filter prototipe Butterworth. Misal
filter dijital lowpass yang akan didesain memiliki spesifikasi p 0.2 , s 0.3 ,
Rp 1 dB, As 15 dB . Skrip MATLAB yang digunakan adalah sebagai berikut.
>> T = 1; Fs = 1/T;
C = 5.7969e-004
Gambar 2.5 Filter dijital lowpass Butterworth dengan metode transformasi bilinear
Pada praktikum ini dilakukan implementasi filter IIR secara real-time dengan
menggunakan DSK TMS320C6713. File – file pendukung praktikum terdapat di dalam
folder C:\CCStudio_v3.1\MyProjects. Berikut langkah – langkah praktikum yang harus
Anda perhatikan.
a. Nyalakan komputer dan hubungkan kabel USB DSK ke konektor USB komputer.
b. Nyalakan generator sinyal dan hubungkan outputnya dengan kanal 1 osiloskop. Atur
output generator sinyal berupa sinyal sinusoidal dengan tegangan 1 Volt peak-to-peak
dan frekuensi 100 Hz kemudian amati sinyalnya pada kanal 1 osiloskop. Matikan
kembali generator sinyal dan osiloskop.
c. Pasang perangkat praktikum seperti pada percobaan I praktikum modul 1 Filter FIR.
d. Nyalakan DSK dan lakukan prosedur DSK diagnostic.
e. Pada CCS, koneksikan CCS dengan DSK kemudian buka project Filter IIR dalam
folder C:\CCStudio_v3.1 \MyProjects \Filter IIR.
f. Pada panel project bagian source terdapat 7 file yaitu DSK_Support.c, filtcoeff.c,
IIR_ISRs.c, main.c, StartUp.c, vectors.asm dan lnk7.cmd. Pada panel project bagian
include terdapat 5 file yaitu c6x.h, c6x11dsk.h, DSK_Config.h, DSK_Support.c, dan
filtcoeff.h. Pada file filtcoeff.h terdapat koefisien filter IIR yang digunakan.
Perhatikan koefisien filter yang ada dalam file ini.
g. Ganti koefisien filter pada file filtcoeff.h dengan cara sebagai berikut.
3. Buka MATLAB. Pastikan current directory MATLAB berada pada folder
C:\CCStudio_v3.1 \MyProjects \Filter IIR.
i. Masukkan koefisien numerator dan denominator filter IIR yang diberikan oleh
asisten masing-masing dengan variabel b dan a.
ii. Pada command window ketikkan : >> coeff = iircoeff(b,a,’filtcoeff’)
iii. Pada command window akan tampil koefisien filter IIR hasil konversi ke cascade-
form.
iv. Pada CCS, nilai koefisien pada file filtcoeff.h akan berubah sesuai nilai koefisien
yang ditampilkan pada command window MATLAB.
v. Nyalakan generator sinyal dan osiloskop.
h. Lakukan proses build project pada CCS dan load program ke DSK.
i. Jalankan program yang telah di-load ke DSK (run) sehingga output hasil pemrosesan
DSK terlihat di osiloskop. Amati tegangan output DSK dan catat hasilnya.
j. Ubah frekuensi generator sinyal dengan tingkat kenaikan 100 Hz hingga mencapai
frekuensi 1000 Hz. Kemudian ubah dari frekuensi 1000 Hz hingga 24000 Hz dengan
kenaikan 1000 Hz. Amati tegangan output DSK setiap frekuensinya dan catat
hasilnya.
k. Dengan hasil yang Anda dapat, perkirakan tipe filter IIR pada project ini dan plot
respon magnituda filternya.
l. Hentikan pemrosesan pada DSK (Halt). Matikan generator sinyal dan osiloskop.
(Jangan ubah tegangan output generator sinyal (tetap 1 Voltpp) dan atur kembali
frekuensi pada posisi 100 Hz).
m. Ulangi kembali dari langkah (g) untuk percobaan dengan koefisien filter yang baru.
n. Ulangi untuk 2 koefisien berbeda yang diberikan oleh asisten.
6. Referensi
[1] Vinay K. Ingle, John G. Proakis. Digital Signal Processing using MATLAB. Brook
Cole/Thomson Learning. 2000.
[2] Thab B. Welch, Cameron H. G. Wright, Michael G. Morrow. Real-time Digital Signal
processing from MATLAB to C with TMS320C6x DSK. Taylor & Francis Group. 2006.
1. Tujuan
1. Dapat memahami proses pembangkitan sinyal Binary Phase Shift Keying (BPSK) .
2. Dapat mendesain berbagai filter pembentuk pulsa (pulse shaping filter) yang digunakan
dalam proses pembangkitan sinyal Binary Phase Shift Keying (BPSK) .
3. Dapat mengimplementasikan proses pembangkitan sinyal BPSK secara real-time
menggunakan DSK TMS320C6713.
2. Perangkat Praktikum
Perangkat – perangkat yang digunakan dalam praktikum ini adalah :
3. Dasar Teori
Binary Phase Shift Keying (BPSK) merupakan salah satu jenis modulasi digital yang
dapat membawa satu bit dalam satu simbolnya. Data biner (1 dan 0) akan dipetakan sesuai
dengan konstelasi sinyal BPSK yang terdiri atas 2 fasa yaitu 00 dan 1800 seperti yang
ditunjukkan oleh gambar 3.1.
Q
0 1
I
2Eb
s1 (t ) cos(2 fct )
Tb
(3.1)
2Eb 2Eb
s2 (t ) cos(2 fct ) cos(2 fct )
Tb Tb
(3.2)
dengan 0 t Tb , Tb adalah durasi bit dan Eb adalah energi sinyal yang ditransmisikan
perbit. Pasangan persamaan sinyal 3.1 dan 3.2 merupakan sinyal yang antipodal sehingga
BPSK hanya mempunyai satu fungsi basis yaitu,
2
1 (t ) cos(2 fct ), 0 t Tb
Tb
(3.3)
Sinyal BPSK dapat dibangkitkan sesuai diagram blok pada Gambar 3.2.
Data Biner (0,1) BPSK Mapper (-1,1) FIR Filter Sinyal BPSK
Sinyal Carrier
symbols = 3;
counter = 1;
dataArray = [];
outputArray = [];
outputArray2 = [];
numberOfSamples = Fs*time;
samplesPerSymbol = Fs/dataRate;
[h,w] = freqz(B);
db = 20*log10((abs(h)+eps)/max(abs(h)));
if (counter == 1)
else
data = 0;
end
Zi = Zf;
if (counter == samplesPerSymbol)
counter = 0;
end
counter = counter + 1;
end
hold off
hold off
subplot(2,2,4); plot(w/pi,db);
7. Prosedur Praktikum
Pada praktikum ini dilakukan implementasi pembangkitan sinyal BPSK secara real-time
dengan menggunakan DSK TMS320C6713. File – file pendukung praktikum terdapat di
dalam folder C:\CCStudio_v3.1\MyProjects\BPSK Transmitter. Berikut langkah –
langkah praktikum yang harus Anda perhatikan.
b. Nyalakan komputer dan hubungkan kabel USB DSK ke konektor USB komputer.
c. Hubungkan input kanal 1 osiloskop dengan konektor line-out pada DSK dengan
menggunakan kabel audio yang tersedia.
d. Nyalakan DSK dan lakukan prosedur DSK diagnostic.
e. Pada CCS, koneksikan CCS dengan DSK kemudian buka project BPSK Transmitter
dalam folder C:\CCStudio_v3.1 \MyProjects \BPSK Transmitter.
f. Pada panel project bagian source terdapat 7 file yaitu DSK_Support.c, coeff.c,
BPSK_ISRs.c, main.c, StartUp.c, vectors.asm dan lnk7.cmd. Pada file coeff.c terdapat
koefisien filter yang digunakan.
g. Buka MATLAB dan desain filter raised cosine dengan orde 240. Ganti koefisien pada
file coeff.c dengan koefisien filter yang baru Anda desain. Perhatikan banyaknya
koefisien dan ganti nilai N pada file coeff.h dengan jumlah koefisien yang baru dikurangi
satu.
CodecDataOut.Channel[RIGHT] = y;
h. Nyalakan osiloskop.
i. Lakukan proses build project dan load program ke DSK.
j. Jalankan program yang telah di-load ke DSK (run) sehingga output hasil pemrosesan
DSK terlihat di osiloskop. Amati sinyal yang tampil di osiloskop. Sinyal keluaran blok
manakah yang tampil di osiloskop?
k. Hentikan pemrosesan pada DSK (Halt). Matikan osiloskop. Lepaskan konektor osiloskop
dengan line-out DSK. Lalu hubungkan line-out DSK dengan speaker.
l. Lakukan build, load dan run program. Simak sinyal output DSK pada speaker.
m. Hentikan pemrosesan pada DSK (Halt). Matikan speaker. Hubungkan kembali osiloskop
dengan line-out DSK.
n. Pada file BPSK_ISRs.c, ganti kode pada line 80 dan 81 berturut-turut dengan kode
berikut :
CodecDataOut.Channel[LEFT] = output;
CodecDataOut.Channel[RIGHT] = output;
o. Ulangi kembali dari langkah (h) hingga (l) untuk mengamati dan menyimak sinyal
setelah penggantian kode pada line 80 dan 81.
p. Ulangi kembali dari langkah (f) untuk percobaan dengan filter gaussian dan root raised
cosine.
9. Referensi
Thab B. Welch, Cameron H. G. Wright, Michael G. Morrow. Real-time Digital Signal
processing from MATLAB to C with TMS320C6x DSK. Taylor & Francis Group. 2006.
DSK TMS320C6713 merupakan salah satu starter kit untuk pemrosesan sinyal digital
dari vendor Texas Instrument yang digunakan secara luas untuk beberapa aplikasi mulai dari
pemrosesan komunikasi dan kontrol hingga pemrosesan gambar dan suara. Dalam
implementasinya, DSP menggunakan komponen dasar seperti terlihat pada gambar 1.
Sinyal analog yang akan diproses dalam sistem DSP dikonversikan ke dalam bentuk
digital menggunakan analog-to-digital converter (ADC). Data digital ini akan diproses sesuai
algoritma DSP yang dikehendaki. Hasil pemrosesan ini kemudian akan diubah kembali ke dalam
bentuk analog menggunakan digital-to-analog converter (DAC).
Keuntungan penggunaan DSP diantaranya adalah kemampuannya yang sangat besar dalam
mengolah unit logika aritmetika dan pengoptimalan multipliers, dapat bekerja dengan baik pada
pemrosesan secara kontinu atau disebut sebagai real-time processing, dapat
mengimplementasikan algoritma linier dan nonlinier yang kompleks, dapat dimodifikasi secara
mudah dengan mengubah software, mengurangi jumlah komponen sehingga mudah difabrikasi
dan memiliki reabilitas yang tinggi.
Beberapa fitur pada DSP membuatnya berbeda dengan microprocessor lain. Perbedaan tersebut
diantaranya :
1. High speed arithmetic. DSP mempunyai adder dan multiplier yang dapat digunakan
secara paralel dalam satu kali instruksi sehingga operasi pertambahan dan perkalian dapat
dilakukan dalam satu cycle. Kemampuan pengolahan aritmetika ini sangat cepat
dibandingkan dengan microprocessor lainnya.
3. Mempunyai arsitektur multiple acces memory. Operasi pada DSP yang banyak dilakukan
adalah pertambahan dan perkalian. Untuk dapat mengoperasikan kedua operasi ini secara
simultan maka terdapat fitur multiple acces memory.
4. DSP memiliki keuntungan dalam hal penggunaan daya yang lebih kecil dan relatif lebih
murah.
Pada praktikum ini digunakan DSP Starter Kit tipe TMS320C6713. Paket DSK terdiri atas :
1. Code Composer Studio (CCS) yang menyediakan tool pendukung untuk software yang
dibuat sesuai dengan algoritma pemrosesan sinyal digital yang dikehendaki. CCS
menyediakan integrated development environment (IDE) yang menyatukan compiler C,
assembler, linker, debugger dan lainnya.
2. Board yang berisi digital signal processor floating point TMS320C6713 yang memiliki
frekuensi clock 225 MHz, memori internal 192 KB, dan frekuensi sampling standar
adalah 48 KHz.
DSK TMS320C6713 merupakan bagian dari keluarga platform DSP TMS320C6000 floating
point yang mempunyai arsitektur very-long-instruction-word (VLIW) VelociTI yang canggih
dengan kinerja tinggi sehingga menjadi pilihan yang baik untuk aplikasi multichannel dan
multifunction. DSK TMS320C6713 mempunyai frekuensi clock 225 MHz sehingga mempunyai
1
kemampuan untuk memproses 8x32 bit instruksi setiap = 4,444 𝑛𝑠 dan dapat
225 𝑀𝐻𝑧
mengeksekusi 1350 juta operasi floating point persekon (MFLOPS), 1800 juta instruksi persekon
(MIPS), serta dapat melakukan 450 juta operasi multiply-accumulate per detik (MACs). DSK
TMS320C6713 mempunyai beberapa peripheral pendukung diantaranya dua buah Multichannel
Audio Serial Ports (McASPs), dua buah Multichannel Buffered Serial Ports (McBSPs), dua buah
Inter-Integrated Circuit (I2C) buses, sebuah dedicated modul General-Purpose Input/Output
(GPIO), dua buah general-purpose timers, sebuah host-port interface (HPI), dan aglueless
external memory interface (EMIF) yang mempunyai kemampuan sebagai interface dengan
SDRAM, SBSRAM, dan asynchronous peripheral.
DSP keluarga C67xx memiliki ruang pengalamatan yang besar. Kode program dan data
dapat ditempatkan dimanapun dalam unified address space. Alamat pada memori berukuran 32
bit. Peta memori menunjukkan ruang pengalamatan pada DSK TMS320C6713. Secara umum,
memori internal menempati alamat paling awal dari ruang pengalamatan yang tersedia. EMIF
memiliki 4 daerah pengalamatan yang terpisah yang disebut chip enable spaces (CE0 – CE3).
SDRAM menempati CE0 sedangkan flash dan CPLD menempati CE1. CE2 dan CE3 secara
umum dipesan untuk daughtercards.
a. Memori Flash
Memori flash memiliki ukuran 512 KB, namun penggunaan dalam konfigurasi standar
adalah 256 KB. Flash merupakan tipe memori yang tidak akan kehilangan isi memorinya jika
catu daya dimatikan. DSK menggunakan memori flash yang berfungsi untuk booting. Dalam
flash ini berisi sebuah program kecil yang disebut power on self test (POST). Program ini
berjalan saat DSK pertama kali dinyalakan. Program POST akan memeriksa fungsi-fungsi
dasar board seperti koneksi USB, audio codec, LED, switches, dan sebagainya. Memori flash
berada pada ruang alamat CE1 (alamat 0x90000000).
b. SDRAM
Codec berkomunikasi melalui 2 kanal serial audio. Kanal pertama digunakan untuk
mengontrol konfigurasi register internal codec sedangkan kanal lainnya digunakan untuk
mengirim dan menerima sampel audio digital. DSK TMS320C6713 ini juga mempunyai 2
buah Multichannel Buffered Serial Ports (McBSP) yang digunakan untuk mengontrol kanal.
McBSP0 digunakan sebagai kanal kontrol unidirectional yang diprogram untuk mengirim 16
bit control word ke AIC23. Tujuh bit control word pertama menspesifikasikan register yang
akan dimodifikasi sementara 9 bit berikutnya berisi nilai register. Kanal kontrol hanya
digunakan ketika mengkonfigurasi codec dan secara umum akan idle ketika data audio
sedang ditransmisikan. McBSP1 digunakan sebagai kanal data bidirectional. Semua data
audio mengalir ke kanal data. DSK umumnya menggunakan format data sampel selebar 16-
bit untuk kanal kiri dan kanan. Format data ini disebut format DSP yang didesain secara
spesifik untuk dapat beroperasi dengan port McBSP pada DSP. Codec mempunyai clock
sistem 12 MHz. Clock sistem 12 MHz ini berhubungan dengan sample rate USB karena
mayoritas USB menggunakan clock 12 MHz dan dapat menggunakan clock yang sama baik
untuk codec maupun pengontrol USB. Kecepatan sampel internal yang membangkitkan
pembagian clock 12 MHz ini digunakan untuk membangkitkan frekuensi yang umum seperti
48KHz, 44,1KHz, dan 8KHz.
DSK menyediakan tiga konektor ekspansi yang dapat digunakan untuk menerima plug-in
daughter card. Daughter card memungkinkan user membangun platform DSK sendiri untuk
memperluas dan menyediakan kemampuan aplikasi I/O yang spesifik. Konektor ekspansi ini
digunakan untuk memori, peripheral, serta Host Port Interface (HPI). Konektor memori
menyediakan akses sinyal DSP EMIF asynchronous ke interface dengan memori dan
memory mapped devices. HPI merupakan interface berkecepatan tinggi yang dapat
memungkinkan beberapa DSP untuk saling berkomunikasi dan bekerjasama pada suatu
proyek yang dibuat.
3. file *.asm : assembly source program yang dapat dibuat oleh user ataupun oleh C
compiler.
7. file *.cmd : linker command file yang berisi alokasi alamat memori yang
digunakan.
9. file *.out : executable file yang dibuat oleh linker untuk di-load dan di-run ke
prosesor.
Analisis secara real-time dapat dilakukan dengan menggunakan real-time data exchange
(RTDX) yang tergabung dengan DSP/BIOS. RTDX memungkinkan pertukaran data antara host
dengan target DSP dan menganalisis secara real-time tanpa menghentikan proses yang dilakukan
DSP. Statistik kunci dan kinerjanya dapat dimonitor secara real-time.
4.Referensi
Thab B. Welch, Cameron H. G. Wright, Michael G. Morrow. Real-time Digital Signal
processing from MATLAB to C with TMS320C6x DSK. Taylor & Francis Group. 2006.
1. Pendahuluan
CCS merupakan integrated development environment (IDE) yang dikembangkan oleh Texas
Instruments untuk mengembangkan beragam rutin-rutin DSP. Pada CCS, tool-tool untuk
pengeditan, pembangkitan kode, dan pen-debug-an diintegrasikan ke dalam satu lingkungan
yang seragam. Anda dapat memilih DSP target, mengubah parameter optimisasi, dan mengeset
user preferences yang dinginkan.
Suatu aplikasi dikembangkan berdasarkan pada konsep project , dimana informasi pada file
project (*.pjt) menentukan source code yang digunakan dan bagaimana source code tersebut
diproses. Mempelajari Code Composer Studio merupakan langkah penting dalam menjembatani
teori DSP dengan real-time DSP.
Tutorial ini mengasumsikan bahwa CCS telah diinstal secara benar pada komputer berbasis
Windows 98SE, 200, ME, atau XP. Petunjuk berikut ini mengasumsikan anda sedang
menggunakan DSK C6713.
1. Nyalakan DSK C6713. Pastikan DSK “menyala” dengan sesuai dengan memeriksa
power on self test (POST) yang membutuhkan waktu 15 detik. Setelah POST selesai,
pastikan LED +5V, semua LED user (D7, D8, D9, dan D10), dan LED ”USB IN
USE” menyala dengan lampu berwarna hijau.
Gambar 1 icon
CCStudio
Jika CCS menampilkan “No target connected”, seperti ditunjukan berikut, pada sudut kiri layer
CCS,
anda perlu menghubungkan DSP ke CCS dengan memilih menu “Debug” kemudian pilih
“Connect” seperti ditunjukan berikut.
Jika DSP tidak terhubung ke CCS, hal ini juga akan ditampilkan pada title bar jendela CCS.
Ketika DSP terhubung ke CCS, bagian pojok kiri CCS akan ter-update seperti ditunjukan
berikut. Perhatikan bahwa akan muncul balon “The target is now connected” untuk beberapa
saat.
2. Selanjutnya kita akan membuat sebuah project dan direktori-direktori yang terkait
dengannya. Untuk membuat project CCS baru, klik menu “Project” seperti yang
ditunjukan di bawah.
4. Perhatikan bahwa CCS akan melihat ke direktori yang digunakan terakhir kali. Pada
boks “Project Name:”, (misalnya) ketik ModulFilter. Ketika anda mengklik “Finish”,
proses ini akan menciptakan direktori baru bernama ModulFilter.
4. Membuka Project
2. Temukan direktori project dan buka file ”ModulFilter.pjt” atau nama project yang lain
yang diinginkan. Perhatikan bahwa CCS akan selalu menampilkan direktori terakhir yang
dibuka atau digunakan.
1. Struktur direktori pada sisi kiri jendela CCS kini memiliki tanda ”+”. Dengan
mengklik ”+” akan tampil file-file project. Saat ini tidak ada file di dalam project ini.
2. Untuk menambah file-file ke sebuah project, file-file tersebut harus terdapat di suatu
tempat di dalam komputer. Menambahkan file ke dalam project tidak akan
memindahkan lokasi file tetapi hanya akan me-link project ke file tersebut. Semua
file-file yang terkait pada suatu project harus disimpan di dalam direktori
C:\CD\myprojects\ccs. Menambahkan semua file-file yang diperlukan ke dalam
project merupakan proses yang bertahap.
Pada setiap modul praktikum akan terdapat beberapa file yang sudah dipersiapkan
sebelumnya dimana file-file ini harus disalin ke folder praktikum anda. File-file ini diperlukan
untuk setiap project yang anda buat yang terkait dengan praktikum ini.
3. File-file ini sekarang dapat ditambahkan ke project dengan mengklik ”Add Files to
Project...” seperti yang ditampilkan pada gambar berikut.
6. Project Options
Sejumlah default options secara otomatis ditambahkan ke project baru anda. Opsi-opsi ini
dapat dilihat dengan mengklik “Project” , “Options…,” seperti yang ditunjukan berikut. Untuk
project pertama kita, setingan default akan bekerja dengan baik, kecuali satu hal. Pilihan “Target
version” pada setingan Basic Compiler merujuk pada compiler untuk prosesor C670x. Anda
harus menggantinya ke tarsget “C671x” seperti yang ditunjukan di bawah.
7. em-Build Project
Tombol yang terletak dekat atas sebelah kiri jendela CCS merupakan shortcut untuk
sejumlah fitur-fitur umum CCS. Proses “Rebuild All” melakukan proses compliling dan linking
dan hasilnya dapat anda load ke DSK. Mendekatkan pointer untuk beberapa saat akan
menampilkan tujuan dari tombol yang didekati pointer. Perhatikan pula bahwa file source code
dapat dilihat dan diedit dengan mengklik ganda nama file pada struktur direktori.
Sebelah kiri tombol “Rebuild All” adalah jendela yang tertarik ke bawah yang sekarang ini diset
ke “Debug”. Pilihan lain untuk menu ini adalaha “Release”. Seperti namanya, “Debug” dan
“Release” merupakan dua versi kode yang dapat dibuat oleh compiler. Dua versi kode ini
disimpan dalam direktori “Debug” atau “Release”. Panel, tombol, dan menu tertarik ke bawah
dapat dilihat pada gambar diatas.
1. Ketika build telah selesai, file keluaran harus di-load ke DSP. Hal ini dilakuakan
dengan mengklik “File” dan “Load Program” seperti yang ditunjukan di bawah
2. Selanjutnya boks dialog “Load Program” terbuka seperti gambar di bawah. Anda
perlu menavigasikan ke direktori “Debug” atau “Release” tergantung pada pilhan
versi kode anda. Perhatikan bahwa CCS akan membuka folder terakhir yang terbuka.
Jadi harus diperhatikan apakah file yang akan di-load sesuai.
3. Anda perlu menvigasikan melalui struktur direktori atau map untuk menemukan file
keluaran pada project sekarang. Pada contoh ini file keluaran dinamakan
4. Setelah program di-load ke DSK, jendela CCS akan tampil seperti berikut. Panel
sebelah kanan akan menampilkan versi disassambly dari kode program.
9. Me-Run Program
1. Untuk mengeksekusi atau menjalankan program, klik “Run Target” yang terletak pada
sisi kiri jendela CCS.
3. Anda dapat memodifikasi atau membangun kembali kode anda meskipun DSK sedang
berjalan.
4. Ketika anda telah selesai menggunakan CCS dan DSK, halt DSK dan tutup project. Hal
ini dilakukan dengan mengklik “Project” dan “Close” seperti pada gambar di bawah.
10. Referensi
Thab B. Welch, Cameron H. G. Wright, Michael G. Morrow. Real-time Digital Signal
processing from MATLAB to C with TMS320C6x DSK. Taylor & Francis Group. 2006.