Abstract:
A device for generating a quasi-orthogonal code mask in a communication system. A counter generates first to eighth counter signals x 1 -x 8  representing Bent functions. A logic operator receives the first to eighth counter signals x 1 -x 8  and performs an operation, for example x 1 *x 2 +x 1 *x 3 +x 1 *x 4 +x 1 *x 5 +x 1 *x 7 +x 1 *x 8 +x 2 *x 6 +x 2 *x 7 +x 3 *x 4 +x 3 *x 5 +x 3 *x 6 +x 4 *x 5 +x 4 *x 6 +x 4 *x 7 +x 4 *x 8+3 x 5 *x 7 +x 7 *x 8 +x 1 +x 2 +x 5 +x 7 , to generate a mask signal.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to an encoding device in mobile communication systems, and more particularly, to a quasi-orthogonal code mask generating device. 
     2. Description of the Related Art 
     In CDMA (Code Division Multiple Access) communication systems, orthogonal modulation using orthogonal codes provides channelization among code channels as a way of increasing channel capacity. IS-95/IS-95A applies the orthogonal channelization on a forward link, and a reverse link can be applied through time alignment. 
     Channels on the forward link in IS-95/IS-95A are distinguished by different orthogonal codes as shown in FIG.  1 . Referring to FIG. 1, “W” indicates an orthogonal code and each code channel is identified by a preassigned orthogonal code. The forward link uses a convolutional code with a code rate R=½, BPSK (Binary Phase Shift Keying) modulation, and a bandwidth of 1.2288 MHz. Therefore, orthogonal codes can provide channelization among 64 forward channels (=1.2288 MHz/9.6+2). 
     Once a modulation scheme and a minimum data rate have been determined, the number of available orthogonal codes can be obtained. In the future CDMA communication systems may increase channel capacity by increasing the number of channels, which includes a traffic channel, a pilot channel, and a control channel resulting in improved performance. 
     However, the increase in the number of channels causes a shortage in the number of available orthogonal codes, thereby limiting channel capacity. This disadvantage can be overcome by using quasi-orthogonal codes, which incur minimum interference with orthogonal codes, and a variable data rate. 
     The generation of quasi-orthogonal codes is disclosed in Korea Application Patent No. 97-47257. In order to generate a quasi-orthogonal code, quasi-orthogonal code sequence mask values are stored in a memory and retrieved for use as needed. If a mask value occupies 64 bits, a 64-bit memory is required. Therefore, the conventional quasi-orthogonal code mask generation scheme has a disadvantage of requiring increased hardware complexity. 
     SUMMARY OF THE INVENTION 
     Therefore, an object of the present invention is to provide a device for generating quasi-orthogonal code mask values with minimum interference with orthogonal codes in a mobile communication system which uses orthogonal codes. 
     Another object of the present invention is to provide a device for generating quasi-orthogonal code mask values using a Bent function in a mobile communication system which uses orthogonal codes. 
     To achieve the above objects, a device for generating a quasi-orthogonal code mask in a communication system is provided. In the device, a counter generates first to eighth counter signals x 1 -x 8  representing Bent functions, and a logic operator receives the first to eighth counter signals x 1 -x 8  and performs an operation of x 1 *x 2  +x 1 *x 3 +x 1 *x 4 +x 1 *x 5 +x 1 *x 7 +x 1 *x 8 +x 2 *x 6 +x 2 *x 7 +x 3 *x 4 +x 3 *x 5 +x 3 *x 6 +x 4 *x 5 +x 4 *x 6 +x 4 *x 7 +x 4 *x 8 +x 5 *x 7 +x 7 *x 8 +x 1 +x 2 +x 5 +x 7  to generate a mask signal. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The above objects and advantages of the present invention will become more apparent by describing in detail a preferred embodiment thereof with reference to the attached drawings in which: 
     FIG. 1 illustrates orthogonal channelization among forward code channels in a CDMA communication system in accordance with the prior art; 
     FIG. 2 illustrates a block diagram of a quasi-orthogonal code mask generating device; 
     FIG. 3 illustrates the waveforms with respect to time of six clock signals output from a binary counter shown in FIG. 2; 
     FIGS. 4A and 4B illustrate a block diagram of an alternate embodiment of a quasi-orthogonal code mask generating device; and 
     FIGS. 5A and 5B illustrate a block diagram of an alternate embodiment to a a quasi-orthogonal code mask generating device. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     The present invention is directed to a device and method for simply generating a quasi-orthogonal code mask value using a Bent function (see, Macwilliams and Sloane, The Theory of Error-Correcting Code). In the prior art (Korea Application Patent No. 97-47257), a quasi-orthogonal code mask is a Kasami sequence resulting from X-ORing two PN sequences. The Kasami sequence can be expressed as a set of two-Bent function combinations. Accordingly, a quasi-orthogonal code mask value is expressed as a set of two-Bent function combinations and implemented using hardware as set forth in the present invention. 
     For masks of quasi-orthogonal sequences with a length of 64 bits, for example, the appropriate Bent functions are listed in Table 1. 
     
       
         
               
             
           
               
                 TABLE 1 
               
               
                   
               
             
             
               
                 x1 = 0101010101010101010101010101010101010101010101010101010101010101 
               
               
                 x2 = 0011001100110011001100110011001100110011001100110011001100110011 
               
               
                 x3 = 0000111100001111000011110000111100001111000011110000111100001111 
               
               
                 x4 = 0000000011111111000000001111111100000000111111110000000011111111 
               
               
                 x5 = 0000000000000000111111111111111100000000000000001111111111111111 
               
               
                 x6 = 0000000000000000000000000000000011111111111111111111111111111111 
               
               
                   
               
             
          
         
       
     
     The quasi-orthogonal sequence masks can be calculated using the six Bent functions of Table 1 as shown in Table 2 below: 
     
       
         
               
             
           
               
                 TABLE 2 
               
               
                   
               
             
             
               
                 M1 = X1*X2 + X1*X3 + X2*X3 + X2*X4 + X1*X5 + X4*X6 
               
               
                 M2 = X1*X2 + X1*X3 + X3*X4 + X2*X5 + X3*X5 + X2*X6 + X4*X6 + X5*X6 
               
               
                 M3 = X1*X2 + X2*X4 + X3*X4 + X1*X5 + X4*X5 + X1*X6 + X5*X6 
               
               
                   
               
               
                 + represents modulo 2 addition  
               
             
          
         
       
     
     Accordingly, the resulting quasi-orthogonal masks are as shown in Table 3 below: 
     
       
         
               
             
           
               
                 TABLE 3 
               
               
                   
               
             
             
               
                 M1 = 0001011100100100010000100111000100010111110110110100001010001110 
               
               
                 M2 = 0001010000011011001010000010011100100111110101111110010000010100 
               
               
                 M3 = 0001000100101101010001001000011101000100011110001110111000101101 
               
               
                   
               
             
          
         
       
     
     The Bent functions shown in Table 1 are produced based on a rule. That is, for quasi-orthogonal sequences with length 64=2 6 , one 0 and one 1 (2 0 =1) alternate in Bent function x 1 , two consecutive 0s and is 1s (2 1 =2) alternate in Bent function x 2 , four consecutive 0s and 1s (2 2 =4) alternate in Bent function x 3 , eight consecutive 0s and 1s (2 3 =8) alternate in Bent function x 4 , sixteen consecutive 0s and 1s (2 4 =16) alternate in Bent function x 5 , and thirty two consecutive 0s and 1s (2 5 =32) alternate in Bent function x 6 . Each of the above Bent functions x 1  to x 6  are repeated until a length of 64 is reached. 
     In light of the foregoing, eight Bent functions are needed to produce quasi-orthogonal sequences with length 256=2 8 . These Bent functions can be generated by repeating each of the six Bent functions shown in Table 1 four times to reach the desired length of 256, and adding Bent functions x 7  and x 8 . Bent function x 7  is generated by alternating 64 consecutive 0s and 1s and Bent function x 8  is generated by alternating 128 consecutive 0s and 1s, each sequence being repeated until a length of 256 is reached. 
     
       
         
               
               
             
           
               
                 TABLE 4 
               
               
                   
               
             
             
               
                 M1 = 
                 X1*X2 + X1*X3 + X2*X4 + X1*X5 + X4*X5 + X2*X6 + X3*X6 + X4*X6 + X1*X7 + 
               
               
                   
                 X4*X7 + X5*X7 + X3*X8 + X4*X8 
               
               
                 M2 = 
                 X1*X2 + X1*X3 + X1*X4 + X3*X4 + X3*X5 + X4*X5 + X1*X6 + X3*X6 + X4*X6 + 
               
               
                   
                 X5*X6 + X1*X7 + X3*X7 + X4*X7 + X6*X7 + X1*X8 + X2*X8 + X4*X8 + X6*X8 
               
               
                 M3 = 
                 X1*X2 + X2*X3 + X2*X4 + X3*X4 + X2*X5 + X4*X5 + X1*X6 + X5*X6 + X3*X7 + 
               
               
                   
                 X4*X7 + X5*X7 + X1*X8 + X3*X8 + X4*X8 + X5*X8 + X7*X8 
               
               
                 M4 = 
                 X1*X2 + X2*X3 + X1*X4 + X1*X5 + X2*X5 + X3*X5 + X4*X5 + X2*X6 + X4*X7 + 
               
               
                   
                 X6*X7 + X2*X8 + X4*X8 + X5*X8 + X6*X8 + X7*X8 
               
               
                 M5 = 
                 X1*X2 + X2*X4 + X3*X4 + X2*X5 + X3*X5 + X4*X6 + X3*X7 + X4*X7 + X6*X7 + 
               
               
                   
                 X5*X8 + X7*X8 
               
               
                 M6 = 
                 X1*X2 + X1*X3 + X2*X3 + X2*X4 + X1*X5 + X3*X5 + X1*X6 + X2*X6 + X3*X6 + 
               
               
                   
                 X5*X6 + X1*X7 + X4*X7 + X6*X7 + X1*X8 
               
               
                   
               
               
                 + represents modulo 2 addition  
               
             
          
         
       
     
     For the quasi-orthogonal sequences with a length of 64, the masks M 1 , M 2 , and M 3  are calculated by applying the formulas of Table 2 to the Bent functions x 1  to x 6  of Table 1. The results of these calculations are shown in Table 3. For example, the mask M 1  is produced by entering the Bent functions x 1  to x 6 , each having 64 binary values, into the M 1  generation formula of Table 2. Hence, the masks can be expressed as sets of two-Bent function combinations. 
     The mask generation formulas shown in Table 4 are obtained using the following procedure. Assuming that a Bent function ƒ(ν 1 , . . . , ν k ), with k variables, is given, there are only two Boolean functions ƒ 1 (ν 1 , . . . , ν k−1 ) and ƒ 2 (ν 1 , . . . , ν k−1 ) each having (k−1) variables which satisfy the equation below. 
     
       
         ƒ(ν 1 , . . . , ν k )=ƒ 1 (ν 1 , . . . , ν k−1 )+ν k (ƒ 1 (ν 1 , . . . , ν k−1 )+ƒ 2 (ν 1 , . . , ν k−1 )) 
       
     
     Then, a sequence function having a period 2 m  can be expressed in terms of a period 2 m−1  sequence function which, in turn, can be expressed in terms of a sequence function having a period 2 m−2 . The period 2 m  sequence function expression can be achieved by repeating this procedure m−1 times. 
     To produce a set of two-Bent function combinations for a length-8 quasi-orthogonal code mask of 00010111, 00 and 01 of length  2  in the first half term (0001) can be expressed as 0 and x 1 , respectively, in the first-order Bent, and then the term 0001 of length  4  become 0+x 2 x(0+x 1 )=x 1 x 2  in the second-order Bent. 
     01 and 11 of length  2  in the last half term (0111) are expressed as x 1  and 1, respectively, in the first-order Bent, and then the term 0111 of length  4  becomes x 1 +x 2 x(x 1 +1)−x 1 +x 2 +x 1 x 2  in the second-order Bent. 
     Then, the entire mask function 00010111 is defined as x 1 x 2 +x 3 x(x 1 x 2 +x 1 +x 2 +x 1 x 2 )=x 1 x 2 +x 3 x(x 1 +x 2 )=x 1 x 2 +x 1 x 3 +x 2 x 3 . 
     The scheme of expressing a mask function as a set of two-Bent function combinations can be implemented using the following algorithm (for providing a Boolean function expression): 
     
       
         
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
               
               
               
             
           
               
                   
               
               
                 (Equation 1) 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                   
                 1 
                 N := 2 m ; flag := 0; period:= 1; 
               
               
                   
                 2 
                 WHILE period &lt; N DO 
               
             
          
           
               
                   
                 3 
                 count := 0 
               
               
                   
                 4 
                 FOR i = 1 TO N 
               
             
          
           
               
                   
                 5 
                 IF flag=1 THEN DO 
               
             
          
           
               
                   
                 6 
                 f[i] = f[i] +f[i−period] 
               
             
          
           
               
                   
                 7 
                 count := count + 1 
               
               
                   
                 8 
                 IF count = period THEN DO 
               
             
          
           
               
                   
                 9 
                 flag = flag + 1 
               
             
          
           
               
                   
                 10 
                 period := period × 2 
               
               
                   
                   
               
             
          
         
       
     
     Complex quasi-orthogonal code can be expressed as sign and phase parts. Similarly, sign components of a complex quasi-orthogonal code mask can be expressed as a set of two-function combinations. Table 6 and Table 8 show sets of two-Bent function combinations for sign components of a complex quasi-orthogonal code mask with length  256  as shown in Table 5 and sign components of a complex quasi-orthogonal code mask with length  512  as shown in Table 7, respectively. 
     
       
         
               
               
               
             
           
               
                 TABLE 5 
               
               
                   
               
             
             
               
                 M1 
                 Sign 
                 0111001000101000110101110111001001001110111010111110101110110001 
               
               
                   
                   
                 1110101101001110101100011110101111010111100011011000110100101000 
               
               
                   
                   
                 0010011110000010100000101101100000011011010000011011111000011011 
               
               
                   
                   
                 0100000100011011000110111011111001111101110110000010011101111101 
               
               
                 M2 
                 Sign 
                 0001000101001011000111100100010001000100111000010100101111101110 
               
               
                   
                   
                 1110111001001011111000010100010010111011111000011011010011101110 
               
               
                   
                   
                 1101110110000111001011010111011110001000001011010111100011011101 
               
               
                   
                   
                 0010001010000111110100100111011101110111001011011000011111011101 
               
               
                 M3 
                 Sign 
                 0001011100100100101111010111000110110010100000010001100011010100 
               
               
                   
                   
                 1000111010111101110110110001011100101011000110000111111010110010 
               
               
                   
                   
                 1110011111010100101100100111111010111101100011101110100000100100 
               
               
                   
                   
                 1000000110110010001010111110011111011011111010000111000110111101 
               
               
                   
               
             
          
         
       
     
     
       
         
               
               
             
           
               
                 TABLE 6 
               
               
                   
               
             
             
               
                 M1 = 
                 X1X2 + X1X3 + X1X4 + X1X5 + X1X7 + X1X8 + X2X6 + X2X7 + X3X4 + X3X5 + X3X6 + 
               
               
                   
                 X4X5 + X4X6 + X4X7 + X4X8 + X5X7 + X7X8 + X1 + X2 + X5 + X7 
               
               
                 M2 = 
                 X1X2 + X1X4 + X1X6 + X2X8 + X3X4 + X3X5 + X4X6 + X4X7 + X5X8 + X7 + X8 
               
               
                 M3 = 
                 X1X2 + X1X3 + X1X5 + X1X6 + X1X7 + X2X3 + X2X4 + X2X7 + X3X6 + X3X8 + X4X5 + 
               
               
                   
                 X5X7 + X5X8 + X6X8 + X7X8 + X5 + X6 + X7 + X8 
               
               
                   
               
               
                 + represents modulo 2 addition  
               
             
          
         
       
     
     
       
         
               
               
               
             
           
               
                 TABLE 7 
               
               
                   
               
             
             
               
                 M1 
                 Sign 
                 0100110111011011110110111011001000100100010011010100110111011011 
               
               
                   
                   
                 0010010001001101010011011101101110110010001001000010010001001101 
               
               
                   
                   
                 0010010001001101010011011101101110110010001001000010010001001101 
               
               
                   
                   
                 1011001000100100001001000100110111011011101100101011001000100100 
               
               
                   
                   
                 0100110111011011110110111011001000100100010011010100110111011011 
               
               
                   
                   
                 0010010001001101010011011101101110110010001001000010010001001101 
               
               
                   
                   
                 0010010001001101010011011101101110110010001001000010010001001101 
               
               
                   
                   
                 1011001000100100001001000100110111011011101100101011001000100100 
               
               
                 M2 
                 Sign 
                 0001000101001011011110000010001000011110010001000111011100101101 
               
               
                   
                   
                 0100010011100001001011011000100010110100000100011101110101111000 
               
               
                   
                   
                 0111100000100010111011101011010010001000110100100001111001000100 
               
               
                   
                   
                 1101001001110111010001001110000111011101011110000100101111101110 
               
               
                   
                   
                 0001111001000100100010001101001011101110101101000111100000100010 
               
               
                   
                   
                 1011010000010001001000101000011110111011000111100010110110001000 
               
               
                   
                   
                 0111011100101101000111100100010001111000001000100001000101001011 
               
               
                   
                   
                 0010001010000111010010111110111011010010011101111011101100011110 
               
               
                 M3 
                 Sign 
                 0111010000010010110111100100011100101110010010001000010000011101 
               
               
                   
                   
                 1110001010000100101101110010111001000111001000010001001010001011 
               
               
                   
                   
                 1101111001000111011101000001001001111011111000101101000110110111 
               
               
                   
                   
                 0100100011010001000111010111101100010010100010110100011100100001 
               
               
                   
                   
                 0100011111011110111011011000101111100010011110110100100000101110 
               
               
                   
                   
                 1101000101001000100001001110001010001011000100101101111010111000 
               
               
                   
                   
                 0001001001110100101110000010000101001000001011101110001001111011 
               
               
                   
                   
                 1000010011100010110100010100100000100001010001110111010011101101 
               
               
                   
               
             
          
         
       
     
     
       
         
               
             
           
               
                 TABLE 8 
               
               
                   
               
             
             
               
                 M1 = X1X2 + X1X3 + X1X4 + X1X5 + X1X6 + X1X7 + X1X8 + X2X3 + X2X4 + 
               
               
                 X2X5 + X2X6 + X2X7 + X2X8 + X3X4 + X3X5 + X3X6 + X3X7 + X3X8 + X4X5 + 
               
               
                 X4X6 + X4X7 + X4X8 + X5X6 + X5X7 + X5X8 + X6X7 + X6X8 + X7X8 + X1 + 
               
               
                 X3 + X4 + X5 
               
               
                 M2 = X1X2 + X1X4 + X1X5 + X1X7 + X1X8 + X2X5 + X2X8 + X3X4 + X3X5 + 
               
               
                 X3X6 + X3X8 + X3X9 + X4X7 + X5X8 + X5X9 + X6X7 + X6X8 + X6X9 + X7X8 + 
               
               
                 X7X9 
               
               
                 M3 = X1X2 + X1X4 + X1X5 + X1X6 + X1X7 + X1X8 + X2X3 + X2X4 + X2X7 + 
               
               
                 X2X9 + X3X6 + X3X7 + X4X5 + X4X8 + X4X9 + X5X7 + X6X7 + X6X8 + X6X9 + 
               
               
                 X8X9 + X1 + X2 + X5 + X7 + X8 
               
               
                   
               
             
          
         
       
     
     FIG. 2 is a block diagram of a device for generating quasi-orthogonal code masks using Bent functions according to an embodiment of the present invention. Here, quasi-orthogonal code masks have a length of 64, by way of example. 
     Referring to FIG. 2, a binary counter  110  outputs six counter signals x 1  to x 6  corresponding to the Bent functions. The waveforms of the counter signals are illustrated in FIG. 3. A clock signal is input into the binary counter&#39;s  110  clock input CLK as a reference, and the following outputs are generated by the binary counter  110 : a first counter signal x 1 , with a pulse width twice that of the reference clock signal; a second counter signal x 2  with a pulse width twice that of the first counter signal x 1 , a third counter signal x 3  with a pulse width twice that of the second counter signal x 2 , a fourth counter signal x 4  with a pulse width twice that of the third counter signal x 3 , a fifth counter signal x 5  with a pulse width twice that of the fourth counter signal x 4 , and a sixth counter signal x 6  with a pulse width twice that of the fifth counter signal x 5 . An AND gate  120  outputs signal Y 12  resulting from the input of the first and second counter signals x 1  and x 2 . An AND gate  121  outputs signal Y 13  resulting from the input of the first and third counter signals x 1  and x 3 . An AND gate  122  outputs signal Y 15  resulting from the input of the first and fifth counter signals x 1  and x 5 . An AND gate  123  outputs signal Y 16  resulting from the input of the first and sixth counter signals x 1  and x 6 . An AND gate  124  outputs signal Y 23  resulting from the input of the second and third counter signals x 2  and x 3 . An AND gate  125  outputs signal Y 24  resulting from the input of the second and fourth counter signals x 2  and x 4 . An AND gate  126  outputs signal Y 25  resulting from the input of the second and fifth counter signals x 2  and x 5 . An AND gate  127  outputs signal Y 26  resulting from the input of the second and sixth counter signals x 2  and x 6 . An AND gate  128  outputs signal Y 34  resulting from the input of the third and fourth counter signals x 3  and x 4 . An AND gate  129  outputs signal Y 35  resulting from the input of the third and fifth counter signals x 3  and x 5 . An AND gate  130  outputs signal Y 45  resulting from the input of the fourth and fifth counter signals x 4  and x 5 . An AND gate  131  outputs signal Y 46  resulting from the input of the fourth and sixth counter signals x 4  and x 6 . An AND gate  132  outputs signal Y 56  resulting from the input of the fifth and sixth counter signals x 5  and x 6 . 
     An XOR gate  140  outputs the mask sequence M 1  by X-ORing signals Y 12 , Y 13 , Y 23 , Y 34 , Y 15 , and Y 46 . An XOR gate  141  outputs the mask sequence M 2  by X-ORing signals Y 12 , Y 13 , Y 34 , Y 25 , Y 35 , Y 26 , Y 46 , and Y 56 . An XOR gate  142  outputs the mask sequence M 3  by X-ORing signals Y 12 , Y 24 , Y 34 , Y 15 , Y 45 , Y 16 , and Y 56 . 
     In operation, the binary counter  110  generates the six signals representing the Bent functions shown in Table 1. Model 74HC161 may be employed as a suitable binary counter  110 , however, other suitable binary counters may be employed. As stated above, using the input of the first and second counter signals x 1  and x 2 , the AND gate  120  produces signal Y 12  which represents a sequence x 1 x 2  which is used in the masks M 1 , M 2 , and M 3 . Similarly, using the input of the first and third counter signals x 1  and x 3 , the AND gate  121  produces signal Y 13  which represents a sequence x 1 x 3  which is used in the masks M 1  and M 2 . In this manner, the AND gates  120  to  132  operate to produce their respective signals, which are combined in appropriate combinations to generate mask sequences M 1 , M 2  and M 3  using XOR gates  140 ,  141 , and  142 , respectively. Accordingly, the input of Y 12  (=x 1 x 2 ), Y 13  (=x 1 x 3 ), Y 23  (=x 2 x 3 ), Y 24  (=x 2 x 4 ), Y 15  (=x 1 x 5 ), and Y 46  (=x 4 x 6 ), the XOR gate  140  generates the mask sequence M 1  according to the formula for the mask M 1  in Table 2. In the same manner, for the input of Y 12  (=x 1 x 2 ), Y 13  (=x 1 x 3 ), Y 34  (=x 3 x 4 ), Y 25  (=x 2 x 5 ), Y 35  (=x 3 x 5 ), Y 26  (=x 2 x 6 ), Y 46  (=x 4 x 6 ), and Y 56  (=x 5 x 6 ), the XOR gate  141  generates the mask sequence M 2 , and for the input of Y 12  (=x 1 x 2 ), Y 24  (=x 2 x 4 ), Y 34  (=x 3 x 4 ), Y 15  (=x 1 x 5 ), Y 45  (=x 4 x 5 ), Y 16  (=x 1 x 6 ), and Y 56  (=x 5 x 6 ), the XOR gate  142  generates the mask sequence M 3 . 
     Quasi-orthogonal codes with a length of 128 are generated in the same manner as the quasi-orthogonal codes with a length of 64. Similarly, a length-256 quasi-orthogonal mask generating device can be achieved by controlling the binary counter to produce clock signals of the intended length and configuring AND gates corresponding to the terms shown in Table 4. 
     Table 6 and Table 8 illustrate how the sequences of Table 5 and Table 7, respectively, which correspond to the sign component of the complex quasi-orthogonal code mask, can be expressed as a set of two-function combinations, similar to the binary quasi-orthogonal sequences of Table 3. Accordingly, in the case of the quasi-orthogonal sequences with length  256 , the operators are constituted using the formulas of Table 6, thereby embodying the quasi-orthogonal mask generating device. Also, in the case of the quasi-orthogonal sequences with length  512 , the operators are constituted using the formula of Table 8, thereby embodying the quasi-orthogonal mask generating device. 
     FIGS. 4A and 4B and  5 A and  5 B are block diagrams illustrating devices for generating quasi-orthogonal code masks using Bent functions according to the present invention. FIGS. 4A and 4B illustrate a device including a binary counter  210  for outputting eight counter signals x 1  to x 8  for generating length-256 quasi-orthogonal masks, and FIGS. 5A and 5B illustrate a device including a binary counter  310  for outputting nine counter signals x 1  to x 9  for generating length-512 quasi-orthogonal masks. Because the operation of these devices is the same as a the device illustrated in FIG. 2, which has already been described above, no additional description will be given here. 
     As described above, the present invention is advantageous in that quasi-orthogonal mask sequences are easily produced by implementing them using simple hardware. 
     While the present invention has been described in detail with reference to the specific embodiment, it is a mere exemplary application. Thus, it is to be clearly understood that many variations can be made by anyone of ordinary skill in the art while staying within the scope and spirit of the present invention as defined by the appended claims.