## IMPLEMENTASI PSEUDO NOISE SEQUENCE (PN CODE) TIPE GOLD CODE PADA WARP (WIRELESS OPEN ACCESS RESEARCH PLATFORM)

## Viving Frendiana
Teknik Informatika, Fakultas Ilmu Komputer, Universitas Nahdlatul Ulama Sidoarjo E-mail : viving.f@gmail.com

## ABSTRAK
Propagasi gelombang radio di dalam ruang ( indoor radio propagation ) merupakan salah satu tantangan besar dalam perencanaan komunikasi nirkabel ( wireless communication ). Cara untuk menentukan pemodelan kanal salah satunya adalah melalui tanggapan impuls ( response impulse ). Pada propagasi gelombang langsung, sinyal yang dipancarkan oleh antena pemancar langsung diterima oleh antena penerima tanpa mengalami pantulan, disebut Line Of Sight (LOS). Karena perambatannya harus secara langsung, maka di lokasi- lokasi yang antena penerimanya terhalang, tidak akan menerima sinyal ( blocked spot ). Pada propagasi LOS terdapat daerah yang harus dan wajib terhindar dari halangan, daerah  itu disebut dengan daerah fresnel (fresnel zone). Pada penelitian ini dilakukan pengukuran respon impuls menggunakan pseudo-random noise sequence yaitu berjenis kode Gold. Pengukuran menggunakan  modul Wireless Open Access Research Platform (WARP) versi 2.
Kata Kunci : Pseudo Noise Sequence, Gold Code, WARP

## PENDAHULUAN
Propagasi gelombang radio di dalam ruang ( indoor radio propagation ) merupakan salah satu tantangan besar dalam perencanaan komunikasi nirkabel ( wireless communication ). Cara untuk menentukan pemodelan kanal salah satunya adalah melalui tanggapan impuls ( response impulse ). Salah satu teknik menggunakan korelator geser ( sliding correlator ) pada penerima dan memanfaatkan korelasi kode PN ( pseudo noise code ) untuk mengukur estimasi respon impuls kanal. Respon impuls kanal didapatkan dari korelasi silang PN code yang diterima dengan PN code asal yang ditransmisikan. Sedangkan teknik yang lain menggunakan Network Analyzer untuk mengukur transfer function kanal.
Software Define Radio (SDR) akan menjadi sebuah perangkat yang dapat memvisualisasikan sistem komunikasi baik. Banyak SDR yang telah diproduksi dalam dunia telekomunikasi, namun baru-baru  ini adalah SDR yang bersifat open-source yaitu Wireless Access-Open Research Platform (WARP). Salah satu keunggulan dari WARP adalah dapat diprogram dengan software MATLAB serta pengembangan versi terbaru dapat di update dengan MATLAB . WARP menawarkan tingkat fleksibilitas yang tinggi, artinya bahwa perubahan parameter seperti modulasi, penguatan baseband, penguatan Radio Frekuensi (RF) dapat diganti pada sisi software sesuai dengan kebutuhan, sehingga lebih efisien dalam
mendesain sistem komunikasi. WARP dapat beroperasi pada frekuensi 2,4 GHz dan 5 GHz (IEEE 802.11a/b/g) .
Salah satu modul platform khusus yang dirancang untuk satu sistem tertentu adalah Wireless Open-Access Research Platform (WARP), yang disediakan untuk memungkinkan peneliti secara fleksibel memodifikasi prosedur transmisi pada semua lapisan, mulai dari lapisan fisik sampai ke lapisan aplikasi [Anand, Aryafar, & Knightly (2010)]. Platform komersial, seperti Sundance dan Lyrtech, menyediakan beberapa kemampuan RF mirip dengan WARP. Namun, sistem ini tidak memberikan kerangka kerja terbuka untuk implementasi algoritma baik  di lapisan fisik dan MAC, berbeda dengan WARP yang bisa diimplementasikan baik di lapisan PHY maupun MAC [Murphy, Sabharwal, A. & Aazhang, B. (2006)]. Pada penelitian ini dilakukan pengukuran respon impuls menggunakan pseudo- random noise sequence yaitu berjenis kode Gold. Pengukuran menggunakan  modul Wireless Open Access Research Platform (WARP) versi 2.

## TINJAUAN PUSTAKA

## A. Pseudo Noise Code (PN Code)
PN sequence tidak benar-benar random, tapi merupakan sinyal periodik yang diketahui baik oleh penerima maupun pengirim. PN sequence dihasilkan oleh Pseudo Random Generator (PRG), yang terdiri dari beberapa bagian. Sebuah feedback shift register memiliki 4 tingkat register untuk menyimpan dan menggeser, sebuah modulo-2 adder , dan jalur feedback dari adder ke input register. Operasi shift register dikontrol oleh pulsa clock sequence . Pada setiap pulsa clock, isi dari setiap tingkat bergeser 1 tingkat ke kanan. Dan isi dari tingkat X3 dan X4 ditambahkan dan hasilnya diumpanbalikkan ke Xl.
Gambar 1 Pseudo Random Generator (PRG)

## B. Maximum Length Sequence (M-sequence)
M-sequence adalah  salah  satu  kode  penebar  (PN code )  yang  sering digunakan dalam  sistem  cdma. M-sequence dapat dibangkitkan dari  sebuah Linear Feedback Shift Register . Sebuah generator  shift  register sederhana  (SSRG)  menerima sinyal feedback yang  dikembalikan  kepada  single  input. Sebuah SSRG bersifat linier bila fungsi feedback -nya dapat di XOR. Secara blok diagram dapat dilihat sbb:

## Gambar 2 M-Sequence
Sebuah Simple Shift Register Generator (SSRG) mempunyai semua sinyal feedback yang dibalikkan ke single input atau sebuah shift register (delay line). SSRG adalah linear apabila fungsi feedback dapat dijelaskan sebagai penjumlahan modulo-2 (xor).

## C. Gold Code
Gold code adalah salah satu non orthogonal code yang merupakan turunan dari M-Sequence . Gold code disusun  oleh  dua  buah M-Sequence yang  masing-masing outputnya ditambahkan (adder modulo 2). Kedua output dari M-Sequence ditambahkan (XOR)  secara  chip per chip menggunakan pulsa-pulsa clock  yang sinkron. Kedua M- Sequence mempunyai panjang yang sama.

## Gambar 3 Gold sequence

## D. Respon Impuls
Dalam suatu pengukuran  biasanya didapat suatu  persamaan  hasil  yang dinamakan  dengan fungsi transfer kanal dalam domain frekuensi H(f) , yang  kemudian diolah  dengan  IFFT  ( inverse  fast fourier  transform )  untuk  mendapatkan  respon impuls  yang  merupakan  fungsi  transfer  kanal dalam  domain  waktu  h( τ ).  Pada umumnya pengukuran  dilakukan  pada  sistem  tetap  (fixed), maka respon impuls dimodelkan sebagai Response Impulse  Time  Invariant .  Jadi  observasi  hanya dilakukan terhadap delay ( τ ) saja.

## E. WARP (Wireless Open Access Research Platform)
WARP merupakan salah satu jenis SDR yang dikembangkan di laboratorium CMC, Rice University. WARP terdiri dari sebuah modul FPGA (Field Programmable Gate Array) yang mampu mengintegrasikan sumber daya pengolahan berbasis FPGA dengnan antar muka radio nyata. Platform ini mampu mengimplementasikan algoritma pada pengolahan hardware secara real-time pada physical layer dan MAC layer. Pada WARP mempunyai  WARPLab yang merupakan framework untuk membangkitkan sinyal dari Program MATLAB serta dapat ditransmisikan secara real-time serta mampu diimplementasikan pada frekuensi radio 2,4 GHz dan 5 GHz.

## Gambar 4 Modul WARP
Radio board merupakan interface dari domain digital ke domain analog. Radio board pada WARP didesain menggunakan IC Maxim MAX2829, pada proses konversi dari digital ke analog atau sebaliknya, radio board menggunakan A/D (Analog to Digital) dan D/A (Digital-to-Analog) converter. Radio board juga melakukan proses modulasi dan demodulasi baseband.

## Gambar 5 Radio Board

## METODE PENELITIAN
Pada penelitian ini dilakukan pengukuran respon impuls menggunakan pseudo-random noise sequence yaitu berjenis kode Gold dengan correlator di bagian penerima . Pengukuran menggunakan  modul Wireless Open Access Research Platform (WARP) versi 2.
Gambar 6 Diagram alir metode penelitian
Sebelum dilakukan pengukuran respon  impuls kanal radio MIMO perlu dilakukan beberapa persiapan, diantaranya adalah mempersiapkan peralatan pengukuran dan integrasi PC dengan modul WARP. Tujuannya adalah agar sistem pengukuran bisa berjalan dengan baik sehingga didapatkan hasil pengukuran yang optimal. Pada saat proses pengambilan data (pengukuran) ada beberapa peralatan baik hardware maupun software yang diperlukan.
Hardware yang dibutuhkan : WARP FPGA Board v2 , Antena, Gigabps Switch Ethernet, PC / Laptop dengan windows, Kabel penghubung (kabel LAN), Compact Flash (CF). Software yang dibutuhkan : Xilinx ISE, EDK, Sysgen dan Chipscope versi 10-13 atau versi diatasnya (penelitian ini menggunakan versi 13.4), MATLAB 7.12.0.635 (R2011a) atau versi diatasnya (penelitian ini menggunakan versi 7.12.0.635 32-bit ), TortoiseSVN, pnet, tcp_udp_ip_2.0.6, mkdosfs
Pada penelitian ini dilakukan pengukuran respon impuls menggunakan pseudo- random noise sequence yaitu berjenis kode Gold. Pengukuran menggunakan  modul Wireless Open Access Research Platform (WARP) versi 2. Rangkaian sistem dan diagram blok pengukuran ditunjukkan pada Gambar 7.
Gambar 7 Rangkaian sistem pengukuran
Masing-masing peralatan  yaitu PC / Laptop, modul WARP yang berfungsi sebagai pemancar (WARP Tx) dan modul WARP yang berfungsi sebagai penerima (WARP Rx) terhubung ke switch Ethernet dengan  menggunakan kabel penghubung / kabel LAN.  Pada setiap modul WARP akan dipasang dua antena sebagai pemancar dan dua antena sebagai penerima. Dan keempat antena tersebut terhubung langsung dengan modul WARP. Sehingga dua antena sebagai pemancar dihubungkan di modul WARP Tx dan dua antena sebagai penerima dihubungkan di modul WARP Rx. Jarak antar elemen antena sebesar 30 cm. Mendefinisikan paramemer pada WARP sebagai berikut :
% Mendefinisikan parameter WARP
TxDelay = 1000; % --> jumlah sampel noise per Rx capture [0:2^14] TxLength = 2^14-1-1000; %--> panjang transmisi [0:2^14-1-TxDelay] TxMode = 0 ; %--> mode transmisi [0=single transmisi, 1=continuous transmisi] CarrierChannel = 12; %--> kanal pada band 2.4 GHz [1:14]
TxDelay sebagai jumlah sampel noise per Rx capture diberi nilai 1000, dimana nilai TxDelay sebesar 0 hingga 2 14 . TxLength merupakan panjang transmisi yang bisa diset dengan nilai 0 hingga 2 14 -1-TxDelay. Pada tesis ini nilai TxLength adalah 2 14 -1-1000, karena nilai TeDelay sebesar 1000. Model transmisi yang dilakukan adalah single mode sehingga
TxMode = 0, apabilai model transmisi adalah continuous transmisi Maka TxMode = 1. Sistem pengukuran ini dilakukan dalam band frekuensi 2,4 GHz sehingga CarrierChannel diset sebesar 12.
Node1_Radio2_TxGain_BB = 3; %--> Tx Baseband Gain [0:3] Node1_Radio2_TxGain_RF = 40; %--> Tx RF Gain [0:63] Node1_Radio3_TxGain_BB = 3; % Tx Baseband Gain. In [0:3] Node1_Radio3_TxGain_RF = 40; % Tx RF Gain. In [0:63] Node2_Radio2_RxGain_BB = 15; %--> Rx Baseband Gain [0:31] Node2_Radio2_RxGain_RF = 1; %--> Rx RF Gain [1:3] Node2_Radio3_RxGain_BB = 15; %--> Rx Baseband Gain [0:31] Node2_Radio3_RxGain_RF = 1; %--> Rx RF Gain [1:3]
Tiap Node WARP Tx dan Node WARP Rx terdiri dari 2 radio yaitu radio 2 dan radio 3. Masing-masing pada Gain Tx baseband diset pada nilai 3 dan nilai Gain RF Tx sebesar 40. Sedangkan Masing-masing pada Gain Rx baseband diset pada nilai 15 dengan nilai Gain RF Tx sebesar 1. Perlu downloadkan parameter WARP ke node WARP. Parameter TxDelay, TxLength, TxMode perlu diketahui oleh transmitter sedangkan receiver tidak perlu tahu. Parameter TxDelay, TxLength, TxMode didownloadkan ke transmitter (Node1 ) warplab_writeRegister(udp_node1,TX_DELAY,TxDelay); warplab_writeRegister(udp_node1,TX_LENGTH,TxLength); warplab_writeRegister(udp_node1,TX_MODE,TxMode); Generate bit (Gold Code) Untuk Dikirim Melalui Node 1 Radio 2 yaitu dengan generate m- sequence ke-1 (13,12,11,2) dengan panjang 8191 (1+x^2+x^11+x^12,x^13) dan generate m- sequence ke-2 ([13,12,8,2) dengan panjang 8191 (1+x^2+x^8+x^12+x^13). Kemudian membuat sinyal untuk dikirim dari Node 1 Radio 2. Node1_Radio2_TxData = Gold_code_matrix(1:8191); Download vector Node1_Radio2_TxData ke WARP Node 1 Radio 2 Tx buffer warplab_writeSMWO(udp_node1, RADIO2_TXDATA, Node1_Radio2_TxData); Generate b_aksen untuk dikirim dari Node 1 Radio 3. Node1_Radio3_TxData = b_aksen; Download vector Node1_Radio3_TxData ke WARP Node 1 Radio 3 Tx buffer warplab_writeSMWO(udp_node1, RADIO3_TXDATA, Node1_Radio3_TxData); Melakukan proses pembuatan window hamming, fft, dan ifft Korelasi Tx Radio2 & Rx Radio2 (h11) win2 = hamming(8191, 'periodic' )'; CROSS2 = conj(fft(Node1_Radio2_TxData)).*fft(Node2_Radio2_RxData (1:8191)); w2 = win2.*CROSS2; cross2_win2 = ifft(w2);

## HASIL DAN PEMBAHASAN
Pada gambar 4.1 merupakan plot hasil dari membangkitkan m-sequence dengan jumlah register 13 dan menggunakan preferred pair register ke (13,12,11,2) dan (13,12,8,2).
Gambar 8 m-sequence
Dari jumlah register 13 akan didapatkan panjang sequence 8191 yang diperoleh dengan menggunakan persamaan 2 13 -1. Selain preferred pair (13,12,11,2) dan (13,12,8,2), juga bisa menggunakan nomor preferred pair yang lain seperti (13,12, 11, 8),
(14,13,12,11,10,8) dan lain-lain.
Gold code dibangkitkan dari dua buah m-sequence yang mempunyai panjang yang sama. Masing-masing output dari m-sequence tersebut di-XOR untuk mendapatkan Gold Code . Pada gambar 4.2, Gold Code didapatkan dari dua m-sequence dengan masing-masing jumlah register sebesar 13 dan panjang 8191. preferred pair yang digunakan adalah (13,12,11,2) dan (13,12,8,2). b_aksen atau yang bisa disebut sebagai pasangan dari Gold Code harus memuhi persyaratan tertentu supaya dapat dihasilkan nilai korelasi silang ( crosscorrelation ) yang rendah dan autocorrelation yang maksimal.
Gambar 9 Gold code dan b_aksen (pasangan Gold Code)
1.885 1.89 1.895 1.9 1.905 1.91 1.915 1.92 1.925 x 10 -4 0 20 40 60 80 100 Respon Impuls (h11) milisecond (ms)) A m pl it ud e 1.86 1.87 1.88 1.89 1.9 1.91 1.92 1.93 1.94 x 10 -4 0 20 40 60 80 100 Respon Impuls (h12) milisecond (ms)) A m pl it ud e 1.87 1.88 1.89 1.9 1.91 1.92 1.93 x 10 -4 20 40 60 80 100 Respon Impuls (h21) milisecond (ms)) A m pl it ude 1.86 1.87 1.88 1.89 1.9 1.91 1.92 1.93 1.94 x 10 -4 0 20 40 60 80 100 Respon Impuls (h22) milisecond (ms)) A m pl it ude
Crosscorrelation didapat dari : CROSS=conj(fft(Gold_code_matrix(1:8191))).*fft(b_aksen(1:8191)); cross=ifft(CROSS); Sedangkan autocorrelation didapatkan dari : CROSSA=conj(fft(Gold_code_matrix(1:8191))).*fft(Gold_code_matrix(1:8191)); crossA=ifft(CROSSA); atau CROSSB=conj(fft(b_aksen(1:8191))).*fft(b_aksen 1:8191)); crossB=ifft(CROSSB);
Nilai respon impuls kanal seperti pada gambar 10  Diperoleh empat respon impuls kanal yaitu h11, h12, h21, dan h22. h11 merupakan respon impuls kanal dari Tx1 dan Rx1. h12 merupakan respon impuls kanal dari Tx2 dan Rx1. Sedangakan h21 merupakan respon impuls kanal dari Tx1 dan Rx2. Lalu h22 merupakan respon impuls kanal dari Tx2 dan Rx2. Rata-rata masing-masing nilai respon impuls kanal mencapai puncak di waktu 1,9x10 -8 detik dengan masing- masing amplitudo 30, 100, 60, dan 90.
Gambar 10 Nilai Respon Impuls Kanal  (h11,h12,h21,h22)

## KESIMPULAN
1. Pseudo Noise Sequence (PN Code) dapat diimplementasikan ke WARP (Wireless Open Acces Research Platform)
2. Gold Code dapat diimplementasikan ke WARP (Wireless Open Acces Research Platform)
3. Diperoleh empat respon impuls kanal yaitu h11, h12, h21, dan h22. h11 merupakan respon impuls kanal dari Tx1 dan Rx1.

## DAFTAR PUSTAKA
G. E. W. Pratama, Suwadi, T. Suryani, Implementasi Sistem Komunikasi Kooperatif OFDM pada Wireless Open Access Research Plaform , Seminar Nasional Inovasi dan Aplikasi Teknologi di Industri (SENIATI) 2016, ISSN : 2085-4218, 2016
A. S. Putra, Suwadi,  T. Suryani, Implementasi Dan Evaluasi Kinerja Direct Sequence Spread Spectrum Menggunakan Wireless Open-Access Research Platform (Warp),
2015.
H. Hashemi dan D. Tholl, Analysis of The RMS Delay Spread of Indoor Radio Propagation Channel , IEEE, 1993.
L. G. Garcia, N. Jalden, B. Lindmark, P. Zetterberg, L. D. Haro, Measurements of MIMO Capacity at 1800 MHz with In-and Outdoor Transmitter Locations , Proceeding 'EcCAP 2006', Perancis, 6-10 November 2006.
D.Tholl, M. Fattouche, R. J. C. Bultitude, A Comparison of Two Radio Propagation Channel Impulse Respone Determination Techniques , IEEE Transactions on Antennas and Propagation, Vol. 41, No. 4, APRIL, 1993.
N. Anand, E. Aryafar, dan E. W. Knightly, WARPLab : A Flexible Framework for Rapid Physical Design, Rice University, USA, 2010.
Patrick Murphy, Ashu Sabharwal, dan Behnaam Aazhang, Design of WARP: a Wireless Open-Access Research Platform , 14th European Signal Processing Conference (EUSIPCO 2006), Florence, Italy, September 4-8, 2006.
http://www.gnu.org/software/gnuradio/ .
http://warp.rice.edu/trac/wiki/WARPLab
J.P Kermoal., L. Schumacher, K.I Pedersen, P.E Mogensen dan F. Fredericsen, A Stochastic MIMO Radio Channel Model with Experimental Validation , IEEE Journal vol. 20, no. 6 , Agustus 2002. hal 1212.