PERANCANGAN DAN IMPLEMENTASI SISTEM KOMUNIKASI DIGITAL YANG
AMAN BERBASIS CHAOS DENGAN MENGGUNAKAN FPGA
Heru Supriyono
Jurusan Teknik Elektro, Universitas Muhammadiyah Surakarta Jl. A. Yani Tromol Pos I Pabelan Kartasura, Surakarta 57102.
Email: [email protected] ABSTRAKSI
Aplikasi sistem chaos dalam bidang komunikasi sudah mendapat perhatian yang besar dari para peneliti dewasa ini terutama dalam bidang komunikasi yang aman karena sifat system chaos yang non-periodik. Dalam sistem komunikasi berbasis chaos baik pengirim (transmitter) maupun penerima (receiver) harus mempunyai sistem chaos yang benar-benar identik polanya dan sama nilai awalnya.Dalam makalah ini, akan dibahas perancangan dan implementasinya sistem komunikasi yang aman berbasis chaos. Model sistem komunikasi yang akan digunakan adalah Chaotic Pulse Posistion Modulation (CPPM). Dalam CPPM sinyalatau informasi yang akan dikirimkan dimodulasikan dalam sinyal chaos yang akan menghasilkan sinyal yang termodulasi. Sinyal yang termodulasi inilah yang akan dikirimkan ke penerima. Penerima akan menerjemahkan sinyal yang termodulasi ini dan merekonstruksi sinyal asli. Dalam makalah ini CPPM didesain dan diimplementasikan pada sebuah Field Programmable Logic Array (FPGA). Hasil pengujian menunjukkan bahwa penerima dapat merekonstuksi informasi yang dikirimkan dengan sedikit tunda (delay)
Kata kunci: sistem chaos, kondidi awal, CPPM, FPGA.
PENDAHULUAN
Beberapa penelitian yang memanfaatkan potensi chaos dalam bidang komunikasi, terutama komunikasi yang aman, dapat dilihat pada daftar pustaka. Salah satunya adalah skema komunikasi yang diajukan oleh
(Suschick et al, 2000) yaitu ChaoticPulse Position
Modulation (CPPM). Baik pengirim maupun penerima
dalam model CPPM akan berisi sebuah Chaotic Signal
Generator (CSG) yang benar-benar sama baik
strukturnya maupun nilai awalnya karena sebuah sistem chaos sangat dipengaruhi oleh nilai awalnya. Pada skema komunikasi ini informasi yang akan dikirimkan, dengan alasan kemudahan dan kesederhanannya digunakan sebuah informasi biner yang bernilai ‘1” atau ‘0” saja, dimodulasikan pada sinyal chaos yang dibangkitkan oleh CSG. Sinyal yang sudah dimodulasi ini kemudian dikirimkan ke penerima. Penerima akan merekonstruksi sinyal termodulasi ini untuk menghasilakn informasi yang dikirimkan.
Selain diimplementasikan dalam sistem komunikasi dengan kabel, CPPM juga sudah berhasil diimplementasikan dalam sistem komunikasi nir-kabel (wireless communication). Hasilnya menunjukkan bahwa CPPM mampu meningkatkan keamanan dan privasi dalam berkomunikasi karena skema ini mempunyai probabilitas intercept yang lebih rendah dibandingkan dengan sistem komunikasi berbasis chaos yang lain. Selain itu dengan menggunakan skema CPPM hanya akan menambah sedikit tambahan rangkaian elektronik sehingga tidak akan menambah rumit rangkaian (Suschick et al, 2000).
Piranti digital dewasa ini mengalami perkembangan yang sangat pesat. Dalam sistem komunikasi khususnya, hampir semua piranti mengalami apa yang disebut digitalisasi karena keunggulan system digital diantaranya yaitu lebih cepat,
dimensinya lebih kecil, membutuhkan daya yang lebih kecil, dan lebih tahan terhadap derau. Dalam penelitian ini, skema komunikasi CPPM akan diimplementasikan dengan piranti digital
yaitu Field Programmable Logic Array (FPGA).
Kelebihan FPGA dibandingkan dengan chips
prosesor yang lain adalah “logika” atau isi gerbang-gerbang logika chips ini dapat di-download dan dihapus dengan mudah tidak
seperti dedicated chips seperti mikrokontroller
dll.
LANDASAN TEORI
Sinyal yang termodulasi dalam skema
komunikasi Chaotic Pulse Position Modulation
(CPPM) adalah berupa deretan pulsa (pulses
train) yang mempunyai amplitude dan lebar pulsa yang sama tetapi jarak waktu antar pulsanya berbeda. Jarak waktu ini dibangkitakan oleh sinyal chaos yang dipakai dalam system komunikasi. Secara matematis, deretan pulsa (pulses train dapat dirumuskan sebagai berikut:
∑
∞ =−
=
0)
(
)
(
j jt
t
t
U
ω
(1)dengan
ω
(
t
−
t
j)
adalah bentuik gelombangpulsa yang dibangkitkan pada waktu
, adalah interval waktu
antara pulsa ke-n dank e-(n – 1).
∑
=+
=
j n n jt
T
t
0 0T
nSehingga, persamaan (1) diatas dapat dinyatakan sebagai berikut:
∑
∞∑
= =−
−
=
0 0 0)
(
)
(
j j n nT
t
t
t
U
ω
(2)U(t) adalah deretan pulsa yang mempunyai amplitude
dan lebar pulsa yang sama tetapi mempunyai waktu antar pulsa atau interval waktu yang berbeda. dihasilkan oleh iterasi proses chaos. Untuk pola satu dimensi, interval waktu dapat dinyatakan sebagai
dengan F(·) adalah fungsi non linear.
n
T
)
1
(
−
=
n nF
T
T
Informasi yang akan dikirimkan di-decode-kan kedalam sinyal pulsa chaos. Secara matematis dapat dinyatakan sebagai:
n n
n
F
T
d
mS
T
=
(
−1)
+
+
(3)dengan adalah informasi yang akan dikirimkan, d
adalah delay yang ditambahakan sesuai dengan sinyal
informasi, m adalah amplitudo modulasi. Untuk
masukan digital, informasi yang dikirimkan hanya terdiri dari sinyal biner i.e. “1” and “0”. Oleh karena itu,
sama dengan “1” atau “0”. Waktu interval, , akan
ditambah dengan delay sebesar d jika informasi
adalh “1” selain itu tidak berubah.
n
S
nS
T
n nS
Agar dapat mendeteksi sinyal yang dikirimkan,
U(t), penerima harus di-trigger oleh sinyal ini.
Kemudian penerima mampu mengukur interval waktu
diantara dua buah pulsa yang beruruatan diatara dan
. Berdasarkan pengukuran ini, penerima mampu mengekstrak informasi yang dikirimkan dengan menggunakan rumus berikut:
n
T
1 − nT
m
d
T
F
T
S
n=
(
n−
(
n−1)
−
)
/
(4)dengan , F(·), d, dan m adalah parameter yang sama
dengan persamaan (3).
n
S
Jika penerima mengetahui fungsi non-linera F(·),
parameter tunda d, dan amplitude modulasi m maka
penerima akan dapat meng-ekstrak sinyal informasi dengan mudah. Jika penerima tidak mempunyai fungsi
non linear yang sama dengan F(·), ia akan gagal
mendapatkan sinyal informasi yang benar.
Oleh karena itu, kedua fungsi non-linear harus benar-benar sama. Dengan car ini, orang yang tidak mempunyai informasi mengenai fungsi
pembangkit pulsa U(t) tidak akan dapat
mendeteksi apakah pulsa tertunda atau tidak sehingga tidak dapat mengenali apakah informasi yang dikirimkan “1” atau “0”.
n
S
n
S
Dalam penelitian ini, sinyal chaos yang akan digunakan mempunyai bentuk atau pola tenda (tent-map) yang dapat dinyatakan sebagai berikut:
F(·):
x
n+1=
α
0
.
5
−
0
.
5
−
x
n(5)
dengan, α = 1.3 dan = nilai sebelumnya. Jadi
sinyal chaos tent-mapmenggunakan keluaran sebelumnya sebagai masukan sekarang.
n
x
METODE PENELITIAN
Tahapan-tahapan yang akan dilakukan dalam penelitian ini adalah pertama-tama pengirim dan penerima pada skema komunikasi CPPM akan dirancang dan diimplementasikan dalam system FPGA dengan menggunakan
perangkat lunak (software) Xilinx System
Generator sebagai piranti perancangannya
(design tool). Kemudian unjuk kerja
(performance) penerima akan diamati dengan cara mengubah-ubah nilai awal sinyal chaos yang berpola tent-map pada pengirim sedangkan pada penerima dibuat tetap. Akan dilihat apakah penerima mampu mendapatkan sinyal informasi dengan benar atau tidak.
SIMULASI DAN ANALISIS
Secara grafis blok diagram pengirim dan penerima dapat dilihat dalam gambar di bawah ini:
a. b.
Gambar 1. Diagram blok: a. pengirim, b. penerima
Dalam gambar diagram blok diatas Chaotic
Signal Generator yang digunakan dalam bagian
penerima dan pengirim benar-benar sama baik
strukturnya maupun nilai awalnya. Implementasi pengirim dan penerima diatas dengan
menggunakan FPGA dapat dilihat dalam Gambar 2 berikut. Initial Value: x(1) = 0.101 k =0 Zero Trans_out6 count_6 T o Workspace2 en_dat_in6 T o Workspace1 tran_sig6 To Workspace xlrelationala b a>b Relational5 xlrelational a ba>b Relational4 xlrelationala b a<=b Relational3 xlrelational a ba>b Relational2 xlmux sel d0 d1 d1 Mux6 xlmux sel d0 d1 d1 Mux5 xlmux sel d0 d1 d1 Mux4 xlmux sel d0 d1 d1 Mux3 xlmux sel d0 d1 d1 Mux2 xlmux sel d0 d1 d1 Mux 0.101 Initial Value fpt dbl Gateway Out6 fptdbl Gateway Out4 fptdbl Gateway Out3 fptdbl Gateway Out2 fptdbl Gateway Out1 fptdbl Gateway Out dbl fpt Gateway In Out1 Enabled Subsystem z -1 en Delay7 z -1 en Delay5 0.1 Delay Value z -1 en Delay out rst Counter 0.5 Constant x 1.3
CMult xladdsuba+b a b a AddSub2 xladdsuba-b a b a AddSub1 xladdsuba-b a b a AddSub Sy stem Generator Bool UFix_64_64 UFix_64_64 UFix_64_64 Bool UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_62 Bool UFix_64_62 UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_62 double Data Input Original
double
UFix_64_62
UFix_64_62
Bool double(c) Transmitted signal (c) Transmitted signal UFix_1_0 double UFix_1_0 double (b) Counter double (a) Modulated Chaotic Signal
double
(a)
Receiver for initial value x(1 )= 0.101
T ransmitted Signal 6 Source data_output6 To Workspace xlrelationala ba>b Relational8 xlrelationala ba>b Relational7 xlrelationala ba>b Relational6 xlrelational a b a<=b Relational1 xlrelational a b a>b Relational Receiver_out 6 xlmux sel d0 d1 d1 Mux9 xlmux sel d0 d1 d1 Mux8 xlmux sel d0 d1 d1 Mux7 xlmux sel d0 d1 d1 Mux11 xlm ux sel d0 d1 d1 M ux10 xlmux sel d0 d1 d1 M ux1 fptdbl Gateway Out7 fptdbl Gateway Out6 fptdbl Gateway Out5 fptdbl Gateway Out4 fptdbl Gateway Out3 fptdbl Gateway Out2 fptdbl Gateway Out1 dblfpt Gateway In z-1 en Delay3 z -1 en Delay2 z-1 en Delay1 out rst Counter2 out rst Counter1 0.1 Constant3 0.5 Constant2 x 1.3 CMult1 xladdsuba-b a b a AddSub4 xladdsuba-b a b a AddSub3 Sy stem Generator UFix_64_62 Bool Bool UFix_64_64 UFix_64_64 UFix_64_64 Bool UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_64 UFix_64_62 Bool UFix_64_62 UFix_64_64 UFix_64_64 UFix_64_62 Bool UFix_64_62 Bool Bool double Bool double (a) Transmitted_sign double (b) Counted_sign double double (f ) Enabled data out double (e) Pulse out double (d) Counter double (c) receiv er pulse
(b)
Gambar 2. Implementasi CPPM dengan FPGA: (a) pengirim, (b) penerima Hasil simulasi dapat dilihat dalam gambar berikut ini:
Gambar 3. Perbandingan antara informasi yang dikirim (atas) dengan informasi hasil rekonstruksi (bawah). Dari gambar diatas dapat dilihat bahwa secara
umum, dilihat dari pola sinyalnya, informasi hasil rekonstruksi adalah persis sama dengan informasi yang
dikirimkan. Hanya saja ada delay (tunda waktu). Untuk
mendapatkan pengetahuan yang eksak nilai delaynya, sebuah komponen tunda ditambahkan pada keluaran rangkaian pengirim seperti yang dapat dilihat dalam rangkaian di bawah ini:
Gambar 4. Sebuah komponen penunda ditambahkan pada keluaran rangkaian penerima Setelah diberi rangkaian penunda, perbandingan
antara informasi asli yang dikirim dengan informasi
hasil rekonstruksi dapat dilihat dalam gambar di bawah ini:
Gambar 5. Perbandingan sinyal setelah ditambahkan unit penunda pada keluaran pengirim: sinyal informasi asli yang dikirimkan (paling atas), sinyal informasi asli setelah diberi unit penunda (kedua dari atas), sinyal informasi
hasil rekonstruksi (paling bawah). Dari gambar diatas dapat dilihat bahwa antara
sinyal informasi yang tertunda satu periode sinyal sama persis dengan hasil rekonstruksi.
Selanjutnya, unjuk kerja rangkaian penerima yang sudah dirancang diatas akan diuji dengan cara
mengubah-ubah nilai awal sinyal chaos pengirim. Secara grafis mekanisme pengujian dapat digambarkan sebagai berikut:
Gambar 6. Diagram blok mekanisme pengujian. Pada gambar diatas, Pengirim Asli, Penerima
Asli 1, dan Penerima Asli 2 menggunakan sinyal chaos dengan kondisi awal asli. Sedangkan Pengirim Baru menggunakan sinyal chaos dengan kondisi awal yang sudah diubah-ubah. Dalam penelitian ini kondisi awal
fungsi tent-map asli adalah xa(1) = 0.1. Kemudian
kondisi awal akan diubah menjadi xb(1) = 0.101 dan
xc(1) = 0.1000001. Sinyal keluaran yang dihasilkan oleh sebuah sistem chaos sangat dipengaruhi oleh kondisi awalnya. Perbandingan antara sinyal chaos dengan ketiga buah kondisi awal diatas dapat dilihat dalam Gambar 7. di bawah.
Seperti yang digambarkan dalam gambar diatas, dalam untuk keperluan pengujian unjuk kerja skema ini dibutuhkan 2 buah pengirim dan dua buah penerima. Keluaran Penerima Asli 1 dan Penerima Asli 2 kemudian dikirimkan ke
Matlab workspace. Kedua sinyal ini kemudian
dibandingkan dengan menggunakan blok Simulink dan ditampilkan dengan menggunakan
blok Scope. Implementasinya dapat dilihat dalam
Gambar 8 dibawah. Pengirim Asli Pengirim Baru Penerima Asli 1 Penerim
a
Asli 2Penampil
0 50 100 150 200 250 300 350 0
0.5 1
(a). Tent Map Baru: Kondisi awal xb(1)=0.101
Waktu (seconds) N ila i t e n t m a p 0 50 100 150 200 250 300 350 0 0.5 1
(b). Tent Map Asli: Kondisi awal xa(1)=0.1
Waktu (seconds) Ni la i T e n t m a p 0 50 100 150 200 250 300 350 -0.1 0 0.1 (c). Error e1 Waktu (seconds) N ila i e rro r a 0 50 100 150 200 250 300 350 0 0.5 1
(a). Tent Map Baru: Kondisi awal xc(1)=0.1000001
Waktu (seconds) Ni la i t e n t ma p 0 50 100 150 200 250 300 350 0 0.5 1
(b). Tent Map Asli: Kondisi awal xa(1)=0.1
Waktu (seconds) N ila i T e n t m a p 0 50 100 150 200 250 300 350 -0.1 0 0.1 (c). Error e2 Waktu (seconds) Ni la i e rr o r b.
Gambar 7. Perbandingan sinyal chaos tent-map dengan tiga buah kondisi awal: a. Kondisi awal xa(1)=0.1 Vs xb(1) 0.101, b. Kondisi awal xa(1)=0.1 Vs xc(1)=0.1000001
Comparison of data output 6 Initial Value: x(1) = 0.1 Vs x(1) = 0.101 rec_out 6 fpt dbl Gateway Out2 fpt dbl Gateway Out1 dbl fpt Gateway In4 dbl fpt Gateway In2 Data Output 6 Data Output 1 Sy stem Generator
(a) Original Data Output xa(1)=0.1
(b) New Data Output xb(1)=0.101
(c) Comparison
Gambar 8. Membandingkan keluaran Penerima Asli 1 dan Penerima Asli 2 dengan menggunakan System
Generator dan Simulink
Kondisiawal : xa(1)=0.1 Vs xb(1)=0.101
Gambar 9. Perbandingan keluaran Penerima Asli 1 (paling atas), Penerima Asli 2 (no.2 atas), dua buah sinyal dalam satu window: Penerima Asli 1 (Biru) dan Penerima Asli 2 (Hijau)
Percobaan pertama yang dilakukan : kondisi awal Pengirim Asli, Penerima Asli 1, Penerima Asli 2 adalah xa(1)=0.1 sedangkan kondisi awal Pengirim Baru adalah xb(1)=0.101. Dari Gambar 9 diatas dapat dilihat bahwa Penerima Asli 2 gagal merekonstruksi sinyal informasi dengan benar. Hal ini dilihat bahwa keluaran
Penerima Asli 2 (grafik warna biru) tidal match dengan
keluaran Penerima 1 (grafik warna hijau).
Kondisi awal xa(1)=0.1 vs xc(1)=0.1000001
Percobaan kedua yang dilakukan adalah kondisi awal Pengirim Asli, Penerima Asli 1. Penerima Asli 2
adalah xa(1)=0.1 sedangkan kondisi awal
Pengirim Baru adalah xc(1)=0.1000001. Gambar
10 di bawah menunjukkan Penerima 2 hanya dapat merekonstruksi informasi dengan benar
disaat-saat awal dimana galat (error) diantara
sinyal chaos, setelah itu akan gagal seiring
dengan adanya galat. Ini menunjukkan bahwa
perubahan kondisi awal walaupun sekecil apapun akan menyebabkan perubahan yang besar dalam jangka panjang pada sistem chaos
Gambar 10. Perbandingan keluaran Penerima Asli 1 (paling atas), Penerima Asli 2 (tengah), dan kedua buah keluaran penerima dalam satu window (paling bawah : Penerima Asli 1 (biru) dengan Penerima Asli 2 (hijau)
KESIMPULAN
Dari hasil percobaan dapat dilihat bahwa apabila seseorang yang tidak mempunyai informasi mengenai sinyal chaos yang digunakan untuk memodulasi informasi yang dikirim, maka dia tidak akan dapat merekonstruksi informasi yang dikirimkan dengan tepat. Juga dapat disimpulkan bahwa kondisi awal pada sistem chaos merupakan kunci rahasis bagi komunikasi yang berbasis sinyal chaos. Untuk dapat merekonstruksi informasi dengan benar, penerima harus mempunyai pembangkit sinyal chaos dan kondisi awal yang benar-benar sama dengan pengirim.
DAFTAR PUSTAKA
Rulkov,N., Suschik, M., Tsimring, L., and
Volkovskii, A., 2001, “Digital Communication
Using Chaotic-Pulse-Position Modulation”,
IEEE Transaction on Circuits and Systems-I. Fundamental Theory and Application, Vo. 48, no. 12, December 2001.
Suschik Jr, M., Rulkov, N., Larson, L., Tsimring, L., Abardanel, H., Yao, K., Volkovskii, A.,
2000, “Chaotic Pulse Position Modulation: A
Robust Method of Communicating with Chaos”, IEEE Communication Letters, Vol. 4, no. 4, April 2000.
Supriyono, H., 2005, “Chaos-based Digital
Communication Systems”, Jurnal Teknik
Gelagar English Edition, October 2005.
---, 2005, “Xilinx system Generator v2.1 for
Simulink”, Internet Web page:
http://brwc.eecs.berkeley.edu/classes/cs152/ha ndouts/Tutorial_book.pdf (Accessed 10 June 2005).