Abstract:
A system and method for providing optimum wireless communication spreading code selection such that communication channel interpath interference is minimized. In Direct-Sequence Spread-Spectrum, the autocorrelation properties of a spreading code greatly affects the inherent ability of a system to resist multipath. Low/spreading gain codes (or “short” codes) associated with high data rates do not perform well where large-amplitude multipath is present. The system and method presented herein overcomes this problem by selecting spreading codes in such a way that interference caused by multipath is minimized. The system and method does so by determining the characteristics of the radio-frequency link in order to select a spreading code that will minimize interpath interference.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to a system and method for adapting spreading codes to the transmission channel medium in communication networks. Specifically, the present invention relates to a system and method for selecting an optimum spreading code for Direct-Sequence Spread-Spectrum (DSSS) node communication, based upon information gathered about the radio-frequency link between nodes, such that interpath interference is minimized. 
     2. Description of the Related Art 
     Many communication systems employ the use of spreading codes to transmit signals, such as voice, data or multimedia signals between transceivers, or nodes, of a network. In such applications, the narrow-band data transmission signal within the single frequency band is multiplied by a spreading code having a broader band than the user data signal and the user data signal is “spread” to fill the entire frequency band used. As discussed in U.S. Pat. No. 5,515,396 issued to Michael D. Kotzin, which is incorporated herein by reference, the modulation of a signal to be transmitted often includes taking a baseband signal (e.g., a voice channel) having a bandwidth of only a few kilohertz, and distributing the signal to be transmitted over a frequency band that may be many megahertz wide. Although spreading the user data signal may be accomplished by several methods, the most common is to modulate each bit of information, generally after appropriate error correction coding, with a spreading code sequence of bits. In doing so, many bits are generated for each coded information bit that is desired to be transmitted. However, transmissions between transceivers are subject to interference from a number of sources, therefore corrections and compensations must be considered when implementing Direct-Sequence Spread-Spectrum (DSSS) systems. 
     One such source of interference is multipath propagation between transceivers. Signals propagated along different paths, arrive at the receiver at different times due to variations in transmission delays. As discussed in U.S. Pat. No. 5,677,934, issued to Kjell Ostman, which is incorporated herein by reference, multipath propagation profiles are highly dependent upon the environment of the communication link. As pointed out in Ostman, when the signaling period is long, and delayed copies of the transmitted signals are received with a delay that is long in comparison to the signaling period, multipath propagation compensation is required. Furthermore, in mobile networks, the communications receiver sees rapid changes in phase and amplitude of a received signal and is required to track such changes. Several methods exist for addressing these effects, such as the use of RAKE receivers to collectively assemble transmitted signals. Through the use of a RAKE-receiver algorithm, a complete transmission may be derived from the multiple propagated signals within the receiver. 
     Multipath interference can also be cancelled through the use of spreading codes when carefully selected to ensure that secondary multipath rays are concurrent with the lowest sidelobe values of the selected spreading code&#39;s periodic autocorrelation functions. Accordingly, a need exists for a system and method for the selection of spreading codes for communication, based on information gathered between two nodes, in order to minimize and preferably eliminate multipath interference. 
     SUMMARY OF THE INVENTION 
     An object of the present invention is to provide a system and method for determining the Multipath Delay Profile of the communication channel between two nodes in a communication network. 
     Another object of the present invention is to determine a fitness function for each spreading code based upon the Multipath Delay Profile of a channel used for communication between two nodes of a communication network. 
     A further object of the present invention is to determine the spreading code with the lowest fitness function based upon the Multipath Delay Profile of a channel used for communication between two nodes of a network, such as a wireless ad-hoc network, thereby minimizing the adverse effects of multipath during wireless communications. 
     These and other objects are substantially achieved by a system and method which estimates the hypothetical interference levels for all possible spreading codes and determines which code provides the lowest interference level. The system and method first issues a request-to-send (RTS) data packet between two nodes in a communication network using a high spreading-gain code used by all nodes. The RTS data is used to estimate the Multipath Delay Profile (MDP) of the radio-frequency link between nodes and a fitness evaluation of spreading codes based upon the Multipath Delay Profile reveals the optimum spreading code for use with the radio-frequency link. A clear-to-send (CTS) data packet issued from the receiver node to the transmitting node includes information identifying the optimum spreading code to be used by the transmitting node. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other objects, features and characteristics of the present invention will become more apparent to those skilled in the art from a study of the following detailed description in conjunction with the appended claims and drawings, all of which form a part of this specification. In the drawings: 
         FIG. 1  is a flow diagram illustrating an example of spreading code determination between two nodes of a communication network in accordance with an embodiment of the present invention; 
         FIG. 2  is a conceptual block diagram of a node shown in  FIG. 1 ; 
         FIG. 3  is a plot illustrating an example of a Multipath Delay Profile estimate; and 
         FIG. 4  is a plot illustrating the odd and even periodic auto-correlation functions of an 8-chip sequence. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     The selection and use of optimum spreading codes in node communication is a successful approach to reducing multipath interference. In the present embodiment of the invention discussed below, individual nodes are employed having the capability to determine optimum spreading codes during communication. 
     In an embodiment of the present invention shown in  FIG. 1 , two nodes  102  and  104  are used to determine, then implement, an optimum spreading code based on transmission channel factors. The nodes  102  and  104  can be employed as mobile nodes or intelligent access points (IAPs) of an ad-hoc wireless communication network, such as those described in U.S. patent application Ser. Nos. 09/897,790, 09/815,157 and 09/815,164, the entire contents of each being incorporated herein by reference. Each of the nodes includes the components necessary to perform all of the following tasks. Specifically, as shown in  FIG. 2 , each node  102  and  104  includes a transceiver  122  which is coupled to an antenna  124 , such as an antenna array, and is capable of receiving and transmitting signals, such as packetized data signals to and from the node  102  or  104  under the control of a controller  126 . The packetized data signals can include, for example, voice, data or multimedia. The transceiver  122  can include signal processing components, such as tracking and storing circuitry, and each node further includes a memory  128 , such as a random access memory (RAM), that is capable of storing, among other things, routing information pertaining to itself and other nodes in the network. 
     The evaluation of transmission channel factors between nodes uses two or more nodes with task divisions based upon classification as a receiving node, or a sending node (i.e. receiver or transmitter) as will now be described. In  FIG. 1 , node  102  is functioning as a transmitter. In another embodiment, node  102  may function as a receiver. Likewise, in  FIG. 1 , node  104  is functioning as a receiver, however, in another embodiment, node  104  may function as a transmitter. 
     Initiating spreading code selection begins with a transmission of a request-to-send (RTS) data packet from node  102  to node  104  using a high spreading-gain code as shown at  106 . The transmission of the RTS data packet occurs via a transmission channel  120  between transceivers. Based on receipt of the RTS data packet, node  104  determines a Multipath Delay Profile of the transmission channel at  108 . 
     The determination of the Multipath Delay Profile can be achieved by matched-filtering a reference sequence in the RTS, a process made possible by the higher spreading gain of the sequence used. The determination of a Multipath Delay Profile is discussed in U.S. Pat. No. 6,229,842 issued to Schulin et al., which is incorporated herein by reference. Sufficient provisions should be made to determine all major contributing paths in the Multipath Delay Profile, however minor paths, such as those lower than the direct-path component by 10 or more decibels, will have little or no influence on the performance of the system and may be disregarded. 
     As shown in  FIG. 3 , the Multipath Delay Profile is a relation between chip delay and amplitude, indicating paths which potentially will cause the greatest interference. Amplitude peaks are shown occurring at chip delays  0 ,  2  and  7  at  130 ,  132  and  134  respectively. The amplitude peak at  130  in all likelihood corresponds to the direct path, because it is the first transmission to reach the receiver. The peaks at  132  and  134  correspond to secondary paths. 
     As can be appreciated by one skilled in the art, the amount of interference caused by a secondary path is proportional to the product of the interference level estimated by the Multipath Delay Profile, and the periodic autocorrelation sidelobe value of the spreading sequence at the chip delay corresponding to the secondary path. Therefore, the selection of an optimum spreading code requires the estimate of the hypothetical interference levels for all possible spreading codes. Once the levels are known, the spreading code providing the lowest interference level is chosen. 
     Each spreading code sequence considered is used to create an “even” and “odd” periodic auto-correlation function (PACF) as shown in  FIG. 4 . The PACF of a spreading sequence x is defined by the following equation (1), 
         
                 (   1   )             
 
where i is the chip-sequence index and N is the length of the spreading code.
 
     In the previous equation (1), the values for x, defined as being the spreading code for i ε[1,N], are understood to be modulo N where,
 
 x (0)= x ( N )
 
 x (−1)= x ( N− 1)
 
 x (−2)= x ( N− 2)
 
and so forth. This defines what is referred to as the “even” PACF because it assumes that the previous and following symbol is identical. However, the previous and following symbol modulating the spreading sequence may take a difference value. In this case it is necessary to define the “odd” PACF where,
 
 x (0)=− x ( N )
 
 x (−1)=− x ( N− 1)
 
 x (−2)=− x ( N− 2)
 
and so forth. The two PACF functions can therefore be written as, 
                   xx   EVEN     ⁢     (   k   )       =       ∑     i   =   1     N     ⁢           ⁢       x   ⁡     (   i   )       ·       x   EVEN     ⁡     (     i   -   k     )             ⁢     
     ⁢         xx   ODD     ⁢     (   k   )       =       ∑     i   =   1     N     ⁢           ⁢       x   ⁡     (   i   )       ·       x   ODD     ⁡     (     i   -   k     )                     (   2   )             
 
where x EVEN  and x ODD  make different assumptions on the way symbols are modulated.
 
     As shown in  FIG. 4 , the 8-chip sequence (1,−1,1,−1,−1,−1,1,1) has an “even” PACF of (8,0,0,−4,0,−4,0,0). The “odd” PACF for the sequence is (8,−2,0, −2,0,+2,0,+2). Chip-delays ±2 and ±4 at  136  and  138  respectively, are nulls of the function, therefore a signal received with a delay of 2 or 4 (modulo-8) chips will not correlate with the direct path. Given the Multipath Delay Profile of the transmission channel, node  104  calculates a fitness function for each spreading code considered for use with the transmission channel based on the estimated Multipath Delay Profile and PACF of each spreading code. The fitness function for each spreading sequence is defined as: 
             Fitness   =       ∑     k   =   1     N     ⁢           ⁢     [       MDP   ⁡     (   k   )       ×     (                xx   ODD     ⁢     (   k   )            +            xx   EVEN     ⁢     (   k   )              2     )       ]               (   3   )             
 
where R xx  is the periodic auto-correlation function of the spreading sequence considered, N is the length of the spreading sequence and MDP is the Multipath Delay Profile of the transmission channel.
 
     As shown in Table 1 below, node  104  is used to evaluate the fitness of each spreading code and the code found to have the lowest fitness will minimize the adverse effects of multipath and provide the best performance. The embodiment of the present invention is shown evaluating code sequences of length  8 , although the method may be generalized to code sequences of any length. Also, the embodiment of the present invention is shown evaluating three different code sequences, although the method can be generalized to any number of code sequences. 
     
       
         
               
             
               
               
               
             
               
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 Calculation of Fitness Function for All Available Spreading Codes 
               
             
          
           
               
                 Sequence 
                 Autocorrelation 
                 Fitness Function 
               
               
                   
               
             
          
           
               
                 1-11-1-1-111 
                 Odd 
                 8-20-20202 
                 Mean Sum 
                 81030301 
               
               
                 (shown FIG. 3) 
                 PACF 
                   
                 MDP (Taps) 
                 10.50000.25 
               
               
                   
                 Even 
                 800-40-400 
                 Fitness = 0.25 
                 X0000000.25 
               
               
                   
                 PCAF 
               
               
                 -1-1111-1-11 
                 Odd 
                 82-4-6064-2 
                 Mean Sum 
                 81430341 
               
               
                   
                 PACF 
                   
                 MDP (Taps) 
                 10.50000.25 
               
               
                   
                 Even 
                 80-4000-40 
                 Fitness = 2.25 
                 X0200000.25 
               
               
                   
                 PACF 
               
               
                 -11-1-11-111 
                 Odd 
                 8-2020-202 
                 Mean Sum 
                 83034303 
               
               
                   
                 PACF 
                   
                 MDP (Taps) 
                 10.50000.25 
               
               
                   
                 Even 
                 8-404-840-4 
                 Fitness = 0.75 
                 X0000000.75 
               
               
                   
                 PACF 
               
               
                   
               
             
          
         
       
     
       FIG. 4  shows a typical auto-correlation function for a sequence of length  8 . As illustrated, chip-delays ±2 and ±4 are nulls of the function. Therefore, a signal received with a delay of 2 or 4 (modulo-8) chips will not correlate with the direct path. In accordance with an embodiment of the present invention, this property of direct-sequence spread spectrum (DSSS) modulation is used to minimize interpath interference when spreading codes are selected in accordance with an a priori estimation of the channel. 
     For instance, in row one of Table 1, spreading code sequence (1,−1,1,−1,−1,−1,1,1) as shown in  FIG. 4 , has an even periodic auto-correlation function of (8,0,0, −4,0,−4,0,0) and an odd auto-correlation function of (8,−2,0, −2,0,2,0,2). The estimated MDP of the communication channel shown in  FIG. 3  shows peak values at delays of 0, 2 and 7 at  130 ,  132  and  134  respectively. The determination of the fitness function from equation (3) yields a value of 0.25. The spreading code sequence considered second in row two of Table 1, spreading code sequence (−1,−1,1,1,1,−1,−1,1), has a fitness function of 2.25, and the third considered in row three of Table 1, has a fitness function of 0.75. Based upon the evaluation, the spreading code of row one, having the lowest fitness function value of 0.25, would be chosen as the optimum spreading code. Node  104  selects this optimum code based on this evaluation, as shown at  110  in  FIG. 1 , and sends a clear-to-send (CTS) packet at  112 , containing information about which spreading code must be used to decode data. The embodiment described above can be used for any direct-sequence spread spectrum system which may use different spreading codes depending on the circumstances. 
     The system and method presented herein will be effective if the channel information that is estimated by the receiver when the transmission is initiated does not change significantly until the end of the transmission. Thus, the concept of stationarity can be relative to the overall transmission time. A wireless unit, such as a laptop, may be considered stationary or mobile depending on its current utilization, for example, on an office desk or in a vehicle. The decision of whether the unit is stationary or mobile can be made adaptively, for example, with a motion sensor, or repeated channel probes, or a unit can be designated as fixed, such as a base station mounted on a wall, or mobile, such as a personal digital assistant (PDA). However, the embodiment is highly adaptive and can be well suited for units which may be “redeployed” often, such as wireless routers or computers on a desk-devices which may not attain higher data rates because of an adverse multipath environment. 
     Although only a few exemplary embodiments of the present invention have been described in detail above, those skilled in the art will readily appreciate that many modifications are possible in the exemplary embodiments without materially departing from the novel teachings and advantages of this invention. Accordingly, all such modifications are intended to be included within the scope of this invention as defined in the following claims.