Method and apparatus for transmitting and receiving high speed data using code division multiple access channels

Abstract: The present invention describes a spread spectrum communication system wherein the frequency of carriers and the code channels of the carriers or both for transmission to a given remote station user vary in time. This provides for a direct sequence spectrum communications system which changes frequency or code channel according to a predetermined pattern. The code channels and frequencies can be determined in accordance with a deterministic function or based upon a subset of the data to be transmitted. A receiver structure is also described for receiving the same.

Description: I. Field of the Invention The present invention relates to communications. More particularly, the present invention relates to a novel and improved communication system wherein the user transmits data using code division multiple access communication channels which are transmitted in varying frequency bands and varying code channels. II. Description of the Related Art The present invention is concerned with transmitting data at rates which are higher than the capacity of a single code division multiple access (CDMA) channel. Many solutions to this problem have been proposed. One such solution is to allocate multiple CDMA code channels to the users and allow those users to transmit data in parallel on the plurality of code channels available to them. Two methods for providing multiple CDMA channels for use by a single user are described in copending U.S. Patent Application Serial No. 08/431,180, entitled "METHOD AND APPARATUS FOR PROVIDING VARIABLE RATE DATA IN A COMMUNICATIONS SYSTEM USING STATISTICAL MULTIPLEXING", filed April 28, 1997 and U.S. Patent Application Serial No. 08/838,240, entitled "METHOD AND APPARATUS FOR PROVIDING VARIABLE RATE DATA IN A COMMUNICATIONS SYSTEM USING NON-ORTHOGONAL OVERFLOW CHANNELS", filed April 16, 1997, both of which are assigned to the assignee of the present invention. In addition, frequency diversity can be obtained by transmitting data over multiple spread spectrum channels that are separated from one another in frequency. A method and apparatus for redundantly transmitting data over multiple CDMA channels is described in U.S. Patent No. 5,166,951, entitled "HIGH CAPACITY SPREAD SPECTRUM CHANNEL". CDMA modulation provides one means for establishing communication between users in a large system which includes a number of such users. Other techniques, such as time division multiple access (TDMA), frequency division multiple access (FDMA) and AM modulation schemes (such as amplitude companded single sideband (ACSSB)) are known in the art. However, the spread spectrum modulation technique of CDMA has significant advantages over these modulation techniques for multiple access communication systems. The use of CDMA techniques in a multiple access communication system is disclosed in U.S. Patent No. 4,901,307, entitled "SPREAD SPECTRUM MULTIPLE ACCESS COMMUNICATION SYSTEM USING SATELLITE OR TERRESTRIAL REPEATERS", assigned to the assignee of the present invention. The use of CDMA techniques in a multiple access communication system is further disclosed in U.S. Patent No. 5,103,459, entitled "SYSTEM AND METHOD FOR GENERATING SIGNAL WAVEFORMS IN A CDMA CELLULAR TELEPHONE SYSTEM", assigned to the assignee of the present invention. CDMA by its inherent nature of being a wideband signal offers a form of frequency diversity by spreading the signal energy over a wide bandwidth. Therefore, frequency selective fading affects only a small part of the CDMA signal bandwidth. Space or path diversity is obtained by providing multiple signal paths through simultaneous links from a mobile user through two or more cell-sites. Furthermore, path diversity may be obtained by exploiting the multipath environment through spread spectrum processing by allowing a signal arriving with different propagation delays to be received and processed separately. Examples of the utilization of path diversity are illustrated in copending U.S. Patent No. 5,101,501 entitled "SOFT HANDOFF IN A CDMA CELLULAR TELEPHONE SYSTEM", and U.S. Patent No. 5,109,390 entitled "DIVERSITY RECEIVER IN A CDMA CELLULAR TELEPHONE SYSTEM", both assigned to the assignee of the present invention. US 5 341 396 discloses a multi-rate spread spectrum system. SUMMARY OF THE INVENTION In accordance with the present invention, data is encoded, spread and provided to an upconverter which is driven by a variable frequency synthesizer which generates a signal having a frequency determined in accordance with a deterministic pseudorandom sequence. Three examples of a receiver are presented for receiving the data transmitted. In a first receiver example, the received data is passed to a bank of down converters driven by local oscillators, each of which is tuned to a different frequency. The downconverted data is provided to a switch which selects one of the downconverted data streams in accordance with a delayed version of the deterministic sequence used to select the upconversion frequency. In a second receiver example, the received data is provided to a downconverter that downconverts the signal using the output of a variable frequency synthesizer which selects its output frequency in accordance with a delayed version of the deterministic sequence used to select the upconversion frequency. In a third receiver example, the received data is provided to a bank of down converters, each of which downconverts the signal in accordance with a different center frequency. The downconverted signals are, then, despread and decoded. A control processor then selects which of the received signals to output based on values (commonly referred to as "quality metrics") calculated to determine the quality of a received frame of data, such as: (1) the results of a cyclic redundancy check, (2) the symbol error rate, and (3) trellis metrics, such as the Yamamoto metric. In a further development of the transmitter of the present invention, a subset of the information bits to be transmitted are used to select the center frequency of the spread spectrum signal. In one example, the data is packetized, encoded and spread. The spread data is provided to an upconverter that upconverts the data in accordance with a signal generated by a variable frequency synthesizer that selects its output frequency based on a subset of the information bits to be transmitted. At the receiver, the received data is provided to a bank of down converters each of which downconverts the signal in accordance with a different center frequency. The down converted signals are despread and decoded. A control processor then selects which of the received signals to output based on frame quality metrics, such as: (1) the results of a cyclic redundancy check, (2) the symbol error rate, and (3) trellis metrics, such as the Yamamoto metric. The decoded data, as well as a data corresponding to the frequency on which the data was received, is demultiplexed into an output data stream. In a further development of the transmitter of the present invention, each transmitter is given a plurality of code channels upon which it can transmit data. The transmitter selects the code channel upon which to transmit the data in accordance with a subset of the information data to be transmitted. At the receiver, the received data is provided to a bank of code channel dechannelizers. Each of the despread signals is provided to a decoder. The decoded data is provided to a control processor which selects data to output and demultiplexes that data with the bits corresponding to the code channel upon which the data was received. In an even further development of the present invention, a subset of the information bits to be transmitted is used to select both the upconversion frequency of the spread spectrum signal and the code channel upon which the signal is to be transmitted. At the receiver, the received data is provided to a bank of downconverters, each of which downconverts the signal in accordance with a different center frequency. Each of the down converted signals is in turn provided to a bank of code channel dechannelizers. Each of the despread signals is provided to a decoder. The decoded data is provided to a control processor which selects the decoded data to output and demultiplexes that data with the data corresponding to the code channel upon which the data was received and to the frequency channel upon which the data was received. BRIEF DESCRIPTION OF THE DRAWINGS The features, objects, and advantages of the present invention will become more apparent from the detailed description set forth below when taken in conjunction with the drawings in which like reference characters identify correspondingly throughout and wherein: FIG. 1 is a diagram illustrating an example in which the CDMA channel is frequency hopped based on a deterministic signal using a bank of down converters; FIG. 2a is a diagram illustrating an example in which the CDMA channel is frequency hopped based on a deterministic signal using a variable frequency synthesizer; FIG. 2b is a simplified block diagram of a DDS in accordance with the present invention; FIG. 3 is a diagram illustrating a receiver system which is capable of receiving data transmitted on CDMA channels with center frequencies selected based on a deterministic selection using a bank of local oscillators; FIG. 4 is diagram illustrating a receiver system which is capable of receiving data transmitted on CDMA channels with center frequencies selected based on a deterministic selection using variable frequency synthesizer; FIG. 5 is diagram illustrating a receiver system which is capable of receiving data transmitted on CDMA channels with center frequencies selected based on a deterministic selection wherein the signal is down converted at each possible center frequency and then one is selected based on the quality metrics of the frame; FIG. 6 is a diagram illustrating an example wherein the CDMA channel is frequency hopped based on a subset of the information bits to be transmitted using a bank of up converters; FIG. 7 is a diagram illustrating an exemplary implementation of a further development wherein the CDMA channel is frequency hopped based on a subset of the information bits to be transmitted using a variable frequency synthesizer; FIG. 8 is a diagram illustrating an exemplary implementation of a further development wherein the CDMA code channel is selected based on a subset of the information bits to be transmitted using a bank of code channel channelizers; FIG. 9 is a diagram illustrating an exemplary implementation of a further development wherein the CDMA code channel is selected based on a subset of the information bits to be transmitted using a code symbol generator; FIG. 10 is diagram illustrating the third implementation of a receiver system capable of receiving data transmitted on a plurality of CDMA code channels wherein the signal is despread with each possible code sequence and then one is selected based on the quality metrics of the frame; FIG. 11 is a diagram illustrating an exemplary implementation of the invention wherein the CDMA code channel and the center frequency are selected based on a subset of the information bits to be transmitted using a code symbol generator; and FIG. 12 is diagram illustrating the third implementation of a receiver system capable of receiving data transmitted on a plurality of CDMA code channels and frequencies wherein the signal is despread with each possible code sequence and down converted with each possible frequency and then one is selected based on the quality metrics of the frame. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1 illustrates an example, wherein the CDMA channels change frequency in accordance with a deterministic signal. The information data to be transmitted is provided to Cyclic Redundancy Check (CRC) generator 2 . CRC generator 2 generates and appends a set of bits that can be used to check the correctness of the decoded data at the receiver. The information data, together with the appended set of bits from CRC generator 2 , is provided to encoder 4 . In one embodiment, encoder 4 is a convolutional encoder, though the present invention is equally applicable to any error correction encoder. Convolutional encoders are well known in the art. In one embodiment, the convolutional encoder also includes an interleaver. Interleavers are also well known in the art. The encoded symbols are then provided to channelizer 6 which spreads the encoded symbols in accordance with a spreading sequence provided by sequence generator 8 . In the one embodiment, sequence generator 8 is a Walsh symbol generator that provides sequences of symbols in accordance with orthogonal Walsh sequences. This is used to separate the channels in a CDMA system. The Walsh sequence data is provided to scrambling means 10 which scrambles the data in accordance with a pseudorandom sequence provided by PN generator 12 . Channelizers and sequence generators are well known in the art and are described in detail in the aforementioned U.S. Patent No. 5,103,459. It should be noted that many other combinations of channelizer and scrambler are also possible as long as the result is to channelize the various users. The example shown distinguishes channels from one another by orthogonal Walsh encoding followed by a scrambler. However, other orthogonal sequences can also be used to provide channelization. Furthermore, the channelization does not have to be performed by a set of orthogonal sequences. For example, a single stage channelizer where each user is assigned a different PN code could be used. The scrambled data is provided to a bank of mixers 14a-14n . Each mixer is driven by a corresponding local oscillator 16a-16n . The upconverted data from each of mixers 14a-14n is provided to switch 18 . The local oscillator frequencies are equally separated in frequency, so that the frequency of the n th LO is f 0 + NΔ lo . The local oscillator frequencies are separated by the chip rate of the PN generator or by some multiple thereof so that Δ lo is the chip rate or some multiple of the chip rate. Switch 18 selects which one of the upconverted signals is to provide to coupled to transmitter (TMTR) 20 . The upconverted signal that is provided to transmitter 20 is selected in accordance with a signal provided by control processor 22 . In the illustrated example, control processor 22 generates the selection signal based on a pseudorandom process. The pseudorandom process can be generated using any one of many methods which are well know in the art for generating such sequences. For example, the peudorandom sequence can be generated by a linear or non-linear feedback shift register. It may also be generated by a cryptographic keystream generator. Any of these techniques can use an identity of the mobile station, such as the electronic serial number (ESN), a public key, or a secret key. These techniques are well known in the art. Alternatively, the selection signal can be a sequential selection of the first, then second up to the n-th upconverted signal. In another alternative example, the selected frequency may be based upon channel conditions. The receiving system may measure the performance of each channel and then feed the preferred frequency back to the transmitter for use. This may be done by monitoring a signal which is continuously transmitted, such as a pilot. The selected signal is provided to transmitter 20 which filters and amplifies the signal and provides it for transmission through antenna 24 . It should be understood that, at least one other signal similarly generated will be multiplexed together. Preferably, the number of such similarly generated signals will be equal to the number of mixer 14 and local oscillator 16 combinations. For example, in the case of the example illustrated in Fig. 1, three such signals will be multiplexed and transmitted through transmitter 20. Accordingly, data from three different sources (and coupled to the transmitter from three different switches 20 , only one of which is shown) will be multiplexed together before transmission by the transmitter 20 . Each switch 18 selects a mixer 14 that is coupled to a local oscillator 16 that is operating at a different frequency from the frequency of each of the other local oscillators 16 generating the signals that are being concurrently selected by each other switch 18 . FIG. 2a illustrates an alternative implementation wherein the bank of upconverters is replaced with a variable frequency synthesizer. The information data to be transmitted is provided to Cyclic Redundancy Check (CRC) generator 50 . CRC generator 50 generates and appends a set of bits that can be used to check the correctness of the decoded data at the receiver. The bits from CRC generator 50 are provided to encoder 52 . In one embodiment, encoder 52 is a convolutional encoder. The encoded symbols are then provided to channelizer 54 which channelizes the encoded symbols in accordance with a code sequence provided by sequence generator 56 . In one example, sequence generator 56 is a Walsh symbol generator that provides sequences of code symbols in accordance with orthogonal Walsh sequences. The Walsh sequence data is provided to scrambling means 58 which scrambles the data in accordance with a pseudorandom sequence provided by PN generator 60. Channelizers and sequence generators are well known in the art and are described in detail in the aforementioned U.S. Patent No. 5,103,459. The scrambled data is provided to mixer 62 . Mixer 62 is driven by variable frequency synthesizer 64. Variable frequency synthesizer 64 outputs a driving frequency to mixer 62 in accordance with a signal provided by control processor 70 . Control processor 70 generates the frequency selection signal based on a pseudorandom process. The selection signal can be a sequential selection of the first, then second up to the n-th upconverted signal. The upconverted signal is provided to transmitter 20 which filters and amplifies the signal and provides it for transmission through antenna 24 . Accordingly, when frequency synthesizer 64 generates three frequencies, a signal generated will have a first frequency for a first period of time, a second frequency for a second period of time, and a third frequency for a third period of time. This sequence will repeat, such that the frequency of the signal generated will alternate between the three frequencies over time. In order to ease the burden on the receiver, a phase relationship is maintained between the signal generated by the variable frequency synthesizer having a first frequency at a first period in time and the signal generated by the variable frequency synthesizer having that first frequency, but at each later time. In accordance with the present invention, the relationship between the phase of the signal over time is established by using a direct digital synthesizer (DDS) as follows. Fig. 2b is a simplified block diagram of a DDS in accordance with one embodiment of the present invention. The DDS shown in Fig. 2b comprises summing circuit 201 , phase register 203 , look-up table 205 , and analog to digital converter (A/D) 207 . A phase increment signal is applied to a first input to summing circuit 201 . The output from the phase register 203 is applied to a second input to the summing circuit 201 . The output from the summing circuit is stored in the phase register 203 . A register clock is applied to the phase register to shift the value at the input of the register 203 to the output. Therefore, after each cycle of the register clock, the output from the summing circuit is incremented by the value of the phase increment. The output from phase register 203 is applied to look-up table 205. Look-up table 205 converts the value output from phase register 203 from a number representing the relative phase of the output signal to a value that represents the amplitude of a sinusoidal signal at that point in the cycle that corresponds with the phase value. It should be clear that the faster the register clock runs, the higher the frequency of the output signal. Likewise, the larger the phase increments, the higher the frequency. Therefore, either the phase increment or the register clock can be used to determine the frequency that will be generated. The A/D converter 207 converts the value output from look-up table 207 into a corresponding analog voltage level. In accordance with the present invention, memory device 209 is coupled to the output from phase register 203 . Prior to the synthesizer changing frequencies, the value of the phase register 203 is stored in memory 209 . When the frequency is again generated at a later time, the value stored in memory 209 is coupled to offset processor 211 . Offset processor 211 adjusts the value to account for the amount of time that has elapsed since that frequency was last generated. That is, offset processor 211 determines the number of cycles of the phase clock that would have occurred during the period that has elapsed from the time that frequency was last generated. This number is multiplied by the value of the phase increment. The product of this multiplication is added to the value stored in memory 209. The resulting sum is then restored into the phase register 203. FIG. 3 illustrates a first implementation of a receiver designed to receive spread spectrum data which changes frequency in accordance with the transmission systems of FIGS. 1 and 2. Referring to FIG. 3, the transmitted signal is received by antenna 100 and provided to receiver (RCVR) 102 . Receiver 102 filters and amplifies the signal and provides the received signal to a bank of down converters 104a-104n . Each downconverter 104a-104n is driven by a corresponding local oscillator 106a-106n . Switch 108 selects the signal to provide to dechannelizer 110 in accordance with a selection signal provided by control processor 114 which is a time delayed version of selection signal provided by control processors 22 and 70. The down converted signals are provided to switch 108 . Switch 108 selectively provides one of the down converted signals to descrambler 110 . Descrambler 110 unscrambles the downconverted signal in accordance with a pseudorandom sequence provided by PN generator 112 . The descrambled sequence is provided to dechannelizer 116 which dechannelizes the signal in accordance with sequence provided by sequence generator 118 . In an example, sequence generator 118 is an orthogonal Walsh sequence generator. Data is provided to decoder 120 which decodes the data based on the type of encoder used by the transmission system. The encoder is a convolutional encoder and decoder 120 is a trellis decoder. The decoded data is provided to CRC check element 122 which tests to determine whether the decoded check bits correspond to the decoded information bits. If they do, then the data is provided to the user, otherwise an erasure is declared. FIG. 4 illustrates a second example of a receiver designed to receive spread spectrum data which is changes frequency in accordance with the transmission systems of FIGS. 1 and 2. Referring to FIG. 4, the transmitted signal is received by antenna 150 and provided to receiver (RCVR) 152 . Receiver 152 filters and amplifies the signal and provides the received signal to down converter 154 . Downconverter 154 is driven by variable frequency synthesizer 156. Variable frequency synthesizer 156 outputs a frequency in accordance with a selection signal provided by control processor 164 . In accordance with the present invention, variable frequency synthesizer 156 is a DDS similar to the DDS that is shown in Fig. 2b. The DDS performs the same store and restore function that was described above with respect to the transmitter in order to ensure that the transmit and receive signals will remain in phase synchronization. That is, the value that is held in phase register 203 is stored in memory 209 each time the frequency is about to change. The value of stored in memory 209 is then offset and restored into phase register 203 when the frequency of the DDS returns to that frequency. In this way, the receiver remains sychronized to the transmitter as the frequency alternates between the different frequencies that are to be generated by the DDS. The downconverted signal is provided to descrambler 160 . Descrambler 160 unscrambles the downconverted signal in accordance with a pseudorandom sequence provided by PN generator 162 . The descrambled sequence is provided to dechannelizer 166 which dechannelizes the signal in accordance with the sequence provided by sequence generator 168 . In one example, sequence generator 168 is an orthogonal Walsh sequence generator. The data output from dechannelizer 166 is provided to decoder 170 which decodes the data based on the type of encoder used by the transmission system. In one example, the encoder is a convolutional encoder and decoder 170 is a trellis decoder. The decoded data is provided to CRC check element 172 which tests to determine whether the decoded check bits correspond to the decoded information bits. If they do the data is provided to the user, otherwise an erasure is declared. Referring to FIG. 5, the transmitted signal is received by antenna 200 and provided to receiver (RCVR) 202 . Receiver 202 filters and amplifies the signal and provides the received signal to a bank of downconverters 204a-204n . Each downconverter 204a-204n is driven by a corresponding local oscillator 206a-206n . Each downconverted signal is provided to a corresponding descrambler 210a-210n . Descramblers 210a-210n unscramble the down-converted signal in accordance with a pseudorandom sequence provided by a corresponding PN generator 212a-212n . The descrambled sequences are provided to dechannelizers 216a-216n which dechannelizes the signal in accordance with sequence provided by a corresponding sequence generator 218a-218n . Sequence generators 218a-218n are orthogonal Walsh sequence generators. The despread data is provided to decoders 220a-220n which decode the data based on the type of encoder used by the transmission system. The encoder is a convolutional encoder and decoders 220a-220n are trellis decoders. The decoded data is provided to CRC check element 222a which determines whether the decoded check bits correspond to the decoded information bits. A set of values (commonly referred to as "quality metrics"), calculated to determine the quality of a received frame of data, is provided to control processor 224 for each decoded stream of data. Control processor 224 outputs to the user the frame having the best quality as determined by the values of the quality metrics. If all of the decoded frames are of inadequate quality as determined by the values of the quality metrics, then an erasure is declared. Examples of quality metrics which can be used by control processor 224 to select the frame include: (1) accumulated branch metrics from trellis decoders 220 , (2) symbol error rate (SER), and (3) CRC check results. FIG. 6 illustrates an alternative example, wherein the CDMA channels change frequency in accordance with a subset of the information bits to be transmitted. The information data to be transmitted is provided to multiplexer (MUX) 250 , which provides a subset of bits for selecting the center frequency on a first output and the remaining bits to be transmitted to a second output. In one example, the information bits are used to select the frequency for transmission. However, the packetized bits from CRC generator 252 or the encoded symbols from convolutional encoder 254 can be used to select the upconversion frequency. The subset of information bits used to select the upconversion frequency are provided to control processor 266. In accordance with the subset of information bits, control processor 266 generates a command signal to switch 264 . In order to provide randomization of the transmitted frequency, one would scramble the subset of information bits provided to control processor 266 . Such scrambling provides makes the transmitted frequency random. In a preferred example, a subset of the bits from PN generator 262 is used to scramble the bits supplied to control processor 266. The remaining information bits to be transmitted are provided to CRC generator 252 , which generates and appends a set of bits that can be used to check whether the decoded data was received correctly at the receiver. The bits from CRC generator 252 are provided to encoder 254 . In one example, encoder 254 is a convolutional encoder, though the present invention is equally applicable to any error correction encoder. Convolutional encoders are well known in the art. The encoded symbols are then provided to channelizer 256 which channelizes the encoded symbols in accordance with a sequence provided by sequence generator 258 . In one example, sequence generator 258 is a Walsh symbol generator that provides sequences of symbols in accordance with orthogonal Walsh sequences. The Walsh sequence data is provided to scrambling means 260 which scrambles the data in accordance with a pseudorandom sequence provided by PN generator 262 . Such channelizers and sequence generators are well known in the art and are described in detail in the aforementioned U.S. Patent No. 5,103,459. The scrambled data is provided to a bank of mixers 268a-268n . Each mixer 268a-268n is driven by a corresponding local oscillator 270a-270n . The upconverted data from each mixer 268a-268n is provided to switch 264 . Switch 264 selects one of the upconverted signals to provide to transmitter (TMTR) 274 . The upconverted signal that is provided to transmitter 274 is selected in accordance with the selection signal provided by control processor 264 . FIG. 7 illustrates an alternative implementation wherein the CDMA channels are frequency hopped in accordance with a subset of the information bits to be transmitted. The information data to be transmitted is provided to multiplexer (MUX) 300, which provides the a subset of bits for selecting the center frequency on a first output and the remaining bits to be transmitted to a second output. In one example, the information bits are used to select the frequency for transmission. However, the packetized bits from CRC generator 302 or the encoded symbols from convolutional encoder 304 can be used to select the upconversion frequency. The subset of information bits used to select the upconversion frequency are provided to control processor 316 . In accordance with the subset of information bits, control processor 316 generates and provides a signal to variable frequency synthesizer 320 . In accordance with one embodiment of the present invention, the synthesizer 320 is a DDS having a memory for storing phase values when the frequency changes, as described above and illustrated in Fig. 2b. The remaining information bits to be transmitted are provided to Cyclic Redundancy Check (CRC) generator 302 . CRC generator 302 generates and appends a set of bits that can be used to check the correctness of the decoded data at the receiver. The bits from CRC generator 302 are provided to encoder 304 . In one example, encoder 304 is a convolutional encoder. The encoded symbols are then provided to channelizer 306 which channelizes the encoded symbols in accordance with a sequence provided by sequence generator 308 . In one example, sequence generator 308 is a Walsh symbol generator that provides sequences of symbols in accordance with orthogonal Walsh sequences. The Walsh sequence data is provided to scrambling means 310 which scrambles the data in accordance with a pseudorandom sequence provided by PN generator 312 . Channelizersand sequence generators are well known in the art and are described in detail in the aforementioned U.S. Patent No. 5,103,459. The scrambled data is provided to mixer 318 . Mixer 318 is driven by variable frequency synthesizer 320 . Variable frequency synthesizer 320 outputs a driving frequency to mixer 318 in accordance with a signal provided by control processor 316 . In one embodiment, control processor 316 generates the frequency selection signal based on a subset of the information bits. The upconverted signal is provided to transmitter 324 which filters and amplifies the signal and provides it for transmission through antenna 326 . FIG. 8 illustrates an example wherein the CDMA channels change code channels in accordance with a subset of the information bits to be transmitted. It should be noted that the example illustrated in FIG. 8 is equally applicable to the case wherein the code channel is selected in accordance with a pseudorandom function analogous to examples such as those illustrated in Figs. 1 and 2, wherein the frequency is selected based on a pseudorandom code. The information data to be transmitted is provided to multiplexer (MUX) 350 , which provides a subset of bits for selecting the code channel on a first output and the remaining bits to be transmitted to a second output. In one example, the information bits are used to select the code channel for transmission. However, the packetized bits from CRC generator 352 or the encoded symbols from convolutional encoder 354 can be used to select the code channel. The subset of information bits used to select the code channel are provided to control processor 366. In accordance with the subset of information bits, control processor 366 generates and provides a code channel selection signal to switch 364. The remaining information bits to be transmitted are provided to CRC generator 352, which generates and appends a set of bits that can be used to check whether the decoded data was correctly received at the receiver. The bits from CRC generator 352 are provided to encoder 354. In one embodiment, encoder 354 is a convolutional encoder, though the present invention is equally applicable to any error correction encoder. The implementation of convolutional encoders is well known in the art. The encoded symbols are then provided to a bank of code channel channelizers 356a-356n . Each code channel channelizer is provided with a unique sequence from a corresponding sequence generator 358a-358n . In one example, sequence generators 358a-358n are Walsh symbol generators that provides sequences of symbols in accordance with orthogonal Walsh sequences. The Walsh sequence data from each channelizer 356a-356n is provided to switch 364 . Switch 364 selectively provides one of the spread data sequences to scrambling means 360. Switch 364 selects which data sequence to provide at its output based on a selection signal from control processor 366. The control processor 366 generates the signal in accordance with a subset of information bits from control processor 366. Scrambling means 360 scrambles the data in accordance with a pseudorandom sequence provided by PN generator 362 . Channelizers and sequence generators are well known in the art and are described in detail in the aforementioned U.S. Patent No. 5,103,459. The scrambled data is provided to mixer 368 . Mixer 368 is driven by a corresponding local oscillator 370 . The upconverted data is provided to transmitter (TMTR) 374 . FIG. 9 illustrates an alternative example, wherein the CDMA channels change code channel in accordance with a subset of the information bits to be transmitted. It should be noted that the embodiment illustrated in FIG. 9 is equally applicable to the case in which the code channel is selected in accordance with a pseudorandom function analogous to the example illustrated in Figs. 1 and 2 in which the frequency is selected based on a pseudorandom code. The information data to be transmitted is provided to multiplexer (MUX) 400 , which provides a subset of bits for selecting the code channel on a first output and the remaining bits to be transmitted to a second output. In one example, the information bits are used to select the code channel for transmission. However, the packetized bits from CRC generator 402 or the encoded symbols from convolutional encoder 404 can be used to select the code channel. The subset of information bits used to select the code channel is provided to control 416. In accordance with the subset of information bits, control processor 416 generates and provides a code channel selection signal to Walsh symbol generator 414. The remaining information bits to be transmitted are provided to CRC generator 402, which generates and appends a set of bits that can be used to check the correctness of the decoded data at the receiver. The bits from CRC generator 402 are provided to encoder 404 . In one example, encoder 404 is a convolutional encoder, though the present invention is equally applicable to any error correction encoder. The implementation of convolutional encoders is well known in the art. The encoded symbols are then provided to channelizer 406. Channelizer 406 is provided with a time varying spreading sequence from corresponding variable sequence generator 414 . In one example, variable sequence generators 414 provides sequences in accordance with a predetermined set of orthogonal Walsh sequences. The Walsh sequence data from channelizers 406 is provided to scrambler 408 which scrambles the data in accordance with a pseudorandom sequence provided by PN generator 410. As noted above, such channelizers and sequence generators are well known in the art and described in detail in the aforementioned U.S. Patent No. 5,103,459. The scrambled data is provided to mixer 418 . Mixer 418 is driven by a corresponding local oscillator 420 . The upconverted data is provided to transmitter (TMTR) 374 for transmission through antenna 426 . FIG. 10 illustrates a receiver for receiving a signal in accordance with above described transmitters, wherein the CDMA channels change code channel in accordance with a subset of the information bits to be transmitted. The signal is demodulated in accordance with all possible code channel sequences and the received signal is selected from all of the demodulated signals through an analysis of values (commonly referred to as "metrics") calculated to determine the quality of the received signal . The transmitted signal is received by antenna 450 and provided to receiver (RCVR) 452 . Receiver 452 filters and amplifies the signal and provides the received signal to downconverter 454 . Downconverters 454 is driven by local oscillator 456 . The downconverted signal is provided to a descrambler 458 . Descrambler 458 unscrambles the down-converted signal in accordance with a pseudorandom sequence provided by a corresponding PN generator 460. The descrambled sequences are provided to the bank of dechannelizers 462a-462n which dechannelizes the signal in accordance with sequence provided by a corresponding sequence generator 464a-464n . In one example, sequence generators 464a-464n are an orthogonal Walsh sequence generators. The data is provided to decoders 466a-466n which decodes the data based on the type of encoder used by the transmission system. In one example, the encoder is a convolutional encoder and decoders 466a-466n are trellis decoders. The decoded data is provided to CRC check elements 468a-468n which determine whether the decoded check bits correspond to the decoded information bits. For each decoded stream of data and a set of quality metrics is provided to control processor 470 . Control processor 470 selects for output to the user, the frame with the best quality based on the values of the set of quality metrics. If all of the decoded frames have inadequate quality as determined by the values of the metrics, then an erasure is declared. Examples of quality metrics which can be used by control processor 470 to select the frame, include: (1) accumulated branch metrics from trellis decoders 466a-466n, (2) symbol error rate (SER), and (3) CRC check results. FIG. 11 illustrates the an embodiment of the transmission system of the present invention wherein both the modulation sequence and upconversion frequency is selected in accordance with a subset of the information bits to be transmitted. It should be noted that the embodiment illustrated in FIG. 11 is equally applicable to the case wherein the code channel and frequency of upconversion are selected in accordance with a deterministic function. This can be done by programming control processor 522. The information data to be transmitted is provided to multiplexer (MUX) 500, which provides a subset of bits for selecting the code channel and the frequency of upconversion and the remaining bits to be transmitted on a third output. In alternative embodiments, the packetized bits from CRC generator 502 or the encoded symbols from convolutional encoder 504 can be used to select the code channel and the frequency of the upconversion. The subset of information bits used to select the code channel and the frequency of the upconversion are provided to control processor 522. In accordance with the subset of information bits, control processor 522 provides a code channel selection signal to Walsh symbol generator 508 and provides a frequency selection signal to variable frequency synthesizer 516 . The remaining information bits to be transmitted are provided to CRC generator 502, which generates and appends a set of bits that can be used to determine whether the decoded data received at the receiver is correct. The bits from CRC generator 502 are provided to encoder 504. In one embodiment, encoder 504 is a convolutional encoder, though the present invention is equally applicable to any error correction encoder. Convolutional encoders are well known in the art. The encoded symbols are then provided to channelizer 506 . Channelizer 506 is provided with a time varying spreading sequence from corresponding variable sequence generator 508. In one embodiment, variable sequence generators 508 provides sequences in accordance with a predetermined set of orthogonal Walsh sequences. The Walsh sequence data from channelizer 506 is provided to scrambler 510 which scrambles the data in accordance with a pseudorandom sequence provided by PN generator 512. Channelizers and sequence generators are well known in the art and are described in detail in the aforementioned U.S. Patent No. 5,103,459. The scrambled data is provided to mixer 514. Mixer 514 is driven by a variable frequency synthesizer 516 . Variable frequency synthesizer 516 generates and provides and driving frequency in accordance with a frequency selection signal from control processor 522 which selects the driving frequency in accordance with a subset of the information bits to be transmitted. The upconverted data is provided to transmitter (TMTR) 518 for transmission through antenna 520. FIG. 12 illustrates a receiver designed to receive spread spectrum data which changes frequency and code channel in accordance with a subset of the transmitted data. Referring to FIG. 12, the transmitted signal is received by antenna 600 and provided to receiver (RCVR) 601 . Receiver 601 filters and amplifies the signal and provides the received signal to a bank of downconverters 602a-602i . Each downconverter 602a-602i is driven by a corresponding local oscillator 604a-604i . Each downconverted signal is provided to a corresponding descrambler 606a-606i . Descramblers 606a-606i unscramble the down-converted signal in accordance with a pseudorandom sequence provided by a corresponding PN generator 608a-608i . The descrambled sequences from descrambler 606a are provided to dechannelizers 610a-610j and the descrambled sequences from descrambler 606i are provided to dechannelizers 610k-610n which dechannelizes each descrambled sequence according to all sequences. Each dechannelizers 610a-610n is driven by a corresponding sequence generator 612a-612n . In one embodiment, sequence generators 612a-612n are orthogonal Walsh sequence generators. The despread data is provided to decoders 614a-614n which decodes the data based on the type of encoder used by the transmission system. In one embodiment, the encoder is a convolutional encoder and decoders 614a-614n are trellis decoders. The decoded data is provided to CRC check element 616a-616n which determines whether the decoded check bits correspond to the decoded information bits. For each decoded stream of data and a set of quality metrics for each stream of data is provided to control processor 618 . Control processor 618 selects the frame with the best quality to be output to the user, as determined by the values of the metrics. If all of the decoded frames have inadequate quality then an erasure is declared. Examples of quality metrics which can be used by control processor 618 to select the frame, include: (1) accumulated branch metrics from trellis decoders 612a-612n , (2) symbol error rate (SER), and (3) CRC check results. The previous description is provided to enable any person skilled in the art to make or use the present invention. However, various modifications to these embodiments will be readily apparent to those skilled in the art.

Claims: An apparatus for direct sequence spread spectrum transmission of data, the apparatus comprising: channelizing means (8,56,258,308,358,414,508) for applying a channelizing code to data to be transmitted; scrambling means (12,60,262,312,362,410,512)for applying a scrambling code to the data to be transmitted, the channelizing means and the scrambling means together producing channelized direct sequence spread data; upconverting means (14,64,270,320,370,420,516) for upconverting the channelized direct sequence spread data for transmission about a central transmission frequency; and controlling means (22,70,266,316,366,416,522) for controlling at least one of the channelizing means and the upconverting means to vary over time one or both of the channelizing of the data and the central transmission frequency about which the channelized direct sequence spread data is transmitted, in which the upconverting means comprises a variable frequency synthesizer (64,320,516) for generating a signal at a frequency depending on a control signal from the controlling means, characterised by a phase offset controller (211) for maintaining a record of the phase of the signal output from the variable frequency synthesizer (64,320,516) for each selectable frequency. An apparatus as claimed in claim 1, wherein the channelizing means comprises a Walsh symbol generator (414, 508) for generating a Walsh symbol depending on a control signal from the controlling means (22, 70, 266, 316, 356, 416, 522). An apparatus as claimed in claim 1, wherein: the channelizing means comprises a plurality of Walsh symbol generators (358A...358N) each having an output connected to a switch (364); each Walsh symbol generator (358A...358N) is arranged to output a respective Walsh symbol different than the Walsh symbol output by other Walsh symbol generators; and the switch (364) is arranged to select a Walsh symbol output by one of the Walsh symbol generators depending on a control signal from the controlling means. An apparatus as claimed in any preceding claim wherein the controlling means (22,70,266,316,366,416,522) is arranged to effect control depending on a subset of bits of the data to be transmitted. An apparatus as claimed in any preceding claim, wherein the controlling means (22, 70, 266, 316, 366, 416, 522) is arranged to effect control depending on a predetermined deterministic function. An apparatus as claimed in any preceding claim, wherein the controlling means (22,70,266,316,366,416,522) is arranged to effect control depending on a cryptographic key stream. A method for direct sequence spread spectrum transmission of data, the method comprising: applying a channelizing code to data to be transmitted; applying a scrambling code to the data to be transmitted, the channelizing and the scrambling together producing channelized direct sequence spread data; upconverting the channelized direct sequence spread data for transmission about a central transmission frequency; and controlling at least one of the channelizing and the upconverting to vary over time one or both of the channelizing of the data and the central transmission frequency about which the channelized direct sequence spread data is transmitted, in which the upconverting comprises generating a signal at a frequency depending on a control signal, characterised in that the upconverting further comprises maintaining a record of the phase of the signal output for each selectable frequency. A method as claimed in claim 7, wherein the channelizing comprises generating a Walsh symbol and combining the Walsh symbol with the data to be transmitted. A method as claimed in claim 7, wherein: the channelizing comprises generating a plurality of Walsh symbols each Walsh symbol being different than the other Walsh symbols; and selecting a Walsh symbol for combining with the data to be transmitted. A method as claimed in any of claims 7 to 9, wherein the controlling is effected depending on a subset of bits of the data to be transmitted. A method as claimed in any of claims 7 to 9, wherein the controlling is effected depending on a predetermined deterministic function. A method as claimed in any of claims 7 to 9, wherein the controlling is effected depending on a cryptographic key stream.

Inventors: TIEDEMANN EDWARD G JR, TIEDEMANN, EDWARD G, JR.
Applicants: QUALCOMM INC, QUALCOMM INCORPORATED
Application year: 1999
Main classification: H04B7
IPC codes: H04B1