This paper addresses the problem of recovering the code phase of the composite spreading sequence for a CDMA 1x signal transmitted from a handset, without the benefit of a priori information from the system. The spreading code is required for the radio spectrum monitoring system for signal detection and measurements rather than for communications. The structure of the CDMA 1x signal is exploited by processing sequential pairs of received samples to form a single soft sample for each pair. The approach models the combination of the long-code generator and the two short-code generators, along with the pair-wise processing, by a single linear system over GF(2), with the initial states of the long- and short-code generators forming the input vector. Consequently, a vector of the pair-wise soft samples can be treated as a noisy received codeword that is decoded using iterative soft-in decoding techniques. If the decoder yields the correct candidate “codeword,” the original states of the code generators can be computed. This approach does not require direct access to the transmitted spreading sequence but can be applied to the data modulated signal. Simulation results provide performance estimates of the method with noise, Rayleigh fading, and co-channel interference.

Code division multiple access (CDMA) has become a popular choice for personal communications systems. With the multiple-access scheme multiple users can simultaneously share the same frequency band by using high-rate spreading codes to disperse their transmitted power over the fully-allotted frequency band, thereby keeping the power spectral density for each user at a relatively low level. CDMA represents a new set of challenges for spectrum regulators that need to monitor radio traffic volumes and check license compliance as part of their responsibility to efficiently manage the frequency spectrum in a region. To recover one of the transmitted signals, the receiver generates a local replica of the transmitter's spreading code and uses it to “despread” the desired signal. If the spreading code for the desired signal is suitably distinct from the spreading codes for the other signals present in the band, the desired signal can be received with relatively little interference. Thus, it is important that each user is assigned a different spreading code. In CDMA 1x, all users generate their own spreading codes using the same linear feedback shift registers (LFSR). The requirement of assigning distinct spreading codes is achieved by assigning each user a different starting point in the long spreading code. Thus, each user's code is a distinct time-shifted version of the shared code, and synchronizing to any given user's code is essentially determining the time reference, or equivalently code phase, for that user.

As the network assigns the starting point in the sequence, a receiving base station knows, within a small uncertainty region, the code phase of all of the users assigned to it. A blind acquisition technique is not required for the base station as it has the users' code phase information. The work described in this paper is motivated by the application of spectrum monitoring, where it is necessary to perform measurements on the spectrum usage and to locate transmitters. This is a difficult problem as the mobiles’ signals use the same frequency bandwidth and the equipment must operate without information from the cellular networks. A method to achieve the desired goals is to blindly acquire the code phase of a user in the area to aid in signal detection, signal parameter measurements, direction-finding, and interference cancelation in order to detect other users.

An introduction to acquisitions techniques used for direct sequence spread spectrum (DSSS) is presented in [

The third class of search strategies for acquisition is sequential estimation. Here, the detector uses information on the chip sequence to estimate the state of the shift register. In [

The above methods used hard decisions on the chips in the sequence. Soft decisions were introduced in [

An approach for acquisition of DS-CDMA signals is to treat the spreading code acquisition problem as a decoding problem. In many cases, the spreading code used in the CDMA system is generated by a linear system. The structure of the linear system defines a linear code. In the above references, the problem of acquiring the phase of the spreading sequence using decoding methods was considered. However, there was an assumption that the receiver had access to the CDMA signal modulated only by a spreading sequence (i.e., the chip decisions) and not by data. It is felt that the DRSSE algorithm [

The algorithm that will be presented is capable of acquiring the spreading code when data modulation is present on the signal. In the CDMA 1x system, the effect of the data modulation can be eliminated on the single soft sample that results from each pair of sequential samples. As a result, the algorithm is independent of the data modulated on the signal and can acquire during any phase of the communication. Another benefit of processing sequential pairs of channel samples is the algorithm becomes robust against unknown carrier frequency offsets. In the case of CDMA 1x, the knowledge of the frame structure can be used to quickly eliminate a large number of incorrect spreading generator states without attempting the despreading of the signal.

In this paper, we will present an algorithm that uses iterative soft input decoding to acquire the code phase of a CDMA 1x spread signal without any system information available. This allows the receiver to regenerate the spreading sequence required for despreading of the signal. An application of interest is for use in a spectrum monitoring and signal detection. Once the spreading sequence is found, the signal can be despread for use in monitoring or direction finding.

The outline for the remainder of this paper is as follows. In Section

In several cellular standards [

Block diagram of a method to form a complex spreading sequence from two bipolar sequences [

In acquiring the spreading sequence of an unknown transmitter, it is assumed that the structure of the spreading generators that generate the

In this section, the method of processing the signal so that the resulting signal can be considered to be a linear code depending on the initial state of the spreading generator is shown. Consider two adjacent complex samples

Note that the contribution to the sequence from

The product of an even index (

The assumption that the spreading factor used for the data is an even number and is aligned with the alternating sequence results in the property that

Thus, from (

A decoder algorithm can utilize the constraints specified by the code and the noisy received version of the codeword to obtain an estimate of the codeword

A block diagram of the spreading generator for CDMA 1x is shown in Figure

Block diagram of CDMA 1x spreading sequence generation.

In the CDMA 1x system, the state of the shift registers is a function of the system time [

Logic diagram for processing the result from the sequential processing of the complex sequence.

In the CDMA 1x system, the I and Q short shift registers have a known state at the beginning of the frame [

In order to check if the solved state of the shift register is valid, one method is to load a local spreading generator and run the generator to produce the spreading sequence and then correlate this sequence with the received sequence. However, there is a less complex method that can be utilized that is based on the initialization of the short spreading registers at the beginning of each frame. As the states of the short shift registers are known at the beginning of the frame and the registers are clocked together, the states of both shift registers are known for each offset (in chips) from the start of the frame. Another property that results from this procedure is there is a one-to-one correspondence of the states in the I and Q short shift registers. In other words, there are valid pairs of states. This property can be used to determine if the solved state of the spreading generators is likely to be correct. To use this method, the decoder forms a candidate codeword (described in the next section), and then solves for states of the short shift registers,

The decoding algorithm used to find an estimate of the codeword is the Vector SISO [

For the sake of completeness, a brief outline of the decoding algorithm is provided here. For more detail regarding the decoding algorithm, the reader is referred to [

Consider general linear codes for which codewords can be generated from

A set of symbol positions (i.e., indices in the codeword vector) are said to be linearly independent if the corresponding columns of a parity check matrix are linearly independent.

A parity check matrix is referred to as being in pseudosystematic form relative to a set of

We can obtain

The general problem can be stated as follows. Given that one of the

The required approximate values can be computed using the max-log-APP algorithm (sometimes referred to as the max-log-MAP algorithm) [

Consider the difference between the summed metrics

Note that the composite information given by the right-hand side of the equation only involves the bit positions for which the two codewords differ. The first term of the composite information is the intrinsic information (i.e., the information about the

The steps followed by the basic SISO algorithm are summarized below.

Form an initial “reliability” vector by taking the absolute values of the elements of

This is the first step in the iteration loop. Select the

Using row reduction techniques, put

Compute the extrinsic information for the MRBs. For the MRBs, a reasonable approximation to the

Compute the MRB metric differences by summing the extrinsic information and the intrinsic information, and compare with the signs of the MRBs in the current best codeword. If any of the signs differ, then a new best path has been found. If the signs differ in several locations, the new best path is the one for which the sign is changed for the bit corresponding to the largest magnitude of composite information (with sign differing from the current best decision). If there are no sign differences or if the maximum allowable number of iterations has been reached, go to Step

Form the new reliability vector by performing element-by-element multiplication between the new best decision vector and

Check if the best codeword is likely to be correct by comparing the states of the short shift registers. If they form a valid pair of states or if the maximum allowable number of iterations has been reached, the algorithm terminates. Otherwise, bias the algorithm away from the current solution by multiplying the current solution by a small scale factor, subtracting it from the received vector, and return to Step (

This section presents the results from Monte-Carlo simulations for both the additive white Gaussian noise (AWGN) channel and a quasistatic Rayleigh fading channel. The performance plots present the codeword error rate (CER), where the codeword is from a

The simulation has perfect chip timing to the desired user and the simulation operates at 1 sample/chip. The CDMA 1x signal is spread at 1.2288 Mchips/s. When multiple users are present, the users are chip synchronous with the desired user. The desired user has a frequency offset of 3000 Hz from 0 Hz in the simulations. The algorithm is robust against a frequency offset and the offset was included in the simulations to show the performance with an imperfect carrier frequency estimate. The data signal before spreading includes the pilot channel on the in-phase channel and with random data multiplied by a Walsh code (1 1 1 1 -1 -1 -1 -1) with a relative gain to the pilot of 0.8.

The detector used the biased version of the Vector SISO [

Equation (

In Figure

Codeword error rate performance results for codeword lengths of 512, 1024, and 2048 for 1 and 2 users on the AWGN channel. Results for the single user case when 72 hard decisions on the processed sequential pairs of channel samples are made and then used to solve for the spreading generator state are shown for comparison.

As CDMA systems usually work on an

The performance with Rayleigh fading was considered as the Rayleigh fading channel is common in cellular communications. The channel model that was used was quasistatic Rayleigh fading, where the user's signal was scaled by a Rayleigh variate for each codeword. The Rayleigh variate was generated by scaling the square root of the sum of the squares of two independent Gaussian random variates with zero-mean and a variance of

For the Rayleigh fading channel simulations with two users, the detected codeword was considered in error only if it did not match either of the users. In other words, the detector was successful if it detected either one of the users' codewords. This measurement was chosen to correspond to typical results for a spectrum monitoring application as we are interested in detecting any user's signal. We have assumed the signal with the highest power would be the most likely signal detected. In the AWGN case, the interfering user's signal power was set slightly below that of the desired user's signal. In the Rayleigh fading case, the users' signals were set to have an equal power prior to fading, however, after fading either signal could have the highest receive power and considered the “desired” signal.

In Figure

Codeword error rate performance results for codeword lengths of 512, 1024, and 2048 for a single user on a quasi-static Rayleigh fading channel. Single user performance on the AWGN channel is included for comparison.

The case for two equal-powered signals is presented in Figure

Codeword error rate performance results for codeword lengths of 512, 1024, and 2048 for two users on a quasi-static Rayleigh fading channel. The case with two users on the AWGN channel is included for comparison. In the AWGN case, the interfering user's power is set to 0.9 dB less than the desired user.

The method presented here is a practical method for blind acquisition of CDMA 1x signals. Speed tests were run on a Pentium IV processor with a clock speed of 3.8 GHz. The results are for 1 sample/chip operation with perfect chip timing and a signal present. The decoding parameters used during the speed tests were that the decoder was allowed 1 iteration, the maximum number of bias modifications was 10 and the extrinsic scale factor was 0.2. The average decoder speeds for block sizes of 512, 1024, and 2048 were 27.2, 9.8, and 3.6 decoding/second, respectively, for an

A technique was presented for recovering the code phase of the composite spreading sequence for a CDMA 1x signal transmitted from a handset, without the benefit of any

The utility of the technique was demonstrated using computer simulation, in both AWGN and Rayleigh fading environments. It was shown that code phase recovery is possible even at very low signal-to-noise ratios and in the presence of significant co-channel interference.

The simulations assumed perfect chip timing synchronization. If chip timing is unknown, as is usually the case, the system can try each of four evenly spaced hypotheses (with a spacing of a quarter of a chip period). This method was found to be robust in low-SNR environments. While the results are not described in this paper, this technique has been used to successfully recover the code phase for off-air signals.

A suggested area of future work is an investigation on the effect of providing reliability information to the decoder that takes into account the non-Gaussian noise terms associated with