Patent Publication Number: US-6990139-B2

Title: System for, method of, transmitting data from a transmitter to a receiver and recovering the data at the receiver

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
   This application is a continuation of U.S. Ser. No. 09/687,024, filed Oct. 13, 2000, U.S. Pat. No. 6,952,439, the contents of which are hereby incorporated herein by reference. 

   BACKGROUND OF THE INVENTION 
   This invention relates to systems for, and methods of, transmitting data from a transmitter to a receiver. The systems and methods of this invention provide for a transmission and reception of data with a greater accuracy than the systems and methods of the prior art. 
   Data at a transmitter is modulated, in accordance with instructions from a receiver, to provide M different modulations in successive sequences. N spreading codes are also provided in successive sequences at the transmitter, in accordance with instructions from the receiver, alternately with the M data modulations. The alternate sequences of the M data modulations and the N spreading codes are paired and individual ones of the M data modulations and the N spreading codes in the paired sequences are combined (e.g. multiplied). Alternatively, an individual one of the M data modulations is combined (e.g. multiplied) with an individual one of the N spreading codes in the adjacent sequence. The modulator and the spreader may be included at the transmitter with (a) a channel encoder which provides channel coding in accordance with instructions from the receiver, (b) a puncturer which removes particular data in accordance with instructions from the receiver and (c) an interleaver. The paired combinations of the individual ones of the M data modulations and the N spreading codes are transmitted to the receiver, which uses correlation or matched filter techniques to recover each combination of the individual one of the data modulations and the individual one of the spreading codes. The recovered data is de-spread in accordance with instructions from the receiver, demodulated in accordance with instructions from the receiver and de-interleaved. The particular data punctured from the sequence is re-inserted and the data is then decoded in accordance with the instructions from the receiver. 
   BACKGROUND OF A PREFERRED EMBODIMENT OF THE INVENTION 
   In systems now in use, digital data is transmitted from a transmitter to a receiver. The digital data received at the receiver is not easily recognized. This results in part from noise produced in the transmission of the data from the transmitter to the receiver. It also results in part from the fact that the digital data travels in different paths from the transmitter to the receiver. For example, the digital data preferably travels directly from the transmitter to the receiver. However, the digital data can also travel from the transmitter to positions misaligned with the transmitter and the receiver and then travel from the misaligned positions to the receiver. 
   This misalignment causes the data received at the receiver from the misaligned position to be out of phase with the signals passing directly from the transmitter to the receiver. This out-of-phase relationship makes it difficult to recover the data at the receiver. The problem is aggravated because the receiver can often receive the same data from a number of different misaligned positions in addition to the data passing directly from the transmitter to the receiver. The misalignment can cause the data transmitted from the transmitter to the receiver to fade because the phases of the misaligned signals are such that the amplitudes of the misaligned signals are subtracted from the amplitude of the signals translated directly from the transmitter to the receiver. 
   Attempts have been made to alleviate the problems of recovering data at the receiver when the data has been blurred by no se and by misalignments in phase. For example, in systems now in use for sending digital data from a controlled station (e.g., a transmitting station) to a controlling station (e.g., a receiving station), the digital data is provided with repetitive sequences of M modulations where M is a constant. Each of the M data modulations in each sequence is different from the other ones of the M modulations in the sequence. The M data modulations at the transmitter are provided in accordance with instructions from the controlling station (e.g. receiver). The modulated data is transmitted from the transmitter to the receiver in packets. In a first packet or sequence of packets, the data may be modulated with a first one of the M data modulations. In a second packet or sequence of packets, the data may be transmitted with a second one of the M data modulations. In a third one of the packets or sequence of packets, the data may be transmitted with a third one of the M data modulations. 
   In other systems now in use, the digital data in each packet or sequence of packets may be transmitted from the transmitter to the receiver at individual ones of N spreading codes. For example, the modulated data in a first one of the packets or sequence of packets may be transmitted from the transmitter to the receiver at a first one of the N different spreading codes. The data in a second one of the packets or sequence of packets may then be transmitted from the transmitter to the receiver at a second one of the N spreading codes rates. The data in a third one of the packets or sequence of packets may be subsequently transmitted from the transmitter to the receiver at a third one of the N spreading codes. Each spreading code may provide for a transmission of the data at a different rate. The N different spreading codes may be provided in accordance with instructions from the receiver. 
   The systems now in use and discussed in the previous paragraphs have reduced the problem of recovering data at a receiver, but have not solved the problem. It is still difficult to recover data at a receiver because of the proliferation in the reception at the receiver of out-of-phase data which clouds the reception and recovery of the in-phase data. 
   Several documents can be considered as prior art to the invention disclosed and claimed in this application. These are as follows:
         (a) U.S. Pat. No. 5,541,955 issued on Jul. 30, 1996, to Jacobsmeyer for an Adaptive Data Rate Modem;   (b) An article published on pages 927–946 of the May, 1998, issue of IEEE Transaction on Information Theory. This article was written by Giusepper Caire et al and was entitled “Bit-Interleaved Coded Modulation”;   (c) An article published on pages 54–64 of the January, 2000, issue of IEEE Communications magazine. This article was written by Sanjiv Nanda et al and was entitled “Adaption Techniques in Wireless Packet Data Services”;   (d) An article published on pages 2223–2230 of the July, 1995, issue of IEEE Transactions on Communications. This article was written by W. Webb and R. Steel and was entitled “Variable Rate QAM for Mobile Radio”; and   (e) An article published on pages 1218–1230 in the October, 1997, issue of IEEE Transactions on Communications. This article was written by A. Goldsmith and S. Chaa and was entitled “Variable-Rate Variable-Power MQAM for Fading Channels”.       

   The prior art references specified above in paragraphs (a) through (e) disclose systems for modulating data and also disclose systems for providing spreading codes. However, they do not disclose systems for providing a combination of data modulations and spreading codes. They further do not disclose systems which provide channel encodings with either data modulations or spreading codes or both data modulations and spreading codes. There is also no disclosure in the prior art specified above of particular techniques of combining data modulations and spreading codes to provide an optimal detection of the data even when the data is obscured by considerable amounts of multi-path fading. 
   BRIEF DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION 
   Data at a transmitter is modulated, in accordance with instructions from a receiver, to provide M different modulations in successive sequences. N spreading codes are also provided in successive sequences at the transmitter, in accordance with instructions from the receiver, alternately with the M data modulations. The alternate sequences of the M data modulations and the N spreading codes are paired and individual ones of the M data modulations and the N spread codes in the paired sequences are combined (e.g. multiplied). 
   Alternatively, an individual one of the M data modulations is combined (e.g. multiplied) with an individual one of the N spreading codes in the adjacent sequence. The modulator and the spreader may be included at the transmitter with (a) a channel encoder which provides channel coding in accordance with instructions from the receiver, (b) a puncturer which removes particular data in accordance with instructions from the receiver and (c) an interleaver. 
   The paired combinations of the individual ones of the M data modulations and the spreading codes are transmitted to the receiver, which uses correlation or matched filter techniques to recover each combination of the individual one of the data modulations and the individual one of the spreading codes. The recovered data is de-spread in accordance with instructions from the receiver, demodulated in accordance with instructions from the receiver and de-interleaved. The particular data punctured from the sequence is re-inserted and the data is then decoded in accordance with the instructions from the receiver. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     In the drawings: 
       FIG. 1  is a schematic circuit diagram, primarily in block form, of one preferred embodiment of the invention for transmitting data in a particular format to a receiver; 
       FIG. 2  is a schematic circuit diagram, primarily in block form, of another preferred embodiment of the invention for transmitting data in another format to a receiver; 
       FIG. 3  is a schematic circuit diagram, primarily in block form, of a third preferred embodiment of the invention for transmitting data in still another format to a receiver, this preferred embodiment having advantages over the embodiment shown in  FIGS. 1 and 2 ; 
       FIG. 4  is a circuit diagram, primarily in block form, of a system constituting a preferred embodiment of the invention for receiving the data in the novel format from the transmitter shown in any of  FIGS. 1–3  and for recovering the data; 
       FIG. 5  is a circuit diagram, primarily in block form, of a system constituting another preferred embodiment of the invention for receiving the data in the novel format from the transmitter shown in any of  FIGS. 1–3  and for recovering the data; 
       FIG. 6  is a circuit diagram of an expanded system constituting a preferred embodiment of the invention, and preferably incorporating any of the systems shown in  FIGS. 1–3 , for transmitting data in any of the novel formats of  FIGS. 1–3  to the receiver; and 
       FIG. 7  is a circuit diagram of an expanded system constituting a preferred embodiment of the invention, and preferably incorporating either of the systems shown in  FIGS. 4 and 5 , for receiving the data in the novel format from the transmitter shown in  FIG. 6  and for recovering the data. 
   

   DETAILED DESCRIPTION OF A PREFERRED EMBODIMENTS OF THE INVENTION 
     FIG. 1  schematically illustrates a system, primarily in block form and constituting a preferred embodiment of the invention, for sending data in digital form in a particular format from a transmitter (generally indicated at  10 ) to a receiver. The transmitter  10  includes a bus  12  for providing data input in a binary form. A channel encoder  14  may convert each binary signal to a number of binary bits indicating the different channels in which the data is provided. The inclusion of the channel encoder  14  is preferable but not mandatory. 
   The binary signals in the channel encoder  14  are introduced to a mapper  16 . The mapper  16  provides binary indications identifying each of the channels. For example, the paired binary indications 01 could represent an upper right quadrant. Alternatively, the paired binary indications 01 could represent a lower left quadrant. The inclusion of the mapper  16  is preferable but is not mandatory. 
   The signals from the mapper  16  are modulated by a modulator  18 . The modulations may be in a number of different forms each known in the prior art. For example, the modulations may be in the form of quadrature amplitude modulation (QAM), quadrature phase shift keying (QPSK) or star quadrature amplitude modulations (SQAM). The QAM modulations may illustratively be in 16QAM (where four (4) positions are provided in each of four (4) quadrants) or in 64 QAM (where sixteen (16) positions are provided in each of the four (4) quadrants. 
   A plurality of different modulations (e.g, M) are provided by the modulator  18 . The M different modulations are produced respectively on a sequential basis of successive packets of digital signals. For example, a first modulation may be produced in a first packet or in a successive number of packets. A second modulation may then be produced in a second packet or in a successive number of packets. Successive modulations may be sequentially produced in successive packets, or successive numbers of packets, until the M different modulations are produced. Thereafter, the cycle of M successive modulations is repeated for the packets in successive sequences on a repetitive basis. 
   The signals from the bus  12 , the channel encoder  14 , the mapper  16  and the modulator  18  are in serial form. They are converted to a parallel form by a serial-to-parallel converter  20  in a manner well known in the prior art. The parallel signals from the converter  20  are introduced to a plurality of multiplier stages respectively designated as  22   a ,  22   b  . . .  22   n . Each of the multipliers  22   a ,  22   b  . . .  22   n  also respectively receives an individual one of a plurality of N spreading code signals on an individual one of lines  24   a ,  24   b  . . .  24   n.    
   Each of the N spreading codes respectively provided on an individual one of the lines  24   a  . . .  24   n  may be produced at a different rate from the rate produced by the other ones of the N spreading codes. Thus, the multiplier  22   a  may multiply the modulated data S 1 (t) and the spreading code C 1 (t) where S 1  represents the first one of the M different data modulations and C 1 (t) represents the first one of the N spreading codes. Similarly, the multiplier  22   b  may multiply the modulated data S 2 (t) and the spreading code C 2 (t). An adder  26  receives the outputs from the multipliers  22   a ,  22   b  . . .  22   n . An amplifier may be included in the adder  26 . 
   The data modulations S 1 (t) . . . S m (t) have a bandwidth indicated at  28  in  FIG. 1 . The spreading code signals C 1 (t) . . . C n (t) have a bandwidth  30  which may be considerably larger than the bandwidth  28 . The increased bandwidth  30  is advantageous in that it decreases noise in the transmitted and received signals and decreases the disadvantageous effects of out-of-phase signals. The out-of-phase signals are particularly disadvantageous because they can decrease the magnitude of the signals transmitted directly from the transmitter to the receiver. This results from the fact that the phases of the out-of-phase signals may be directly opposite to the phase of the directly transmitted signal. Because of this, the increased bandwidth provided by the N spreading codes facilitates the recovery at the receiver of the in-phase data provided at the transmitter and transmitted directly to the receiver. The increased bandwidth is disadvantageous in that it slows the transmission of data from the transmitter to the receiver. 
   As will be disclosed in detail subsequently, it is known in the prior art to change one of the data modulations and the spreading codes without simultaneously changing the other one. However, it is not known in the prior art to change simultaneously the data modulations and spreading codes. Simultaneously changing both the data modulations and the spreading codes offers certain advantages. It strengthens the signals transmitted directly from the transmitter to the receiver against fading resulting from multi-path transmissions from the transmitter to the receiver. However, there is also a disadvantage. This may be seen from the relative bandwidths of the data modulations and the spreading codes. The data modulations have a bandwidth indicated at  28  in  FIG. 1  and the spreading codes have a bandwidth indicated at  30 . As will be seen, the bandwidth  30  is significantly greater than the bandwidth  28 . The increased bandwidth  30  facilitates the recovery of the data transmitted from the transmitter directly to the receiver from the fading resulting from multi-path passages of the data from the transmitter to the receiver. However, the increased range of the bandwidth  30  slows the transmission of data from the transmitter to the receiver. 
     FIG. 2  schematically shows another system, primarily in block form, for sending data in a particular format from a transmitter, generally indicated at  30 , to a receiver. The system  30  is designated as a single code system because there is only a single spreading code C 1 (t). This causes the rate of the orthogonal signals generated by the spreading code to be fixed. In this system, the number of different rates for the transmission of the data modulations is increased. 
   The transmitter shown in  FIG. 2  may include a channel encoder  14   a  corresponding to the channel encoder  14 , a mapper  16   a  corresponding to the mapper  16 , a modulator  18   a  corresponding to the modulator  18  and a serial-to-digital converter  20   a  corresponding to the serial-to-parallel converter  20 . The parallel output from the converter  20  is introduced on a bus  32  to a multiplier  34  which also receives the spreading code C 1 (t). The transmitter shown in  FIG. 2  distinguishes over the prior art in providing for simultaneous changes in the data modulations and the spreading code. 
     FIG. 3  schematically illustrates a preferred embodiment of a transmitter, generally indicated at  40 , of the invention. The transmitter  40  is primarily in block form and is preferred to the embodiments shown in  FIGS. 1 and 2 . The transmitter  40  includes a channel encoder  42 , a mapper  44 , a modulator  46  and a serial-to-parallel converter  48  respectively corresponding to the channel encoder  14 , the mapper  16 , the modulator  18  and the serial-to-parallel converter  20  in  FIG. 1 . 
   In the system shown in  FIG. 3 , assume that there are three (3) different data modulations and that there are five (5) different spreading codes. Under these circumstances, M would be 3 and N would be 5. The M data modulations are provided at the transmitter  40  in accordance with instructions from the receiver. In like manner, the N spreading codes are provided at the transmitter  40  in accordance with instructions from the receiver. 
   As shown in  FIG. 3 , the three (3) data modulations are initially presented in a sequence as represented by the numerals 1, 2, 3 and the five (5) spreading codes are then presented in a sequence as represented by the numerals 4, 5, 6, 7, 8. The three (3) data modulations are then presented again in a sequence as represented by the numerals 9, 10, 11 and the five (5) spreading codes are again presented in a sequence as represented by the numerals 12, 13, 14, 15, 16. Successive sequences of the data modulations and then the spreading codes are repeated in the manner specified above. It will be appreciated that a sequence of the successive spreading codes may be presented before a related sequence of the successive data modulation without departing from the scope of the invention. 
   The successive data modulations in a sequence are introduced from the serial-to-parallel converter  48  to a bus  50 . This is indicated by the numerals 1, 2, 3 in a first column, and then by the numerals 9, 10, 11 in a second column, adjacent the bus  50  in  FIG. 3 . In like manner, the successive spreading codes in a sequence are introduced from the serial-to-parallel converter  48  to a bus  52 . This is indicated by the numerals 4, 5, 6, 7, 8 below the numbers 1, 2, 3 in the first column, and then by the numerals 12, 13, 14, 15 and 16 below the numbers 9, 10, 11 in the second column. 
   A selector  54  is provided for selecting one (1) of the M data modulations in each data modulation sequence and a selector  56  is provided for selecting one (1) of the N different spreading codes in each spreading code sequence. The selections by the stages  54  and  56  are paired. In other words, the M data modulations indicated as 1, 2, 3 for a time m=0 are paired with the N spreading codes indicated at 4, 5, 6, 7, 8 for a time m=0. In like manner, the M data modulations indicated as 9, 10, 11 for a time m=1 are paired with the spreading codes indicated as 12, 13, 14, 15, 16 for the time m=1. The selections of the individual one of the M data modulations in each sequence and the individual one of the N spreading codes in each sequence may be made in accordance with instructions from the receiver. The selected one of the M data modulations in each sequence and the selected one of the N spreading codes in each sequence are combined as in a multiplier  58  and are introduced to a bus  60  for transmission to the receiver. 
   In the transmitter  40 ,
 
log 2 M=K m , where  (1)
         M=a constant; and   K m =a constant       

   In like manner,
 
Log 2 N=K n , where  (2)
         N=a constant; and   K n =a constant
 
Thus  K=K   m   +K   n , where  (3)
   K=a constant
 
K indicates the number of binary bits to be provided in the encoder  42  to indicate the number of different channels to be provided for the successive stages in the transmitter.
       

   In  FIG. 3 , b can be considered as the output from the channel encoder  42 . Successive signals representing data modulations can be represented as
 
 b   1 ( m )=[ b ( mk ),  b ( mk+ 1) . . . ( b ( mk+K   m −1)], where  (4)
         m=a symbol time index indicated successively as 0, 1, 2, etc.   b=the output from the channel encoder  42 ;   b 1 =the data modulations;
 
 b   2 ( m )=[ b ( mk+K   m ),  b ( mk+K   m +1) . . .  b ( mk+k− 1)], where  (5)
   b 2 =the spreading codes.       

   The system shown in  FIG. 3  has certain important advantages over the systems of the prior art and even over the systems shown in  FIGS. 1 and 2  of this application. The system is better able to provide a distinction at the receiver between the data transmitted directly from the transmitter  40  to the receiver and phase-shifted data which limits the ability of the receiver to detect the in-phase signals from the transmitter. The system of  FIG. 3  provides this distinction between the data transmitted directly to the receiver from the transmitter and the phase-shifted signals by providing M data modulations and N spreading codes. The system of  FIG. 3  is also advantageous over the systems of  FIGS. 1 and 2  because it is simpler than the systems shown in  FIGS. 1 and 2  in selecting, for combination, only an individual one of the M data modulations in each sequence and only an individual one of the N spreading codes in each sequence. The system of  FIG. 3  is also advantageous in that it simultaneously selects the individual one of the M data modulations in each sequence and the individual one of the N spreading codes in each sequence. 
   The modulated data from the transmitter is received at a preferred embodiment of a receiver generally indicated at  70  in  FIG. 4 . The receiver  70  may be of a correlator type and is shown primarily in block form. In a correlator type, the modulated data received at the receiver is introduced to a plurality of stages and is processed in a particular manner in each of these stages. The stage with the strongest signal is presumed to indicate the modulated data transmitted from the transmitter. It provides a correlation with the transmitted signal. This signal is then processed to recover the data in the modulated data transmitted to the receiver. A receiver of the correlator type is known in the art but not in the context or environment disclosed in this application and not with the combination of stages shown in  FIG. 4 . 
   The signals are received at the receiver  70  on a bus  72 . The signals on the bus  72  are introduced to multipliers  74   a ,  74   b  . . .  74   n . Each of the multipliers,  74   a ,  74   b  . . .  74   n  receives an individual one of a plurality of spreading code signals C 1 (t), C 2 (t) . . . C n (t) respectively on lines  75   a ,  75   b  . . .  75   n . The outputs of the multipliers  74   a ,  74   b  . . .  74   n  are respectively introduced to individual ones of a plurality of integrators  76   a ,  76   b  . . .  76   n . Each of the integrators  76   a ,  76   b  . . .  76   n  integrates the output of its associated multiplier from the time 0 to the time T. Thus, for example,
 
Z 1 =ÿ O   T Q 1 dt, where  (6)
         Q 1 =the input to the integrator  76   a ; and   Z 1 =the output from the integrator  76   a.  
 
In like manner,
 
Z n =ÿ O   T Q n dt, where
   where Qn=the input to the integrator  76   n ; and   Zn=the output of the integrator  76   n.          

   The output from each of the integrators  76   a ,  76   b  . . .  76   n  is partly real and partly imaginary. To convert the output of each of the integrators,  76   a ,  76   b  . . .  76   n  to an entirely real number, the absolute value of each of the outputs is squared. This is indicated at  78  in  FIG. 4 . For example, the squaring of the output from the integrator  76   a  may be indicated as ÿZ 1 ÿ 2  and the squaring of the output from the integrator  76   n  may be indicated as ÿZ n ÿ 2 . A comparison is then made in a comparator  80  of the magnitudes of the different outputs from the integrators after the different integrated outputs have been squared. The individual one of the integrators  76   a ,  76   b  . . .  76   n  introducing integrated output to the squaring stage  78  and providing the output with the largest magnitude in the stage  78  is then selected by a microprocessor  81  in a selector  22  on the basis of this comparison. The selected one of the integrators  76   a ,  76   b  . . .  76   n  is then de-spread as at  83  to recover the modulated data. The de-spread data is then demodulated as at  84  to recover the data. The data is then analyzed on the basis of the guide lines provided by the mapper  16  and the channel encoder  14  at the transmitter to determine the significance of the data. The despreader  83  and the demodulator  84  are known in the prior art but not in the combination shown in  FIG. 4  and not in the context or environment set forth in this application. 
     FIG. 5  illustrates another preferred embodiment, generally indicated at  85 , of a receiver. The receiver may be of a matched filter type and is shown primarily in block form. Since the receiver  85  receives from the transmitter information concerning various parameters such as individual ones of the M data modulations and individual ones of the N spreading codes, the receiver may include a plurality of filters each having characteristics matching the characteristics of a combination of an individual one of the M data modulations and an individual one of the N spreading codes. The plurality of matched filters are indicated at  86   a ,  86   b  . . .  86   n  in  FIG. 5  and are shown as receiving through a bus  88  the signals from the transmitter. 
   Each of the filters  86   a ,  86  . . .  86   n  also receives a signal corresponding to the output capable of being provided by an individual one of the combinations of an individual one of the M data modulations and an individual one of the N spreading codes. As previously indicated, the receiver  85  knows the M data modulations and the N spreading codes since the receiver instructs the transmitter to use these data modulations and spreading codes. Because of this, each of the filters  86   a ,  86   b  . . .  86   n  is able to match the characteristics of an individual one of the transmitted signals. 
   For example, the matched filter  86   a  receives signals on a line  90   a . One of these signals corresponds to a combination of b(mk) and b(mk+km). The filter  86   a  passes the signal constituting the combination of b(mk) and b(mk+km) because of the matching characteristics of the filter with the signal provided on the line  90   a . Similarly, the matched filter  86   b  receives signals on a line  90   b . One of the signals may correspond to a combination of b(mk+1) and b(mk+km+1). When the signal received from the transmitter constitutes a combination of b(mk+1) and b(mk+km+1), the filter  86   b  passes the signal because of the matching characteristics of this filter with the signal provided on the line  90   b . The magnitudes of the signals passing through the matched filters  86   a ,  86   b  . . .  86   n  are compared in a comparator  88 . A microprocessor  90  receives the signals from the comparator  88  and selects in a stage  92  the signals with the greatest magnitude from the matched filters  86   a ,  86   b  . . .  86   n . The signal passing through the selected one of the matched filters  86   a  . . .  86   n  at each instant is despread in a despreader  94  and demodulated in a demodulator  96  in a manner similar to that described for the embodiment shown in  FIG. 4 . 
     FIG. 6  shows a transmitter, generally indicated at  100 , in a schematic block form. The transmitter  100  is included in a preferred embodiment of the invention. The transmitter  100  can include features of the transmitter shown in any one of  FIGS. 1–3  and described above. The data bits are introduced through a bus  102  to an encoder  104  for encoding channels. For example, the channel encoder may provide an encoding for K channels in accordance with equation (3) set forth above. The encoder  104  may be a convolutional or turbo type of encoder. Instructions on a line  105  from the receiver shown in  FIG. 7  determine the encoding of the channels. A channel encoder corresponding to the channel encoder  104  is known in the prior art but not in the combination shown in  FIG. 6  and not for the purposes set forth in this application. 
   The output from the channel encoder  104  passes to a puncturer  106 . A puncturer corresponding to the puncturer  106  is known in the prior art but not for purposes set forth in this application and not in the combination shown in  FIG. 6 . The puncturer  106  deletes some of the output from the channel encoder  104  to provide for the transmission of data at an efficient and effective code rate. When the code rate of the encoder  104  is R c =k/n and 1 coded bits are punctured out of each (n) (P) coded bits, the effective code rate is R c =(KP) (nP−1). The puncturing may be provided at the transmitter in accordance with instructions from the receiver. The instructions may be provided through a bus  108 . In the above equation, K is derived from equation (3). 
   After puncturing, the coded bits are interleaved as at  110 . Interleaving is known in the prior art. The interleaved bits are then mapped into an individual one of the modulation symbols in the selected modulation scheme. This may be provided in accordance with the system shown in  FIG. 3  and described above. In mapping the interleaved output bits, Gray labeling may be used. The interleaved data is then modulated as at  114 . The data modulations may be provided in accordance with instructions from the receiver. The data modulations may be provided through the bus  108 . 
   The data modulation may consist of M subsets which are orthogonal to one another and each subset may have V original points. The modulation may be selected from a number of different modes including QPSK, QAM and SQAM. The selection of the puncturing and modulation schemes is based upon the channel condition information fed back by the receiver and other sources (for example, other base stations in the cellular radio system). Each modulation symbol may be produced at a rate R S  with a period of T S =1/R s . Each modulation may be spread by a spreader  116  such as the spreader shown in  FIG. 3  and described above. The spreading may be by an orthogonal sequence of a length N C . The spreading code may be provided through a bus  118 . The output from the spreader  116  is provided on a bus  120 . 
   Each modulation symbol may be spread by an orthogonal sequence of a length N C . The chip rate Rchip has a fixed value (Nc)(Ks) to provide the transmitted signal with a substantially constant bandwidth. The maximum length of the spreading sequence may be denoted as Nc, max. Thus, the data rate RD is
 
 Rb =( Rce )log 2 ( LM )( R chip)/ NC 
 
 Rb =( Rcc )log 2 ( VM )  R chip/ Nc )
 
The determination of the spread factor (Nc) of the spread code is based upon the delay spread observed at the receiver. (Nc) is chosen to be sufficiently large to avoid inter-symbol interference (ISI) caused by the delay spread of the multipath fading channel. As previously described, multipath fading channels occur when the data transmitted from the transmitter to the receiver also reaches the receiver through paths other than directly from the transmitter to the receiver. These indirect paths can produce inter-symbol interference (ISI) and can cause fading of the data transmitted directly from the transmitter to the receiver.
 
   Although the individual ones of the stages shown in  FIG. 6  are known in the prior art, the combination of the stages shown in  FIG. 6  is not believed to be known in the prior art. Furthermore, the combination of stages shown in  FIG. 3  and described above is not believed to be known in the prior art. This is particularly true when the combination of stages shown in Figure is used as the modulator  114  and the spreader  116  in  FIG. 6 . The combination of stages shown in  FIGS. 1 and 2  can also be used as the modulator  114  and the spreader  116  in  FIG. 6 . In addition, although the puncturer  106  and the interleaver  108  provide advantages in the construction and operation of the transmitter  100  shown in  FIG. 6 , they can be removed from the transmitter without departing from the scope of the invention. 
     FIG. 7  is a schematic block diagram of a receiver, generally indicated at  120 , which can be used with the transmitter  100  shown in  FIG. 6 . The signals received by the receiver  120  are introduced to a bus  122  which is connected to a despreader  124 . The construction of a despreader such as the despreader  124  is known in the prior art but not in the combination as shown in  FIG. 7  and not for the purposes set forth in this application The despreader  124  eliminates the effects of the spread codes introduced to the modulated data at the transmitter such as the spreader  116  in  FIG. 6 . The despreader  124  may operate in accordance with the instructions introduced from the receiver to the spreader  116  in  FIG. 6 . 
   The signals on the bus  122  are also introduced to a channel estimator  126  which estimates the characteristics of the channel in which the signals have been transmitted to the receiver. For example, the channel estimator  126  may operate in accordance with the value K, the number of channels specified in accordance with equation (3) specified above. The signals from the channel estimator  126  pass to lines  128  and  130 . The line  128  provides the index for the spreading provided by the spreader  116  in  FIG. 6 . The line  130  provides the index for the data modulations provided by the data modulator  114  in  FIG. 6 . 
   After the received signals have been despread by the despreader  124 , the modulations in the data are then removed in a demodulator  132 . The demodulator  132  eliminates the modulations in the data in accordance with the instructions introduced from the receiver to the data modulator  114  in  FIG. 6 . The demodulated data may then be introduced to a metric computer  134  which processes the data into a metric form and introduces the processed data to a deinterleaver  136 . 
   The deinterleaver  136  restores the data to the form in which it existed before it was introduced to the puncturer  106  in  FIG. 6 . A stage  138  designated as erasure inserter in  FIG. 7  restores the data to the form in which it existed before it was introduced to the puncturer  106  in  FIG. 6 . A decoder  140  in  FIG. 7  restores the data to the form in which it was introduced to the channel encoder  104  in  FIG. 6 . 
   Individual ones of the despreader  124 , the demodulator  132 , the metric computer  134 , the deinterleaver  136 , the erasure insertion stage  138  and the decoder  140  are known in the prior art but the combination shown in  FIG. 7  is not believed to be known in the prior art. Furthermore, the combination is not known in the prior art for the purposes set forth in this application When the puncturer  106  and/or the interleaver  108  are not included in the transmitter shown in  FIG. 6 , the deinterleaver  136  and/or the erasure insertion stage  138  will not be included in the receiver shown in  FIG. 7 . 
   Assume that a block or packet of data spans a time duration of T B  and that the block or packet of data is transmitted by the transmitter  100  to the receiver  120  at successive instants of time. Assume also that the time interval between consecutive transmitted blocks or packets is T FD . The time interval T FD  may correspond to the delay in the feedback from the receiver  120  to the transmitter  100  of information relating to the channel conditions. As previously indicated, the signal received by the receiver  120  from the transmitter  100  are processed to decode the transmitted data bits and recover the transmitted data. The received signal is also used to estimate the local average of the channel conditions. The term “local average” is intended to mean that averaging is provided over the time span of T B , the duration of a block or packet of data. 
   The relative speed between the movements of the transmitter  100  and the receiver  120  helps to determine the dynamics of the channel conditions. At a low speed of relative movements between the transmitter  100  and the receiver  120 , the channel condition can be almost constant over a time duration of T B  or even over a multiple number of time durations of T B . At a high speed of relative movements between the transmitter  100  and the receiver  120 , the channel condition can fluctuate many times over a wide range of values over the same time period of T B  or a multiple number of time durations of T B . 
   The characteristics of the time-varying multipath fading channels include the local average of signal-to-noise ratio (SNR), where noise represents all of the components other than the desired signal, delay spread and variability of the desired signal amplitude level among other things. The amount of the delay spread determines the level of inter-symbol interference (ISI) and cross interference between the transmitted orthogonal signal components. In the preferred embodiments of this invention, increasing the spreading factor can reduce the level of the inter-symbol interference (ISI). Furthermore, it also enhances the capability of suppressing interference of the transmitted spread spectrum signal and helps to maintain the orthogonality between the transmitted signals. It also has an effect of lengthening the duration of the modulation symbols. Spreading factor can be defined as the ratio between the chip rate of the spreading codes and the rate of the data modulations. 
   Thus, depending upon the level of the delay spread observed in the spreading codes, the spreading factor is selected to provide sufficient protection against the inter-symbol interference (ISI) and against the cross interference. This will simplify the processing complexity of the receiver signal by avoiding equalization or other techniques of interference suppression. Assuming that the spreading factor selected is sufficiently large to suppress the delay spread efforts of the multipath fading channel, the channel characteristic observed at the receiver  120  after despreading can be modeled by a flat fading channel. The performance at the receiver will accordingly depend upon the local average signal-to-noise ratio (SNR) and the variance of the desired signal level. The optimal combination of code rate (or puncturing) and the scheme of the data modulations is determined based upon the two (2) aspects of the channel characteristics. 
   This invention provides for a combination of a channel code rate, data modulation and spreading code. This combination is provided to enhance the spectral efficiency achievable even with the deteriorations resulting from multipath fading channels. A set of orthogonal spreading sequences may be used for spreading, and a determination of the spreading factor (or processing gain) is made based upon the channel impulse response to provide sufficient protection against the channel effects, such as delay spread, of multipath fading. 
   Different channel code rates may be obtained by puncturing simple basic convolutional or turbo code so that a single decoder can be used for different combinations of code rate and data modulation. After selecting the spreading factor, channel code rate and data modulation are determined based on local average channel conditions instead of instantaneous channel conditions. Then the number of orthogonal spreading sequences is determined based on the user&#39;s data rate specification. 
   By selecting spreading factor, code rate and data modulation, targeted data rate can be achieved by using a minimal amount of radio resources under time-varying channel conditions. In adapting spreading factor, code rate and data modulation, it is important to realize that feedback delay in having the receiver inform the transmitter of channel conditions will be unavoidable. Because of this, it is important to realize that adaption by the system shown in  FIGS. 6 and 7  should be based upon local average channel conditions. This provides for a successful adaptation by the system shown in  FIGS. 6 and 7 . It should also be appreciated that the system should also be based upon local average channel conditions when the transmitter  100  shown in  FIG. 6  is adapted to incorporate any of the systems shown in  FIGS. 1–3  and/or when the receiver  120  shown in  FIG. 2  is adapted to incorporate either of the systems shown in  FIGS. 4 and 5 . 
   Solely relying on either one of the two (2) techniques of data modulation and spreading code to provide communication services at high data rates will cause the system to be inefficient or make the modem implementation inordinately complicated. By combining channel encoding, direct sequence spreading and adaptive coded modulation, high data rate wireless communication services can be provided reliably and efficiently. 
   Although this invention has been disclosed and illustrated with reference to particular embodiments, the principles involved are susceptible for use in numerous other embodiments which will be apparent to persons of ordinary skill in the art. The invention is, therefore, to be limited only as indicated by the scope of the appended claims.