'Persian Code': a New Orthogonal Spreading Code Generation Algorithm for Spread Spectrum CDMA Systems Arash Boustani*, Jamshid Sabet†, Mohammad Azizi†, Navid MirMotahhary** and Siavash Khorsandi‡ *School of Electrical and Computer Engineering Islamic Azad University, Qazvin, Iran Email:
[email protected] †Khayyam university of Mashhad Email:
[email protected],
[email protected] **Science and Research Branch, Islamic Azad University, Tehran, Iran Email:
[email protected] ‡Department of Computer Engineering Amirkabir University of Technology, Tehran Email:
[email protected]
Abstract –A novel approach for generating spreading chip codes in code division multiple access (CDMA) systems is presented in this paper. Orthogonal spreading codes can be utilized for secure communication and multiple access to the shared bandwidth. Previous approaches cannot provide both “auto-correlation” and “cross-correlation” characteristics while generating desirable number of orthogonal codes with appropriate length. The proposed algorithm provides both auto and cross coloration while crossing the limit of number of available orthogonal codes. Simulation results justify the ability of the proposed algorithm to provide orthogonal codes even in low SNR scenarios.
II. PREVIOUS WORKS Many methods have been presented for generating pseudorandom orthogonal codes for CDMA networks. For example Walsh algorithm is widely used for generating orthogonal keys in synchronous networks [4]. While Gold, Kasami, M-Sequence and Zadoff algorithms are used in asynchronous ones [4]. However, there are other algorithms such as Barker code which has suitable auto correlation feature and several users can use it for data transmission in spread spectrum systems. One may say while several users are using a specific code, a multiple accessing technique like TDMA must be employed for simultaneous utilization of the codes. Obviously, number of available codes are limited in this algorithm, thus cross correlation characteristic cannot be tested; albeit this algorithm has fine auto correlation characteristic that’s utterly better than older mentioned algorithms [6,7].
Keywords– Auto-Correlation, Cross-Correlation, Co-family keys.
I. INTRODUCTION In CDMA systems regardless of the type of the network -synchronous or asynchronous- two types of keys are used for information coding. For fully synchronous systems only highly cross correlated codes can be utilized. In return, codes used in asynchronous systems must be both cross and auto correlated. Walsh algorithm is one of the algorithms that provide cross correlated codes, to be used only in fully synchronous systems. These types of algorithms cannot function properly in asynchronous networks. On the other hand, in asynchronous networks other approaches like MSequence and its extensions like Kasami is used for generating auto correlated and cross correlated keys. One of the major drawbacks of these algorithms is that the numbers of applicable keys are limited. In synchronous networks; when length of the chip code is equal to n bit, using Walsh algorithm leads to generate n keys with cross correlation property and none keys for auto correlation property. As it mentioned in asynchronous networks, the keys must have both of characteristics which decreases number of available keys [1]. In the proposed method the goal is to generate n keys with both cross correlation and auto correlation features by using n bit chip codes. The paper is organized as follows: a related works are discussed in section II. Section III presents the proposed algorithm. Simulation results are given in section IV. And finally paper is concluded in section V.
A. "Walsh" Code In Walsh-Hadamard algorithm; the key length is doubled and therefore number of generated keys would be doubled as well [2]. Codes are generated as follows: ⎡Wn Wn ⎤ W2n = ⎢ ⎥ ; W1=0 ⎣Wn ~ Wn ⎦
(2.1)
B. "OVSF" Code The OVSF algorithm uses a similar model to the Walsh algorithm. This code is described based on binary decision tree. Number 1 is set in the root, if we move toward right child; value of the parent node would be repeated twice. But if the movement is done toward left child, second repetition of the parent node would be inverted of its first repetition. Owing to this, codes are addressed using sequence of zeros and ones; each 0 and 1 respectively illustrates moving to left and right[3]. This can be described as follows: ⎧⎪CiCi Ci +1 = ⎨ ⎪⎩Ci (−Ci )
C. "M-Sequence" Code
1 978-1-4244-7071-6/10/$26.00 © 2010 IEEE
if xi = 1 if xi = 0
(2.2)
The proposed method has a recursive base matrix as follows:
Keys of M-Sequence are generated from special kinds of SSRG. Indeed Each SSRG is the simple form of LFSR. Technically speaking LFSR is a left shift register where its input is result of XOR (Module-2 Add) of shift register bits. Now if we select just some bits for performing XOR on them, a SSRG would be designed. It’s obvious that the output string will be repeated after several pulses. Length and value of the repeating sequence is dependant to initial value and nature of XORs. If XORs are selected with maximum length, an MSequence key would be obtained. One may say in an N bit register, maximum 2n states would exist and besides we know that all-zero state in meaningless, therefore maximum length would equal to 2n-1 and this is the length of M-Sequences. The main feature of these codes is that value of test of auto correlation is balanced in them; means it’s always +1 or -1. Also all of the codes with equal length have cross correlation property. One of the main shortcomings of this approach is that number of keys is too low in compared to length of keys[4]. This leads to decrement of clients and also increment of network traffic. Note that in this code; most significant bit always participates in XOR. SSRGs of this code are demonstrated as SSRG [L, K, M, ... ] that illustrates participant bits in XOR(Feedback Taps). First number (L) indicates length of the shift register.
⎡ ⎢ ⎢~ P4 n = ⎢ ⎢ ⎢ ⎣
P4 n −1
P4 n −1
P4 n −1
P4 n −1
P4 n −1
P4 n −1
P4 n −1 ~ P4 n −1 ⎤ ⎥ ~ P4 n −1 ~ P4 n −1 ⎥ ∀n∈ ` ~ P4 n −1 P4 n −1 ⎥⎥ ~ P4 n −1 ~ P4 n −1 ⎥⎦
(3.1)
P4 n −1 ~ P4 n −1 & P4 n = ⎡⎣0⎤⎦ ∀ n = 0
At the start phase seed is regarded as zero. It can also be considered as one that final matrix will be the inverse of a matrix with zero seed. The properties of the proposed method are as follows: A. Chromosome Multiplication In genetic science to spread each pattern a constant rule exists and the pattern can extend in every direction; whereas by spreading in different directions, the indefeasible rule would not be violated. This property is not met in most of mathematical extension rules. One of the main points of the proposed method is that our approach provides this feature properly. In every steps of extension, a new pattern is selected from solutions of four rook problem. Note that each solution of the four rook problem is considered as a chromosome sequence which instead of four principal elements of DNA (A,T,G,C); zeros and ones are employed for coding the chromosome. As a rule gens are formed from (A,T) and (G,C) pairs and in the proposed method Persian code are generated by particular numeric pairs. Note that in the proposed approach, patterns and also multiplication are based on chromosome multiplication in genetic science.
D. "Kasami" Algorithm Kasami is an important subset of derivatives of MSequence codes. Length of keys generated by Kasami is equal to 2n-1 that n indicates number of shift register bits and certainly must be even. Kasami has two kinds: Small and Large. In small kasami algorithm firstly a key sequence of MSequence is regarded as a, sampling is done with 2n/2+1 rate namely á. Then á is repeated 2n/2-1 times and eventually generated key would XOR with a. obtained sequence is a small kasami. For generating large kasami key, we must sampling from á done with 2 (n+2)/2+1 and this task will be repeated until it’s be equal to length of sequence a, and finally calculated sequence would XOR with a and á sequences [5].
B. Negative Balance Policy Unlike positive balance policy which tries to concede posse components to various political party; the negative balance policy tries to decline power and strength of posse components that belong to different party moderately, not coequal. This approach tries to keep the resultant of all powers in equilibrium and minimum state. In the proposed method, the number of zeros and ones is regarded as a various party. Take into consider that in every steps of code extension in matrix of the keys distribution of zeros and ones is done in the ration of 1/2 and also in unique places; though this ratio is equal all over the matrix -if we use the basic matrix-.
III. PROPOSED ALGORITHM In the proposed algorithm number of zeros and ones of each key has equilibrium like negative balance rule in policy and its growth is quasi-chromosome in Genetics. Also its spread in each step is dependant to a solution of several rooks problem in chess. This work aims to generate keys with both auto correlation and cross correlation features. Also in the proposed method, these properties are met completely and all of the limitations are applied strictly. In the available approaches if error of a key in data transmission reaches to half of key length, the transmission would be acceptable and that key would be useful too. In the other words the limitation is here set to half of the key length. If in the proposed method restriction is set to one third of key length, both features are supported by this code, too. It means maximum generated error (noise) in the keys is 1/3; therefore the error is retrievable easily. So the maximum balance is 33% in our code.
C. Multiple Rook Problem This problem is similar to multiple queens problem. As you know rooks move horizontally or vertically, any numbers of obstructed squares; but Queens move like either bishops (diagonally) or rooks. Owing to dependency of this property to “negative balance rule” and also “chromosome extension property” the length of “multiple rook problem” must be considered as four. Meanwhile to generate more states, we can involve color of mans. So in each extension level there exist 2 4 × 4! = 384 states. For mapping a special solution to generator matrix; in each row white man is replaced with one and other elements of that row would set as zero.
2
TABLE 1. ACCEPTABLE ERROR PERCENT OF ENVIROMENT VALUES
Correspondingly every black man in each row is replaced with zero whereas other elements of that row would set as one. This procedure can also be applied on columns similarly. Due to using a new pattern in each extension steps obviously this code is completely dynamic. And also by changing pattern that causes altering the place of each row and also complement of several keys, security of the system would be higher. The pseudo code for the proposed Persian code is demonstrated in Algorithm I.
1 2 3 4 5 6 7
Algorithm I Function Persian ( P4N ) { N Å log2 ( p4n ) / 2 ; Matrix Å [0] ; For ( i = 1 ; i