CA2139238C - Quantized coherent rake receiver - Google Patents
Quantized coherent rake receiver Download PDFInfo
- Publication number
- CA2139238C CA2139238C CA002139238A CA2139238A CA2139238C CA 2139238 C CA2139238 C CA 2139238C CA 002139238 A CA002139238 A CA 002139238A CA 2139238 A CA2139238 A CA 2139238A CA 2139238 C CA2139238 C CA 2139238C
- Authority
- CA
- Canada
- Prior art keywords
- transmitted data
- signal
- values
- code
- correlation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
- 230000001427 coherent effect Effects 0.000 title abstract description 27
- 230000007480 spreading Effects 0.000 claims description 72
- 230000000875 corresponding effect Effects 0.000 claims description 60
- 238000000034 method Methods 0.000 claims description 52
- 230000015654 memory Effects 0.000 claims description 20
- 230000000295 complement effect Effects 0.000 claims description 11
- 238000012935 Averaging Methods 0.000 claims description 10
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000003134 recirculating effect Effects 0.000 claims description 4
- 230000004044 response Effects 0.000 claims 3
- 238000002592 echocardiography Methods 0.000 abstract description 6
- 239000006185 dispersion Substances 0.000 abstract description 5
- 238000009825 accumulation Methods 0.000 abstract description 3
- 230000003111 delayed effect Effects 0.000 abstract description 3
- 230000003750 conditioning effect Effects 0.000 abstract 1
- 239000000872 buffer Substances 0.000 description 27
- 239000002131 composite material Substances 0.000 description 21
- 238000004891 communication Methods 0.000 description 17
- 230000008569 process Effects 0.000 description 15
- 239000000523 sample Substances 0.000 description 13
- 230000001934 delay Effects 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 8
- 241001379910 Ephemera danica Species 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000005562 fading Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 239000012723 sample buffer Substances 0.000 description 4
- 238000001228 spectrum Methods 0.000 description 4
- 230000009897 systematic effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000003466 anti-cipated effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 230000001629 suppression Effects 0.000 description 2
- 206010010071 Coma Diseases 0.000 description 1
- 101150054451 Rtel1 gene Proteins 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- RTZKZFJDLAIYFH-UHFFFAOYSA-N ether Substances CCOCC RTZKZFJDLAIYFH-UHFFFAOYSA-N 0.000 description 1
- 125000001033 ether group Chemical group 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000036039 immunity Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000010363 phase shift Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012958 reprocessing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L27/00—Modulated-carrier systems
- H04L27/26—Systems using multi-frequency codes
- H04L27/30—Systems using multi-frequency codes wherein each code element is represented by a combination of frequencies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7097—Interference-related aspects
- H04B1/7103—Interference-related aspects the interference being multiple access interference
- H04B1/7107—Subtractive interference cancellation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B1/00—Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
- H04B1/69—Spread spectrum techniques
- H04B1/707—Spread spectrum techniques using direct sequence modulation
- H04B1/7097—Interference-related aspects
- H04B1/711—Interference-related aspects the interference being multi-path interference
- H04B1/7115—Constructive combining of multi-path signals, i.e. RAKE receivers
- H04B1/712—Weighting of fingers for combining, e.g. amplitude control or phase rotation using an inner loop
Abstract
An implementation of coherent diversity combining in a RAKE receiver that uses energy in signal echoes by integrating information from main-path and bit-period-delayed signal propagation paths to remove echo distortion, or time dispersion, is described. If delayed by one chip in a CDMA
system, such echoes appear as uncorrelated interference. The RAKE receiver correlates a despreading code with the current (main-path) signal samples and with the signal samples delayed by 1, 2, 4, ... bit periods, and combines the correlation results to determine the information content of the signal. After appropriate conditioning, the received signal is digitized and the signal samples are stored.
Groups of samples are Fast Walsh Transformed, and the real and imaginary transforms are scaled according to a table of coefficients; the scaled results are stored. Weighted, scaled transforms of groups shifted by 1, 2, 4, ... samples are accumulated, and the index of the largest-magnitude accumulation is used to select real and imaginary transform values.
system, such echoes appear as uncorrelated interference. The RAKE receiver correlates a despreading code with the current (main-path) signal samples and with the signal samples delayed by 1, 2, 4, ... bit periods, and combines the correlation results to determine the information content of the signal. After appropriate conditioning, the received signal is digitized and the signal samples are stored.
Groups of samples are Fast Walsh Transformed, and the real and imaginary transforms are scaled according to a table of coefficients; the scaled results are stored. Weighted, scaled transforms of groups shifted by 1, 2, 4, ... samples are accumulated, and the index of the largest-magnitude accumulation is used to select real and imaginary transform values.
Description
QUANTIZED COHERENT RAKE RECE~
8AC1CGROOliD
' Applicant's invention relates to methods and apparatuses for receiving, spread spectrum radio signals, such as digitally modulated signals in a Code Division Multiple Access (CDMA) mobile radio telephone system, and more particularly to a RAKE
receiver scheme for such signals.
In CDMA communication systems, transmitted l0 information signals overlap in both time and frequency as described in, e.g., N. Tzannes, Communication and Radar ~rstems, pp. 237-239, Prentice-Hall, Inc. (1985). An informational data stream to be transmitted is impressed upon a much-higher-rate data stream known as a "signature sequence". Typically, the signature sequence data are binary, providing a bit stream. One way to generate. this signature sequence is with~a pseudo-noise (PN) process that appears random, but can be replicated by an authorized receiver. The informational data stream and the high-bit-rate signature sequence stream are combined by multiplying the two bat streams together, assuming the binary values of the two bit streams are represented by +1 or 1. This combination of the higher-bit-rate signal with the lower-bit-rate data stream is called "coding" or "spreading" the ~.nformational data -stream. Each informational data stream, or channel, is allocated a unique signature sequence, or "spreading code".
A plurality of coded information signals modulate a radio-frequency (RF) carrier by, for example, quadrature phase shift keying (QPBK), and _2139~~5 wo 9ansosi pcrms9a~oaszo x ark jointly received as a composite signal at a receiver. Each of the coded signals overlaps all of the other coded signals, as ~rell as noise-related signals, in both frequency and time. If the receiver is authorized, the composite signal is correlated with one of the unique spreading codes, and the., corresponding information signal can be isolated and decoded.
one CDMA technique, called "traditional CDMA
with direct spreading", uses a spreading code to represent one bit of information. Receiving the transmitted code or its complement (the opposite of each bit of the code sequence) indicates whether the information bit is a '~-1" or "+1". The signature sequence usually comprises N bits, and each bit is called a "chip". The entire N-chip sequence, or its complement, is referred to as a transmitted symbol:' The receiver correlates the received signal with the known signature sequence of its own signature sequence generator to produce a normalized value ranging from 1 to +1. When a large positive correlation results, a '~-1" is detected; when a large negative correlation results, a "+i" is detected.
Various aspects of PN codeword detection with correlators are described in F. Stremler, T"t,- ,r~_t ,on ~to Communication Systems, 2d ed. , pp.
412-418, Addison-Wesley Publishing Co. (1982).
Another CDMA technique,~called "enhanced CDMA
with direct spreading" allows each transmitted .
3o sequence to represent more than one bit of information. A set of codewords, typically .
orthogonal codewords or bi-orthogonal codewords, is used to encode a group of information bits into a much longer code sequence or code symbol. A
i~VO 94/26051 PCT/US94/04820 'signature sequence, or "scramble mask", is modulo-2 added to the binary code sequence before transmission. At the receiver, the known scramble mask is used.to descramble the received signal, which is then correlated against all possible codewords.
The cadeword having the largest correlation value indicates which codeword was most likely sent, indicating which information bits were most likely sent. One common orthogonal code is the Walsh-Iiadamard (WH) code.
In both traditional and enhanced CDMA, the "information bits" referred to above can also be coded'bits, where the code used is a block or convolutional code. One or more information bits can Corm a data symbol. Also, the signature sequence, ,or scramble mask, can be much longer than a single code sequence, in which case a subsequence of the signature sequence is added to the code sequence.
There are a number of~advantages associated with 2o CDMA communication techniques.. The capacity limits of CDMA-based cellular telephone systems are projected to be up to twenty times that of existing analog technology due to wideband CDMA's improved coding gain/modulation density, voice activity gating, sectorization, and reuse of the same spectrwa in every cell: CDMA transmission of voice by a high-bit-rate decoder insures superior, realistic voice quality. CDMA also provides~for variable data rates allowing many different grades of voice quality to be offered. The scrambled signal format of CDMA
completely eliminates cross-talk and makes it very difficult and costly to eavesdrop or track. calls, insuring greater privacy for callers'and greater immunity from air-time fraud.
1 3 9 ~ 3 8 PCT/US94I04820 WO 9'4/26051 In many radio communication'systems, t~:e .
received signal includes two components, an I (in-phase) component and a Q (quadraturej component.
This results.because the transmitted signal has two ' components, and/or the intervening channel or the lack of a coherent carrier reference causes the.
transmitted signal to be divided into I and Q
components. In a typical receiver using digital signal processing, the received I and Q component signals are sampled every T~ seconds, where T~ is the , duration of a chip, and the samples are stored for further processing.
In mobile communication systems, signals transmitted between base and mobile stations typically suffer from echo distortion or time dispersion, caused by, for example, signal .
reflections from large buildings or nearby mountain ranges. Multipath dispersion occurs when a signal proceeds to the receiver along not one but many paths so that the receiver hears many echoes having different and randomly varying delays and amplitudes.
Thus, when multipath time dispersion is present in a CDMA system, the receiver receives a composite signal of multiple versions of the transmitted symbol that have propagated along different paths (referred to as "rays"), some of which may have relative time delays of less than one symbol period.
Each distinguishable "ray" has a certain relative time of arrival k T~ seconds and spans N of the I and Q chip samples, since each signal image is an N-chip sequence 'in a traditional CDMA system. As .
a result of multipath time dispersion, the correlator outputs several smaller spikes rather than one large spike. Each ray that is received after the symbol period (i.e., if the time delay caused by a reflection exceeds one symbol period) appears as an uncorrelated interfering signal that reduces the total capacity of the communication system. To 5 detect optimally the transmitted symbols (bits), the spikes received must be combined in an appropriate way.
Typically, this can be done by a RAKE receiver, which is so named because it "rakes" all the multipath contributions together. Various aspects of RAKE receivers are described in R. Price et al., "A
Communication Technique for Multipath Channels", Proc. IRE, vol. 46, pp. 555-570 (March 1958);
G. Turin, "Introduction to Spread-Spectrum Antimultipath Techniques and Their Application to Urban Digital Radio", Proc. IEEE, vol. 68, pp. 328-353 (March 1980); and J. Proakis, piyital Communications, 2d ed., pp. 729-739, McGraw-Hill, Inc. (1989).
a0 A RAKE receiver uses a form of diversity combining to collect the signal energy from the various received signal paths, i.e., the various signal rays. Diversity provides redundant communication channels so that when some channels fade, communication is still possible over non-fading channels. A CDMA RAKE receiver combats fading by detecting the echo signals individually using a correlation method and adding them algebraically (with the same sign). Further, to avoid intersymbol interference, appropriate time delays are inserted between the respective detected echoes so that they fall into step again.
5a According to one aspect of the present invention, there is provided a method for decoding a Code Division Multiple Access signal comprising the steps of correlating at least two time shifts of a received signal against a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols, weighting the results of the correlating step according to coefficients selected from a coefficient store, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective time shift, summing the results of the weighting step for each time shift in a respective accumulator, and determining a sign of the sums in the accumulators to decode the transmitted data symbol.
According to a further aspect of the present invention, there is provided an apparatus for decoding a Code Division Multiple Access signal comprising means for correlating at least two time shifts of a received signal with a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols, means for weighting correlations produced by the correlating means according to respective ones of at least two coefficients, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective 5b time shift, means for summing the weighted correlations produced by the weighting means for each time shift, and means for determining a sign of the sum produced by the summing means to decode the transmitted data symbol.
According to another aspect of the present invention, there is provided an apparatus for decoding a Code Division Multiple Access signal comprising means for correlating at least two time shifts of a received signal with at least two spreading codes, the received signal comprising successive transmitted data symbols and the spreading codes corresponding to different transmitted data symbols, means for weighting correlations produced by the correlating means according to coefficients selected from a coefficient store, the coefficients having values selected from the group comprising +1, +1/2, +1/4, . . . and 0, and each coefficient corresponding to a respective time shift and a respective spreading code, means for summing the weighted correlations produced by the weighting means for the time shifts for each spreading code, means for determining the largest sum produced by the summing means to decode a transmitted data symbol, and means for subtracting a waveform corresponding to the decoded transmitted data symbol from the received signal.
According to yet another aspect of the present invention, there is provided an apparatus for receiving and decoding a Code Division Multiple Access signal comprising successive transmitted data symbols comprising means for receiving the signal, wherein the receiving means includes means for generating successive samples of complex vector components of the signal and means for digitizing 5c the samples, means for storing a plurality of the digitized samples of a transmitted data symbol, means for determining Fast Walsh Transforms of the stored digitized samples, wherein the determining means correlates at least two timeshifted groups of the stored digitized samples with each of a plurality of orthogonal codes, each orthogonal code corresponding to a respective transmitted data symbol, and generates correlation results, each correlation result having a real part and an imaginary part, means for determining respective weighting coefficients for the real part and the imaginary part of the correlation result for each code and for each time-shifted group and for applying the weighting coefficients to the real parts and the imaginary parts, means for summing the weighted parts over all time-shifted groups, the summing means comprising a respective accumulator for each code, and means for determining the accumulator containing the largest sum and thereby decoding the transmitted data symbol, wherein the weighting coefficient determining means determines the weighting coefficients for a succeeding transmitted data symbol from the correlation results and the decoded transmitted data symbol.
An example of a multipath profile of a received composite signal is illustrated in FIG. 1. The ray 2 ~. 3 9 2 3 8 PCT/US941048Z0 that propagates along the shortest.path arrives at a time To with an amplitude Aa, and rays propagating along longer paths arrive at times T1, T=, T3 with amplitudes A" A~, A" respectively. For simplicity, the typical RAKE receiver assumes, that the time delays between the rays are a constant, i.e., Tl = To + dT, Ti = To + 2dT, and T3 = To + 3dT for the profile.shown; the time delays (and amplitudes) are usually estimated from the received composite 1o signals history.
In one form of RAKE receiver, correlation values of the signature sequence with the received signals at different time delays are passed through a delay line that is tapped at the expected time delay (dt), i,e., the expected time between receiving echoes.
The outputs at the RAKE taps are then combined with .
appropriate weights. Such a receiver searches for the earliest ray by placing a tnp at To, and for a ray delayed by dt by placing a tap at To+dt, and so forth.
The RARE tap outputs having significant energy are appropriately weighted and combined to.maximize the received signal-to-noise-and-interference ratio.
Thus, the total time delay of the delay line determines the amount of arrival time delay that can be searched. In one useful CDMA system, up to 128 microseconds (~esec) can be searched, corresponding to thirty-two chips, and the total time delay of the taps that can be combined i~ thirty-two sec, corresponding to an eight-chip window movable within 3o the thirty-two-chip total delay.
FIGS. 2A and 28 illustrate how manipulating the RAKE taps adapts the RAKE receiver to signals that have different delays. In FIG. 2A, eight taps, which are identified by the arrival times TO - T', are provided, of which only the outputs of taps T4 - T~
are given non-zero weights W, - W" respectively. In FIG. 2B, only the outputs of taps T~ - Tj are given non-zero weights Wa - W3, respectively. When the weights Wa - W3 are respectively the same as the weights W~ - W~, the receiver is adapted to the same signal, but for a time of arrival To rather than T,.
In a adigital" RARE, or DRAKE, receiver, the weights are either 0 or 1, as described in the paper by Turin l0 cited above.
A diagram of a conventional RAKE receiver using ' post-correlator, coherent combining of different rays is shown in FIG. 3. A received radio signal is demodulated by, for example, mixing it with cosine and sine waveforms and filtering the signal in an RF
receiver 1, yielding I and Q chip samples. These chip samples are collected in a buffer memory that is composed of two buffers 2a, 2b for the I, Q samples, respectively. As illustrated in FIG. 3, the bottam of each buffer 2a, 2b contains the most recently received chip samples.
-A multiplexes 3 receives the buffered chip samples and sends complex cArrelators 4a, 4b a range of I chip samples and the corresponding range of Q
chip samples. The range selected includes N samples corresponding to the N-chip sequence arriving at a certain time. For example, if the buffers 2a, 2b each contain 159 chip samples (numbered 0-158) and N
is 128, then the multiplexes 3 would send chip samples numbered i through (i+127) from the I buffer 2a, and chip samples numbered i through (i+127) from the Q buffer 2b to the correlator 4a, where i is the discrete time index of the signal rays from when the buffers were first filled. Two different sets of WO 94/26051 _ ~ ~ 3 ~ 2 3 8 p~'/US94104820 chip samples, i.e., two different received sample ranges and hence..~a different signal ray, are provided by the multiplexes 3 to the correlator 4b. A complex .
correlation value is formed by each correlator 4a, 4b that correlates its two sets of signal samples I, Q
to the known signature sequence, or spreading code.
Of course, the multiplexes 3 can provide the received samples either serially or in parallel.
In general, a complex correlator correlates a complex input stream (I+jQ samples) to a complex known sequence,'producing a complex correlation -value. If the signature sequence is not complex, each complex correlator can be implemented as two scalar correlators in parallel, which may be defined as a "half-complex" correlator. ,If the signature sequence is complex, the complex correlators .
correlate a complex input to a complex sequence, giving rise to "full-complex" correlators. It is to be understood that the term "complex correlator" will be used hereinafter to refer ro both of the aforementioned scenarios.
Following correlation, the complex correlation values are transmitted to complex multipliers 5 that multiply the correlation values by the complex weights that each consist of a real part and an imaginary part. Typically, only the real parts of the products of the complex correlation values and weights are sent to an accumplator 6, which sums the weighted correlations for all the signal rays processed. The accumulated result is sent to a threshold device 7, which detects a binary "0" if the -input is greater than a threshold, or a binary "1" if the input is less than the threshold.
~~3~238 - In mathematical terms, suppose X(n) = I(n) +
jQ(n) are the chip samples received by the receiver, where I(n) are the I component samples, Q(n) are the Q component samples, and n is the chip sample index corresponding to a respective discrete time. In FIG.
8AC1CGROOliD
' Applicant's invention relates to methods and apparatuses for receiving, spread spectrum radio signals, such as digitally modulated signals in a Code Division Multiple Access (CDMA) mobile radio telephone system, and more particularly to a RAKE
receiver scheme for such signals.
In CDMA communication systems, transmitted l0 information signals overlap in both time and frequency as described in, e.g., N. Tzannes, Communication and Radar ~rstems, pp. 237-239, Prentice-Hall, Inc. (1985). An informational data stream to be transmitted is impressed upon a much-higher-rate data stream known as a "signature sequence". Typically, the signature sequence data are binary, providing a bit stream. One way to generate. this signature sequence is with~a pseudo-noise (PN) process that appears random, but can be replicated by an authorized receiver. The informational data stream and the high-bit-rate signature sequence stream are combined by multiplying the two bat streams together, assuming the binary values of the two bit streams are represented by +1 or 1. This combination of the higher-bit-rate signal with the lower-bit-rate data stream is called "coding" or "spreading" the ~.nformational data -stream. Each informational data stream, or channel, is allocated a unique signature sequence, or "spreading code".
A plurality of coded information signals modulate a radio-frequency (RF) carrier by, for example, quadrature phase shift keying (QPBK), and _2139~~5 wo 9ansosi pcrms9a~oaszo x ark jointly received as a composite signal at a receiver. Each of the coded signals overlaps all of the other coded signals, as ~rell as noise-related signals, in both frequency and time. If the receiver is authorized, the composite signal is correlated with one of the unique spreading codes, and the., corresponding information signal can be isolated and decoded.
one CDMA technique, called "traditional CDMA
with direct spreading", uses a spreading code to represent one bit of information. Receiving the transmitted code or its complement (the opposite of each bit of the code sequence) indicates whether the information bit is a '~-1" or "+1". The signature sequence usually comprises N bits, and each bit is called a "chip". The entire N-chip sequence, or its complement, is referred to as a transmitted symbol:' The receiver correlates the received signal with the known signature sequence of its own signature sequence generator to produce a normalized value ranging from 1 to +1. When a large positive correlation results, a '~-1" is detected; when a large negative correlation results, a "+i" is detected.
Various aspects of PN codeword detection with correlators are described in F. Stremler, T"t,- ,r~_t ,on ~to Communication Systems, 2d ed. , pp.
412-418, Addison-Wesley Publishing Co. (1982).
Another CDMA technique,~called "enhanced CDMA
with direct spreading" allows each transmitted .
3o sequence to represent more than one bit of information. A set of codewords, typically .
orthogonal codewords or bi-orthogonal codewords, is used to encode a group of information bits into a much longer code sequence or code symbol. A
i~VO 94/26051 PCT/US94/04820 'signature sequence, or "scramble mask", is modulo-2 added to the binary code sequence before transmission. At the receiver, the known scramble mask is used.to descramble the received signal, which is then correlated against all possible codewords.
The cadeword having the largest correlation value indicates which codeword was most likely sent, indicating which information bits were most likely sent. One common orthogonal code is the Walsh-Iiadamard (WH) code.
In both traditional and enhanced CDMA, the "information bits" referred to above can also be coded'bits, where the code used is a block or convolutional code. One or more information bits can Corm a data symbol. Also, the signature sequence, ,or scramble mask, can be much longer than a single code sequence, in which case a subsequence of the signature sequence is added to the code sequence.
There are a number of~advantages associated with 2o CDMA communication techniques.. The capacity limits of CDMA-based cellular telephone systems are projected to be up to twenty times that of existing analog technology due to wideband CDMA's improved coding gain/modulation density, voice activity gating, sectorization, and reuse of the same spectrwa in every cell: CDMA transmission of voice by a high-bit-rate decoder insures superior, realistic voice quality. CDMA also provides~for variable data rates allowing many different grades of voice quality to be offered. The scrambled signal format of CDMA
completely eliminates cross-talk and makes it very difficult and costly to eavesdrop or track. calls, insuring greater privacy for callers'and greater immunity from air-time fraud.
1 3 9 ~ 3 8 PCT/US94I04820 WO 9'4/26051 In many radio communication'systems, t~:e .
received signal includes two components, an I (in-phase) component and a Q (quadraturej component.
This results.because the transmitted signal has two ' components, and/or the intervening channel or the lack of a coherent carrier reference causes the.
transmitted signal to be divided into I and Q
components. In a typical receiver using digital signal processing, the received I and Q component signals are sampled every T~ seconds, where T~ is the , duration of a chip, and the samples are stored for further processing.
In mobile communication systems, signals transmitted between base and mobile stations typically suffer from echo distortion or time dispersion, caused by, for example, signal .
reflections from large buildings or nearby mountain ranges. Multipath dispersion occurs when a signal proceeds to the receiver along not one but many paths so that the receiver hears many echoes having different and randomly varying delays and amplitudes.
Thus, when multipath time dispersion is present in a CDMA system, the receiver receives a composite signal of multiple versions of the transmitted symbol that have propagated along different paths (referred to as "rays"), some of which may have relative time delays of less than one symbol period.
Each distinguishable "ray" has a certain relative time of arrival k T~ seconds and spans N of the I and Q chip samples, since each signal image is an N-chip sequence 'in a traditional CDMA system. As .
a result of multipath time dispersion, the correlator outputs several smaller spikes rather than one large spike. Each ray that is received after the symbol period (i.e., if the time delay caused by a reflection exceeds one symbol period) appears as an uncorrelated interfering signal that reduces the total capacity of the communication system. To 5 detect optimally the transmitted symbols (bits), the spikes received must be combined in an appropriate way.
Typically, this can be done by a RAKE receiver, which is so named because it "rakes" all the multipath contributions together. Various aspects of RAKE receivers are described in R. Price et al., "A
Communication Technique for Multipath Channels", Proc. IRE, vol. 46, pp. 555-570 (March 1958);
G. Turin, "Introduction to Spread-Spectrum Antimultipath Techniques and Their Application to Urban Digital Radio", Proc. IEEE, vol. 68, pp. 328-353 (March 1980); and J. Proakis, piyital Communications, 2d ed., pp. 729-739, McGraw-Hill, Inc. (1989).
a0 A RAKE receiver uses a form of diversity combining to collect the signal energy from the various received signal paths, i.e., the various signal rays. Diversity provides redundant communication channels so that when some channels fade, communication is still possible over non-fading channels. A CDMA RAKE receiver combats fading by detecting the echo signals individually using a correlation method and adding them algebraically (with the same sign). Further, to avoid intersymbol interference, appropriate time delays are inserted between the respective detected echoes so that they fall into step again.
5a According to one aspect of the present invention, there is provided a method for decoding a Code Division Multiple Access signal comprising the steps of correlating at least two time shifts of a received signal against a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols, weighting the results of the correlating step according to coefficients selected from a coefficient store, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective time shift, summing the results of the weighting step for each time shift in a respective accumulator, and determining a sign of the sums in the accumulators to decode the transmitted data symbol.
According to a further aspect of the present invention, there is provided an apparatus for decoding a Code Division Multiple Access signal comprising means for correlating at least two time shifts of a received signal with a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols, means for weighting correlations produced by the correlating means according to respective ones of at least two coefficients, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective 5b time shift, means for summing the weighted correlations produced by the weighting means for each time shift, and means for determining a sign of the sum produced by the summing means to decode the transmitted data symbol.
According to another aspect of the present invention, there is provided an apparatus for decoding a Code Division Multiple Access signal comprising means for correlating at least two time shifts of a received signal with at least two spreading codes, the received signal comprising successive transmitted data symbols and the spreading codes corresponding to different transmitted data symbols, means for weighting correlations produced by the correlating means according to coefficients selected from a coefficient store, the coefficients having values selected from the group comprising +1, +1/2, +1/4, . . . and 0, and each coefficient corresponding to a respective time shift and a respective spreading code, means for summing the weighted correlations produced by the weighting means for the time shifts for each spreading code, means for determining the largest sum produced by the summing means to decode a transmitted data symbol, and means for subtracting a waveform corresponding to the decoded transmitted data symbol from the received signal.
According to yet another aspect of the present invention, there is provided an apparatus for receiving and decoding a Code Division Multiple Access signal comprising successive transmitted data symbols comprising means for receiving the signal, wherein the receiving means includes means for generating successive samples of complex vector components of the signal and means for digitizing 5c the samples, means for storing a plurality of the digitized samples of a transmitted data symbol, means for determining Fast Walsh Transforms of the stored digitized samples, wherein the determining means correlates at least two timeshifted groups of the stored digitized samples with each of a plurality of orthogonal codes, each orthogonal code corresponding to a respective transmitted data symbol, and generates correlation results, each correlation result having a real part and an imaginary part, means for determining respective weighting coefficients for the real part and the imaginary part of the correlation result for each code and for each time-shifted group and for applying the weighting coefficients to the real parts and the imaginary parts, means for summing the weighted parts over all time-shifted groups, the summing means comprising a respective accumulator for each code, and means for determining the accumulator containing the largest sum and thereby decoding the transmitted data symbol, wherein the weighting coefficient determining means determines the weighting coefficients for a succeeding transmitted data symbol from the correlation results and the decoded transmitted data symbol.
An example of a multipath profile of a received composite signal is illustrated in FIG. 1. The ray 2 ~. 3 9 2 3 8 PCT/US941048Z0 that propagates along the shortest.path arrives at a time To with an amplitude Aa, and rays propagating along longer paths arrive at times T1, T=, T3 with amplitudes A" A~, A" respectively. For simplicity, the typical RAKE receiver assumes, that the time delays between the rays are a constant, i.e., Tl = To + dT, Ti = To + 2dT, and T3 = To + 3dT for the profile.shown; the time delays (and amplitudes) are usually estimated from the received composite 1o signals history.
In one form of RAKE receiver, correlation values of the signature sequence with the received signals at different time delays are passed through a delay line that is tapped at the expected time delay (dt), i,e., the expected time between receiving echoes.
The outputs at the RAKE taps are then combined with .
appropriate weights. Such a receiver searches for the earliest ray by placing a tnp at To, and for a ray delayed by dt by placing a tap at To+dt, and so forth.
The RARE tap outputs having significant energy are appropriately weighted and combined to.maximize the received signal-to-noise-and-interference ratio.
Thus, the total time delay of the delay line determines the amount of arrival time delay that can be searched. In one useful CDMA system, up to 128 microseconds (~esec) can be searched, corresponding to thirty-two chips, and the total time delay of the taps that can be combined i~ thirty-two sec, corresponding to an eight-chip window movable within 3o the thirty-two-chip total delay.
FIGS. 2A and 28 illustrate how manipulating the RAKE taps adapts the RAKE receiver to signals that have different delays. In FIG. 2A, eight taps, which are identified by the arrival times TO - T', are provided, of which only the outputs of taps T4 - T~
are given non-zero weights W, - W" respectively. In FIG. 2B, only the outputs of taps T~ - Tj are given non-zero weights Wa - W3, respectively. When the weights Wa - W3 are respectively the same as the weights W~ - W~, the receiver is adapted to the same signal, but for a time of arrival To rather than T,.
In a adigital" RARE, or DRAKE, receiver, the weights are either 0 or 1, as described in the paper by Turin l0 cited above.
A diagram of a conventional RAKE receiver using ' post-correlator, coherent combining of different rays is shown in FIG. 3. A received radio signal is demodulated by, for example, mixing it with cosine and sine waveforms and filtering the signal in an RF
receiver 1, yielding I and Q chip samples. These chip samples are collected in a buffer memory that is composed of two buffers 2a, 2b for the I, Q samples, respectively. As illustrated in FIG. 3, the bottam of each buffer 2a, 2b contains the most recently received chip samples.
-A multiplexes 3 receives the buffered chip samples and sends complex cArrelators 4a, 4b a range of I chip samples and the corresponding range of Q
chip samples. The range selected includes N samples corresponding to the N-chip sequence arriving at a certain time. For example, if the buffers 2a, 2b each contain 159 chip samples (numbered 0-158) and N
is 128, then the multiplexes 3 would send chip samples numbered i through (i+127) from the I buffer 2a, and chip samples numbered i through (i+127) from the Q buffer 2b to the correlator 4a, where i is the discrete time index of the signal rays from when the buffers were first filled. Two different sets of WO 94/26051 _ ~ ~ 3 ~ 2 3 8 p~'/US94104820 chip samples, i.e., two different received sample ranges and hence..~a different signal ray, are provided by the multiplexes 3 to the correlator 4b. A complex .
correlation value is formed by each correlator 4a, 4b that correlates its two sets of signal samples I, Q
to the known signature sequence, or spreading code.
Of course, the multiplexes 3 can provide the received samples either serially or in parallel.
In general, a complex correlator correlates a complex input stream (I+jQ samples) to a complex known sequence,'producing a complex correlation -value. If the signature sequence is not complex, each complex correlator can be implemented as two scalar correlators in parallel, which may be defined as a "half-complex" correlator. ,If the signature sequence is complex, the complex correlators .
correlate a complex input to a complex sequence, giving rise to "full-complex" correlators. It is to be understood that the term "complex correlator" will be used hereinafter to refer ro both of the aforementioned scenarios.
Following correlation, the complex correlation values are transmitted to complex multipliers 5 that multiply the correlation values by the complex weights that each consist of a real part and an imaginary part. Typically, only the real parts of the products of the complex correlation values and weights are sent to an accumplator 6, which sums the weighted correlations for all the signal rays processed. The accumulated result is sent to a threshold device 7, which detects a binary "0" if the -input is greater than a threshold, or a binary "1" if the input is less than the threshold.
~~3~238 - In mathematical terms, suppose X(n) = I(n) +
jQ(n) are the chip samples received by the receiver, where I(n) are the I component samples, Q(n) are the Q component samples, and n is the chip sample index corresponding to a respective discrete time. In FIG.
3, I(n) ure stored in buffer 2a and Q(n) are stored fn buffer 2b. The multiplexer 3 selects a range of I
samples and a range of Q samples corresponding to the same ray. If M(k,n) = Mt(k,n) + jMQ(k,n) is the multiplexer output for ray k, giving N samples (n = 0, ... N-1), then M(k,n) = X(n+k) and Mt(k,n) = I(n+k) and MQ(k,n) = Q(n+k) .
The complex correlator 4a correlates the range of data samples from the multiplexer 3 to the known spreading code sequence. Consider data samples X(k), X(k+1), ... X(k+N-1), which are discrete time samples .
of the received data. If the receiver is trying to detect a code sequence C(0), C(1), ... C(N-1), which consists of N values (usually ti values), the correlator 4a correlates some set of N data values with the N code sequence values as follows:
R(k) =X(k) C(0) +X(k+1) C(1) +. . . +X(k+N-1) C(N-1) _~ X(n+k) C(n) t~~0 where the index k indicates where to start in the data sequence. This corresponds to a relative time -of arrival of the signal, and as described above different arrival times correspond to different signal rays. Thus, ray k corresponds to a range of data values needed: ~X(k), X(k+1), ... X(k+N-1)}. If N is large, rays k, k+1 correspond to ranges that substantially overlap.
Z~39~3~
WO 94/26051 ~ PCT/US94/04820 The computation of R(k) can be performed by accessing the input data range in parallel or serially. Whether the correlation is performed in , parallel or serially, each data value X(nj consists 5 of b bits, which can be accessed and used all at once (parallel computationj~or one at a time (bit serial approach).
FIG. 4 illustrates a parallel approach. A data buffer 53 stores consecutive time samples, X(nj, of 10 the received signal, and a multiplexes 5~ selects a range of N data values, ~X(kj, X(k+ij, ... , X(k+~ijy , which are sent to a correlator 55. A
group of multipliers 56, which corresponds to the inputs to the correlator 55, multiplies the data, values by corresponding spreading code sequence values C(Oj, C(i), ... C(N-ij. The products are .
summed by an adder 57 to fona the correlation value R(kj .
FIG. 5 illustrates serially accessing the input range to compute R(kj. An input buffer 58 stores the received data samples. The buffer 58 may be only one sample long because only one sample will be correlated at a time. If the buffer 58 is more than one sample long, a multiplexes 59 would be provided to select a particular sample, X(k+ij, where i is determined by a suitable control processor 60. The sample stored or selected is sent to a correlator 61, which computes the product of the sample X(k+ij with one element, C(ij, of the code sequence using a 30_multiplier 62. This product is combined by an adder 63 with the contents of an accumulator 64 that stores accumulated past products. The contents of the accumulator 6~ is originally set to zero, and i is stepped from 0 to N-1, allowing the accumulation of N
_239238 il products. After 3~t products have been accumulated, the contents of the accumulator.64 is output as the correlation value R(k).
' Referring again to FIG. 3, regardless of the correlation approach used, the correlator 4a for ray k correlates the multiplexes output M(k,n) against the real code sequence C(n), producing a complex correlation value R(k) = RI(k)+jRQ(k) where:
m R (k) _~ M(k; n) C(n) n~0 and where:
m Rr(k) _~ I(n+k) C(n) a~o and where:
~ws RD(k) _~ Q(n+k) C(n) a~o The correlation values are multiplied by the complex weights W(k).= WI(k) + jWQ(k), and the results are accumulated into the decision statistic, Z, which is given by:
Z= ~ Re(W(k)R'(k))= ~ ~WZ(k)RZ(k)+Wo(k)RD(k) rtel.e.~e wua.e.~e The quantity Z is then thresholded in the threshold device 7 to determine whether a "-1" or a "+1" was sent.
" ~ 2:~39~38 FIG. 6 illustrates the general arrangement of a non-coherent DRAKE receiver 10 for a system using traditional CDMA with direct spreading. In a DRAKE
receiver, the tap weights are either 0 or i, which means simply that the correlation value from a particular tap is either added to s total or not;
also, in non-coherent DRAKE, the square magnitudes of the selected correlation values are summed, which obviates the need to align them in phase before summing. Accordingly, the weights can be applied either before or after the square magnitudes are determined. The main difference from the coherent receiver shown in FIG. 3 is that the set of complex multipliers 5 that apply the complex weights to respective complex correlation values is replaced by a squared-magnitude processor 15a followed by .
weighting with 0 or 1 in a weight processor 15b.
In FIG. 6, a suitable receiver/digitizer 11 amplifies, filters, demodulates, analog-to-digital converts, and finally buffers the in-phase and quadrature components of the received composite radio signal into streams of complex digital samples I, Q.
The sample streams I, Q are processed by a set 14 of correlators that compute the values of correlations of the sequence of signal samples with shifts of the receiver's spreading code sequence that are generated by respective ones of a set of local code generators.
Of course, one code generator arid suitable components for shifting the generator's code sequence can be used instead. For a multipath profile such as that shown in FIG. 1, the set 14 could comprise four correlators, one for each of four shifts of the spreading code, and the shifts of each code sequence would ideally correspond to the arrival times To - T~.
WO 94/26051 ~ ~ ~ ~ PCT/US94/04520 It will be understood that the signal sample streams I, Q may be. processed either serially or initially collected in a memory and provided in parallel to the correlators..
Because the code sequences are typically only real-valued, either scalar correlators can separately operate on the I, Q samples or half-complex correlators can simultaneously compute the correlations of the I, Q samples with the code sequence shifts. In addition, the correlation values may be averaged over a number of transmitted symbols to determine an average signal strength for the decoded signal. The squared magnitudes of the four complex correlation values for the four shifts of the spreading code are then computed from the in-phase (real part) and quadrature (imaginary,part) component .
samples by the squared-magnitude processor 15a.
The DRAKE multiplicative weighting coefficients are applied by the weight processor 15b to the squared magnitudes of the correlation values.
Because in a DRAKE receiver the weights are only o or 1, processor 15b can also be regarded as a tap selection device. .The four weighted magnitudes for the shifts of the spreading code are then combined by an adder 16. It will be appreciated that more or fewer than four shifts of each spreading code may be~
processed to handle other multipath profiles.
Setting selected ones of ~the~weights to zero as in a DRARE receiver eliminates the contribution of the respective correlation magnitudes from the output of the adder 16, and thus can be used to ignore rays that may have been deemed rarely to contain significant signal energy.
The sum of the weighted correlation magnitudes for the spreading code is provided to a comparator device 17 for identifying the transmitted symbol. For_a communication system employing block codes as spreading code sequences, the set 14 of correlators would advantageously include a sufficient number of correlators to process simultaneously all code sequences and their shifts, which would be produced by the local code generators. A set of a squared-magnitude processor, a weight processor, and an adder would be provided for each different spreading code sequence. The outputs of the adders for the set of spreading codes would be provided to the comparator device 17.
For a system using block codes, the output of the comparator device 17 is an index value representing the spreading code that produced the largest adder output. In a system using 128 Walsh-Hadamard orthogonal spreading codes, the comparator device 17 examines 128 adder outputs, yielding seven bits of information. Walsh-Hadamard codes are advantageous. because a~Fast Walsh Transform (FWT) processor, such as that described in commonly assigned U.S. Patent No. 5,357,454, can produce the 128 correlations for each shift of the spreading codes very rapidly. The comparator device 17 can advantageously be implemented by the maximum search processor described in commonly assigned U.S. Patent No. 5,187,675.
In the coherent RAKE receiver, the complex weights scale the correlation values to maximize the overall signal-to-noise-and-interference ratio, and z~39238 wo 9an6osi bring them into phase so that they are coherently added by the accumulator 6. Each complex weight is optimal when it is the complex conjugate of the mean of its respective correlation valve. It will be 5 understood that the very concept of "mean values implies that the underlying correlation value is static and only varies due to additive noise. Since at least the phase of each correlation (i.e., RQ(k)) varies due to relative motion between the receiver 10 and transmitter, a device such as a phase-locked loop is usually used to track correlation variations in order to maintain the correct weight angle. In addition, the magnitudes of the complex weights should also track correlation value variations due to 15 varying signal-reflection characteristics of the objects causing the echoes. .
In a CDMA system using 128 Walsh-Hadamard orthogonal spreading codes, a non-coherent RAKE
receiver expecting a four-signal multipath profile requires 1024 squaring computations to develop the squared magnitudes from the real and imaginary parts of the correlation values and 512 multiplications to apply the weights. For such a system and profile, a coherent RAKE receiver requires at least 2048 multiplications to apply the complex weights to the correlation values. From a processor hardware point of view, multiplication is generally more difficult than squaring.because mu1'tip~ication involves two input arguments rather than one. Therefore, a coherent RAKE receiver is typically more complicated than a non-coherent RAKE receiver.
~WO 94/26051 ~ ~ ~ ~ ~ ~ PCTlUS94/04820 SU~RY
In accordance with ~lpplicant~s invention, the complex weights used in the coherent RAKE receiver are coarsely.~Iuantized, i.e., the values of their real and imaginary parts are limited, such that .
multiplication can be implemented by appropriate digital shifting. For binary data processing, the weight values are advantageously limited to inverse powers of two. Applicant°s invention provides a simpler implementation of a coherent RARE receiver that has higher performance, but is less complex, than a non-coherent RARE receiver.
In one aspect, Applicant's invention encompasses a method for.decoding a CDMA signal comprising the steps of correlating at least two time shifts of a received signal against a spreading code and" .
weighting the results according to coefficients selected from a coefficient store. Tha time shifts correspond to a transmitted data symbol, the spreading coda and its complement correspond to different transmitted data symbols, and each coefficient has a sign and a value that is an integer power of two and corresponds to a respective time shift. The method further includes the steps of summing the results of the weighting step for each time shift in a respective accumulator, and determining a sign of the accumulator sums to decode the transmitted data sy~nbolr In another aspect of Applicants invention, an apparatus for decoding CDMA signals comprises means for correlating at least two time shifts of a received signal with a spreading code, the spreading code and its complement corresponding to different transmitted data symbols and the at least two time 213!~~38 shifts corresponding to a transmitted data symbol.
The apparatus further comprises means for weighting the correlations~according to respective ones of at least two coefficients, each coefficient having a sign and a value that is an integer power of two and corresponding to a respective time shift. The apparatus also comprises means for summing the weighted correlations for each time shift and means for determining a sign of the sum to decode the transmitted data symbol.
In other aspects of Applicant s invention, a method and apparatus further includes a step of or means for subtracting a waveform corresponding to the decoded transmitted data symbol from the received signal. In a further aspect of Applicant s invention, the method includes correlating at least two time shifts against at'least two spreading codes, the spreading codes corresponding to different transmitted signals, and summing the results of the weighting step for each time shift in a respective accumulator for each spreading code. In another aspect of Applicant s invention, the weighting coefficients used fox succeeding transmitted data symbols are based on previous correlation results and decoded transmitted data symbols. Yet other aspects of Applicant's invention are described below.
The performance of a quantized coherent RAKE
receiver in accordance with the invention is better -than that of a non-coherent RAKE receiver, and is almost as good as that of a conventional' coherent RARE receiver using non-quantized complex weights.
In addition, the quantized coherent RAKE receiver is less complex. than either conventional receiver --. ~139~38 because shifting operations are less complicated than -both squaring and multiplication operations.
HRIEF DESCRIPTION OF THE DRAIIINt38 The features and advantages of the invention will become apparent from reading the following detailed description in conjunction with the drawings in which:
FIG. 1 illustrates a received signal having main-path and echo components;
FIGS. 2A and 2B illustrate weights that might be applied to.=,a signal arriving at different times;
FIG. 3 is a block diagram of a conventional RAKE
receiver using post-correlator, coherent combining of different rays;
FIG. 4 illustrates a parallel approach to the computation of the correlation R(k);
FIG. 5 illustrates a serial approach to the computation of the correlation R(k);
FIG. 6 is a block diagram of a conventional non-coherent DRAKE receiver;
FIG. 7 is a block diagram of a quantized coherent RAKE receiver in accordance with Applicant's invention;
FIG. 8 shows a series of graphs illustrating how CDMA signals are generated;
FIGS. 9 and 10 show a series of graphs for illustrating how CDMA signals are decoded;
FIG. 11 shows a series pf graphs illustrating a subtractive COMA demodulation technique; and FIG. 12 is a partial block diagram of a RAKE
receiver for signals employing scrambling masks.
WO 94126051 - ~ a'CT/LTS94I04820 DETAILED DESCRIPTION
The following description is given in a context of a CDMA communication system using offset QPSR
(OQPSR) modulation and 128 Walsh-FIadamard orthogonal spreading codes, but it will be appreciated that the invention can be used with other communication schemes, including binary PSR using one spreading code.
A block diagram of a quantized coherent RARE
receiver 110 in'accordance with Applicant's invention is shown in FIG. 7. A receiver 111 appropriately amplifies, downconverts, and filters a received composite radio signal, and analog-to-digital converts the result. Digital I, Q samples of the in-phase and quadrature signal components are collected in a sample buffer memory 112. The timing of A/D
conversion and sample transfer into the buffer are coordinated with other receiver processes, such as carrier frequency synchronization, by means of a suitable timing generator 120. After 128 complex samples are collected in the buffer 112, the timing generator 120 enables an FWT processor 114 to compute .128 correlations with the contents of the sample buffer.
Using the exemplary OQPSR modulation, alternate chips of~the spreading code appear shifted 90 degrees compared with those in between, e.g., even chips may appear in the I channel and odd chips in the Q
channel. Accordingly, a systematic 90-degree pre-rotation of the phase may be applied to align the phase.of odd chips with those of even chips. A known method is to apply a systematically increasing rotation of 0, 90, 180, 270, 360 (= 0), 90, 180, . .~. degrees to sequentially received complex samples spaced one chip apart, equivalent to a frequency shift of 1/4 the chip rate. Considering only the even chips, for example, it will be appreciated that the even chips have suffered a 5 systematic rotation of alternately 0, 180, 0, 180, . . . degrees, which means~every alternate even chip has been inverted, as has every alternate odd chip.
This, however, is compensated at the transmitter by the process known as "precoding," which essentially to inverts every alternate even and odd bit upon modulation such that, after the receiver's systematic pre-rotation, the chip polarities will once more be those of the intended chip sequence.
Despite the above described measures used to 15 align even and odd chips into the same phase plane, the unknown phase due to radio propagation across a distance of millions of wavelengths means that this phase plane may be the real plane, the imaginary plane, or anywhere in between. Accordingly, the FWT
20 processor 114 must correlate both the real and imaginary parts of the signal to guarantee that all received signal energy is encompassed.
The FWT processor 114 advantageously employs serial arithmetic internally as disclosed in U.S.
Patent No. 5,357,454. Such a FWT processor efficiently processes M binary input values presented serially, least significant bit ("LSB") first, on M
respective conductors or inputs. It will be appreciated that two 128-point FWT processors may be provided for computing in parallel the complex correlations' real parts (from the in-phase samples) and imaginary parts (from the quadrature samples). On the other hand, one 128-point FWT processor may be ~13~238 provided for computing the real and imaginary parts sequentially if processing time allows.
The FW'~ processor's use of serial arithmetic facilitates the application of complex RAKE weights ' in accordance with Applicant's invention. If the weight values are quantized to inverse powers of two, the correlation values can be scaled simply by suitably delaying use of the serial bit stream produced by the FWT processor 114. Delaying the use of the FWT processor's output_bit stream by one bit has the effect of multiplying the correlation values by one-half; delaying use of the output by two bits "multiplies" by one-quarter; and so on. Thus, for example, to divide by 2, the first bit to emerge (the least significant bit) is not used. The next bit to emerge is then used as the least significant,"and so forth until the last.bit has emerged. The last bit to emerge is then held and re-used as a sign extension bit until the required number of output 2o bits has been used. These delays can be easily effected by the timing unit 120's issuing clock pulses to the FWT processor 114 and buffer memory 112 at appropriately different times.
In addition, it will be appreciated that the timing unit can selectively delay the clock pulses by a first amount to implement the appropriate weight values for the correlations' real parts and then selectively delay the clock pulses by a second amount to implement different weight values for the correlations~ imaginary parts.
It will be noted that correlation values on taps having smaller coefficients may be determined first, and the parts of the FWT.hardware for real and imaginary parts can be switched to determine - _ 23.~923~
correlation values~on different buffer shifts. For example, if tap/shift 1 has real coefficient 1 and imaginary coefficient 1/4 and tap/shift 3 has real coefficient 1/4 and imaginary coefficient 1/2, it may be practically advantageous first to have the real FWT determine tap 3 at the same time as the imaginary FWT determines tap 1. In that wary, the taps with coefficients 1/4 are used first. These are .
added into the accumulators, and then the FWTs for coefficients 1/2 are determined. Since the latter determinations must be added into the accumulators with double the significance of the former determinations, delaying the serial bit streams (or advancing recirculating accumulator contents to discard the least significant bit) is appropriate.
This modification of the currently preferred .
implementation can be practically advantageous.
Scaling profiles, i.e., the weights,~for each correlation's real and imaginary. parts may be imposed 2o by using parameters stored in a coefficient memory 115a to control f sign changes imposed by a sign changer 115b. The sign changer 115b may, for example, be a combination of an inverting gate and a selection switch that selects either the gate's output stream or its input stream according to whether or not a sign change is desired. Such a combination.may also simply be implemented by an e.
exclusive-oR gate. ~. . _ The scaled and sign-changed correlation values are bitwise summed in 128 accumulators 116, each accumulator being dedicated to a respective FWT
output point and advantageously comprising a bit-serial adder 116a and a recirculating bit-serial memory 116b. Thus, scaling occurs before the 2.39238 correlations are fully developed, i.e., as the correlation values are serially produced.
It will be noted that the embodiment of the sign changer 115b described above does not produce an exact two's complement negation of values, since two's complement negation is actually performed by complementing the bits and then adding 1 to the complemented value. However, since the."add 1"
operation is performed at an LSB, it can often be neglected if the word length (precision) is adequate without it. Alternative ways of dealing with rounding such as this, and such as in the case of discarding of the LSB in the '°delay'~ procedure above, are to preset the carry flip-flop of the bit-serial adder 116a to 1 when negating, or presetting to 1 when dividing if the discarded LSB is a 1. .
The contents of the sample buffer 112 are then time-shifted one.or more samples according to the delay of the next ray, and the FWT processor 114 computes correlations as described above using the shifted samples. These correlations are scaled and sign-changed according to their own corresponding coefficients retrieved from the coefficient memory 115a. In this way, sets of 128 complex correlations are computed for a plurality of shifts of the received samples, i.e., for a plurality of rays.
In accordance with Applicant's invention, the real and imaginary parts of the correlation values from each RARE tap are weighted by values selected from the series ~1, ti/2, t1/4, . . . according to their relative importance and sign, as determined by observing their mean values over a period longer than one information symbol. The currently preferred implementation, although only exemplary, is one in ~~3923~
WO 94/26051 P~TT/IJS94104820 which information symbols consist. of groups of seven bits used to select one of 128 orthogonal 128-chip codewords for transmission. The signal received at the receiver is sampled at least once per chip and the samples are fed sequentially to a buffer store containing at least 128-chip's worth of samples.
The FWT processor processes 128 samples from the buffer taken one chip apart to produce 128 correlation values corresponding to the 128 possible transmitted codewords. These 128 values are the correlations from one RARE tap corresponding to the particular shift of the received data samples plucked from the buffer. The 128 real values are subject to weighting by the quantize3 coefficient determined for 1,5 the real part of that tap and weighted values accumulated in 128 accumulators 116 respectively.
Likewise the 128 imaginary values are weighted by the quantized coefficient determined for the imaginary part of that tap and accumulated in the 128 accumulators. Upon receipt of another signal sample, it is then shifted into the buffer and the oldest sample in the buffer falls outside the FWT 128-chip window. The.butfer memory should thus be large enough to contain the number of signal samples corresponding to 128+L chips, where L is the number of RARE taps. The FWT then produces 128 further correlations using the new shift of samples in the buffer corresponding to a d3~,fferent RAKE tap, and the real and imaginary parts of those are weighted with the quantized coefficients determined for that tap before accumulation.
After all desired RAKE taps have been processed in the above way, the 128 accumulators contain the sum of the weighted correlations from each tap.
' Determining the largest of these indicates the most likely codeword transmitted, yielding seven bits of information. The largest of accumulators 116 is determined by magnitude comparator device 117, which 5 may operate according to the invention disclosed in U.S. Patent No. 5,187,675.
Having determined the transmitted codeword in this way, the correlation with that codeword from each RAKE tap is selected, either by remembering the to original correlations in a memory and then accessing it, or by reprocessing each buffer shift again but this time with the need to calculate only one correlation value per shift corresponding to the decided codeword. The real and imaginary parts of 15 each correlation are then separately averaged by a coefficient computer and quantizer 130, which provides an averager for each candidate RARE tap, and the average values are used in determining the quantized weighting coefficients for each tap that 20 are to be used for accumulating correlation values to decode the next transmitted symbol.
For example, assume that the averagers for a set of RAKE taps produce the values in the table below.
The appropriate guantized weighting coefficients 25 determined by the computer and quantizer 130 for the next transmitted symbol might then be as shown in the rightmost column.
TAP TAP AVERAGE QUANTIZED COEFFICIENT
REAL IMAG REAL IMAGINARY
1 0.9 -0.1 1 0 2 -0.71 0.69 -1 1/2 3 0.28 -0.6 1/4 -1/2 4 0.13 -0.22 O -1/4 WO 94126051 PCT/fJS94/04820 The averagers implemented in the~computer and quantizer 130 to produce the tap averages may operate according to any one of a number of known methods, such as block moving averaging, exponential forgetting, or Ralman,filtering. The latter, which is the currently preferred.method, operates by predicting a next value using a time-derivative estimate, using the.predicted value as the tap average to determine the quantized coefficients as illustrated above, using the coefficients to combine the taps and decode a codeword,~.then correcting the .
prediction and the time derivative estimate when the correlation value with the decoded codeword is available. The preferred Ralman filter may also advantageously compute an estimate of the time-derivative of tap phase, that is a frequency'error, in order to better predict the complex value.of the next correlation by applying the phase rotation anticipated over a symbol period to the previous, corrected prediction in order to obtain the next prediction. This may be done in addition to using real and imaginary time-derivatives to anticipate the new real and imaginary values one symbol~period later. A ~teighted average over all taps of their corresponding phase derivatives is,also a good ,, indication of signal frequency error due to transmitter and receiver oscillator errors, and can be used to apply a compensating anti-rotation to received signal samples as a form of Automatic Frequency Control (AFC), and/or to correct the receiver's reference frequency oscillator.
It will be appreciated that~averaging the correlation values over a~number o! transmitted symbols determines the average signal~strength because the information is carried by the orthogonal Walsh block cadewords, not by sign reversals of a spreading code~sequence. Accordingly, correlations with all possible codes are formed and the largest correlation determined. The value of the largest correlation, assuming a correct decision was made and noise did not cause a symbol error, is the same from block to block, irrespective of the underlying seven information bits, and varies only relatively slowly in phase and amplitude at the channel fading rate.
For example, if the channel results in a received signal amplitude of 0.32 with a phase of 45 degrees and~code C4 is transmitted, then 0.32~(cos(45j+j~sin(45jj~C4 is received and that complex value pops up in bin 4 of the FWT. If code C97 is next transmitted and the channel has changed slightly so that the zeceived signal has an amplitude of 0.29 with a phase of 53 degrees, then the complex value 0.29~(cos(53j+j~sin(53jj~C97 pops up in bin 97 of the FWT. Averaging the values from the largest FWT bins yields the following: .
X~= (0.32~cos(45j + 0.29~cos(53jj/2 Yes= (0.32~sin(45j + 0.29~sin(53jj/2 which are the proper mean. values.
It will be recognized that when binary signalling is used, it is necessary to remove the inversion or modulation caused by the information ..
before averaging. For example, in a system using binary PSK modulation, the information is carried by sign reversals of a single spreading code sequence according to the values of the data bits; the spreading code and its complement correspond to different respective transmitted data symbols. The sign of the one correlation value yields the decoded binary data bit. Thus, the coefficient computer and quantizer 130 removes the binary PSK modulation before averaging by, for example, using the output of the RARE combiner (i.e., the output of the magnitude comparator 117) as a best estimate of the sign of the data modulation, and then re-inverting the correlation value from each RAKE tap accordingly before averaging the correlations.
A better alternative is for the computer and 1o quantizer 130 to use the output of the RAKE combiner as "soft" bit values in an error correction decoding process. The computer and quantfzer 130, which would thus be equivalent to a convolutional decoder, would then use the corrected bits, which are much more likely to be right, to undo the phase and/or amplitude changes caused by the data modulation before averaging the RAKE tap values. This implies a delay for a data bit to propagate sufficiently far through the error correction decoder to become more or less "firm," so the RAKE tap values have to be saved in a buffer of length equal to this delay for averaging after the data bits are determined. As long as this delay is small compared with the rate at which the channel changes due to fading, no problem arises.
The functions of the coefficient computer and quantizer 130 are described in additional detail below.
The quantized coherent RAKE receiver 110 advantageously operates with subtractive CDMA demod-ulation as described in commonly assigned U.s. Patent No. 5,151,919 and U.S. Patent No. 5,218,619. In the systems described in these applications the real and imaginary parts of the largest correlation are set to zero, thereby removing the signal just detected, and inverse transforms are performed to return samples to the buffer memory from which the signal just detected has been subtracted.
The forward correlation process is then repeated.
FIGS. 8-10 set forth example waveforms in the coding and decoding processes involved in traditional CDMA
systems. Using the waveform examples from FIGS. 8-10, the improved performance of a subtractive CDMA
demodulation technique is illustrated in FIG. 11.
Two different datastreams, shown in FIG. 8 as signal graphs (a) and (dj, represent digitized information to be communicated over two separate communication channels. Information signal 1 is modulated using a high-bit-rate, digital code that is unique to signal 1 and that is shown in signal graph (b). The result of this modulation, which is essentially the product of the two signal waveforms, is shown in the signal graph (c). In Boolean notation, the modulation of two binary waveforms is essentially an exclusive-oR operation. A similar series of operations is carried out for information signal 2 as shown in signal graphs (d)-(f). In practice, of course, many more than two coded information signals are spread across the frequency spectrum available for cellular telephone communications.
Each coded signal is used to modulate a radio frequency (RF) carrier using any one of a number of modulation techniques, such as QPSK. In a cellular telephone system, each modulated carrier is transmitted over an air interface. At a radio _ 2~.39~38 ' WO 94126051 PCTlUS94104820 . ~ i receiver, such as a cellular base station, all of the .
signals that overlap in the allocated frequency bandwidth are received together. The individually ' coded signals nre added, as represented in the signal 5 graphs (a)-(c) of FIG. 9, to form a composite signal waveform (graph (c)).
After demodulation of the received signal to the appropriate baseband frequency, the decoding of the composite signal takes place. Information signal 1 10 may be decoded or despread by multiplying the received composite signal shown in FIG. 9(c) with the unique code used originally. to modulate signal 1 that is shown in signal graph (dj. The resulting signal t is analyzed to decide the polarity (high or low, +1 15 or 1, "1" or "0"j of each information bit period of the signal. The details of how the receiver's code .
generator becomes time synchronized to the transmitted code are known in the art. i . These decisions may be made by taking an average 20 or majority vote of the chip polarities during each i bit period. such "hard" decision making processes a are acceptable as long as there is no signal .ambiguity. For example, during the first bit period in the signal graph (fj, the average chip value is .
25 +1.00 which readily indicates a bit polarity +1.
Similarly, during the third bit period, the average chip value is +0.75, and the bit polarity is also most likely a +1. Howe~ier,~in the second bit period, the average chip value is zero, and the majority vote .
30 or average test fails to provide an acceptable polarity value. .
'In such ambiguous situations, a "soft" decision making process must be used to determine.the bit polarity. For example, an analog voltage 2.39238 WO 94126051 PCTIUS94l04820 proportional to the received signal after despreading may be integrated over the number of chip periods corresponding to a single information bit. The sign or polarity of the net integration result indicates -that the bit value is a +1 or 2.
The decoding of signal 2, similar to that of signal 1, is illustrated in the signal graphs (aj-(dj of FIG. 10. ~iowever, after decoding, there are no ambiguous bit polarity situations.
l0 In contrast to conventional CDMA, an important aspect of the subtractive CDMA demodulation technique is the recognition that the suppression of friendly-CDMA signals is not limited by the processing gain of the spread spectrum demodulator as is the case with the suppression of military type jamming signals. A
large percentage of the other signals include~Q in a received, composite signal are not unknown jamming signals: or environmental noise that cannot be correlated. Instead, most of the noise, as defined 2o above, is known and is used to, facilitate decoding the signal of interest. The fact that the characteristics of most of these noise signals are known, including their corresponding spreading codes, is used in the subtractive CDMA demodulation technique to improve system capacity and the accuracy of the signal decoding process. Rather than simply decode each information signal from the composite signal, the subtractive CDMA,demodulation technique -also removes each information signal from the composite signal after it has been decoded. Those signals that remain are decoded only from the residual of the composite signal. Consequently, the already decoded signals do not. interfere with. the decoding of the remaining signals.
r... .
WO 94/26051 ~ ~ 3 9 2 3 8 PC7CILTS94/04820 For example, in FIG. 11, if signal 2 has already been decoded as shown in the signal graph (a), the coded foran~of signal 2 can be reconstructed as shown .
in the signal graphs (b) and (c) (with the start of the first bit period of the reconstructed datastream for signal 2 aligned with the start of the fourth chip of the code for signal 2 as shown in FIG. 8 signal graphs (dj and (e)j, and subtracted from the composite signal in the signal graph (d) (again with the first chip of the reconstructed coded signal 2 aligned with the fourth chip of the received composite signal) to leave coded signal 1 in the .
' signal graph (e). This is easily verified by comparing signal graph (e) fn FIG. li with signal graph (c) in FIG. 8 (truncated by removing the first three and the very last chip). Signal 1 is .
recaptured easily by multiplying the coded signal 1 with code 1 to reconstruct signal 1. Note that because the bit periods of datastreams for signals 1 and 2 are shifted relative to one another by 2 chips there are only six +1 chips in the first bit period of the recaptured signal 1 shown in FIG. li signal graph (fj. It is significant that while the conventional CDMA decoding method was unable to determine whether the polarity~of the information bit in the second bit period of signal 1 was a +1 or a 1 in signal graph (f) of FIG. 9, the decoding method of the subtractive CDMA demodulation technique effectively resolves that ambiguity simply by 3o removing. signal 2 from the composite signal.
As described above, the re-calculation of correlations by the FWT processor 114 on different shifts of the sample buffer and the successive subtraction of the correlations of the detected signals are preferably done in order of correlation strength from strongest to weakest. During this process, the quantized coherent RAKE receiver 110 shown in FIG.. 7 recomputes the correlations of the .5 component deemed to be greatest, end the result is transferred from the comparator device 117 to the RAKE coefficient computer and quantizer 130, which is described in more detail below.
It will be appreciated that the quantized coherent RAKE receiver 110 can advantageously be used in communication systems in which Walsh-Hadamard spreading codes are modified by the bit-wise modulo-2 addition of predetermined scrambling bit patterns.
Such systems are described in commonly assigned PCT
Patent No. W093/21709, for "Multiple Access Coding for Mobile Radio Communications", FIG. 12 shows a portion of the RAKE receiver shown in FIG. 7 with the additional components needed for operation with scrambling bit patterns, or scrambling masks, having the properties described in the above-cited patent application. These scrambling masks are advantageously stored as a look-up table in a RAM or ROM memory, for example, from which a particular mask is retrieved by supplying its associated address. While described in terms of a memory look-up table, it will be appreciated that a suitable code generator,~'such as a digital logic circuit or microcomputer, that produces on-line the scrambling masks indicated by selection control input signals may also be used.
The composite signal received by an antenna is provided to a receiver demodulator llla that '' WO 94IZ6051 ~ ~ 3 9 2 3 8 pCTIUS94/04820 demodulates received serial samples of the composite signal. A serial-to-parallel converter llib converts the serial samples into parallel blocks of signal samples (which may be complex, corresponding to in-s phase and quadrature signal components). The order in which each information signal is decoded in the receiver is determined by the receive scrambling mask selection address b~ or ba applied to a scrambling mask memory 140. The parallel samples buffered in the serial-to-parallel converter 111b are bitwise exclusive-ORed or modulo-2 added to the scrambling .
mask retrieved lrom the memory 140 by an N-bit adder 150. If the received samples are complex, different scrambling masks could be used for the in-phase and quadrature components. The descrambled signals are then decoded by the remainder of the RAKE receiver, including the FWT circuit 114, as described above.
In such a system, source information, e.g., speech, is converted to blocks of M (or M+1) binary 20~bits, and these bit blocks are encoded with error .
correcting orthogonal (or bi-orthogonal) block codes.
The orthogonal 2"-bit block codewords are scrambled by modulo-2 N-bit addition of a scrambling mask that may be retrieved from a look-up table in a memory.
In the case of ideal scrambling masks, there may be either n"=N'a or ne=N/2 scrambling masks, depending on which method was used to generate the scrambling mask set. Thus, the number cf b~.ts needed to address each mask from the memory is ether b,,=log=(np) or bB=log=(nD) , and by transmitting the b~ bit or ba-bit scrambling mask selection address associated with a particular scrambling mask to the memory, that mask is retrieved from storage and modulo-2 added to the block coded signal.
The ability selectively to address and retrieve a specific scrambling mask becomes important in determining the order in which signals are decoded from a received composite signal. For example, if 5 stronger coded information signals are decoded first and removed from the composite signal before weaker signals are decoded, the scrambling masks must be ordered by the signal strength of their associated, coded information signals. In CDMA subtractive to demodulation according to the patent and patent application above, the scrambling mask corresponding to the strongest information signal would be selected for decoding. After that signal is removed, the scrambling mask corresponding to the next strongest information signal is selected and so forth until the weakest signal is decoded.
The RAKE coefficient computer and quantizer 130 determines, from the sequence of selected complex correlation values presented to it by the comparator 117, the mean value and trend of the real and imaginary transform components. These are used by the computer 130 to predict the values that will occur in the next analysis period, and thereby the weights that should be retrieved from the coefficient memory 115a. Thus, the receiver 110 can adapt to changing multipath conditions. The computations carried out by the computer 130 generally require a digital signal processor such as a model TMS320C50 available from Texas Instruments.
The predicted values are preferably normalized to the magnitude of the largest, which is assigned the value ~1; the remainder are quantized as follows:
if magnitude > 0.7, then quantize to ~1;
CVO .94126051 - PCT/US94/04820 if 0.35 < magnitude < 0.7, then.quantize to t 0.5;
if 0.175 < magnitude < 0.35, then quantize to t 0.25; and , if magnitude < 0.175, then quantize to 0Ø
Thus, predicted transform values are coarsely ., quantized to preferably four levels.
The computer 130~s prediction of the correlation values for the next analysis interval from previous to values can, in the simplest case, just involve predicting that'the next values will be..the same as the previous values.
In cases where the correlations are changing slowly, a better prediction is that the future correlatiQns will be a running average of corresponding previous values; the running average .
can be developed from previous values in a moving window of predetermined width, either with equal weights or with exponentially decreasing weights for older results (the latter is sometimes called "exponential forgetting"). Letting Z(i) stand for a complex correlation at time instant i and $(i) stand for the running average at time instant i of previous complex correlations, a suitable prediction for the next running average is given by the following expression:
g(i+1) ='?e(i) + (Z (i) - ?~e(ij ) /4 This expression has exponential forgetting over a running window of four correlation intervals. For a.
4x128-chip interval, exponential forgetting is appropriate so long as signal amplitude and phase changes due to fading are not excessive over this interval.. Fading rates ara related to Doppler shifts and these lie in the spectral range of about 0-100 Hz ~13~~3~
WO 94/26051 ~ PCT/US94/04820 for legal vehicle speeds and radio frequencies araund 1 GHz. Consequently, the 4x128-chip interval could span 1/4 of a cycle at the highest Doppler shift, or 1/4~10 ms ~ 2.5 ms. This suggests that one 128-chip period should.be shorter than 0.625 ms, corresponding to a chip rate of greater than 200 RB/s. The chip rate in a preferred implementation is 270.8333 KB/s, meeting the above criterion.
In cases where the correlations are changing l0 more rapidly, e.g., when the propagation path is rapidly varying, the future-correlation values are better predicted using the trend or time derivative of the correlation. The trend can be advantageously developed by using the measured correlation Z(i) to correct the previous prediction g(i) and its derivative g'(i) according to the following expressions:
Tra«(i) = Tc(i) + a(Z(i) - ?s(i) ) ,~,~ (i) _ ~~ (i) + b(Z(i) - ~(i) ) where a and b are suitable coefficients. The corrected values ,~,(i) and ~,~ (i) are then used to develop the prediction ,~(i+1) according to the following expression:
g(i+1) _ .Z~(i) + y~,~ (i) dT
where dT is the time difference between predictions.
By suitable choice of the coefficient b, dT can be taken as unity or an inverse power of two, thereby ,, advantageously avoiding a rel'~tively time-consuming multiplication.
3o The coefficients a and b are found by applying known Kalman filter theory. General aspects of Ralmmn-type estimators are described in the literature, e.g., H. Vanhandingham, introduction to ni~it~i Control Systems, ch. 8 "Observability and WO 94126051 ~ ~ ~ 3 ~ PCT/US94104820 State Estimator~Design", Macmillan Publishing Co., New York (9.985j.~ The coefficients a, b are derived from the Kalman filter formulation as follows.
het A(.i) _ ~Z(i) 1 be a 2-element complex column Z (i)~
vector of the quantity Z that is to be estimated, and its time derivative Z~. The index i refers to current best estimates. The-next values of A(i+1), Z(i+ij and Z~(f+1) can be anticipated from the previous estimates before any new information is l0 received by means of:
.Z(i+1) ~ Z(i) + Z~ (i) ~dT
Z~(i+1) = Z~(i) which states that Z(i) is predicted dT forward using the derivative estimate, but the derivative estimate remains the same as we have no second derivative estimate with which to make a better prediction.
These equations can be written as follows:
A(i+ij s (1 dT, ~A(ij . ~e matrix ~~ 1T1 will be lO l1 designated by the symbol W, which then represents the systematic expected change of A even if no further information were to be received.
According to Kalman filter theory, ~an inverse ,, covariance matrix P, in this!' case a 2x2 matrix of complex coefficients, is also predicted from its previous value, the process having been initiated with P large and. diagonal. P(i+1) is predicted from P(i.j according to the following matrix expression:
P(i+1) = W P(i) W + Q
~~.89238 where # means complex conjugate transpose and Q is a constant matrix, usually diagonal, that determines how~fast the process can track changes. Also, the ' value of the.next observation to be made U(i+i) (i.e.~, the next correlation value to be computed) is predicted assuming it is a function of the next A
values from the following expression:
U(i+1) = F(A(i+1)).
3n the case in point, the value to be observed is just Z(i+1) so the function F is simply O(i+1) = 1~Z(i+1) + 0~Z~(i+1) s (1~0)~A(i+1) The vector (l,Oj in its column vector form is assigned the symbol X and is the gradient vector of U
with respect to the vector A.
The indexing notation using i can be dropped for .
brevity as it is implicit that new values on the left hand side are calculated using previous values on the right hand side, yielding the following expressions:
Predict: P = W ~P~W + Q
A ~ W.A
W = ~~A
The prediction of U is now compared with the next observation (i.e., the next correlation value, that 25~is, the actual Z(i+1)), and a prediction error E
computed from the following expression:
E = U ~ Z"~ .
The predictions are now corrected using the following:
A = A ~ P~X~E (1) P=P-pxx~~p ~l+Xt.px~
~~.3~2~8 The foregoing equation (1j may be compared with the equations for updating Z and Z~ using coefficients a and b. In fact, these equations in terms of the ' vector A areas follows:
5 ~ A A - a ~ ~ E, showing that ~ b ~ equates to s b P~X.
The elements of P diminish on each iteration, corresponding to each correlation having a reduced effect on the average prediction as more correlation 10 values are taken into account. The addition of the Q
matrix, however, prevents P from going to zero and so determines how large an effect the most recently received values ultimately have, i.e., the rate at which changes will be tracked.
15 Noting that the sequence of P value calculations does not involve any unknown or noisy received quantities, but only the constant matrices Q
and X, the sequence of P values and the value to which P finally converges can be calculated once and 20 for all during design. The final value of P~X gives a 2-element vector that contains the desired coefficients a and b. The calculation of P values may then be dispensed with and the entire calculation reduces to the previously given formulae using the 25 now determined values of~ a and b. This is known as the "final Ralman" solution.
Thus, the coefficients are obtained from the final values of the Kalman gain matrix after running the Kalman algorithm long enough for the gain 30 matrix to converge to constant values. These final values may also usually be coarsely quantized, for example to an inverse power of two, to permit easy ' ~~.~~~~g implementation by shifts or delays and avoid relatively more complicated multiplications.
It is, of course, possible to embody the invention in specific forms other than those described above without departing from the spirit of the invention. The embodiments described above are merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents which fall within the~range of the claims are intended to be embraced therein.
samples and a range of Q samples corresponding to the same ray. If M(k,n) = Mt(k,n) + jMQ(k,n) is the multiplexer output for ray k, giving N samples (n = 0, ... N-1), then M(k,n) = X(n+k) and Mt(k,n) = I(n+k) and MQ(k,n) = Q(n+k) .
The complex correlator 4a correlates the range of data samples from the multiplexer 3 to the known spreading code sequence. Consider data samples X(k), X(k+1), ... X(k+N-1), which are discrete time samples .
of the received data. If the receiver is trying to detect a code sequence C(0), C(1), ... C(N-1), which consists of N values (usually ti values), the correlator 4a correlates some set of N data values with the N code sequence values as follows:
R(k) =X(k) C(0) +X(k+1) C(1) +. . . +X(k+N-1) C(N-1) _~ X(n+k) C(n) t~~0 where the index k indicates where to start in the data sequence. This corresponds to a relative time -of arrival of the signal, and as described above different arrival times correspond to different signal rays. Thus, ray k corresponds to a range of data values needed: ~X(k), X(k+1), ... X(k+N-1)}. If N is large, rays k, k+1 correspond to ranges that substantially overlap.
Z~39~3~
WO 94/26051 ~ PCT/US94/04820 The computation of R(k) can be performed by accessing the input data range in parallel or serially. Whether the correlation is performed in , parallel or serially, each data value X(nj consists 5 of b bits, which can be accessed and used all at once (parallel computationj~or one at a time (bit serial approach).
FIG. 4 illustrates a parallel approach. A data buffer 53 stores consecutive time samples, X(nj, of 10 the received signal, and a multiplexes 5~ selects a range of N data values, ~X(kj, X(k+ij, ... , X(k+~ijy , which are sent to a correlator 55. A
group of multipliers 56, which corresponds to the inputs to the correlator 55, multiplies the data, values by corresponding spreading code sequence values C(Oj, C(i), ... C(N-ij. The products are .
summed by an adder 57 to fona the correlation value R(kj .
FIG. 5 illustrates serially accessing the input range to compute R(kj. An input buffer 58 stores the received data samples. The buffer 58 may be only one sample long because only one sample will be correlated at a time. If the buffer 58 is more than one sample long, a multiplexes 59 would be provided to select a particular sample, X(k+ij, where i is determined by a suitable control processor 60. The sample stored or selected is sent to a correlator 61, which computes the product of the sample X(k+ij with one element, C(ij, of the code sequence using a 30_multiplier 62. This product is combined by an adder 63 with the contents of an accumulator 64 that stores accumulated past products. The contents of the accumulator 6~ is originally set to zero, and i is stepped from 0 to N-1, allowing the accumulation of N
_239238 il products. After 3~t products have been accumulated, the contents of the accumulator.64 is output as the correlation value R(k).
' Referring again to FIG. 3, regardless of the correlation approach used, the correlator 4a for ray k correlates the multiplexes output M(k,n) against the real code sequence C(n), producing a complex correlation value R(k) = RI(k)+jRQ(k) where:
m R (k) _~ M(k; n) C(n) n~0 and where:
m Rr(k) _~ I(n+k) C(n) a~o and where:
~ws RD(k) _~ Q(n+k) C(n) a~o The correlation values are multiplied by the complex weights W(k).= WI(k) + jWQ(k), and the results are accumulated into the decision statistic, Z, which is given by:
Z= ~ Re(W(k)R'(k))= ~ ~WZ(k)RZ(k)+Wo(k)RD(k) rtel.e.~e wua.e.~e The quantity Z is then thresholded in the threshold device 7 to determine whether a "-1" or a "+1" was sent.
" ~ 2:~39~38 FIG. 6 illustrates the general arrangement of a non-coherent DRAKE receiver 10 for a system using traditional CDMA with direct spreading. In a DRAKE
receiver, the tap weights are either 0 or i, which means simply that the correlation value from a particular tap is either added to s total or not;
also, in non-coherent DRAKE, the square magnitudes of the selected correlation values are summed, which obviates the need to align them in phase before summing. Accordingly, the weights can be applied either before or after the square magnitudes are determined. The main difference from the coherent receiver shown in FIG. 3 is that the set of complex multipliers 5 that apply the complex weights to respective complex correlation values is replaced by a squared-magnitude processor 15a followed by .
weighting with 0 or 1 in a weight processor 15b.
In FIG. 6, a suitable receiver/digitizer 11 amplifies, filters, demodulates, analog-to-digital converts, and finally buffers the in-phase and quadrature components of the received composite radio signal into streams of complex digital samples I, Q.
The sample streams I, Q are processed by a set 14 of correlators that compute the values of correlations of the sequence of signal samples with shifts of the receiver's spreading code sequence that are generated by respective ones of a set of local code generators.
Of course, one code generator arid suitable components for shifting the generator's code sequence can be used instead. For a multipath profile such as that shown in FIG. 1, the set 14 could comprise four correlators, one for each of four shifts of the spreading code, and the shifts of each code sequence would ideally correspond to the arrival times To - T~.
WO 94/26051 ~ ~ ~ ~ PCT/US94/04520 It will be understood that the signal sample streams I, Q may be. processed either serially or initially collected in a memory and provided in parallel to the correlators..
Because the code sequences are typically only real-valued, either scalar correlators can separately operate on the I, Q samples or half-complex correlators can simultaneously compute the correlations of the I, Q samples with the code sequence shifts. In addition, the correlation values may be averaged over a number of transmitted symbols to determine an average signal strength for the decoded signal. The squared magnitudes of the four complex correlation values for the four shifts of the spreading code are then computed from the in-phase (real part) and quadrature (imaginary,part) component .
samples by the squared-magnitude processor 15a.
The DRAKE multiplicative weighting coefficients are applied by the weight processor 15b to the squared magnitudes of the correlation values.
Because in a DRAKE receiver the weights are only o or 1, processor 15b can also be regarded as a tap selection device. .The four weighted magnitudes for the shifts of the spreading code are then combined by an adder 16. It will be appreciated that more or fewer than four shifts of each spreading code may be~
processed to handle other multipath profiles.
Setting selected ones of ~the~weights to zero as in a DRARE receiver eliminates the contribution of the respective correlation magnitudes from the output of the adder 16, and thus can be used to ignore rays that may have been deemed rarely to contain significant signal energy.
The sum of the weighted correlation magnitudes for the spreading code is provided to a comparator device 17 for identifying the transmitted symbol. For_a communication system employing block codes as spreading code sequences, the set 14 of correlators would advantageously include a sufficient number of correlators to process simultaneously all code sequences and their shifts, which would be produced by the local code generators. A set of a squared-magnitude processor, a weight processor, and an adder would be provided for each different spreading code sequence. The outputs of the adders for the set of spreading codes would be provided to the comparator device 17.
For a system using block codes, the output of the comparator device 17 is an index value representing the spreading code that produced the largest adder output. In a system using 128 Walsh-Hadamard orthogonal spreading codes, the comparator device 17 examines 128 adder outputs, yielding seven bits of information. Walsh-Hadamard codes are advantageous. because a~Fast Walsh Transform (FWT) processor, such as that described in commonly assigned U.S. Patent No. 5,357,454, can produce the 128 correlations for each shift of the spreading codes very rapidly. The comparator device 17 can advantageously be implemented by the maximum search processor described in commonly assigned U.S. Patent No. 5,187,675.
In the coherent RAKE receiver, the complex weights scale the correlation values to maximize the overall signal-to-noise-and-interference ratio, and z~39238 wo 9an6osi bring them into phase so that they are coherently added by the accumulator 6. Each complex weight is optimal when it is the complex conjugate of the mean of its respective correlation valve. It will be 5 understood that the very concept of "mean values implies that the underlying correlation value is static and only varies due to additive noise. Since at least the phase of each correlation (i.e., RQ(k)) varies due to relative motion between the receiver 10 and transmitter, a device such as a phase-locked loop is usually used to track correlation variations in order to maintain the correct weight angle. In addition, the magnitudes of the complex weights should also track correlation value variations due to 15 varying signal-reflection characteristics of the objects causing the echoes. .
In a CDMA system using 128 Walsh-Hadamard orthogonal spreading codes, a non-coherent RAKE
receiver expecting a four-signal multipath profile requires 1024 squaring computations to develop the squared magnitudes from the real and imaginary parts of the correlation values and 512 multiplications to apply the weights. For such a system and profile, a coherent RAKE receiver requires at least 2048 multiplications to apply the complex weights to the correlation values. From a processor hardware point of view, multiplication is generally more difficult than squaring.because mu1'tip~ication involves two input arguments rather than one. Therefore, a coherent RAKE receiver is typically more complicated than a non-coherent RAKE receiver.
~WO 94/26051 ~ ~ ~ ~ ~ ~ PCTlUS94/04820 SU~RY
In accordance with ~lpplicant~s invention, the complex weights used in the coherent RAKE receiver are coarsely.~Iuantized, i.e., the values of their real and imaginary parts are limited, such that .
multiplication can be implemented by appropriate digital shifting. For binary data processing, the weight values are advantageously limited to inverse powers of two. Applicant°s invention provides a simpler implementation of a coherent RARE receiver that has higher performance, but is less complex, than a non-coherent RARE receiver.
In one aspect, Applicant's invention encompasses a method for.decoding a CDMA signal comprising the steps of correlating at least two time shifts of a received signal against a spreading code and" .
weighting the results according to coefficients selected from a coefficient store. Tha time shifts correspond to a transmitted data symbol, the spreading coda and its complement correspond to different transmitted data symbols, and each coefficient has a sign and a value that is an integer power of two and corresponds to a respective time shift. The method further includes the steps of summing the results of the weighting step for each time shift in a respective accumulator, and determining a sign of the accumulator sums to decode the transmitted data sy~nbolr In another aspect of Applicants invention, an apparatus for decoding CDMA signals comprises means for correlating at least two time shifts of a received signal with a spreading code, the spreading code and its complement corresponding to different transmitted data symbols and the at least two time 213!~~38 shifts corresponding to a transmitted data symbol.
The apparatus further comprises means for weighting the correlations~according to respective ones of at least two coefficients, each coefficient having a sign and a value that is an integer power of two and corresponding to a respective time shift. The apparatus also comprises means for summing the weighted correlations for each time shift and means for determining a sign of the sum to decode the transmitted data symbol.
In other aspects of Applicant s invention, a method and apparatus further includes a step of or means for subtracting a waveform corresponding to the decoded transmitted data symbol from the received signal. In a further aspect of Applicant s invention, the method includes correlating at least two time shifts against at'least two spreading codes, the spreading codes corresponding to different transmitted signals, and summing the results of the weighting step for each time shift in a respective accumulator for each spreading code. In another aspect of Applicant s invention, the weighting coefficients used fox succeeding transmitted data symbols are based on previous correlation results and decoded transmitted data symbols. Yet other aspects of Applicant's invention are described below.
The performance of a quantized coherent RAKE
receiver in accordance with the invention is better -than that of a non-coherent RAKE receiver, and is almost as good as that of a conventional' coherent RARE receiver using non-quantized complex weights.
In addition, the quantized coherent RAKE receiver is less complex. than either conventional receiver --. ~139~38 because shifting operations are less complicated than -both squaring and multiplication operations.
HRIEF DESCRIPTION OF THE DRAIIINt38 The features and advantages of the invention will become apparent from reading the following detailed description in conjunction with the drawings in which:
FIG. 1 illustrates a received signal having main-path and echo components;
FIGS. 2A and 2B illustrate weights that might be applied to.=,a signal arriving at different times;
FIG. 3 is a block diagram of a conventional RAKE
receiver using post-correlator, coherent combining of different rays;
FIG. 4 illustrates a parallel approach to the computation of the correlation R(k);
FIG. 5 illustrates a serial approach to the computation of the correlation R(k);
FIG. 6 is a block diagram of a conventional non-coherent DRAKE receiver;
FIG. 7 is a block diagram of a quantized coherent RAKE receiver in accordance with Applicant's invention;
FIG. 8 shows a series of graphs illustrating how CDMA signals are generated;
FIGS. 9 and 10 show a series of graphs for illustrating how CDMA signals are decoded;
FIG. 11 shows a series pf graphs illustrating a subtractive COMA demodulation technique; and FIG. 12 is a partial block diagram of a RAKE
receiver for signals employing scrambling masks.
WO 94126051 - ~ a'CT/LTS94I04820 DETAILED DESCRIPTION
The following description is given in a context of a CDMA communication system using offset QPSR
(OQPSR) modulation and 128 Walsh-FIadamard orthogonal spreading codes, but it will be appreciated that the invention can be used with other communication schemes, including binary PSR using one spreading code.
A block diagram of a quantized coherent RARE
receiver 110 in'accordance with Applicant's invention is shown in FIG. 7. A receiver 111 appropriately amplifies, downconverts, and filters a received composite radio signal, and analog-to-digital converts the result. Digital I, Q samples of the in-phase and quadrature signal components are collected in a sample buffer memory 112. The timing of A/D
conversion and sample transfer into the buffer are coordinated with other receiver processes, such as carrier frequency synchronization, by means of a suitable timing generator 120. After 128 complex samples are collected in the buffer 112, the timing generator 120 enables an FWT processor 114 to compute .128 correlations with the contents of the sample buffer.
Using the exemplary OQPSR modulation, alternate chips of~the spreading code appear shifted 90 degrees compared with those in between, e.g., even chips may appear in the I channel and odd chips in the Q
channel. Accordingly, a systematic 90-degree pre-rotation of the phase may be applied to align the phase.of odd chips with those of even chips. A known method is to apply a systematically increasing rotation of 0, 90, 180, 270, 360 (= 0), 90, 180, . .~. degrees to sequentially received complex samples spaced one chip apart, equivalent to a frequency shift of 1/4 the chip rate. Considering only the even chips, for example, it will be appreciated that the even chips have suffered a 5 systematic rotation of alternately 0, 180, 0, 180, . . . degrees, which means~every alternate even chip has been inverted, as has every alternate odd chip.
This, however, is compensated at the transmitter by the process known as "precoding," which essentially to inverts every alternate even and odd bit upon modulation such that, after the receiver's systematic pre-rotation, the chip polarities will once more be those of the intended chip sequence.
Despite the above described measures used to 15 align even and odd chips into the same phase plane, the unknown phase due to radio propagation across a distance of millions of wavelengths means that this phase plane may be the real plane, the imaginary plane, or anywhere in between. Accordingly, the FWT
20 processor 114 must correlate both the real and imaginary parts of the signal to guarantee that all received signal energy is encompassed.
The FWT processor 114 advantageously employs serial arithmetic internally as disclosed in U.S.
Patent No. 5,357,454. Such a FWT processor efficiently processes M binary input values presented serially, least significant bit ("LSB") first, on M
respective conductors or inputs. It will be appreciated that two 128-point FWT processors may be provided for computing in parallel the complex correlations' real parts (from the in-phase samples) and imaginary parts (from the quadrature samples). On the other hand, one 128-point FWT processor may be ~13~238 provided for computing the real and imaginary parts sequentially if processing time allows.
The FW'~ processor's use of serial arithmetic facilitates the application of complex RAKE weights ' in accordance with Applicant's invention. If the weight values are quantized to inverse powers of two, the correlation values can be scaled simply by suitably delaying use of the serial bit stream produced by the FWT processor 114. Delaying the use of the FWT processor's output_bit stream by one bit has the effect of multiplying the correlation values by one-half; delaying use of the output by two bits "multiplies" by one-quarter; and so on. Thus, for example, to divide by 2, the first bit to emerge (the least significant bit) is not used. The next bit to emerge is then used as the least significant,"and so forth until the last.bit has emerged. The last bit to emerge is then held and re-used as a sign extension bit until the required number of output 2o bits has been used. These delays can be easily effected by the timing unit 120's issuing clock pulses to the FWT processor 114 and buffer memory 112 at appropriately different times.
In addition, it will be appreciated that the timing unit can selectively delay the clock pulses by a first amount to implement the appropriate weight values for the correlations' real parts and then selectively delay the clock pulses by a second amount to implement different weight values for the correlations~ imaginary parts.
It will be noted that correlation values on taps having smaller coefficients may be determined first, and the parts of the FWT.hardware for real and imaginary parts can be switched to determine - _ 23.~923~
correlation values~on different buffer shifts. For example, if tap/shift 1 has real coefficient 1 and imaginary coefficient 1/4 and tap/shift 3 has real coefficient 1/4 and imaginary coefficient 1/2, it may be practically advantageous first to have the real FWT determine tap 3 at the same time as the imaginary FWT determines tap 1. In that wary, the taps with coefficients 1/4 are used first. These are .
added into the accumulators, and then the FWTs for coefficients 1/2 are determined. Since the latter determinations must be added into the accumulators with double the significance of the former determinations, delaying the serial bit streams (or advancing recirculating accumulator contents to discard the least significant bit) is appropriate.
This modification of the currently preferred .
implementation can be practically advantageous.
Scaling profiles, i.e., the weights,~for each correlation's real and imaginary. parts may be imposed 2o by using parameters stored in a coefficient memory 115a to control f sign changes imposed by a sign changer 115b. The sign changer 115b may, for example, be a combination of an inverting gate and a selection switch that selects either the gate's output stream or its input stream according to whether or not a sign change is desired. Such a combination.may also simply be implemented by an e.
exclusive-oR gate. ~. . _ The scaled and sign-changed correlation values are bitwise summed in 128 accumulators 116, each accumulator being dedicated to a respective FWT
output point and advantageously comprising a bit-serial adder 116a and a recirculating bit-serial memory 116b. Thus, scaling occurs before the 2.39238 correlations are fully developed, i.e., as the correlation values are serially produced.
It will be noted that the embodiment of the sign changer 115b described above does not produce an exact two's complement negation of values, since two's complement negation is actually performed by complementing the bits and then adding 1 to the complemented value. However, since the."add 1"
operation is performed at an LSB, it can often be neglected if the word length (precision) is adequate without it. Alternative ways of dealing with rounding such as this, and such as in the case of discarding of the LSB in the '°delay'~ procedure above, are to preset the carry flip-flop of the bit-serial adder 116a to 1 when negating, or presetting to 1 when dividing if the discarded LSB is a 1. .
The contents of the sample buffer 112 are then time-shifted one.or more samples according to the delay of the next ray, and the FWT processor 114 computes correlations as described above using the shifted samples. These correlations are scaled and sign-changed according to their own corresponding coefficients retrieved from the coefficient memory 115a. In this way, sets of 128 complex correlations are computed for a plurality of shifts of the received samples, i.e., for a plurality of rays.
In accordance with Applicant's invention, the real and imaginary parts of the correlation values from each RARE tap are weighted by values selected from the series ~1, ti/2, t1/4, . . . according to their relative importance and sign, as determined by observing their mean values over a period longer than one information symbol. The currently preferred implementation, although only exemplary, is one in ~~3923~
WO 94/26051 P~TT/IJS94104820 which information symbols consist. of groups of seven bits used to select one of 128 orthogonal 128-chip codewords for transmission. The signal received at the receiver is sampled at least once per chip and the samples are fed sequentially to a buffer store containing at least 128-chip's worth of samples.
The FWT processor processes 128 samples from the buffer taken one chip apart to produce 128 correlation values corresponding to the 128 possible transmitted codewords. These 128 values are the correlations from one RARE tap corresponding to the particular shift of the received data samples plucked from the buffer. The 128 real values are subject to weighting by the quantize3 coefficient determined for 1,5 the real part of that tap and weighted values accumulated in 128 accumulators 116 respectively.
Likewise the 128 imaginary values are weighted by the quantized coefficient determined for the imaginary part of that tap and accumulated in the 128 accumulators. Upon receipt of another signal sample, it is then shifted into the buffer and the oldest sample in the buffer falls outside the FWT 128-chip window. The.butfer memory should thus be large enough to contain the number of signal samples corresponding to 128+L chips, where L is the number of RARE taps. The FWT then produces 128 further correlations using the new shift of samples in the buffer corresponding to a d3~,fferent RAKE tap, and the real and imaginary parts of those are weighted with the quantized coefficients determined for that tap before accumulation.
After all desired RAKE taps have been processed in the above way, the 128 accumulators contain the sum of the weighted correlations from each tap.
' Determining the largest of these indicates the most likely codeword transmitted, yielding seven bits of information. The largest of accumulators 116 is determined by magnitude comparator device 117, which 5 may operate according to the invention disclosed in U.S. Patent No. 5,187,675.
Having determined the transmitted codeword in this way, the correlation with that codeword from each RAKE tap is selected, either by remembering the to original correlations in a memory and then accessing it, or by reprocessing each buffer shift again but this time with the need to calculate only one correlation value per shift corresponding to the decided codeword. The real and imaginary parts of 15 each correlation are then separately averaged by a coefficient computer and quantizer 130, which provides an averager for each candidate RARE tap, and the average values are used in determining the quantized weighting coefficients for each tap that 20 are to be used for accumulating correlation values to decode the next transmitted symbol.
For example, assume that the averagers for a set of RAKE taps produce the values in the table below.
The appropriate guantized weighting coefficients 25 determined by the computer and quantizer 130 for the next transmitted symbol might then be as shown in the rightmost column.
TAP TAP AVERAGE QUANTIZED COEFFICIENT
REAL IMAG REAL IMAGINARY
1 0.9 -0.1 1 0 2 -0.71 0.69 -1 1/2 3 0.28 -0.6 1/4 -1/2 4 0.13 -0.22 O -1/4 WO 94126051 PCT/fJS94/04820 The averagers implemented in the~computer and quantizer 130 to produce the tap averages may operate according to any one of a number of known methods, such as block moving averaging, exponential forgetting, or Ralman,filtering. The latter, which is the currently preferred.method, operates by predicting a next value using a time-derivative estimate, using the.predicted value as the tap average to determine the quantized coefficients as illustrated above, using the coefficients to combine the taps and decode a codeword,~.then correcting the .
prediction and the time derivative estimate when the correlation value with the decoded codeword is available. The preferred Ralman filter may also advantageously compute an estimate of the time-derivative of tap phase, that is a frequency'error, in order to better predict the complex value.of the next correlation by applying the phase rotation anticipated over a symbol period to the previous, corrected prediction in order to obtain the next prediction. This may be done in addition to using real and imaginary time-derivatives to anticipate the new real and imaginary values one symbol~period later. A ~teighted average over all taps of their corresponding phase derivatives is,also a good ,, indication of signal frequency error due to transmitter and receiver oscillator errors, and can be used to apply a compensating anti-rotation to received signal samples as a form of Automatic Frequency Control (AFC), and/or to correct the receiver's reference frequency oscillator.
It will be appreciated that~averaging the correlation values over a~number o! transmitted symbols determines the average signal~strength because the information is carried by the orthogonal Walsh block cadewords, not by sign reversals of a spreading code~sequence. Accordingly, correlations with all possible codes are formed and the largest correlation determined. The value of the largest correlation, assuming a correct decision was made and noise did not cause a symbol error, is the same from block to block, irrespective of the underlying seven information bits, and varies only relatively slowly in phase and amplitude at the channel fading rate.
For example, if the channel results in a received signal amplitude of 0.32 with a phase of 45 degrees and~code C4 is transmitted, then 0.32~(cos(45j+j~sin(45jj~C4 is received and that complex value pops up in bin 4 of the FWT. If code C97 is next transmitted and the channel has changed slightly so that the zeceived signal has an amplitude of 0.29 with a phase of 53 degrees, then the complex value 0.29~(cos(53j+j~sin(53jj~C97 pops up in bin 97 of the FWT. Averaging the values from the largest FWT bins yields the following: .
X~= (0.32~cos(45j + 0.29~cos(53jj/2 Yes= (0.32~sin(45j + 0.29~sin(53jj/2 which are the proper mean. values.
It will be recognized that when binary signalling is used, it is necessary to remove the inversion or modulation caused by the information ..
before averaging. For example, in a system using binary PSK modulation, the information is carried by sign reversals of a single spreading code sequence according to the values of the data bits; the spreading code and its complement correspond to different respective transmitted data symbols. The sign of the one correlation value yields the decoded binary data bit. Thus, the coefficient computer and quantizer 130 removes the binary PSK modulation before averaging by, for example, using the output of the RARE combiner (i.e., the output of the magnitude comparator 117) as a best estimate of the sign of the data modulation, and then re-inverting the correlation value from each RAKE tap accordingly before averaging the correlations.
A better alternative is for the computer and 1o quantizer 130 to use the output of the RAKE combiner as "soft" bit values in an error correction decoding process. The computer and quantfzer 130, which would thus be equivalent to a convolutional decoder, would then use the corrected bits, which are much more likely to be right, to undo the phase and/or amplitude changes caused by the data modulation before averaging the RAKE tap values. This implies a delay for a data bit to propagate sufficiently far through the error correction decoder to become more or less "firm," so the RAKE tap values have to be saved in a buffer of length equal to this delay for averaging after the data bits are determined. As long as this delay is small compared with the rate at which the channel changes due to fading, no problem arises.
The functions of the coefficient computer and quantizer 130 are described in additional detail below.
The quantized coherent RAKE receiver 110 advantageously operates with subtractive CDMA demod-ulation as described in commonly assigned U.s. Patent No. 5,151,919 and U.S. Patent No. 5,218,619. In the systems described in these applications the real and imaginary parts of the largest correlation are set to zero, thereby removing the signal just detected, and inverse transforms are performed to return samples to the buffer memory from which the signal just detected has been subtracted.
The forward correlation process is then repeated.
FIGS. 8-10 set forth example waveforms in the coding and decoding processes involved in traditional CDMA
systems. Using the waveform examples from FIGS. 8-10, the improved performance of a subtractive CDMA
demodulation technique is illustrated in FIG. 11.
Two different datastreams, shown in FIG. 8 as signal graphs (a) and (dj, represent digitized information to be communicated over two separate communication channels. Information signal 1 is modulated using a high-bit-rate, digital code that is unique to signal 1 and that is shown in signal graph (b). The result of this modulation, which is essentially the product of the two signal waveforms, is shown in the signal graph (c). In Boolean notation, the modulation of two binary waveforms is essentially an exclusive-oR operation. A similar series of operations is carried out for information signal 2 as shown in signal graphs (d)-(f). In practice, of course, many more than two coded information signals are spread across the frequency spectrum available for cellular telephone communications.
Each coded signal is used to modulate a radio frequency (RF) carrier using any one of a number of modulation techniques, such as QPSK. In a cellular telephone system, each modulated carrier is transmitted over an air interface. At a radio _ 2~.39~38 ' WO 94126051 PCTlUS94104820 . ~ i receiver, such as a cellular base station, all of the .
signals that overlap in the allocated frequency bandwidth are received together. The individually ' coded signals nre added, as represented in the signal 5 graphs (a)-(c) of FIG. 9, to form a composite signal waveform (graph (c)).
After demodulation of the received signal to the appropriate baseband frequency, the decoding of the composite signal takes place. Information signal 1 10 may be decoded or despread by multiplying the received composite signal shown in FIG. 9(c) with the unique code used originally. to modulate signal 1 that is shown in signal graph (dj. The resulting signal t is analyzed to decide the polarity (high or low, +1 15 or 1, "1" or "0"j of each information bit period of the signal. The details of how the receiver's code .
generator becomes time synchronized to the transmitted code are known in the art. i . These decisions may be made by taking an average 20 or majority vote of the chip polarities during each i bit period. such "hard" decision making processes a are acceptable as long as there is no signal .ambiguity. For example, during the first bit period in the signal graph (fj, the average chip value is .
25 +1.00 which readily indicates a bit polarity +1.
Similarly, during the third bit period, the average chip value is +0.75, and the bit polarity is also most likely a +1. Howe~ier,~in the second bit period, the average chip value is zero, and the majority vote .
30 or average test fails to provide an acceptable polarity value. .
'In such ambiguous situations, a "soft" decision making process must be used to determine.the bit polarity. For example, an analog voltage 2.39238 WO 94126051 PCTIUS94l04820 proportional to the received signal after despreading may be integrated over the number of chip periods corresponding to a single information bit. The sign or polarity of the net integration result indicates -that the bit value is a +1 or 2.
The decoding of signal 2, similar to that of signal 1, is illustrated in the signal graphs (aj-(dj of FIG. 10. ~iowever, after decoding, there are no ambiguous bit polarity situations.
l0 In contrast to conventional CDMA, an important aspect of the subtractive CDMA demodulation technique is the recognition that the suppression of friendly-CDMA signals is not limited by the processing gain of the spread spectrum demodulator as is the case with the suppression of military type jamming signals. A
large percentage of the other signals include~Q in a received, composite signal are not unknown jamming signals: or environmental noise that cannot be correlated. Instead, most of the noise, as defined 2o above, is known and is used to, facilitate decoding the signal of interest. The fact that the characteristics of most of these noise signals are known, including their corresponding spreading codes, is used in the subtractive CDMA demodulation technique to improve system capacity and the accuracy of the signal decoding process. Rather than simply decode each information signal from the composite signal, the subtractive CDMA,demodulation technique -also removes each information signal from the composite signal after it has been decoded. Those signals that remain are decoded only from the residual of the composite signal. Consequently, the already decoded signals do not. interfere with. the decoding of the remaining signals.
r... .
WO 94/26051 ~ ~ 3 9 2 3 8 PC7CILTS94/04820 For example, in FIG. 11, if signal 2 has already been decoded as shown in the signal graph (a), the coded foran~of signal 2 can be reconstructed as shown .
in the signal graphs (b) and (c) (with the start of the first bit period of the reconstructed datastream for signal 2 aligned with the start of the fourth chip of the code for signal 2 as shown in FIG. 8 signal graphs (dj and (e)j, and subtracted from the composite signal in the signal graph (d) (again with the first chip of the reconstructed coded signal 2 aligned with the fourth chip of the received composite signal) to leave coded signal 1 in the .
' signal graph (e). This is easily verified by comparing signal graph (e) fn FIG. li with signal graph (c) in FIG. 8 (truncated by removing the first three and the very last chip). Signal 1 is .
recaptured easily by multiplying the coded signal 1 with code 1 to reconstruct signal 1. Note that because the bit periods of datastreams for signals 1 and 2 are shifted relative to one another by 2 chips there are only six +1 chips in the first bit period of the recaptured signal 1 shown in FIG. li signal graph (fj. It is significant that while the conventional CDMA decoding method was unable to determine whether the polarity~of the information bit in the second bit period of signal 1 was a +1 or a 1 in signal graph (f) of FIG. 9, the decoding method of the subtractive CDMA demodulation technique effectively resolves that ambiguity simply by 3o removing. signal 2 from the composite signal.
As described above, the re-calculation of correlations by the FWT processor 114 on different shifts of the sample buffer and the successive subtraction of the correlations of the detected signals are preferably done in order of correlation strength from strongest to weakest. During this process, the quantized coherent RAKE receiver 110 shown in FIG.. 7 recomputes the correlations of the .5 component deemed to be greatest, end the result is transferred from the comparator device 117 to the RAKE coefficient computer and quantizer 130, which is described in more detail below.
It will be appreciated that the quantized coherent RAKE receiver 110 can advantageously be used in communication systems in which Walsh-Hadamard spreading codes are modified by the bit-wise modulo-2 addition of predetermined scrambling bit patterns.
Such systems are described in commonly assigned PCT
Patent No. W093/21709, for "Multiple Access Coding for Mobile Radio Communications", FIG. 12 shows a portion of the RAKE receiver shown in FIG. 7 with the additional components needed for operation with scrambling bit patterns, or scrambling masks, having the properties described in the above-cited patent application. These scrambling masks are advantageously stored as a look-up table in a RAM or ROM memory, for example, from which a particular mask is retrieved by supplying its associated address. While described in terms of a memory look-up table, it will be appreciated that a suitable code generator,~'such as a digital logic circuit or microcomputer, that produces on-line the scrambling masks indicated by selection control input signals may also be used.
The composite signal received by an antenna is provided to a receiver demodulator llla that '' WO 94IZ6051 ~ ~ 3 9 2 3 8 pCTIUS94/04820 demodulates received serial samples of the composite signal. A serial-to-parallel converter llib converts the serial samples into parallel blocks of signal samples (which may be complex, corresponding to in-s phase and quadrature signal components). The order in which each information signal is decoded in the receiver is determined by the receive scrambling mask selection address b~ or ba applied to a scrambling mask memory 140. The parallel samples buffered in the serial-to-parallel converter 111b are bitwise exclusive-ORed or modulo-2 added to the scrambling .
mask retrieved lrom the memory 140 by an N-bit adder 150. If the received samples are complex, different scrambling masks could be used for the in-phase and quadrature components. The descrambled signals are then decoded by the remainder of the RAKE receiver, including the FWT circuit 114, as described above.
In such a system, source information, e.g., speech, is converted to blocks of M (or M+1) binary 20~bits, and these bit blocks are encoded with error .
correcting orthogonal (or bi-orthogonal) block codes.
The orthogonal 2"-bit block codewords are scrambled by modulo-2 N-bit addition of a scrambling mask that may be retrieved from a look-up table in a memory.
In the case of ideal scrambling masks, there may be either n"=N'a or ne=N/2 scrambling masks, depending on which method was used to generate the scrambling mask set. Thus, the number cf b~.ts needed to address each mask from the memory is ether b,,=log=(np) or bB=log=(nD) , and by transmitting the b~ bit or ba-bit scrambling mask selection address associated with a particular scrambling mask to the memory, that mask is retrieved from storage and modulo-2 added to the block coded signal.
The ability selectively to address and retrieve a specific scrambling mask becomes important in determining the order in which signals are decoded from a received composite signal. For example, if 5 stronger coded information signals are decoded first and removed from the composite signal before weaker signals are decoded, the scrambling masks must be ordered by the signal strength of their associated, coded information signals. In CDMA subtractive to demodulation according to the patent and patent application above, the scrambling mask corresponding to the strongest information signal would be selected for decoding. After that signal is removed, the scrambling mask corresponding to the next strongest information signal is selected and so forth until the weakest signal is decoded.
The RAKE coefficient computer and quantizer 130 determines, from the sequence of selected complex correlation values presented to it by the comparator 117, the mean value and trend of the real and imaginary transform components. These are used by the computer 130 to predict the values that will occur in the next analysis period, and thereby the weights that should be retrieved from the coefficient memory 115a. Thus, the receiver 110 can adapt to changing multipath conditions. The computations carried out by the computer 130 generally require a digital signal processor such as a model TMS320C50 available from Texas Instruments.
The predicted values are preferably normalized to the magnitude of the largest, which is assigned the value ~1; the remainder are quantized as follows:
if magnitude > 0.7, then quantize to ~1;
CVO .94126051 - PCT/US94/04820 if 0.35 < magnitude < 0.7, then.quantize to t 0.5;
if 0.175 < magnitude < 0.35, then quantize to t 0.25; and , if magnitude < 0.175, then quantize to 0Ø
Thus, predicted transform values are coarsely ., quantized to preferably four levels.
The computer 130~s prediction of the correlation values for the next analysis interval from previous to values can, in the simplest case, just involve predicting that'the next values will be..the same as the previous values.
In cases where the correlations are changing slowly, a better prediction is that the future correlatiQns will be a running average of corresponding previous values; the running average .
can be developed from previous values in a moving window of predetermined width, either with equal weights or with exponentially decreasing weights for older results (the latter is sometimes called "exponential forgetting"). Letting Z(i) stand for a complex correlation at time instant i and $(i) stand for the running average at time instant i of previous complex correlations, a suitable prediction for the next running average is given by the following expression:
g(i+1) ='?e(i) + (Z (i) - ?~e(ij ) /4 This expression has exponential forgetting over a running window of four correlation intervals. For a.
4x128-chip interval, exponential forgetting is appropriate so long as signal amplitude and phase changes due to fading are not excessive over this interval.. Fading rates ara related to Doppler shifts and these lie in the spectral range of about 0-100 Hz ~13~~3~
WO 94/26051 ~ PCT/US94/04820 for legal vehicle speeds and radio frequencies araund 1 GHz. Consequently, the 4x128-chip interval could span 1/4 of a cycle at the highest Doppler shift, or 1/4~10 ms ~ 2.5 ms. This suggests that one 128-chip period should.be shorter than 0.625 ms, corresponding to a chip rate of greater than 200 RB/s. The chip rate in a preferred implementation is 270.8333 KB/s, meeting the above criterion.
In cases where the correlations are changing l0 more rapidly, e.g., when the propagation path is rapidly varying, the future-correlation values are better predicted using the trend or time derivative of the correlation. The trend can be advantageously developed by using the measured correlation Z(i) to correct the previous prediction g(i) and its derivative g'(i) according to the following expressions:
Tra«(i) = Tc(i) + a(Z(i) - ?s(i) ) ,~,~ (i) _ ~~ (i) + b(Z(i) - ~(i) ) where a and b are suitable coefficients. The corrected values ,~,(i) and ~,~ (i) are then used to develop the prediction ,~(i+1) according to the following expression:
g(i+1) _ .Z~(i) + y~,~ (i) dT
where dT is the time difference between predictions.
By suitable choice of the coefficient b, dT can be taken as unity or an inverse power of two, thereby ,, advantageously avoiding a rel'~tively time-consuming multiplication.
3o The coefficients a and b are found by applying known Kalman filter theory. General aspects of Ralmmn-type estimators are described in the literature, e.g., H. Vanhandingham, introduction to ni~it~i Control Systems, ch. 8 "Observability and WO 94126051 ~ ~ ~ 3 ~ PCT/US94104820 State Estimator~Design", Macmillan Publishing Co., New York (9.985j.~ The coefficients a, b are derived from the Kalman filter formulation as follows.
het A(.i) _ ~Z(i) 1 be a 2-element complex column Z (i)~
vector of the quantity Z that is to be estimated, and its time derivative Z~. The index i refers to current best estimates. The-next values of A(i+1), Z(i+ij and Z~(f+1) can be anticipated from the previous estimates before any new information is l0 received by means of:
.Z(i+1) ~ Z(i) + Z~ (i) ~dT
Z~(i+1) = Z~(i) which states that Z(i) is predicted dT forward using the derivative estimate, but the derivative estimate remains the same as we have no second derivative estimate with which to make a better prediction.
These equations can be written as follows:
A(i+ij s (1 dT, ~A(ij . ~e matrix ~~ 1T1 will be lO l1 designated by the symbol W, which then represents the systematic expected change of A even if no further information were to be received.
According to Kalman filter theory, ~an inverse ,, covariance matrix P, in this!' case a 2x2 matrix of complex coefficients, is also predicted from its previous value, the process having been initiated with P large and. diagonal. P(i+1) is predicted from P(i.j according to the following matrix expression:
P(i+1) = W P(i) W + Q
~~.89238 where # means complex conjugate transpose and Q is a constant matrix, usually diagonal, that determines how~fast the process can track changes. Also, the ' value of the.next observation to be made U(i+i) (i.e.~, the next correlation value to be computed) is predicted assuming it is a function of the next A
values from the following expression:
U(i+1) = F(A(i+1)).
3n the case in point, the value to be observed is just Z(i+1) so the function F is simply O(i+1) = 1~Z(i+1) + 0~Z~(i+1) s (1~0)~A(i+1) The vector (l,Oj in its column vector form is assigned the symbol X and is the gradient vector of U
with respect to the vector A.
The indexing notation using i can be dropped for .
brevity as it is implicit that new values on the left hand side are calculated using previous values on the right hand side, yielding the following expressions:
Predict: P = W ~P~W + Q
A ~ W.A
W = ~~A
The prediction of U is now compared with the next observation (i.e., the next correlation value, that 25~is, the actual Z(i+1)), and a prediction error E
computed from the following expression:
E = U ~ Z"~ .
The predictions are now corrected using the following:
A = A ~ P~X~E (1) P=P-pxx~~p ~l+Xt.px~
~~.3~2~8 The foregoing equation (1j may be compared with the equations for updating Z and Z~ using coefficients a and b. In fact, these equations in terms of the ' vector A areas follows:
5 ~ A A - a ~ ~ E, showing that ~ b ~ equates to s b P~X.
The elements of P diminish on each iteration, corresponding to each correlation having a reduced effect on the average prediction as more correlation 10 values are taken into account. The addition of the Q
matrix, however, prevents P from going to zero and so determines how large an effect the most recently received values ultimately have, i.e., the rate at which changes will be tracked.
15 Noting that the sequence of P value calculations does not involve any unknown or noisy received quantities, but only the constant matrices Q
and X, the sequence of P values and the value to which P finally converges can be calculated once and 20 for all during design. The final value of P~X gives a 2-element vector that contains the desired coefficients a and b. The calculation of P values may then be dispensed with and the entire calculation reduces to the previously given formulae using the 25 now determined values of~ a and b. This is known as the "final Ralman" solution.
Thus, the coefficients are obtained from the final values of the Kalman gain matrix after running the Kalman algorithm long enough for the gain 30 matrix to converge to constant values. These final values may also usually be coarsely quantized, for example to an inverse power of two, to permit easy ' ~~.~~~~g implementation by shifts or delays and avoid relatively more complicated multiplications.
It is, of course, possible to embody the invention in specific forms other than those described above without departing from the spirit of the invention. The embodiments described above are merely illustrative and should not be considered restrictive in any way. The scope of the invention is given by the appended claims, rather than the preceding description, and all variations and equivalents which fall within the~range of the claims are intended to be embraced therein.
Claims (41)
1. A method for decoding a Code Division Multiple Access signal comprising the steps of:
correlating at least two time shifts of a received signal against a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols;
weighting the results of the correlating step according to coefficients selected from a coefficient store, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective time shift;
summing the results of the weighting step for each time shift in a respective accumulator; and determining a sign of the sums in the accumulators to decode the transmitted data symbol.
correlating at least two time shifts of a received signal against a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols;
weighting the results of the correlating step according to coefficients selected from a coefficient store, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective time shift;
summing the results of the weighting step for each time shift in a respective accumulator; and determining a sign of the sums in the accumulators to decode the transmitted data symbol.
2. The method of claim 1, wherein the correlating step produces numerical binary-coded values in bit-serial form.
3. The method of claim 1 or 2, wherein the summing step comprises the step of summing the weighted correlations bit-serially in a plurality of recirculating bit-serial memories.
4. The method of any one of claims 1 to 3, wherein the weighting step comprises the step of delaying use of the bit-serial sums by an amount corresponding to the selected coefficients.
5. The method of any one of claims 1 to 4, wherein the received signal comprises a plurality of successive complex vector values, the correlating step comprises the step of producing complex correlation values, and the coefficients are complex values.
6. The method of any one of claims 1 to 5, wherein the at least two time shifts are correlated against at least two spreading codes, the at least two spreading codes corresponding to different transmitted signals, and the weighting step results are summed for each time shift in a respective accumulator for each spreading code, and the determining step identifies the largest sums produced by the summing means to decode the transmitted data symbols.
7. The method of claim 6, wherein the spreading codes are mutually orthogonal.
8. The method of claim 7, wherein the spreading codes are Walsh-Hadamard codes.
9. The method of any one of claims 1 to 8, wherein the correlating step comprises carrying out a Fast Walsh Transform.
10. The method of claim 7, wherein the spreading codes are Walsh-Hadamard codes modified by bitwise modulo-2 addition of a predetermined scrambling bit pattern.
11. The method of claim 10, further comprising the step of varying the scrambling bit pattern from one code block to another in response to a signal from a scrambling sequence generator.
12. An apparatus for decoding a Code Division Multiple Access signal comprising:
means for correlating at least two time shifts of a received signal with a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols;
means for weighting correlations produced by the correlating means according to respective ones of at least two coefficients, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective time shift;
means for summing the weighted correlations produced by the weighting means for each time shift; and means for determining a sign of the sum produced by the summing means to decode the transmitted data symbol.
means for correlating at least two time shifts of a received signal with a spreading code, the received signal comprising successive transmitted data symbols, the at least two time shifts corresponding to a transmitted data symbol, and the spreading code and a complement of the spreading code corresponding to different respective transmitted data symbols;
means for weighting correlations produced by the correlating means according to respective ones of at least two coefficients, each coefficient having a sign and a value that is an inverse integer power of two and corresponding to a respective time shift;
means for summing the weighted correlations produced by the weighting means for each time shift; and means for determining a sign of the sum produced by the summing means to decode the transmitted data symbol.
13. The apparatus of claim 12, wherein the correlating means produces binary-coded values in bit-serial form.
14. The apparatus of claim 12 or 13, wherein the summing means comprises a plurality of bit-serial adders and associated recirculating bit-serial memories.
15. The apparatus of any one of claims 12 to 14, wherein the weighting means comprises means for delaying use of a bit-serial value produced by the correlating means by an amount corresponding to the respective coefficient.
16. The apparatus of any one of claims 12 to 15, wherein the correlating means correlates the at least two time shifts against at least two spreading codes, the at least two spreading codes corresponding to different transmitted data symbols, and the summing means sums weighted correlations for each time shift for each spreading code, and the determining means identifies the largest sums produced by the summing means to decode the transmitted data symbols.
17. The apparatus of claim 16, wherein the spreading codes are mutually orthogonal.
18. The apparatus of claim 17, wherein the spreading codes are Walsh-Hadamard codes.
19. The apparatus of any one of claims 12 to 18, wherein the correlating means comprises means for carrying out a Fast Walsh Transform.
20. The apparatus of claim 19, wherein the spreading codes are Walsh-Hadamard codes modified by bitwise modulo-2 addition of a predetermined scrambling bit pattern.
21. The apparatus of claim 20, further comprising a scrambling sequence generator and means for varying the scrambling bit pattern from one code block to another in response to a signal from the scrambling sequence generator.
22. The apparatus of any one of claims 12 to 21, wherein the received signal comprises a plurality of successive complex vector values, the correlating means produces complex correlation values, and the coefficients are complex values.
23. The apparatus of claim 22, further comprising means for determining coefficients from complex correlation values produced by the correlating means, the determined coefficients for use in decoding a succeeding transmitted data symbol.
24. The apparatus of claim 23, wherein the coefficient determining means comprises means for averaging the real and imaginary parts of the complex correlation values and means for quantizing the averaged parts to respective values that are each an inverse integer power of two, the quantized values being for use as coefficients in decoding the succeeding transmitted data symbol.
25. The apparatus of claim 24, wherein the averaging means includes a Kalman filter.
26. An apparatus for decoding a Code Division Multiple Access signal comprising:
means for correlating at least two time shifts of a received signal with at least two spreading codes, the received signal comprising successive transmitted data symbols and the spreading codes corresponding to different transmitted data symbols;
means for weighting correlations produced by the correlating means according to coefficients selected from a coefficient store, the coefficients having values selected from the group comprising ~1, ~1/2, ~1/4, . . . and 0, and each coefficient corresponding to a respective time shift and a respective spreading code;
means for summing the weighted correlations produced by the weighting means for the time shifts for each spreading code;
means for determining the largest sum produced by the summing means to decode a transmitted data symbol; and means for subtracting a waveform corresponding to the decoded transmitted data symbol from the received signal.
means for correlating at least two time shifts of a received signal with at least two spreading codes, the received signal comprising successive transmitted data symbols and the spreading codes corresponding to different transmitted data symbols;
means for weighting correlations produced by the correlating means according to coefficients selected from a coefficient store, the coefficients having values selected from the group comprising ~1, ~1/2, ~1/4, . . . and 0, and each coefficient corresponding to a respective time shift and a respective spreading code;
means for summing the weighted correlations produced by the weighting means for the time shifts for each spreading code;
means for determining the largest sum produced by the summing means to decode a transmitted data symbol; and means for subtracting a waveform corresponding to the decoded transmitted data symbol from the received signal.
27. The apparatus of claim 26, wherein the spreading codes are mutually orthogonal.
28. The apparatus of claim 27, wherein the spreading codes are Walsh-Hadamard codes.
29. The apparatus of any one of claims 26 to 28, wherein the correlating means comprises a Fast Walsh Transform processor.
30. The apparatus of claim 28, further comprising means for modifying the Walsh-Hadamard codes by bitwise modulo-2 addition of a scrambling bit pattern.
31. The apparatus of claim 30, further comprising a scrambling sequence generator and wherein the scrambling bit pattern varies from one Walsh-Hadamard code block to another in response to a signal from the scrambling sequence generator.
32. The apparatus of any one of claims 26 to 31, wherein the subtracting means subtracts the waveform based on the correlations.
33. The apparatus of claim 32, wherein a waveform is subtracted for each time shift and the subtracted waveforms are based on the correlations with the corresponding time shifts.
34. The apparatus of claim 33, wherein the subtracting means subtracts the waveforms for different time shifts in order of the correlation magnitudes from strongest to weakest.
35. The apparatus of claim 34, wherein the correlating means correlates at least two time shifts of the received signal after subtraction of the waveform from a time shift having a stronger correlation.
36. An apparatus for receiving and decoding a Code Division Multiple Access signal comprising successive transmitted data symbols comprising:
means for receiving the signal, wherein the receiving means includes means for generating successive samples of complex vector components of the signal and means for digitizing the samples;
means for storing a plurality of the digitized samples of a transmitted data symbol;
means for determining Fast Walsh Transforms of the stored digitized samples, wherein the determining means correlates at least two time-shifted groups of the stored digitized samples with each of a plurality of orthogonal codes, each orthogonal code corresponding to a respective transmitted data symbol, and generates correlation results, each correlation result having a real part and an imaginary part;
means for determining respective weighting coefficients for the real part and the imaginary part of the correlation result for each code and for each time-shifted group and for applying the weighting coefficients to the real parts and the imaginary parts;
means for summing the weighted parts over all time-shifted groups, the summing means comprising a respective accumulator for each code; and means for determining the accumulator containing the largest sum and thereby decoding the transmitted data symbol;
wherein the weighting coefficient determining means determines the weighting coefficients for a succeeding transmitted data symbol from the correlation results and the decoded transmitted data symbol.
means for receiving the signal, wherein the receiving means includes means for generating successive samples of complex vector components of the signal and means for digitizing the samples;
means for storing a plurality of the digitized samples of a transmitted data symbol;
means for determining Fast Walsh Transforms of the stored digitized samples, wherein the determining means correlates at least two time-shifted groups of the stored digitized samples with each of a plurality of orthogonal codes, each orthogonal code corresponding to a respective transmitted data symbol, and generates correlation results, each correlation result having a real part and an imaginary part;
means for determining respective weighting coefficients for the real part and the imaginary part of the correlation result for each code and for each time-shifted group and for applying the weighting coefficients to the real parts and the imaginary parts;
means for summing the weighted parts over all time-shifted groups, the summing means comprising a respective accumulator for each code; and means for determining the accumulator containing the largest sum and thereby decoding the transmitted data symbol;
wherein the weighting coefficient determining means determines the weighting coefficients for a succeeding transmitted data symbol from the correlation results and the decoded transmitted data symbol.
37. The apparatus of claim 36, wherein the Fast Walsh Transform determining means re-correlates the time-shifted groups with the orthogonal code corresponding to the decoded transmitted data symbol.
38. The apparatus of claim 36 or 37, wherein the Fast Walsh Transform determining means re-correlates the time-shifted groups with the orthogonal code corresponding to the decoded transmitted data symbol in descending order of correlation result magnitude.
39. The apparatus of any one of claims 36 to 38, further comprising means for subtracting a set of values representing a waveform corresponding to the orthogonal code corresponding of the decoded transmitted data symbol from a time-shifted group after that group has been re-correlated with the orthogonal code corresponding to the decoded transmitted data symbol.
40. The apparatus of claim 39, wherein the set of values is based on the correlation result.
41. The apparatus of claim 40, wherein the subtracting means includes means for setting to zero the correlation result corresponding to the decoded transmitted data symbol produced by the Fast Walsh Transform determining means and the Fast Walsh Transform determining means includes means for determining an inverse Fast Walsh Transform of the correlation results and for replacing the stored plurality of digitized samples with new samples corresponding to the inverse Fast Walsh Transform.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/054,028 | 1993-04-29 | ||
US08/054,028 US5305349A (en) | 1993-04-29 | 1993-04-29 | Quantized coherent rake receiver |
PCT/US1994/004820 WO1994026051A1 (en) | 1993-04-29 | 1994-04-29 | Quantized coherent rake receiver |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2139238A1 CA2139238A1 (en) | 1994-11-10 |
CA2139238C true CA2139238C (en) | 2004-11-23 |
Family
ID=21988324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002139238A Expired - Lifetime CA2139238C (en) | 1993-04-29 | 1994-04-29 | Quantized coherent rake receiver |
Country Status (13)
Country | Link |
---|---|
US (1) | US5305349A (en) |
EP (1) | EP0622909B1 (en) |
JP (1) | JP3469241B2 (en) |
KR (1) | KR100315899B1 (en) |
CN (1) | CN1084996C (en) |
AU (1) | AU675330B2 (en) |
BR (1) | BR9405325A (en) |
CA (1) | CA2139238C (en) |
DE (1) | DE69433892T2 (en) |
FI (1) | FI113228B (en) |
NZ (1) | NZ266930A (en) |
SG (1) | SG81871A1 (en) |
WO (1) | WO1994026051A1 (en) |
Families Citing this family (165)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5550809A (en) * | 1992-04-10 | 1996-08-27 | Ericsson Ge Mobile Communications, Inc. | Multiple access coding using bent sequences for mobile radio communications |
US5475705A (en) * | 1993-04-29 | 1995-12-12 | Ericsson Ge Mobile Communications Inc. | Demodulator for Manchester-coded FM signals |
FI932605A (en) * | 1993-06-07 | 1994-12-08 | Nokia Telecommunications Oy | Receiver device for base station |
US5442627A (en) * | 1993-06-24 | 1995-08-15 | Qualcomm Incorporated | Noncoherent receiver employing a dual-maxima metric generation process |
US5442661A (en) * | 1993-08-13 | 1995-08-15 | Motorola Inc. | Path gain estimation in a receiver |
FR2709028B1 (en) * | 1993-08-13 | 1995-10-20 | Matra Communication | Method for selecting the propagation paths used to receive messages transmitted by CDMA radiocommunication. |
US5404376A (en) * | 1993-09-09 | 1995-04-04 | Ericsson-Ge Mobile Communications Inc. | Navigation assistance for call handling in mobile telephone systems |
FI110043B (en) * | 1993-09-20 | 2002-11-15 | Nokia Corp | Method for performing transmission in CDMA cellular radio system and mobile station |
US5757844A (en) * | 1993-10-13 | 1998-05-26 | Ntt Mobile Communications Network Inc | Spread spectrum receiver |
US5506861A (en) * | 1993-11-22 | 1996-04-09 | Ericsson Ge Mobile Comminications Inc. | System and method for joint demodulation of CDMA signals |
US5406629A (en) * | 1993-12-20 | 1995-04-11 | Motorola, Inc. | Apparatus and method for digitally processing signals in a radio frequency communication system |
US5572552A (en) * | 1994-01-27 | 1996-11-05 | Ericsson Ge Mobile Communications Inc. | Method and system for demodulation of downlink CDMA signals |
FR2715784B1 (en) * | 1994-02-02 | 1996-03-29 | Jacques Prado | Method and device for analyzing a return signal and adaptive echo canceller comprising an application. |
US5859874A (en) * | 1994-05-09 | 1999-01-12 | Globalstar L.P. | Multipath communication system optimizer |
US5530716A (en) * | 1994-06-30 | 1996-06-25 | Motorola, Inc. | Method and apparatus for identifying a coded communication signal |
GB2291567B (en) * | 1994-07-01 | 1999-02-24 | Roke Manor Research | Apparatus for use in equipment providing a digital radio link between a fixed and a mobile radio unit |
US5627863A (en) * | 1994-07-15 | 1997-05-06 | Amati Communications Corporation | Frame synchronization in multicarrier transmission systems |
US5953370A (en) | 1994-09-09 | 1999-09-14 | Omnipoint Corporation | Apparatus for receiving and correlating a spread spectrum signal |
EP1333590A3 (en) * | 1994-09-09 | 2004-05-12 | XIRCOM Wireless, Inc. | Correlator for reception of CPM spread-spectrum communications |
US5784293A (en) * | 1994-11-03 | 1998-07-21 | Motorola, Inc. | Apparatus and method for determining transmitted modulation symbols |
US5754597A (en) * | 1994-12-29 | 1998-05-19 | Motorola, Inc. | Method and apparatus for routing a digitized RF signal to a plurality of paths |
US5579341A (en) * | 1994-12-29 | 1996-11-26 | Motorola, Inc. | Multi-channel digital transceiver and method |
US5574747A (en) * | 1995-01-04 | 1996-11-12 | Interdigital Technology Corporation | Spread spectrum adaptive power control system and method |
US5812613A (en) * | 1995-03-20 | 1998-09-22 | Rockwell International Corporation | Bitwise soft decision symbol decoder |
US5640416A (en) * | 1995-06-07 | 1997-06-17 | Comsat Corporation | Digital downconverter/despreader for direct sequence spread spectrum communications system |
KR0154706B1 (en) * | 1995-06-23 | 1998-11-16 | 김광호 | Multipath delay time detector in reverse channel of cdma system |
US6697350B2 (en) | 1995-06-30 | 2004-02-24 | Interdigital Technology Corporation | Adaptive vector correlator for spread-spectrum communications |
US6816473B2 (en) | 1995-06-30 | 2004-11-09 | Interdigital Technology Corporation | Method for adaptive forward power control for spread-spectrum communications |
ZA965340B (en) * | 1995-06-30 | 1997-01-27 | Interdigital Tech Corp | Code division multiple access (cdma) communication system |
US7072380B2 (en) * | 1995-06-30 | 2006-07-04 | Interdigital Technology Corporation | Apparatus for initial power control for spread-spectrum communications |
US6940840B2 (en) | 1995-06-30 | 2005-09-06 | Interdigital Technology Corporation | Apparatus for adaptive reverse power control for spread-spectrum communications |
US7020111B2 (en) | 1996-06-27 | 2006-03-28 | Interdigital Technology Corporation | System for using rapid acquisition spreading codes for spread-spectrum communications |
US6788662B2 (en) | 1995-06-30 | 2004-09-07 | Interdigital Technology Corporation | Method for adaptive reverse power control for spread-spectrum communications |
US7123600B2 (en) * | 1995-06-30 | 2006-10-17 | Interdigital Technology Corporation | Initial power control for spread-spectrum communications |
US6885652B1 (en) | 1995-06-30 | 2005-04-26 | Interdigital Technology Corporation | Code division multiple access (CDMA) communication system |
US6487190B1 (en) | 1996-06-27 | 2002-11-26 | Interdigital Technology Corporation | Efficient multichannel filtering for CDMA modems |
US5764688A (en) * | 1995-06-30 | 1998-06-09 | Roke Manor Research Limited | Apparatus for use in equipment providing a digital radio link between a fixed and a mobile radio unit |
US7929498B2 (en) | 1995-06-30 | 2011-04-19 | Interdigital Technology Corporation | Adaptive forward power control and adaptive reverse power control for spread-spectrum communications |
US5677930A (en) * | 1995-07-19 | 1997-10-14 | Ericsson Inc. | Method and apparatus for spread spectrum channel estimation |
FR2737362B1 (en) * | 1995-07-25 | 1997-10-10 | Matra Communication | PROCESS FOR SELECTING THE PROPAGATION DELAYS RETAINED TO RECEIVE MESSAGES TRANSMITTED BY RADIOCOMMUNICATION WITH A SPREAD OF SPECTRUM |
JPH0974372A (en) * | 1995-09-04 | 1997-03-18 | Matsushita Electric Ind Co Ltd | Spread spectrum radio transmitter-receiver |
US5907555A (en) * | 1995-10-18 | 1999-05-25 | Telefonaktiebolaget Lm Ericsson | Method for compensating for time dispersion in a communication system |
FI100494B (en) | 1995-11-20 | 1997-12-15 | Nokia Telecommunications Oy | Procedure for controlling recipients and recipients |
US5903596A (en) * | 1996-05-16 | 1999-05-11 | Nakano; Takayuki | Spread spectrum demodulation unit |
US6005903A (en) * | 1996-07-08 | 1999-12-21 | Mendelovicz; Ephraim | Digital correlator |
FI101659B1 (en) | 1996-07-12 | 1998-07-31 | Nokia Mobile Phones Ltd | Procedure for estimating the delay and receiver |
US6061359A (en) | 1996-08-02 | 2000-05-09 | Golden Bridge Technology, Inc. | Increased-capacity, packet spread-spectrum system and method |
JP2798128B2 (en) * | 1996-08-06 | 1998-09-17 | 日本電気株式会社 | CDMA multi-user receiver |
US6430216B1 (en) | 1997-08-22 | 2002-08-06 | Data Fusion Corporation | Rake receiver for spread spectrum signal demodulation |
US5757846A (en) * | 1996-08-30 | 1998-05-26 | Vasudevan; Subramanian | CDMA communication system and method with dual-mode receiver |
US5831977A (en) * | 1996-09-04 | 1998-11-03 | Ericsson Inc. | Subtractive CDMA system with simultaneous subtraction in code space and direction-of-arrival space |
US5768307A (en) * | 1996-09-13 | 1998-06-16 | Telefonaktiebolaget Lm Ericsson | Coherent demodulation with decision-directed channel estimation for digital communication |
FI964161A (en) * | 1996-10-16 | 1998-04-17 | Nokia Telecommunications Oy | Method and apparatus for calculating a correlation |
JPH10190626A (en) * | 1996-12-27 | 1998-07-21 | Matsushita Electric Ind Co Ltd | Cdma reception device |
US5903550A (en) * | 1997-01-02 | 1999-05-11 | Motorola, Inc. | Method and system for parallel demodulation of multiple chips of a CDMA signal |
JP3796870B2 (en) * | 1997-01-21 | 2006-07-12 | ソニー株式会社 | Receiving device, receiving method, and terminal device of mobile phone system |
US6360079B2 (en) * | 1997-02-12 | 2002-03-19 | Interdigital Technology Corporation | Global channel power control to minimize spillover in a wireless communication environment |
KR100229042B1 (en) * | 1997-04-26 | 1999-11-01 | 윤종용 | Rake receiver for reducing hardware consumption and enhancing search ability |
US6064690A (en) * | 1997-05-13 | 2000-05-16 | Yozan Inc. | Spread spectrum communication system |
US6064692A (en) | 1997-06-20 | 2000-05-16 | Amati Communications Corporation | Protocol for transceiver initialization |
US6456644B1 (en) | 1997-06-23 | 2002-09-24 | Cellnet Data Systems, Inc. | Bandpass correlation of a spread spectrum signal |
US6263009B1 (en) * | 1997-06-23 | 2001-07-17 | Cellnet Data Systems, Inc. | Acquiring a spread spectrum signal |
US6741638B2 (en) | 1997-06-23 | 2004-05-25 | Schlumbergersema Inc. | Bandpass processing of a spread spectrum signal |
US6178197B1 (en) | 1997-06-23 | 2001-01-23 | Cellnet Data Systems, Inc. | Frequency discrimination in a spread spectrum signal processing system |
US6047016A (en) * | 1997-06-23 | 2000-04-04 | Cellnet Data Systems, Inc. | Processing a spread spectrum signal in a frequency adjustable system |
US6628699B2 (en) * | 1997-06-23 | 2003-09-30 | Schlumberger Resource Management Systems, Inc. | Receiving a spread spectrum signal |
JP3274388B2 (en) * | 1997-07-25 | 2002-04-15 | 株式会社東芝 | RAKE receiver and spread spectrum communication apparatus provided with the RAKE receiver |
KR100387078B1 (en) * | 1997-07-30 | 2003-10-22 | 삼성전자주식회사 | Apparatus and method for puncturing and recovering symbol in band-spreading communication system |
US6560461B1 (en) | 1997-08-04 | 2003-05-06 | Mundi Fomukong | Authorized location reporting paging system |
GB2343801B (en) | 1997-08-21 | 2001-09-12 | Data Fusion Corp | Method and apparatus for acquiring wide-band pseudorandom noise encoded waveforms |
US6295311B1 (en) * | 1997-11-07 | 2001-09-25 | Hughes Electronics Corporation | Method and apparatus for compensating for phase differences in received signals |
US6175587B1 (en) | 1997-12-30 | 2001-01-16 | Motorola, Inc. | Communication device and method for interference suppression in a DS-CDMA system |
US6212368B1 (en) * | 1998-05-27 | 2001-04-03 | Ericsson Inc. | Measurement techniques for diversity and inter-frequency mobile assisted handoff (MAHO) |
US6047035A (en) | 1998-06-15 | 2000-04-04 | Dspc Israel Ltd. | Method and device for quantizing the input to soft decoders |
US7068617B1 (en) * | 1998-06-25 | 2006-06-27 | Texas Instruments Incorporated | Low complexity CDMA receiver |
US6661996B1 (en) | 1998-07-14 | 2003-12-09 | Globalstar L.P. | Satellite communication system providing multi-gateway diversity to a mobile user terminal |
US6125137A (en) * | 1998-09-11 | 2000-09-26 | Motorola, Inc. | Apparatus and method for performing a signal search in a coherent wireless communication system |
US6141374A (en) * | 1998-10-14 | 2000-10-31 | Lucent Technologies Inc. | Method and apparatus for generating multiple matched-filter PN vectors in a CDMA demodulator |
US6931050B1 (en) | 1998-12-03 | 2005-08-16 | Ericsson Inc. | Digital receivers and receiving methods that scale for relative strengths of traffic and pilot channels during soft handoff |
US6507602B1 (en) | 1999-01-07 | 2003-01-14 | Ericsson, Inc. | Smoothing receiver channel estimates using spectral estimation |
US6625200B1 (en) | 1999-01-25 | 2003-09-23 | Ericsson Inc. | Multi-stage CDMA synchronization with parallel execution |
US6556634B1 (en) | 1999-02-10 | 2003-04-29 | Ericsson, Inc. | Maximum likelihood rake receiver for use in a code division, multiple access wireless communication system |
JP3173600B2 (en) * | 1999-02-19 | 2001-06-04 | 日本電気株式会社 | Receiving machine |
US6721293B1 (en) * | 1999-03-10 | 2004-04-13 | Nokia Corporation | Unsupervised adaptive chip separation filter for CDMA terminal |
JP3872647B2 (en) * | 1999-04-02 | 2007-01-24 | 株式会社エヌ・ティ・ティ・ドコモ | Channel estimation apparatus and method, demodulation apparatus and method, and fading frequency determination apparatus and method |
US6404760B1 (en) * | 1999-07-19 | 2002-06-11 | Qualcomm Incorporated | CDMA multiple access interference cancellation using signal estimation |
GB9929269D0 (en) * | 1999-12-11 | 2000-02-02 | Koninkl Philips Electronics Nv | Method and apparatus for digital correlation |
US6608858B1 (en) * | 2000-01-26 | 2003-08-19 | Qualcomm Incorporated | Multipath doppler adjusted frequency tracking loop |
KR100811026B1 (en) | 2000-03-28 | 2008-03-11 | 인터디지탈 테크날러지 코포레이션 | Cdma system which uses pre-rotation before transmission |
JP3397744B2 (en) * | 2000-03-28 | 2003-04-21 | 松下電器産業株式会社 | Communication device and CDMA communication method |
JP3808280B2 (en) * | 2000-04-28 | 2006-08-09 | 富士通株式会社 | Synchronization establishment device, synchronization establishment method, and receiver |
US6430214B1 (en) * | 2000-05-22 | 2002-08-06 | Motorola, Inc. | Fading resistant multi-level QAM receiver |
US7130292B2 (en) * | 2000-06-02 | 2006-10-31 | Essex Corporation | Optical processor enhanced receiver architecture (opera) |
US6959033B1 (en) * | 2000-08-25 | 2005-10-25 | Texas Instruments Incorporated | System and method for assigning combiner channels in spread spectrum communications |
US6771691B1 (en) | 2000-09-15 | 2004-08-03 | Texas Instruments Incorporated | System and method for extracting soft symbols in direct sequence spread spectrum communications |
JP3763817B2 (en) | 2000-10-06 | 2006-04-05 | ノキア コーポレイション | Equalized parallel interference cancellation (EPIC) for CDMA systems |
US7031374B1 (en) | 2000-10-06 | 2006-04-18 | Texas Instruments Incorporated | System and method for selecting sample streams in direct sequence spread spectrum communications |
US6934317B1 (en) | 2000-10-11 | 2005-08-23 | Ericsson Inc. | Systems and methods for communicating spread spectrum signals using variable signal constellations |
JP2003152591A (en) * | 2000-11-10 | 2003-05-23 | Sony Electronics Singapore Pte Ltd | Multiple-user cdma wireless communication system |
KR100366292B1 (en) * | 2000-11-29 | 2002-12-31 | 한국전자통신연구원 | Symbol data timing alignment and combining method for reducing the number of FIFO registers, and a rake receiver and it's architecture with the proposed combining technique |
US6882692B2 (en) * | 2000-12-29 | 2005-04-19 | Sharp Laboratories Of America, Inc. | Fast transform system for an extended data rate WLAN system |
US6987799B2 (en) * | 2001-05-03 | 2006-01-17 | Texas Instruments Incorporated | System and method for demodulating associated information channels in direct sequence spread spectrum communications |
EP1259005A1 (en) * | 2001-05-18 | 2002-11-20 | Siemens Aktiengesellschaft | Rake receiver for a CDMA communication system and adaptive CDMA interference cancellation unit |
DE50204541D1 (en) * | 2001-05-18 | 2005-11-17 | Siemens Ag | RECEIVING DEVICE FOR A CDMA MESSAGING TRANSMISSION SYSTEM, AND ADAPTIVE CDMA INTERFERENCE SUPPRESSION METHOD |
US7440489B2 (en) * | 2001-08-07 | 2008-10-21 | Ericsson Inc. | Method and apparatus for selective demodulation and decoding of communications signals |
US7017104B1 (en) * | 2001-08-24 | 2006-03-21 | Mediatek Inc. | Method and system for decoding block codes by calculating a path metric according to a decision feedback sequence estimation algorithm |
US6771214B2 (en) | 2001-09-12 | 2004-08-03 | Data Fusion Corporation | GPS near-far resistant receiver |
US7158559B2 (en) * | 2002-01-15 | 2007-01-02 | Tensor Comm, Inc. | Serial cancellation receiver design for a coded signal processing engine |
US8085889B1 (en) | 2005-04-11 | 2011-12-27 | Rambus Inc. | Methods for managing alignment and latency in interference cancellation |
US7430253B2 (en) * | 2002-10-15 | 2008-09-30 | Tensorcomm, Inc | Method and apparatus for interference suppression with efficient matrix inversion in a DS-CDMA system |
US20050101277A1 (en) * | 2001-11-19 | 2005-05-12 | Narayan Anand P. | Gain control for interference cancellation |
US7260506B2 (en) * | 2001-11-19 | 2007-08-21 | Tensorcomm, Inc. | Orthogonalization and directional filtering |
US7580448B2 (en) * | 2002-10-15 | 2009-08-25 | Tensorcomm, Inc | Method and apparatus for channel amplitude estimation and interference vector construction |
KR100426621B1 (en) * | 2001-12-20 | 2004-04-13 | 한국전자통신연구원 | Small-window-sized preamble search apparatus and method to search preamble signal of terminal |
US20030227879A1 (en) * | 2002-06-05 | 2003-12-11 | Farrokh Abrishamkar | Method and apparatus for pilot estimation using a prediction error method with a kalman filter and pseudo-linear regression |
US20030227888A1 (en) * | 2002-06-05 | 2003-12-11 | Farrokh Abrishamkar | Method and apparatus for pilot estimation using suboptimum expectation maximization |
US7061967B2 (en) * | 2002-06-24 | 2006-06-13 | Comsys Communication & Signal Processing Ltd. | Multipath channel tap delay estimation in a CDMA spread spectrum receiver |
US20040208238A1 (en) * | 2002-06-25 | 2004-10-21 | Thomas John K. | Systems and methods for location estimation in spread spectrum communication systems |
EP1535405A1 (en) * | 2002-09-03 | 2005-06-01 | Nokia Corporation | A wireless system |
US7787572B2 (en) | 2005-04-07 | 2010-08-31 | Rambus Inc. | Advanced signal processors for interference cancellation in baseband receivers |
US7577186B2 (en) * | 2002-09-20 | 2009-08-18 | Tensorcomm, Inc | Interference matrix construction |
US7808937B2 (en) | 2005-04-07 | 2010-10-05 | Rambus, Inc. | Variable interference cancellation technology for CDMA systems |
US8761321B2 (en) * | 2005-04-07 | 2014-06-24 | Iii Holdings 1, Llc | Optimal feedback weighting for soft-decision cancellers |
US7463609B2 (en) * | 2005-07-29 | 2008-12-09 | Tensorcomm, Inc | Interference cancellation within wireless transceivers |
US7876810B2 (en) | 2005-04-07 | 2011-01-25 | Rambus Inc. | Soft weighted interference cancellation for CDMA systems |
US20050180364A1 (en) * | 2002-09-20 | 2005-08-18 | Vijay Nagarajan | Construction of projection operators for interference cancellation |
KR101011942B1 (en) | 2002-09-23 | 2011-01-31 | 램버스 인코포레이티드 | Method and apparatus for selectively applying interference cancellation in spread spectrum systems |
US8005128B1 (en) * | 2003-09-23 | 2011-08-23 | Rambus Inc. | Methods for estimation and interference cancellation for signal processing |
US20050123080A1 (en) * | 2002-11-15 | 2005-06-09 | Narayan Anand P. | Systems and methods for serial cancellation |
US8179946B2 (en) * | 2003-09-23 | 2012-05-15 | Rambus Inc. | Systems and methods for control of advanced receivers |
US7203253B2 (en) | 2002-09-26 | 2007-04-10 | Marvell World Trade Ltd. | Method and apparatus of cross-correlation |
WO2004042948A1 (en) * | 2002-10-31 | 2004-05-21 | Tensorcomm, Incorporated | Systems and methods for reducing interference in cdma systems |
WO2004073159A2 (en) * | 2002-11-15 | 2004-08-26 | Tensorcomm, Incorporated | Systems and methods for parallel signal cancellation |
EP1563627A4 (en) * | 2002-11-22 | 2009-11-04 | Interdigital Tech Corp | Channel gain estimation in a rake receiver using complex weight generation (cwg) algorithms |
US7239677B2 (en) * | 2003-04-29 | 2007-07-03 | Telefonaktiebolaget L M Ericsson (Publ) | Method and apparatus for soft symbol scaling |
US7116998B2 (en) * | 2003-05-14 | 2006-10-03 | Telefonaktiebolaget L M Ericsson (Publ) | Subtractive multipath delay detection |
US7822155B2 (en) * | 2003-11-04 | 2010-10-26 | Telefonaktiebolaget L M Ericsson (Publ) | Interference estimation in CDMA systems using alternative scrambling codes |
JP4198034B2 (en) * | 2003-11-25 | 2008-12-17 | 富士通株式会社 | Information code transmitter |
US7477710B2 (en) * | 2004-01-23 | 2009-01-13 | Tensorcomm, Inc | Systems and methods for analog to digital conversion with a signal cancellation system of a receiver |
US20050169354A1 (en) * | 2004-01-23 | 2005-08-04 | Olson Eric S. | Systems and methods for searching interference canceled data |
US7376195B2 (en) * | 2004-01-23 | 2008-05-20 | Telefonaktiebolaget L M Ericsson (Publ) | Digital communication systems having decreased memory |
US7551597B2 (en) * | 2004-05-06 | 2009-06-23 | Telefonaktiebolaget L M Ericsson (Publ) | Methods and apparatus for fast downlink information of uplink out-of-synchronization |
US7437175B2 (en) | 2004-05-06 | 2008-10-14 | Telefonaktiebolaget L M Ericsson (Publ) | Synchronization detection methods and apparatus |
US7512172B2 (en) * | 2004-09-30 | 2009-03-31 | Yan Zhang | Path search method for CDMA communication systems |
US20060125689A1 (en) * | 2004-12-10 | 2006-06-15 | Narayan Anand P | Interference cancellation in a receive diversity system |
US7555074B2 (en) * | 2005-02-01 | 2009-06-30 | Telefonaktiebolaget L M Ericsson (Publ) | Interference estimation in the presence of frequency errors |
WO2006093723A2 (en) * | 2005-02-25 | 2006-09-08 | Data Fusion Corporation | Mitigating interference in a signal |
US20060229051A1 (en) * | 2005-04-07 | 2006-10-12 | Narayan Anand P | Interference selection and cancellation for CDMA communications |
US7826516B2 (en) | 2005-11-15 | 2010-11-02 | Rambus Inc. | Iterative interference canceller for wireless multiple-access systems with multiple receive antennas |
WO2006109013A1 (en) * | 2005-04-15 | 2006-10-19 | Sony United Kingdom Limited | Analogue to digital conversion |
US7546136B2 (en) * | 2005-04-29 | 2009-06-09 | Telefonaktiebolaget L M Ericsson (Publ) | Variable transmit power control strategies for high-speed downlink packet access systems |
US20070064658A1 (en) * | 2005-09-21 | 2007-03-22 | Qiuzhen Zou | Flexible and monolithic rake receiver |
CN101039293B (en) * | 2006-03-15 | 2010-06-23 | 华为技术有限公司 | Apparatus, method and receiver for initial timing synchronization in communication system |
US7746961B2 (en) | 2006-04-11 | 2010-06-29 | Telefonaktiebolaget L M Ericsson (Publ) | Efficient detection of predetermined sequences |
US7609791B2 (en) * | 2006-04-21 | 2009-10-27 | Telefonaktiebolaget L M Ericsson (Publ) | Iterative decoding with intentional SNR/SIR reduction |
US8438203B2 (en) * | 2007-06-27 | 2013-05-07 | L-3 Communications Integrated Systems L.P. | Methods and systems for processing and displaying data |
US8433739B2 (en) * | 2007-06-27 | 2013-04-30 | L-3 Communications Integrated Systems, L.P. | Methods and systems for detecting repetitive synchronized signal events |
US7957453B2 (en) * | 2008-03-20 | 2011-06-07 | Raytheon Company | Method for operating a rake receiver |
US20110083065A1 (en) | 2009-10-01 | 2011-04-07 | Telefonaktiebolaget L M Ericsson (Publ) | False Detection Reduction in Communication Systems |
TWI628933B (en) * | 2009-10-01 | 2018-07-01 | 內數位專利控股公司 | Methods and systems for transmititng uplink control information |
KR101521001B1 (en) | 2010-01-08 | 2015-05-15 | 인터디지탈 패튼 홀딩스, 인크 | Channel state information transmission for multiple carriers |
US8520782B2 (en) | 2010-12-17 | 2013-08-27 | Telefonaktiebolaget L M Ericsson (Publ) | Receiver power reduction methods and apparatus |
US8811453B2 (en) * | 2011-09-22 | 2014-08-19 | Ericsson Modems Sa | Dynamic power scaling of an intermediate symbol buffer associated with covariance computations |
CN108141316A (en) * | 2015-09-24 | 2018-06-08 | Idac控股公司 | For the system of the enhancing multiplexing in wireless system |
US9768793B2 (en) * | 2015-12-17 | 2017-09-19 | Analog Devices Global | Adaptive digital quantization noise cancellation filters for mash ADCs |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4694467A (en) * | 1986-07-03 | 1987-09-15 | Signatron, Inc. | Modem for use in multipath communication systems |
US4791597A (en) * | 1986-10-27 | 1988-12-13 | North American Philips Corporation | Multiplierless FIR digital filter with two to the Nth power coefficients |
US5103459B1 (en) * | 1990-06-25 | 1999-07-06 | Qualcomm Inc | System and method for generating signal waveforms in a cdma cellular telephone system |
US5151919A (en) * | 1990-12-17 | 1992-09-29 | Ericsson-Ge Mobile Communications Holding Inc. | Cdma subtractive demodulation |
US5218619A (en) * | 1990-12-17 | 1993-06-08 | Ericsson Ge Mobile Communications Holding, Inc. | CDMA subtractive demodulation |
US5235615A (en) * | 1991-05-22 | 1993-08-10 | Cylink Corporation | Spread spectrum method |
US5164958A (en) * | 1991-05-22 | 1992-11-17 | Cylink Corporation | Spread spectrum cellular handoff method |
US5237586A (en) * | 1992-03-25 | 1993-08-17 | Ericsson-Ge Mobile Communications Holding, Inc. | Rake receiver with selective ray combining |
US5233626A (en) * | 1992-05-11 | 1993-08-03 | Space Systems/Loral Inc. | Repeater diversity spread spectrum communication system |
US5224122A (en) * | 1992-06-29 | 1993-06-29 | Motorola, Inc. | Method and apparatus for canceling spread-spectrum noise |
US5237587A (en) * | 1992-11-20 | 1993-08-17 | Magnavox Electronic Systems Company | Pseudo-noise modem and related digital correlation method |
-
1993
- 1993-04-29 US US08/054,028 patent/US5305349A/en not_active Expired - Lifetime
-
1994
- 1994-04-28 DE DE69433892T patent/DE69433892T2/en not_active Expired - Lifetime
- 1994-04-28 EP EP94850071A patent/EP0622909B1/en not_active Expired - Lifetime
- 1994-04-28 SG SG9603324A patent/SG81871A1/en unknown
- 1994-04-29 AU AU69055/94A patent/AU675330B2/en not_active Ceased
- 1994-04-29 CA CA002139238A patent/CA2139238C/en not_active Expired - Lifetime
- 1994-04-29 CN CN94190251A patent/CN1084996C/en not_active Expired - Lifetime
- 1994-04-29 KR KR1019940704818A patent/KR100315899B1/en not_active IP Right Cessation
- 1994-04-29 NZ NZ266930A patent/NZ266930A/en not_active IP Right Cessation
- 1994-04-29 WO PCT/US1994/004820 patent/WO1994026051A1/en active IP Right Grant
- 1994-04-29 JP JP52460894A patent/JP3469241B2/en not_active Expired - Lifetime
- 1994-04-29 BR BR9405325-1A patent/BR9405325A/en not_active IP Right Cessation
- 1994-12-28 FI FI946138A patent/FI113228B/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
CN1108869A (en) | 1995-09-20 |
AU6905594A (en) | 1994-11-21 |
FI113228B (en) | 2004-03-15 |
JPH07508393A (en) | 1995-09-14 |
FI946138A0 (en) | 1994-12-28 |
NZ266930A (en) | 1996-10-28 |
EP0622909A3 (en) | 2000-07-19 |
CA2139238A1 (en) | 1994-11-10 |
KR100315899B1 (en) | 2002-02-28 |
WO1994026051A1 (en) | 1994-11-10 |
JP3469241B2 (en) | 2003-11-25 |
US5305349A (en) | 1994-04-19 |
AU675330B2 (en) | 1997-01-30 |
DE69433892D1 (en) | 2004-08-19 |
DE69433892T2 (en) | 2005-07-28 |
BR9405325A (en) | 1999-08-31 |
EP0622909A2 (en) | 1994-11-02 |
KR950702366A (en) | 1995-06-19 |
SG81871A1 (en) | 2001-07-24 |
FI946138A (en) | 1994-12-28 |
EP0622909B1 (en) | 2004-07-14 |
CN1084996C (en) | 2002-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2139238C (en) | Quantized coherent rake receiver | |
CA2109947C (en) | Rake receiver with selective ray combining | |
EP0526439B1 (en) | CDMA substractive demodulator | |
EP0491668B1 (en) | CDMA subtractive demodulation | |
US5818866A (en) | Method of selecting propagation delays retained for receiving messages transmitted by spread spectrum radio communication | |
US5790537A (en) | Interference suppression in DS-CDMA systems | |
EP0643506A2 (en) | Digital CDMA receiver | |
AU710354B2 (en) | Method and apparatus for spread-spectrum channel estimation | |
TU | Speech Processing (see Digital Speech Processing) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKEX | Expiry |
Effective date: 20140429 |
|
MKEX | Expiry |
Effective date: 20140429 |