Anda di halaman 1dari 11

BAB III PERANCANGAN DAN IMPLEMENTASI 22

BAB III
PERANCANGAN DAN IMPLEMENTASI

Pada sistem perancangan dan implementasi Tugas Akhir ini, untuk


mendapatkan hasil berupa sinyal fetus dengan nilai error minimum, sinyal abdominal
dan torax diolah menggunakan algoritma Least Mean Square (LMS) ke dalam
pemrograman Matlab 7.01 dan TMS 320C50. Adapun langkah-langkah yang
dilakukan pada tiap pemrograman baik Matlab 7.01 maupun TMS 320C50
mempunyai tujuan yang berbeda-beda.
Tujuan perancangan ini menggunakan Matlab 7.01 adalah untuk
mempermudah pencarian nilai konvergensi () dan jumlah tap filter adaptif (N) yang
menghasilkan nilai error minimum.
Nilai dan N yang telah didapatkan dari Matlab ini dimasukkan ke dalam
pemrograman pada TMS 320C50 sebagai nilai dan N pada pemrograman TMS
320C50. Dan dari TMS 320C50 ini didapat sinyal output berupa sinyal fetus dengan
nilai error minimum.
Pada bab ini akan dijelaskan tentang algoritma Least Mean Square (LMS),
diagram alir pada perancangan Matlab 7.01 dan diagram alir implementasi TMS
320C50 dengan menggunakan perintah assembler.

3.1 Algoritma Least Mean Square (LMS)


Algoritma adaptif adalah algoritma yang secara umum harus dikenal oleh
setiap orang yang mempelajari pengolahan sinyal. Filter adaptif yang dirancang
adalah filter FIR dengan menggunakan algoritma LMS.
Yang dimaksud dengan filter adaptif adalah filter yang dapat diubah-ubah
koefisiennya berdasarkan perbedaan antara sinyal masukan dan sinyal referensi,
dengan tujuan untuk menghapus sinyal yang tidak diinginkan (noise).

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 23

Pada filter adaptif dengan algoritma LMS ini, penggunaan nilai yang
berbeda akan mempengaruhi kecepatan adaptasi dari filter adaptif tersebut dapat
dianalisa.

Model sistem filter adaptif Tugas Akhir ini dapat dilihat dalam gambar 3.1 di
bawah ini.

Gambar 3.1 Model Sistem Filter Adaptif

Bagian-bagian dari model sistem ini adalah :


1.Source/primary signal
Sinyal inputan merupakan sinyal Abdominal ECG. Sinyal Abdominal ECG
ini diambil dari sensor sinyal abdominal ECG. Sinyal ini merupakan sinyal ECG yang
didapat pada sekitar daerah rahim ibu hamil (maternal). Sinyal ini merupakan
campuran dari sinyal maternal ECG dan sinyal FECG.

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 24

2.Sinyal referensi
Sinyal referensi merupakan sinyal maternal ECG. Sinyal maternal ECG
merupakan sinyal detak jantung ibu hamil. Sinyal ini dapat diperoleh melalui sensor
sinyal atau dengan menggunakan stetoskop. Sinyal maternal ini dipakai sebagai
referensi untuk mensubstrak sinyal maternal yang ada pada sinyal Abdominal ECG.

3.Adjustable Filter
Merupakan filter yang dapat diatur orde filter dan jenis filternya. Bersama
dengan algoritma adaptive, filter ini akan mengolah sinyal referensi sedemikian rupa
agar dapat berfungsi sebagai pensubstrak sinyal abdominal.

4.Adaptive Algorithm
Merupakan algoritma perograman dari adjustable filter. Bagian ini bertindak
sebagai pengatur dari pensubstrakan sinyal abdominal ECG oleh sinyal maternal
ECG. Algoritma yang digunakan pada Tugas Akhir ini adalah algoritma LMS dan
RLS. Algoritma ini merupakan algoritma dari Adaptive Noise Canceling.

5.Mixer
Mixer berfungsi sebagai pensubstrak sinyal Abdominal ECG terhadap sinyal
maternal ECG.

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 25

3.2 Perancangan Diagram Alir (Flowchart) Algoritma LMS Pada Matlab 7.01
S ta rt

In p u t s in y a l
A b d o m in a l P (n )

In p u t s in y a l to ra x
X (n )

In is ia lis a s i n ila i
G a in

In p u t d a n N

P ( n )= P (n ) . G a in

Y (n )= H (n )* X (n )

E ( n )= P (n )-Y ( n )

i= 1

H (i) = H ( n )

If
End
i= 1 6

H (n + 1 ) I = H (n ) i + [2 . .E (n ).X (n )]

i= 1 + i

Gambar 3.2 Flowchart Algoritma LMS pada Matlab 7.01

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 26

Flowchart ini merupakan aliran program untuk satu kali running program.
Dalam penelitian Tugas Akhir ini terdapat 18 kali running program.

3.3 Implementasi Algoritma LMS Pada Pemrograman Assembler TMS 320C50


3.3.1 Eksekusi Program Pada TMS 320C50
Alat yang akan digunakan dalam perancangan ini ialah TMS320C50. Dalam
menjalankan program pada TMS ada beberapa hal yang harus diperhatikan, seperti
file eksekusi. TMS hanya akan mengeksekusi file dengan format .dsk. Dalam
perancangan yang dilakukan, file program yang dihasilkan berformat .asm. Sehingga
file tersebut perlu dikonvert ke dalam .dsk. Untuk proses ini tms telah menyediakan
feature berupa converter .asm ke .dsk. Berikut ini merupakan aliran pembuatan kode
dsk.

Gambar 3.3 Sistem kerja dari C5X


Device C5X hanya dapat membaca sintak dengan format .DSK. Oleh karena
itu sebelum sintak sintak dieksekusi, format sintak dirubah terlebih dahulu dari
format .asm ke format .DSK. Untuk melakukan hal tersebut maka hal pertama yang
harus dilakukan ialah membuka command promt lalu ketik sintak dibawah ini:
C:\TMS>a nama_file.asm (3.1.1)

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 27

Bila sintak tersebut telah dieksekusi maka akan muncul tampilan informasi
yang menyatakan apakah ada error atau tidak dari program yang dibuat. Tampilan
dari program yang telah dieksekusi dapat dilihat pada gambar dibawah ini:
C:\TMS> a nama_file.asm
C5X DSK assembler Version 1.02
Copyright 1993/4 Texas Instruments
>>>>>> Finished Reading All Files
>>>>>> Assembly Complete: Errors: 0 Warning: 0 (3.1.2)

Bila tampilan yang dihasilkan seperti diatas maka pada folder TMS akan
tercipta file nama_file dengan format .DSK. Langkah selanjutnya setelah file .DSK
dihasilkan ialah mengeksekusi program. Sintak yang digunakan untuk mengeksekusi
program dapat dilihat dibawah ini:
C:\TMS> d nama_file.dsk (3.1.3)

Setelah sintak diatas dieksekusi maka akan muncul tampilan sebagai berikut:

Gambar 3.4 Tampilan dari software bawaan TMS320C50

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 28

Gambar diatas merupakan tampilan pada komputer pada saat program


dijalankan. Layer diatas dibagi menjadi 6 bagian yaitu: menu bar, reverse assembly
display, command entry, register display, dan watch display.
Dalam perancangan ini, bagian bagian yang menjadi focus penelitian ialah
bagian data memory display dan register display. Mengingat perancangan ini tidak
dilakukan secara real-time, maka menu utama yang akan disajikan ialah mapping
memori dari program serta hasil keluarannya.
Untuk men-load nama_file.dsk ke software ini maka hal yang harus dilakukan
ialah mengetikan pada input command sintak berikut:
INPUT COMMAND: LD (Load file .DSK) (3.1.4)

Setelah hal tersebut dilakukan maka untuk mengeksekusi program ketik pada
input command sintak berikut:
INPUT COMMAND: XR (Execute-Run) (3.1.5)

Langkah terakhir ialah melihat hasil keluaran. Untuk melihat hasil keluaran
maka tekan Space bar lalu arahkan pointer pada data memory display ke alamat
tempat penyimpanan output. Untuk melakukan hal tersebut, ketikan pada input
command:
INPUT COMMAND: DMA (Display Data-Memory-Address) target (3.1.6)

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 29

3.3.2 Algoritma LMS Pada Bahasa Pemrograman Assembler


Jika direpresentasikan ke dalam perintah assembler DSP TMS 320C50 maka
algoritma tersebut akan menjadi :

lar ar5,#err ; masukkan alamat err ke dalam ar5


mar *,ar5 ; aktifkan ARP(Auxilary Register Pointing) menjadi
ar5
lt * ; masukkan ke dalam t-reg nilai pada alamat yang
ditunjuk oleh ar5 yaitu err
lar ar6,#beta ; masukkan alamat beta ke ar6
mar *,ar6 ; aktifkan ARP menjadi ar6
mpy * ; kalikan nilai di t-reg dengan nilai pada alamat
yang ditunjuk ole ar6 yaitu beta
pac ; hasil kali pindahkan ke accumulator
rpt #10 ; shifting 11x (karena hasil di q5)
sfl
lar ar4,#a ; masukkan alamat a ke dalam ar4
mar *,ar4 ; aktifkan ARP menjadi ar4
sach * ; copi isi data dari accumulator high ke alamat yang
terdapat pada ar4 yaitu pada a
lacc * ; load data di accumulator
ldp #one ; (load data page) baca variabel one
add one ; jumlahkan data pada one
ldp #errf ; baca variabel errf
sach errf ; copi data dari accumulator high ke errf
lacc #16
samm brcr ; 16 koefisien yang akan diupdate dengan loop
splk #15,brcr ; pengulangan dari brcr sebanyak 15 kali
lar ar2,#h1 ; masukkan alamat h1 pada ar2
lar ar3,#r2 ; masukkan alamat r2 pada ar3

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 30

mar ar3,* ; aktifkan ARP menjadi ar 3


lt errf ; masukkan data errf di t-reg
mpy *,ar2 ; p=2*beta*err*x(i-255)
pac ; hasil kali pindahkan ke accumulator
rpt #10 ; shifting 11x (karena hasil di q5)
sfl

rptb loop ; pengulangan untuk i=0, i>16, i++


zalr *,ar3 ; isi acch dengan h(i)
mpya *-,ar2 ;p=2*beta*err(i)*x(i)
pac ; hasil kali pindahkan ke accumulator
rpt #10 ; shifting 11x (karena hasil di q5)
sfl
sach *+ ; acc=ak(i)+2*beta*err(i)*x(i) => merupakan
algoritma LMS
loop nop
Perintah RPTB adalah repeat block, dimana satu blok perintah diulang
sebanyak N kali, sesuai dengan jumlah koefisisen filter adaptif yang akan diupdate.
Setelah beberapa iterasi, sinyal noise akan mulai mengecil, namun tidak hilang
seluruhnya.

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 31

START

In is ia lis a s i v a ria b e l & k o n s ta n ta

In p u t n ila i b e ta

n = s a m p e l k e -n

In p u t H (n )

In is ia lis a s i p ro s e s o r

In p u t s in y a l to ra x (X (n ))

In p u t s in y a l a b d o m in a l (P (n ))

Y (n ) = H (n )* X (n )

E (n ) = P (n )-Y (n )

E f(n ) = b e ta *E (n )

I = 1

H (i) = H (n )

If Y es
i = 16

No
END
H (n + 1 )i = H (n )I + (E f(n ).X (n )

I = I +1

Gambar 3.5 Flowchart Algoritma LMS pada TMS 320C50

Sekolah Tinggi Teknologi Telkom


BAB III PERANCANGAN DAN IMPLEMENTASI 32

Gambar 3.6 merupakan gambar flowchart dari TMS 320C50. Flowchart


tersebut merupakan aliran program untuk satu sampel data saja. Dalam penelitian
Tugas Akhir ini diambil sampel sebanyak 150 sampel untuk tiap percobaan.
Hasil sinyal output yang didapat berupa E(n) dan untuk memperoleh koefisien
filter adaptif selanjutnya, perlu diiterasi algoritma adaptif LMS sebanyak jumlah tap
filternya yaitu 16 tap.

Tabel 3.1Alamat data tiap variabel


Variabel Deskripsi Representasi Alamat

One nilai konstanta = 1 Q5 0f00

Beta konstanta adaptasi Q5 0f01

Err Sinyal Hasil Q5 0f02


=PN YN
Errf Fungsi perbaikan= Q5 0f03
beta *err
pn Sinyal input Q5 0f04
(abdominal)
rn Sinyal torax Q5 0f05
(noise)
yn Hasil konvolusi dari RN dengan Q5 0f06
koefisien filter adaptif
= rn*h(n)
h1-h16 koefisien filter yang akan diadaptasi Q5 0f07-0f16

x0-x15 variabel sinyal torax sewaktu Q5 0f17-0f26


dikonvolusi dengan koefisien adaptif
filter

Sekolah Tinggi Teknologi Telkom

Anda mungkin juga menyukai