General coding method of address code for optical code division multiple access passive optical network – (F, K, λa, λc) optical orthogonal code

General coding method of address code for optical code division multiple access passive optical network – (F, K, λa, λc) optical orthogonal code

Optik 123 (2012) 779–783 Contents lists available at ScienceDirect Optik journal homepage: www.elsevier.de/ijleo General coding method of address c...

253KB Sizes 0 Downloads 48 Views

Optik 123 (2012) 779–783

Contents lists available at ScienceDirect

Optik journal homepage: www.elsevier.de/ijleo

General coding method of address code for optical code division multiple access passive optical network – (F, K, a , c ) optical orthogonal code Xiaobin Li ∗ College of Information Engineering, Shenzhen University, Shenzhen, Guangdong, 518060, China

a r t i c l e

i n f o

Article history: Received 22 December 2010 Accepted 27 April 2011

Keywords: Optical code division multiple access (OCDMA) Passive optical network (PON) General coding Block design Optical orthogonal code (OOC)

a b s t r a c t Since the importance of address code of OCDMA passive optical network (PON) diversity and lacking of general coding method until now, in this paper, we present a general coding method of (F, K, a , c ) optical orthogonal code (OOC) based on block design. Through the discussion of block, difference sets and cyclic permutation of perfect distance (CPPD), cyclic permutation of imperfect distance (CPID) is defined and applied to realize the coding method. Simulations results demonstrated that it is possible to construct (F, K, a , c ) OOCs with arbitrary code length, code weight, auto-correlation constraints and co-correlation constraints based on the same general coding method. © 2011 Elsevier GmbH. All rights reserved.

1. Introduction As the development of network technology, communication network requires more and more diversity and high speed. Also, broadband access technology which is able to support multi-service is urgently needed. Optical code division multiple access (OCDMA) technology is very suitable for multi-service access network with strong burst. It is considered as one of the major competitive access technologies for accessing networks, particularly the fiber to the home [1–3]. OCDMA passive optical network (OCDMA PON) technology is proposed as one of the preferred schemes for nextgeneration passive optical network [4]. Address code coding is one of the key technologies of OCDMA PON. It functions in multiple ways, including realizing multi-user asynchronous access, supporting various services, providing different QoS, reducing multi-user interference, improving network availability and reliability, enhancing security and implement synchronization. To perform above functions, several features are required for the potential OCDMA PON access code. First, it needs to fix code weight and code length as conventional OCDMA address code when used in the user groups without multi-service needed. Second, it should be able to provide different QoS when applied to

∗ Tel.: +86 0755 26535364; fax: +86 0755 26536198. E-mail address: [email protected] 0030-4026/$ – see front matter © 2011 Elsevier GmbH. All rights reserved. doi:10.1016/j.ijleo.2011.06.038

multi-service. It should have variable code weight or multi-weight as well [5]. Due to dynamic nature of user service, it is important for OCDMA PON address code to be diverse and be extendable with fixed code while code weight, code length, auto-correlation constraints, cross-correlation constraints and other parameters are changing. In incoherent OCDMA system, it is considered that optical orthogonal codes (OOCs) are the most ideal ones [2]. Among the existing OOC coding methods, regardless of those instructive thoughts [6–12], a common problem is the locality, which only can encode a specific encoding OOC, such as OOC with cross-correlation constraints being 1. It also cannot encode OOC with cross correlation constraints greater than 1. The locality of OOC encoding method restricts its extensibility, which further limits the application of OCDMA PON. Therefore, it is very important and necessary to construct a general encoding method which can adapt to OOC while parameters are changing. In the present work, for the first time, we tested the feasibility of realizing general coding method from block design and established OCDMA PON diverse address code method which can be extended to realize other OOC. Since there are internal relations between block design and OOC, if the constructing method of block can be found, then (F, K, a , c ) OOC general coding method may be gained. In Section 2 of this paper, the author provides a basic definition of this method. In Section 3, the author defines difference and cyclic permutation of imperfect distance (CPID) and presents the idea of

780

X. Li / Optik 123 (2012) 779–783

author’s algorithm. In Section 5, we do some simulations and discuss the simulating results, which prove the feasibility of general coding method for (F, K, a , c ) OOC. 2. OOC and block design 2.1. OOC OOC is a family of “0”, “1” sequences with good auto-correlation and co-correlation. A (F, K, a , c ) OOC C is a set of “0”, “1” sequences with length F and weight K, a and c denoting auto-correlation and co-correlation constraints. When a = c = , (F, K, a , c ) is denoted (F, K, ) [13]. A (F, K, a , c ) OOC C can be regarded as a family of K-set of module F. Each K-set is corresponding to a code word; the integers in K-set represent the non-zero bit positions in codeword. 2.2. Block design Let S = {1, 2, . . ., F} be a basal set including F different elements, B = {B1 , B2 , . . ., Bb } be K-set of S, r be the number of K-set which includes certain random elements, then (S,B) constructs a block design [14] and a) For any pair of elements i,j (i, j = 1, 2, . . ., F, i = / j) e blocks include them simultaneously; for any pair of blocks i, j (i, j = 1, 2, . . ., b, i = / j), b elements are the same, and b = e = , then it is called a symmetric balance incomplete block design (SBIBD), written in a simple form as SBIBD (F, b, r, K, ) b) If in SBIBD, elements in some block Bi is {ai1 , ai2 , . . .}, then elements in Bi+1 must be {ai1 + 1, ai2 + 1, . . .} (mod F), then this SBIBD which possesses cyclic performance is called a cyclic balanced incomplete block design (CSBIBD). According to the terms in block design in SBIBD, there exist r = k and N = b, so SBIBD can be written as SBIBD (F, K, ) and CSBIBD as CSBIBD (F, K, ) [14]. 2.3. Cyclic difference sets Cyclic deference sets combined by K difference integers, which have different remarks calculated modulo F, can be expressed as: / 0 (mod F), there are  pairs of sequence (ai , aj ) If for each d = making d ≡ {(ai − aj ) (mod F)}, then it is called a (F, K, ) cyclic difference sets and written as D (F, K, ). 2.4. Cyclic permutation of perfect distance (CPPD) CPPD (F, K, ) is defined as K positive integers which sum up to F ranking on a circle. If they can produce 1, 2, . . ., F − 1  times by summing up adjacently, then it is called CPPD (Fig. 1). For example: if the sum of four numbers is 13 along the circle, it produces 1, 2, . . ., 13 by adding up adjacently only once, it is a CPPD (13,4,1). By CPPD, cyclic difference sets can be constructed.

1 2

4 6

Fig. 1. An example of CPPD (13,4,1).

3. Algorithm ideas 3.1. Relationship between block design and OOC Comparing (F, K, a , c ) OOC C with CSBIBD (F, K, a ), it can be seen that the parameters are corresponding. Code length F is corresponding to element number F in block design; code weight K is to each element K in block design, a in block design is to autocorrelation constraint a of (F, K, a , c ) OOC. So, (F, K, a , c ) OOC is corresponding to CSBIBD (F, K, a ). If CSBIBD (F, K, a ) can meet auto-correlation and co-correlation condition, it will be an OOC. So the key to construct OOC is transformed into constructing CSBIBD which satisfies auto-correlation and co-correlation terms. 3.2. Construction of block design Then how to construct CSBIBD? Cyclic deference sets is an option [14]. It can be seen from cyclic difference set and CSBIBD (F, K, a ) that they are one to one corresponding. If cyclic difference set can be produced, then do the CSBIBD (F, K, a ), so the construction of (F, K, ) OOC is transformed into constructing cyclic difference set. Since cyclic difference set include all the distance between any two pulses, it cannot construct more than one OOC. If more than one code word OOC need to be produced, the need of construction of difference set rather than cyclic difference set is first. 3.3. Construction of difference set Definition. In above D, if only for some special d = / 0 (mod F), there are  pairs of sequence (ai , aj ) making d ≡ {(ai − aj ) (mod F)}, then it is called a (F, K, ) difference sets and written as D1 (F, K, ). In order to construct difference set, CPPD cannot used, because it can only construct unique difference set, i.e., cyclic difference set. New method needs to be discussed. Through extending CPPD, cyclic permutation of imperfect distance (CPID) can used to construct difference set. Definition. K positive integers rank on a circle, if they can produce part of the number 1, 2, . . ., F − 1 a times, it is a CPID. Since CPID can produce only part of the number, 1, 2, . . ., F − 1, difference set can be derived form CPID as following steps: / 1) along the circle, a) Placing one 1 and a positive integer i(i = placing K − a − 1 positive integers other than i or 1 among each i(these positive integer is smaller than F); or placing a positive integer 1, placing K − a positive integers other than 1 among each 1(these positive integer is smaller than F); b) Checking each number produced by the number on the circle added adjacently to see if they can repeat only a times. If they can, then finish the step and writing down the K numbers as li (i = 1, 2, . . ., K); otherwise go back to step (1); c) Using bi = li + bi−1 (mod F) (b1 = 1, while i = 1, bi−1 = bK ) to produce basic code word C1 = {b1 , b2 , . . ., bK } of (F, K, a , c ) OOC. Codeword produced by difference set can guarantee the autocorrelation constraint a , but it may not satisfy the co-correlation constraint. In order to satisfy this property, difference matrix can be used to do this. If there are at most c same elements in the difference matrix among all the code words, these code words are just OOCs. The method not only can construct (F, K, a , c ) OOC, but also can construct symmetry (F, K, a ) OOC. It is very flexible and general.

X. Li / Optik 123 (2012) 779–783

3.4. Procedure of construction algorithm of (F, K, a , c ) OOC based on block design

781

Begin

a) Producing difference sets: (1) Given F, K, a , c ; (2) Placing one 1 and a positive integer i(i = / 1, i < F) along the circle, K − a − 1 positive integers other than i or 1 among each i(these positive integer is smaller than F); or placing a positive integer 1, placing K − a positive integers other than 1 among each 1(these positive integer is smaller than F); (3) Checking each number produced by the number on the circle added adjacently to see if can repeat only a times. If they can, then finish the step and writing down the K numbers as li (i = 1, 2, . . ., K); otherwise go back to step (2); (4) Storing the chosen K-set into sets. b) Producing code words: Using bi = li + bi−1 (mod F) (b1 = 1, while i = 1, bi−1 = bK ) to produce basic code word, that is C1 = {b1 , b2 , . . ., bK } of (F, K, a , c ) OOC. c) Performing co-correlation operation: First, choose one code word, and then choose another code word. If the number 2 of same elements between the two code words is smaller than or equal to c , the latter code word can be chosen as the second code word. So does the third code word and some other. The checking method is difference matrix. The definition of it is: Ax,y = {Cy,j − Cx,i }(mod F)

(4)

where 0 ≤ i ≤ F − 1, 0 ≤ j ≤ F − 1. If maximal number 2 of same elements in Ax,y is bigger than c , it does not satisfy the co-correlation term; otherwise it doses. Then the code word can be gained. 3.5. The diagram block of the algorithm The diagram block of the algorithm is shown in Fig. 2. 4. Simulation results According to the algorithm, simulation results of symmetrical OOC, asymmetrical OOC and multi-weight OOC are gained, which

Given F, K, λ a , λ c

Chose a code word

Chose another code word Chose K elements Gain maximal repetitive value difference matrix N

Whether repetitive values by add adjacently is smaller than

λa

λ'2 > λc

λ'2 in

Y

N Y Store K

Store OOC

subsets Output OOC

Produce code word by chosen K-subset bi = li + bi −1(mod F )

End

Fig. 2. Diagram block of construction (F, K, a , c ) OOC.

are shown in Tables 1–3. Where F represents code length, K represents code weight, a and c are auto-correlation constraint and co-correlation value, respectively. Table 1 shows simulation results of OOC code words with different code length, code weight, auto-correlation and crosscorrelation constraints This algorithm can construct not only OOCs with different code length, code weight, auto-correlation and crosscorrelation constraints being 1, but also OOCs of auto-constraint and cross-correlation constraint greater than 1. Results show that the longer the code length is, the more OOCs can be constructed; the larger the code weight is, the less OOCs can be generated; while increasing the auto-correlation and cross-correlation value at the same time, generated OOC code words increased a lot. So increasing auto-correlation and co-correlation value can increase address code capacity in the case of code length and code weight being

Table 1 Symmetrical OOC code words. F

K



Capacity

Code words

40 40 60 80 100 40

3 5 5 5 5 5

1 1 1 1 1 2

5 1 2 2 3 16

60

5

2

41

80

5

2

73

100

5

2

120

40

6

2

6

60

6

2

14

80

6

2

28

100

6

2

46

{1 2 4}{1 5 10}{1 7 14}{1 9 19}{1 12 24} {1 2 4 8 13} {1 2 4 8 13}{1 9 19 32 47} {1 2 4 8 13}{1 9 19 32 46} {1 2 4 8 13}{1 9 19 32 46}{1 16 33 49 73} {1 2 3 5 8}{1 2 6 10 11}{1 2 9 12 13}{1 2 14 15 34}. . .{1 4 8 14 29}{1 4 9 15 31}{1 4 12 20 35}{1 4 13 17 25}{1 2 3 5 8}{1 2 6 10 11}{1 2 9 12 13}{1 2 14 15 29}{1 2 17 18 35} {1 2 20 21 44}{1 2 22 23 47}. . .{1 6 18 27 50}{1 6 19 36 51}{1 7 14 27 38}{1 7 18 32 42}{1 8 17 27 49}{1 2 3 5 8}{1 2 6 10 11}{1 2 9 12 13}{1 2 14 15 29}{1 2 17 18 35} {1 2 20 21 41}. . .{1 7 38 45 66}{1 8 19 28 63}{1 10 19 56 67}{1 10 22 39 54}{1 11 23 59 70}{1 2 3 5 8}{1 2 6 10 11}{1 2 9 12 13}{1 2 14 15 29}{1 2 17 18 35} {1 2 20 21 41}{1 2 23 24 47}. . .{1 11 36 53 77}{1 12 25 36 81}{1 12 27 70 89}{1 13 40 56 84}{1 13 43 61 76} {1 2 3 5 8 12}{1 2 6 14 15 22}{1 2 10 13 19 24}{1 2 16 18 26 39}{1 2 17 20 30 35}{1 3 7 13 22 33}{1 2 3 5 8 12}{1 2 6 14 15 22}{1 2 10 13 19 24}{1 2 16 17 33 35} {1 2 21 23 27 29}{1 2 25 26 52 56}{1 2 30 36 39 54}. . .{1 4 20 24 34 43}{1 5 16 29 43 48}{1 8 15 26 35 51}{1 2 3 5 8 12}{1 2 6 14 15 22}{1 2 10 13 19 24}{1 2 16 17 33 35} {1 2 21 23 27 29}{1 2 25 26 52 55}{1 2 30 32 40 42}. . .{1 5 9 40 45 70}{1 7 13 27 47 54}{1 8 17 25 48 69}{1 2 3 5 8 12}{1 2 6 14 15 22}{1 2 10 13 19 24}{1 2 16 17 33 35} {1 2 21 23 27 29}. . .{1 6 21 50 59 70}{1 6 29 37 53 62}{1 7 16 29 57 93}{1 7 17 23 37 50}{1 7 35 42 67 75}

782

X. Li / Optik 123 (2012) 779–783

Table 2 Asymmetrical OOC code words. F

K

a

c

Capacity

Code words

40 40

6 6

1 2

2 1

2 1

60

6

1

2

10

60

6

2

1

1

80

5

1

2

65

80

5

2

1

4

100

5

1

2

105

100

5

2

1

5

{1 2 4 8 18 29}{1 2 5 10 12 28} {1 2 3 5 8 12} {1 2 4 8 13 21}{1 2 5 7 17 26}{1 2 6 9 15 33}{1 2 10 12 24 27} {1 2 11 14 34 40}{1 2 16 18 23 43}{1 2 19 22 38 51} {1 2 29 44 50 54}{1 2 35 39 53 59}{1 3 14 23 30 38} {1 2 3 5 8 12} {1 2 4 8 13}{1 2 5 7 15}{1 2 6 9 20}{1 2 10 12 17} {1 2 11 14 19}{1 2 16 18 21}. . .{1 8 29 43 65} {1 8 31 57 70}{1 9 21 35 56}{1 9 39 58 68} {1 2 3 5 8}{1 9 17 26 35}{1 11 21 32 43}{1 13 25 40 53} {1 2 4 8 13}{1 2 5 7 15}{1 2 6 9 20}{1 2 10 12 17} {1 2 11 14 19}. . .{1 10 33 55 81}{1 11 22 34 53} {1 11 29 44 69}{1 11 49 60 86}{1 12 25 42 68} {1 2 3 5 8}{1 9 17 26 35}{1 11 21 32 43}{1 13 25 40 53} {1 15 34 48 71}

Table 3 Multi-weight OOC code words. F

K1

K2



Capacity

Code words

40 60 80 100

5 5 5 5

3 3 3 3

1 1 1 1

2 4 4 4

{1 2 4 8 13}{1 9 19} {1 2 4 8 13}{1 9 19 32 47}{1 17 34}{1 20 40} {1 2 4 8 13}{1 9 19 32 46}{1 17 34}{1 20 40} {1 2 4 8 13}{1 9 19 32 46}{1 16 33 49 73}{1 20 40}

fixed, and of course price is bit error performance decrease, so the system capacity and performance requirements need a trade-off. Table 2 is simulation results of asymmetric OOC code words with different code length, code weight, auto-correlation and crosscorrelation constraints. Results indicate that address codes capacity of asymmetric OOC is proportional to the code length and inversely proportional to the code weight. Comparing with Table 1, it can also be concluded that address code capacity of the case autocorrelation constraint taken 1 and cross-correlation constraints taken 2 is comparable to that of the case all correlation constraints values taken close to 2; on the contrary, address code capacity of the case auto-correlation constraints taken 2 and co-correlation constraints taken 1 is approximately to that of the case crosscorrelation constraints all taken 1. And the capacity while autocorrelation values and cross-correlation value taken 1, 2, respectively is more than the capacity while they take 2, 1 value. This indicates that cross-correlation value is the primary factor to impact address code capacity. Therefore, if synchronization is required high whereas multi-user interference is required less in a large capacity network, (F, K, 1, 2) OOC can be selected as address code. Table 3 shows the simulated OOC code words while code weight is 4 and 3, respectively whereas code length is same. The generated OOCs contain two type of address codes with code weight being 5 and 3, they can be used in the same network and satisfy the demand of auto- and co-correlation values being 1. On one hand, this can improve address code security; on the other hand, it can provide different users with different quality of service in the same network, such as assign big code weight address code to the high performance requirements of users, so as to better meet the needs of multiple service access. Above simulations are done only on some values of code length, code weight, auto-correlation constraints and cross-correlation constraints. In fact, this algorithm can construct OOCs with arbitrary code length, code weight, auto-correlation and crosscorrelation constraints, so it possesses versatility. 5. Conclusion In this paper, through studying the block design and optical orthogonal codes, we defined difference set and CPID. Based on

the block design, we further established a method for constructing difference set by CPID, general encoding method of OOC and concrete algorithm as well. The algorithm contains the following steps sequentially: first, constructing CIPD; then gaining difference set; draw (F, K, a , c ) OOC code word from difference sets; through checking co-correlation constraint of code words by difference matrix; lastly, draw optical orthogonal codes. This algorithm is a relatively simple method with multiple advantages. It can construct arbitrary code length, code weight, auto-correlation and cross-correlation constraints of OOCs based on the same method. It can also construct multi-weight OOC to meet different users demand for different quality of service. It is an universal encoding method supporting multi-service access. This algorithm has wide potential applications in OCDMA PON. Acknowledgements This study is jointly supported by National Natural Science Fund of China (Grant No. 60977051), Science and Technology Project of Shenzhen, China (Grant No. 200730). References [1] M. Massoud Karbassian, H. Ghafouri-Shiraz, Analysis of scalability and performance in passive optical CDMA networks, IEEE J. Lightwave Technol. 27 (17) (2009) 3896–3903. [2] J.A. Salehi, Emerging OCDMA communication systems and data networks, J. Opt. Netw. 6 (9) (2007) 1138–1178. [3] H. Mrabet, I. Dayoub, R. Attia, S. Haxha, Performance improving of OCDMA system using 2-D optical codes with optical SIC receiver, J. Lightwave Technol. 27 (21) (2009) 4744–4753. [4] K. Foul, M. Maier, OCDMA and optical coding: principles, applications, and challenges, IEEE Mag. 45 (8) (2007) 27–34. [5] S. Sahuguede, M. Morelle, A. Julien-Vergonjanne, et al., Multi-rate and QoS differentiation in optical code division multiple address networks, in: IEEE CCNC’2008 Proceedings, 2008, pp. 5437–5442. [6] Nasaruddin, T. Tsujioka, Design of strict variable-weight optical orthogonal codes for differentiated quality of service in optical CDMA networks, Comput. Netw. (2008) 2077–2086. [7] F.-R. Gu, J. Wu, Construction and performance analysis of variable-weight optical orthogonal codes for asynchronous optical CDMA systems, J. Lightwave Technol. 23 (2) (2005) 740–748. [8] W.C. Kwong, G.-C. Yang, Multiple-length extended carrier-hopping prime codes for optical CDMA systems supporting multirate multimedia services, J. Lightwave Technol. 23 (11) (2005) 3653–3662.

X. Li / Optik 123 (2012) 779–783 [9] I.B. Djordjevic, B. Vasic, J. Rorison, Design of multiweight unipolar codes for multimedia optical CDMA applications based on pairwise balanced designs, J. Lightwave Technol. 21 (9) (2003) 1850–1856. [10] N. Tarhuni, O. Korhonen, E. Mutafungwa, et al., Multiclass optical orthogonal codes for multiservice optical CDMA networks, J. Lightwave Technol. 24 (2) (2006) 694–704. [11] N. Miyamoto, H. Mizuno, S. Shinohara, Optical orthogonal codes obtained from conics on finite projective planes, Finite Fields Appl. 10 (3) (2004) 405–411.

783

[12] M.A. Morsy, K.M. Hassan, A.H. Morshed, et al., Analysis of optical code division multiple access passive networks for different encoder delay elements, IEEE Photo Technol. Lett. 8 (11) (2006) 294–299. [13] F.R.K. Chung, J.A. Salehi, V.K. Wei, Optical orthogonal codes: design, analysis, and applications, IEEE Trans. Inform Theory 35 (3) (1989) 594–604. [14] J. Fan, C. Zhi, Combinatory Coding Principle and Application, Shanghai Science Publishing House, 1995.