Abstract:
In a spread spectrum communication system, in which correlation output is obtained by giving a correlator a sender side output code and a receiver side output code, communication channels obtained by dividing the whole channel by using GOLD codes as the sender and receiver side output codes are used and the GOLD codes are constructed by adding preferred pairs of the two m sequences modulo 2.

Description:
FIELD OF THE INVENTION 
     This invention relates to a spread spectrum communication (hereinbelow abbreviated to SSC) system permitting to obtain correlation output by means of a sender side output code and a receiver side output code. 
     BACKGROUND OF THE INVENTION 
     As conditions for the spreading code, which can be used in an SSC system, the followings can be enumerated: 
     (i) that a large number of communication channels can be obtained; 
     (ii) that the mutual correlation value between the codes is small; 
     (iii) that the side lobe value of the self correlation value of the codes themselves is small; 
     and so forth. As a code satisfying such conditions the GOLD code generated by using preferred pairs of maximum length linearly occurring code sequences (hereinbelow abbreviated to m sequence) can be cited. 
     OBJECT OF THE INVENTION 
     However no example, in which the GOLD code stated above is applied as the spreading code in an SSC system using surface acoustic wave (hereinbelow abbreviated to SAW) convolvers, is known heretofore and in addition the correspondence relation between the communication channels obtained by dividing the whole channel by means of the GOLD code and the preferred pairs of the m sequences used for generating the GOLD code is not clearly known. 
     The object of this invention is to provide a method for obtaining the GOLD code used on the sender and receiver sides in an SSC system permitting to obtain means for dividing the communication channel, when the GOLD code stated above is used as the spreading code in an SSC system using SAW convolvers. 
     SUMMARY OF THE INVENTION 
     In order to achieve the object described above, an SSC system for obtaining a correlation output by the sender side output code and the receiver side output code according to this invention utilizes communication channels obtained by dividing the whole channel by means of the GOLD code as the sender and receiver side output codes. 
     The GOLD code stated above is constructed by adding preferred pairs of two m sequences modulo 2. 
     In a preferred form of realisation the sender side code described above is a spreading code obtained by using an set of GOLD codes generated from two m sequences {u, v}, which is represented by the following formula: 
     
         G(u,v)={u,v,u⊕v,u⊕Tv, . . . , u⊕T.sup.(N-1 V} 
    
     where 
     T: state transition matrix of v 
     N: code length of each sequence in G(u,v) 
     and the receiver side code is a spreading code obtained by using 
     
         G(u,v)={u,v,u⊕v,u⊕T.sup.N-1 v, . . . , u⊕Tv} 
    
     where u and v represent image codes of u and v, respectively (time-inverted m sequences of u and v, respectively). 
     In the m sequences having a code length N(=2.sup.η -1, n being the number of stages of the shift register in the m sequence generator) the mutual correlation value R c  takes the following three values. The pairs of codes are called preferred pairs of the m sequence, which have good correlation characteristics. ##EQU1## where t(n) is represented by; 
     
         t(n)=1+2.sup.[(n+2)/2]                                     ( 2) 
    
     where [ ] is a Gauss&#39;s symbol. 
     For example, among 18 m sequences of N=127 there are 6 preferred pairs and R c  is as follows; ##EQU2## 
     A sequence obtained by adding m sequences u and v modulo 2 is called a GOLD code G(u,v). This can be schematically represented as indicated in FIG. 2. 
     When the initial phase of the m sequences is taken into account, a set G(u,v) of GOLD codes produced by the two m sequences {u, v} can be represented by the following equation (3); 
     
         G(u,v)={u,v,u⊕v,u⊕Tv, . . . , u⊕T.sup.N-1 v}   (3) 
    
     where 
     T: state transition matrix of v 
     N: code length of each sequence in G(u,v) 
     In general, the number of sequences α contained in G(u,v) is given by 
     
         α=N+2=2.sup.η +1                                 (4) 
    
     For example, when N=127, α=129. 
     {u, v} in Eq. (3) are adopted as preferred pairs of the m sequence. 
     Now, supposing that two sequences y and z are 
     
         y,zεG(u,v),                                        (5) 
    
     the following properties are known. 
     (1) For   l, the mutual correlation value of y and z θ y ,z (l) can be represented as follows; ##EQU3## 
     (2) The side lobe value θ y  (l) of the self correlation function is; for   l≢0 mod. N ##EQU4## 
     That is, θ y ,z (l) and θ y  (l) are in accordance with R c  given by Eq. (1) and consequently the set of the GOLD codes generated by preferred pairs of the m sequence show good correlation characteristics. 
     As explained above, it can be recognized that the GOLD codes are useful as spreading codes satisfying the conditions (i)˜(iii). 
     That is, it is possible to assign each of the sequences in Eq. (3) u, v, u⊕v, . . . , u⊕T N-1  v as one communication channel. 
     Now, in an SSC system using SAW convolvers a pair of sequences, which are in an image relation to each other, are necessary and thus, in the case where Eq. (3) is used as the sequence for the sender side, the sequence for the receiver side is as follows; 
     
         G(u,v)={u,v,u⊕v,u⊕T.sup.N-1 v, . . . , u⊕Tv}   (8) 
    
     where u and v are image codes of u and v, respectively. That is, the communication is effected by using corresponding sequences in { } in Eqs. (3) and (8). 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram illustrating the construction of an m sequence generator according to this invention used on the sender and receiver sides; 
     FIG. 2 is a scheme indicating the generation of an m sequence; 
     FIGS. 3 and 4 are block diagrams illustrating the principal construction of the modular type m sequence generator; 
     FIGS. 5 and 6 are block diagrams illustrating the construction of the simple construction type m sequence generator; 
     FIG. 7 is a scheme showing the phase relation between the sender and the receiver side m sequences; 
     FIG. 8 is a flow chart indicating the process for obtaining the initial phase information in the m sequence generator; 
     FIG. 9 is a block diagram showing a concrete example of the m sequence generator and the control circuit therefore; 
     FIG. 10 indicates a switching gate circuit; and 
     FIG. 11 is a timing chart for the code generator. 
    
    
     DETAILED DESCRIPTION 
     FIG. 1 illustrates the construction of a GOLD code generating portion used in the sender or the receiver and TABLE 1 shows an example of the communication channel division (in the case where the GOLD code length is 127). 
     
                       TABLE 1______________________________________    Sender side output                    Receiver side outputChannel  sequence        sequence No.      PNG 1    PNG 2                         ##STR1##                                ##STR2##______________________________________0        u        L          -u     L1        L        v          L      -v2        u        v          -u     -v3        u        Tv         -u     T.sup.126 -v4        u        T.sup.2 v  -u     T.sup.125 -v.        .        .          .      ..        .        .          .      ..        .        .          .      .128      u        T.sup.126 v                        -u     T-v______________________________________ 
    
     in which L means the low level. 
     In FIG. 1 PNG 1 and PNG 2 represent m sequence generators generating u and v, respectively, which are preferred pairs of the respective m sequences; PNG 1 and PNG 2 represent m sequence generators generating u and v, which are image codes of u and v, respectively. A control circuit 1 controls the initial phase of the output codes of PNG 1 and PNG 2 and permits the generation of the GOLD code sequences as indicated by Eq. (3). Another control circuit 2 effects control operations for PNG 1 and PNG 2 as the control circuit 1 and permits the generation of the GOLD code sequences as indicated by Eq. (8). Reference numeral 3 indicates a convolver forming the correlation output and ADD 1 and ADD 2 modulo 2 adders. The left side portion with respect to the convolver 3 is the sender side GOLD code generating portion and the right side portion is the receiver side GOLD code generating portion. 
     Now an example of the method for controlling the initial phase of the output code of the m sequence generators by the control circuits 1 and 2 and a concrete example of the construction of the m sequence generators are explained below. 
     (a) Equation of state representing the initial state of shift registers constituting the m seuqence generator 
     Models representing m sequence generators on the sender and the receiver sides, respectively, are indicated in FIGS. 3 to 6 for those of modular type (FIGS. 3 and 4) and for those of simple construction type (FIGS. 5 and 6). FIGS. 3 and 5 show the basic construction of the m sequence generator on the sender side and FIGS. 4 and 6 the same on the receiver side. In the figures, SR 1  ˜SR n  represent flipflops; and EOR 1  EOR.sub.η  exclusive OR gates. It is supposed that communication is performed between two devices having a same construction. 
     At this time the equation of state of the shift registers can be written with respect to the dispersion time k, as follows; 
     &lt;On the sender side&gt; for   k   
     
         X(k+1)=AX(k), X(k)≠0                                 (9) 
    
     &lt;On the receiver side&gt; for   k   
     
         Y(k+1)=BX(k),Y(k)≠0                                  (10) 
    
     where X(k) and Y(k) are given by the following equations; ##EQU5## and A and B are in the case of the modular type ##EQU6## in the case of the simple construction type ##EQU7## 
     In Eqs. (9) and (10), n represents the number of stages of the shift registers (hereinbelow abbreviated to SR); X(k) and Y(k) the state vector of the SR (n×1); A and B the state transition matrix of the SR (n×n); and I.sub.η-1 is a unit matrix (n-1)×(n-1). Further h j , l j  (j=1, . . . , n-1) indicate the state of the feedback line and feedbak &#34;ON&#34;→h j , l j  =1, feedback &#34;OFF&#34;→h j , l j  =0. 
     Furthermore A and B have the following properties; 
     (i) 
     A N  =B N  =I.sub.η 
     N=2.sup.η -1 (length of code sequence) 
     (ii) 
     A -1  =B, B -1  =A 
     (b) Expression of the m sequence (1 period long) outputted by TAP 1   
     Supposing that X(O) and Y(O) represent the initial state of the SR on the sender and the receiver sides, the sent and the received code patterns U and W, respectively, outputted by TAP 1  (i=1˜n) at k=0˜N-1 can be represented as follows: ##EQU8## (c) Deduction of Y(O) 
     In the case where the communication channel is divided by setting the phase relation of the sender and the receiver side m sequences M 1  and M 2  with respect to the convolver as indicated in FIG. 7, using U=W, 
     
         PX(O)=QY(O)                                                (13) 
    
     where ##EQU9## are valid and Y(O) can be obtained analytically, as indicated by Eq. (14) by using Cramer&#39;s formula. ##EQU10## where yj(O) is the j-th element of Y(O) and 
     
         X=PX(O). 
    
     As explained above, the procedure for obtaining Y(O) can be summarized as indicated in FIG. 8. 
     Furthermore the calculations of the exponential of the matrix A in FIG. 8 can be performed by using the following Eqs. (15) and (16) in the case of the modular type m sequence generator. 
     Calculation algorithm of A d  &lt;I&gt; used in the case of d≦N/2 
     (i) For the 2nd˜n-th rows of A d  the 1st˜(n-1)-th rows are shifted as they are. 
     (ii) The 1st row of A d-1  can be obtained by the following calculation. ##EQU11## 
     Calculation algorithm of A d  &lt;II&lt; used in the case of d&gt;N/2 
     (i) For the 1st˜(n-1)-th rows of B r  (=A d ) the 2nd˜n-th rows are shifted as they are. 
     (ii) The n-th row of B r  (=A d ) can be obtained by the following calculation. ##EQU12## 
     FIG. 9 is a block diagram illustrating an example of the construction of the modular type m sequence generator used in the SSC system according to this invention, in which G represents a switching gate circuit, which can be constructed e.g. by using NAND gates NAND 1  ˜NAND 3  as indicated in FIG. 10. In FIG. 9 LATCH 1˜LATCH 5 are latch circuits; MPX is a multiplexer; CPU is a microprocessor; MR is a memory; and INV is an inverter circuit. 
     Now it is supposed that a code 1 is outputted from the output terminal of the m sequence. At this time, when a strobe pulse 1 is inputted, the circuit works as follows. 
     The content of the LATCH 1 is set at the input stage of flipflops FF 1  ˜FF.sub.η  through the gate circuit G. These data appear at the output stage of the flipflops by the rising edge T 1  of a clock pulse. The content of LATCH 1 is the initial state of the flipflops FF 1  ˜FF.sub.η. 
     The content of LATCH 3 is outputted from LATCH 2 and the AND gate&#39;s AND 1  ˜AND.sub.η  are controlled. Further the content of LATCH 5  is outputted from LATCH 4  and the last stage of the flipflops is selected. As the result, a state is realized, where feedback lines h 1  ˜h.sub.η-1 can generate an m sequence CORD 2 indicated in FIG. 11. 
     As the result, CORD 2 is newly outputted from the output terminal M out  of the m sequence by another clock pulse after T 1 . That is, the output of the m sequence is changed from CORD 1 to CORD 2. 
     On the other hand, the strobe pulse STB 1 is used also as an interrupting pulse P to the microprocessor CPU and the microprocessor CPU prepares the generation of CORD 3, which is to be generated succeedingly, using the interrupting pulse P as a trigger. That is, the initial state of the flipflops FF 1  ˜FF.sub.η, the state of the AND gates and the selection state of the last stage of the flipflops are set at LATCH 1, LATCH 3 and LATCH 5. 
     Also when a strobe pulse STB 2 is inputted, the code output is changed from CORD 2 to CORD 3 by an operation similar to that described above. 
     It is clear from the above description that LATCH 1˜5, the microprocessor CPU, the memory MR, etc. correspond to the control circuits 1 and 2 described previously. 
     As explained above, according to the invention, it is possible to divide the communication channel by using the GOLD code, which is excellent in the correlation characteristics. 
     While particular embodiments of the invention have been shown and described, it will be obvious to those skilled in the art that various changes and modifications may be made without departing from the present invention in its broader aspect.