Realisasi Optical Orthogonal Codes (OOC) Menggunakan Kode Prima (Prime Code)
Antony / 0322107
E-mail : anthonylee017@yahoo.com
Jurusan Teknik Elektro, Fakultas Teknik, Universitas Kristen Maranatha Jalan Prof. Drg. Suria Sumantri 65
Bandung 40164, Indonesia
ABSTRAK
Jaringan komunikasi masa depan diharapkan dapat mengintegrasikan layanan pita sempit (narrow band services) dan layanan pita lebar (broadband service) kepada pelanggan. Agar dapat memenuhi kebutuhan ini, maka diperlukan peningkatan throughput dan juga lebar pita (bandwidth) yang mendukung kedua layanan tadi. Jaringan konvensional yang menggunakan media dengan lebar pita terbatas seperti twisted wire pairs dan kabel koaksial tidak akan mampu mendukung kedua layanan tersebut sehingga diperlukan media lain seperti serat optik.
Selain memiliki lebar pita yang lebih besar daripada kedua media sebelumnya, serat optik juga memiliki faktor redaman yang lebih kecil, lebih tahan terhadap interferensi elektromagnetik, memiliki tingkat kerahasiaan yang lebih tinggi. Dalam Tugas Akhir ini digunakan Optical Orthogonal Code / OOC yang disimulasikan pada sistem CDMA berbasis optik.
Dari hasil percobaan, didapatkan bahwa nilai korelasi silang maksimum adalah dua (2). Untuk nilai autokorelasi sesuai dengan nilai bilangan prima yang digunakan. Gambar grafik BER (Bit Error Rate) memperlihatkan adanya kesalahan penerimaan karena adanya noise AWGN (Additive White Gaussian Noise) yang ditambahkan. Sedangkan untuk kondisi tanpa noise AWGN gambar grafik BER sama dengan nol.
Universitas Kristen Maranatha
ii
Realization Of Optical Orthogonal Codes (OOC) Using Prime Code
Anthony / 0322107
E-mail : anthonylee017@yahoo.com
Departement of Electrical Engineering, Faculty of engineering, Christian Maranatha University
Prof. Drg. Suria Sumantri 65 Street Bandung 40164, Indonesia
ABSTRACT
It is expected that the future communication network can the integrated the narrow band services and broadband services into the subscribers. To meet this demand, a further increase in throughput as well as in bandwidth is needed to support the services mentioned. The conventional network which uses the media of broadband is limited, such as twisted wire pairs and coaxial cable which, are not able to support the above mentioned services so that other media is required, e.g optical fiber.
Besides having bigger broadband than the two media mentioned previously, the optical fiber also has attenuation factor which is smaller, and can resist electromagnetic interference more, as well as higher security level. In this final project Optical Orthogonal Code / OOC is used, which is simulated in the CDMA system using optical base.
From the tst carried out, it turns out that the value of maximum cross correlation is two for the value of autocorrelaton in accordance with the value of primary code which is used. The picture of BER graphic (Bit Eror Rate) shows that there is a reception error because of the increase in the noise AWGN (Additive White Gaussian Noise), where as in the condition without noise AWGN the picture of BER graphic shows zero.
DAFTAR ISI
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
BAB I PENDAHULUAN 1.1 LATAR BELAKANG ... 1
1.2 IDENTIFIKASI MASALAH ... 2
1.3 PERUMUSAN MASALAH ... 3
1.4 TUJUAN ... 3
1.5 PEMBATASAN MASALAH... 3
1.6 SISTEMATIKA PENULISAN... 3
BAB II LANDASAN TEORI 2.1 KODE OPTIK ORTHOGONAL ... 5
2.2 SISTEM KOMUNIKASI FO CDMA ... 6
2.3 TIME DIVISION MULTIPLE ACCESS ... 8
2.4 FREQUENCY DIVISION MULTIPLE ACCESS ... 8
2.5 TEKNOLOGI SPREAD SPEKTRUM ... 9
2.6 PRIME CODES ... 9
2.7 KORELASI SENDIRI (AUTOCORRELATION) ... 11
2.8 KORELASI SILANG ... 11
2.9 MODULASI ... 12
2.10 TEKNIK MODULASI OPTIK ... 13
2.11 TEKNIK PENGKODEAN... 14
Universitas Kristen Maranatha
iv
3.2 REALISASI OOC PADA SISTEM
CDMA.………... 16
3.3 DIAGRAM ALIR PEMBANGKITAN OOC
MENGGUNAKAN KODE PRIMA ... 17 3.4 DIAGRAM ALIR UNTUK PENGIRIM DAN PENERIMA. 18
BAB IV DATA PENGAMATAN DAN ANALISA
4.1 PENGUJIAN AUTOKORELASI. ... 22 4.2 PENGUJIAN BIT ERROR RATE ... 23 4.3 PENGUJIAN SINYAL MODULASI ASK... . 26
BAB V KESIMPULAN DAN SARAN
5.1 KESIMPULAN ... 27 5.2 SARAN ... 27
DAFTAR GAMBAR
Gambar 2.1 Sistem komunikasi serat optik dengan menggunakan encoder
dan decoder optik (korelator) ... 5
Gambar 2.2 Skema diagram sistem komunikasi CDMA optik dengan Semua encoder dan decoder optik berkonfigurasi star .... 6
Gambar 3.1 Blok Diagram FO-CDMA secara umum... 15
Gambar 3.2 Diagram CDMA optik yang disederhanakan ... 16
Gambar 3.3 Diagram Alir Pembangkitan OOC dengan Kode Prima .. 17
Gambar 3.5 Diagram Alir untuk pengirim dan penerima ... 18
Gambar 4.1 Grafik autokorelasi GF(3) pada C1 ... 19
Gambar 4.2 Grafik autokorelasi GF(5) pada C1 ... 19
Gambar 4.3 Grafik autokorelasi GF(3) pada C2... ... 20
Gambar 4.4 Grafik autokorelasi GF(5) pada C2... 20
Gambar 4.5 Grafik korelasi silang GF(3) pada C1 dan C2... 21
Gambar 4.6 Grafik korelasi silang GF(5) pada C1 dan C2... 21
Gambar 4.7 Grafik korelasi silang GF(3) pada C2 dan C3... 22
Gambar 4.8 Grafik korelasi silang GF(7) pada C1 dan C2... 22
Gambar 4.9 Grafik Bit Error Rate ... 23
Gambar 4.10 Grafik Bit Error Rate... 23
Gambar 4.11 Grafik Bit Error Rate... 24
Gambar 4.12 Grafik Bit Error Rate... 24
Gambar 4.13 Grafik Bit Error Rate... 25
Gambar 4.14 Grafik sinyal yang dikirimkan... 25
Universitas Kristen Maranatha
vi
DAFTAR TABEL
Lampiran A
% Program Utama
clear;
close all;
clc;
% Bilangan prima yang dipilih (sama dengan w / bobot Hamming
% untuk kode prima)
p=11;
%Pembangkitan data
data=[1 1 0 1 1];
%Pengulangan data agar sama panjang dengan kode prima yang
% digunakan
data_ulang=ulang(p,data);
% Pembangkitan prime sequence
brs=baris_prima(p);
% Pembangkitan kode prima
A–2
% Hitung korelasi silang
kode_used1=kode(1,:);
kode_used2=kode(2,:);
% Batas hitung korelasi silang
% Hitung autokorelasi
kode_used1=kode(4,:)
kode_used2=kode_used1;
% Batas hitung autokorelasi
for k=1:length(data)
data_termod_kali1((k-1)*p.^2+1:k*p.^2)=...
kali(data_ulang((k-1)*p.^2+1:k*p.^2),kode_used1);
data_termod_kali2((k-1)*p.^2+1:k*p.^2)=...
kali(data_ulang((k-1)*p.^2+1:k*p.^2),kode_used2);
end;
for m=1:length(data)
bantu1(1:p.^2)=data_termod_kali1((m-1)*p.^2+1:m*p.^2);
bantu2(1:p.^2)=data_termod_kali2((m-1)*p.^2+1:m*p.^2);
for k=1:p.^2
kor(k)=hitung_korelasi(bantu1,circshift(bantu2,[0 k-1]));
end;
korelasi((m-1)*p.^2+1:m*p.^2)=kor;
clear kor;
end;
figure;stem(1:length(korelasi),korelasi);grid;
title('Perhitungan autokorelasi untuk C4 pada GF(7)');
% Untuk menampilkan sinyal yang dikirimkan dengan termodulasi ASK
for m=1:length(data_termod_kali1)
sinyal_tx((m-1).*20+1:m.*20)=sinyal(data_termod_kali1(m));
end;
sinyal_tx_noise=sinyal_tx+0.01.*randn(1,length(sinyal_tx));
figure;plot(sinyal_tx);grid;
title('Sinyal yang dikirimkan untuk C1 dan C2 pada GF(3)');
figure;plot(sinyal_tx_noise);grid;
A–4
% Perhitungan BER jika ada lebih dari p user
% (BER sebagai fungsi jumlah user dalam sistem), kanal AWGN, single path
% Inisialisasi kanal
SNR = 3;
T = 50000;
alpha = 1;
SNR_dec = 10.^(SNR / 10);
ku = 1;
k=1;
N = p.^2; % the length of spread code
Matcodes=[kode;kode_multi_prima(p)]
% Mulai perhitungan dengan MUD : matched filter
for K=1:1:size(Matcodes,1) %K jumlah user
A=floor((0:(K-1))*5/K)+1;
Aavg = sum(A.^2,2)/T;
C = Matcodes(K,:);
Eb = C(:,ku)' * C(:,ku)*Aavg(ku);
mf = C(:,ku);
sigma = Eb/SNR_dec(k)/2;
Sentbit(K,:)=ulang(p,data);
kode_used=Matcodes(K,:);
kode_used=circshift(kode_used,[0 K-1]);
for m=1:length(data)
Y(K,(m-1)*p.^2+1:m*p.^2)=...
kali(Sentbit(K,(m-1)*p.^2+1:m*p.^2),kode_used)...
+0.01.*randn(1,p.^2);
end;
for m=1:length(data)
Receivedbit1(K,(m-1)
*p.^2+1:m*p.^2)=…
sign(mf.*Y(K,(m-1)*p.^2+1:m*p.^2));
end;
Perr1(K) = sum(abs(Receivedbit1(K,:)-Sentbit(K,:)))/2/T;
% Perhitungan deteksi (MUD) : decorrelator
for pp=1:length(C)
if C(pp)==0
C(pp)=C(pp)+100*eps;
end;
end;
Receivedbit2 = sign(inv(C'*C)*C'*Y(K,:));
Perr2(K) = sum(abs(Receivedbit2(K,:)-Sentbit(K,:)))/2/T;
A–6
figure;semilogy(1:1:size(Matcodes,1),Perr2(1:1:size(Matcodes,1)),'ro-');
hold on;grid;
xlabel('Jumlah user');ylabel('BER');title('MUD dengan decorrelator');
% Pengecekan apakah ada user menggunakan kode yang sama
help1=0;
for dd=1:size(Matcodes,1)
for ee=1:size(Matcodes,1)
if dd~=ee
if Matcodes(ee,:)==Matcodes(dd,:)
help1=help1+1;
end;
end;
end;
end
;
Function kali
function keluar = kali(masuk1,masuk2)
%
% Function ini untuk operasi perkalian
%
% Variabel masukan : masuk1 dan masuk2
% Variabel keluaran : keluar
%
if length(masuk1) ~= length(masuk2)
error('Dimensi kedua sinyal masukan berbeda');
end;
for k=1:length(masuk1)
if masuk1(k)==0 | masuk2(k)==0
keluar(k)=0;
else
keluar(k)=1;
end;
A–8
Function Baris Prima
function keluar=baris_prima(masuk)
%
% Function ini untuk menghasilkan barisan prima (prime sequence)
%
% Catatan : masukan harus berupa bilangan prima
%
% Variabel masukan : masuk = bilangan prima
%
% Variabel keluaran : keluar = barisan prima
%
cek=isprime(masuk);
if cek == 0
error('Bilangan yang dimasukkan BUKAN bilangan prima');
end;
p = masuk; % bilangan prima yang diinputkan
for m = 1 : p
for n=1:p
S(m,n) = mod ((m-1).* (n-1),p);
end;
end;
Function Hitung Korelasi
function [keluar]=hitung_korelasi(masuk1,masuk2)
%
% Function untuk menghitung nilai korelasi antara
% dua buah kode (korelasi sendiri atau korelasi silang)
%
% Variabel masukan : masuk1=kode pertama
% masuk2=kode kedua
% Variabel keluaran : keluar = nilai korelasi
%
if (length(masuk1) ~= length (masuk2))
error('Panjang kode tidak sama');
end;
keluar=0;
for k=1:length(masuk1)
if (masuk1(k)==1 & masuk2(k)==1)
keluar=keluar+1;
end;
A–10
Function kode multi prima
function [keluar]=kode_multi_prima(masuk)
%
% Function ini untuk menambahkan kode
% untuk user lain selain kode prima yang ada
%
% Variabel masukan : masuk = bilangan prima
%
% Variabel keluaran : keluar = kode prima tambahan
%
for m=1:masuk.^2-masuk
x=zeros(1,masuk.^2);
cek=randperm(masuk.^2);
for k=1:masuk
x(cek(k))=1;
end;
tes(masuk+m,:)=x;
clear x;
end;
Function kode prima
function keluar=kode_prima(masuk)
%
% Function ini untuk menghasilkan kode prima (prime code)
%
% Catatan : masukan berupa barisan prima
%
% Variabel masukan : masuk
% Variabel keluaran : keluar
%
keluar=zeros(size(masuk,1),size(masuk,1).*size(masuk,2));
for m=1:size(masuk,1)
temp=masuk(m,:);
for n=1:length(temp)
keluar(m,(n-1).*size(masuk,2)+temp(n)+1)=1;
end;
A–12
Function Randuni
function[p]=randuni(N)
%
% Function ini membangkitkan data biner
% unipolar secara random
%
% Variabel masukan : N = bilangan bulat (>=2) random
%
% Variabel keluaran : p = data random unipolar
for i=1:N
temp=rand;
if (temp<0.5)
data(1,i)=0;
else
data(1,i)=1;
end;
end;
Function sinyal
function keluar=sinyal(masuk)
%
% Function ini untuk modulasi ASK
%
% Variabel masukan : masuk
% Variabel keluaran : keluar
%
t=0.05:.05:1;
f=1;
A=1;
if masuk==1
keluar=A.*sin(2.*pi.*f.*t);
else
keluar=zeros(1,length(t));
A–14
Function ulang
function keluar=ulang(p,masuk)
%
% Function ini untuk mengulang data user
% sesuai dengan periode chip yang digunakan(p^2)
%
% Variabel masukan : p =bilangan prima
% masuk = data user
%
% Variabel keluaran : keluar = data user yang
% sudah di-repetisi (diulang)
% sehingga panjangnya sama
% dengan banyak data * p^2
%
for m=1:length(masuk)
keluar((m-1)*p^2+1:m*p^2)=masuk(m);
BAB I
PENDAHULUAN
1.1 Latar Belakang
Peralatan komunikasi dalam kehidupan sehari-hari merupakan hal yang sangat penting dalam kehidupan manusia, khususnya dapat digunakan untuk mengirimkan dan menerima informasi dalam waktu yang cepat serta mendapatkan informasi yang akurat dalam jarak dekat maupun jarak yang jauh. Perkembangan telekomunikasi di dunia saat ini berkembang sangat pesat untuk memenuhi kebutuhan dan aktifitas manusia yang semakin tinggi. Hal ini juga membantu pertumbuhan pesat di sektor lainnya.
Faktor-faktor tersebut diatas menyebabkan perusahaan telekomunikasi konvensional membangun jaringan komunikasi masa depan yang diharapkan dapat mengintegrasikan layanan pita sempit (narrow band services) dan layanan pita lebar (broadband service) kepada pelanggan. Jaringan konvensional yang menggunakan media dengan lebar pita terbatas seperti twisted wire pairs dan kabel koaxial tidak akan mampu mendukung kedua layanan tersebut sehingga diperlukan media lain seperti serat optik. Selain memiliki lebar pita yang lebih besar daripada kedua media sebelumnya,serat optik juga memiliki faktor redaman yang lebih kecil, lebih tahan terhadap interferensi elektromagnetik, memiliki tingkat kerahasiaan yang lebih tinggi.
Salah satu karakteristik dari pelayanan dan aplikasi teknologi ini adalah kemampuan masing-masing terminal untuk menjalankan beberapa aplikasi dan layanan secara bersamaan, artinya masing-masing pemakai dapat melakukan percakapan sekaligus mengakses internet maupun intranet untuk mendapatkan informasi yang dibutuhkan pemakai juga dapat menggunakan terminal untuk
video conference dan daam waktu yang bersamaan saling bertukar informasi melalui E-mail ataupun Multimedia mail.
2 Universitas Kristen Maranatha
lebih besar, dapat mengatasi masalah lintas ganda (multipath) dan gangguan antar pengguna (Multiple Access Interference / MAI) yang tidak dapat diatasi FDMA dan TDMA . Selain itu CDMA juga memiliki tingkat kerahasiaan yang tinggi, tahan terhadap sinyal pengganggu (jamming) dan mampu meningkatkan kapasitas sistem karena setiap pengguna dapat menggunakan frekuensi yang sama secara bersamaan. Hal terakhir dimungkinkan karena setiap pengguna dicirikan dengan kode yang berbeda.
Terdapat dua teknik CDMA yang sering digunakan, yaitu direct-sequence CDMA (DS-CDMA) dan frequency-hopping CDMA (FH-CDMA). Keduanya memungkinkan beberapa pengguna secara serentak menggunakan medium transmisi (frekuensi) yang sama secara bersamaan melalui penggunaan barisan kode yang mencirikan time-hopping dan frequency-hopping. Pada DS-CDMA, lebar pita transmisi (tunggal) disebar (spread) langsung (time-hopping) dengan sebuah kode berpita lebar, sedangkan pada FH-CDMA kode ini mengendalikan urutan perubahan frekuensi yang tersedia (frequency-hopping).
Pembangkitan kode penebar (spreading code) ini merupakan salah satu penelitian yang berkembang dewasa ini. Dalam Tugas Akhir ini, karena diterapkan dalam system CDMA yang berbasis optik, maka kode ini disebut
Optical Orthogonal Code (OOC). OOC yang digunakan pada Tugas Akhir ini adalah kode prima yang menggunakan perhitungan korelasi sendiri (auto-correlation) dan korelasi silang (cross-(auto-correlation) serta Bit Error Rate (BER).
1.2 Identifikasi Masalah
Bagaimana melakukan pengkodean khusus untuk komunikasi optik pada sistem CDMA menggunakan optical orthogonal codes (OOC), yaitu codeword
1.3 Perumusan Masalah
Perumusan masalah yang akan dibahas dalam tugas akhir ini adalah bagaimana membangkitkan OOC dengan menggunakan kode prima, serta bagaimana kinerja OOC hasil dari kode prima akan diimplementasikan ke dalam sistem CDMA yang berbasis komunikasi optik ?
1.4 Tujuan
Tujuan dari tugas akhir ini yaitu merealisasikan optical orthogonal codes
(OOC) dalam komunikasi serat optik CDMA, menggunakan kode prima (prime code). Dan untuk melihat performansi sistem komunikasi CDMA pada serat optik, dengan menggunakan kode-kode optik orthogonal. Serta menganalisa interferensi dari pulsa-pulsa yang berdekatan yang bisa menimbulkan kesalahan deteksi, dan pengurangan sejumlah kombinasi dari sinyal-sinyal interferensi dengan menggunakan kode prima.
1.5 Pembatasan Masalah
Dalam tugas akhir ini, pembatasan dibatasi sampai hal-hal berikut yaitu : 1. Jumlah user maksimum p2.
2. Batas nilai korelasi silang maksimum 2 (dua).
3. Untuk menghitung kinerja dari hasil OOC ini menggunakan perhitungan korelasi silang dan penilaian perbandingan BER (Bit Error Rate) .
4. Realisasi OOC menggunakan kode prima.
5. Kode prima maksimum yang digunakan adalah 11, karena keterbatasan kemampuan komputasi (memori) pada MATLAB nya.
1.6 Sistematika Penulisan.
Sistematika penulisan tugas akhir ini dibagi menjadi 5 bab, yaitu: Bab I : Pendahuluan.
4 Universitas Kristen Maranatha
Bab II : Landasan Teori
Bab ini berisi dasar teori dari optical orthogonal codes (OOC) dalam komunikasi serat optik CDMA dan menguraikan mengenai
karakteristik korelasi sendiri (auto correlation) dan korelasi silang (cross correlation) yang merupakan dasar keberhasilan sistem komunikasi CDMA pada serat optik.
Bab III : Cara Kerja
Bab ini berisi blok diagram FO-CDMA secara umum, realisasi OOC pada sistem CDMA, diagram Alir pembangkitan OOC dengan kode prima, diagram alir pada pengirim dan penerima.
Bab IV : Data Pengamatan dan Analisa
Bab ini membahas tentang proses pengujian optical orthogonal code (OOC) dalam komunikasi serat optik CDMA menggunakan kode prima, dan analisisnya mengenai karakteristik performansi sistem FO-CDMA. Bab V : Kesimpulan dan Saran.
28 Universitas Kristen Maranatha
BAB V
KESIMPULAN DAN SARAN
Bab ini berisi kesimpulan dari hasil simulasi dan analisis Tugas Akhir dan saran-saran yang perlu dilakukan untuk perbaikan serta pengembangan dimasa mendatang.
5.1 KESIMPULAN
Dari hasil percobaan, didapatkan bahwa nilai korelasi silang maksimum adalah dua (2). Untuk nilai autokorelasi sesuai dengan nilai bilangan prima yang digunakan. Gambar grafik BER (Bit Error Rate) memperlihatkan adanya kesalahan penerimaan karena adanya noise AWGN (Additive White Gaussian Noise) yang ditambahkan. Sedangkan untuk kondisi tanpa noise AWGN gambar grafik BER sama dengan nol.
5.2 SARAN
Tugas Akhir ini dikembangkan dengan menggunakan hard limiter agar dapat digunakan oleh user yang lebih banyak dengan intereference seminimal mungkin serta efisiensi bandwidth .
29 Universitas Kristen Maranatha
DAFTAR PUSTAKA
1.
A.J. Viterby., “ Code Division Multiple Access Principles of Spread-Spectrum Communications, “ Addison-Wesley Publishing Company, Reading, Mass., 1995.2.
C.L. Weber, G.K. Huth and B.H. Batson, “ Performance Considerations of Code Division Multiple Access System,” IEEE Transactions. Veh.Technology., Vol. VT-130, pp. 3-10, Febr 1994.
3.
Keiser, Gerd, “ Optical Fiber Communication,” Mc.Graw Hill BookCompany, Singapore, 1991.
4.
M.B. Pursley, “ Spread Spectrum Multiple-Access Communications in Multi-User Communication System,” G. Longo, Ed. New York : Springer-Verlag, 1989.5.
P.A Davis and A.A. Shaar, “ Asynchronous Multiplexing for an Optical-Fiber Local Area Network,” Electron. Lett., Vol.19, no. 10, May 1983.6.
Salehi, J.A., “ Code Division Multiple Access Techniques in Optical Fiber Networks- Part I : Fundamental Principle,” IEEE Transactions OnCommunications, Vol.37, No 8, 1989, pp. 824-833.
7.
Salehi, J.A., “ Code Division Multiple Access Techniques in Optical Fiber Networks- Part II : System Performance Analysis,” IEEE Transactions OnCommunications, Vol.37, No 8, 1989, PP. 824-833.