CROSS REFERENCE TO RELATED APPLICATIONS This application is a continuation of U.S. patent application Ser. No. 09/998,885, filed on Oct. 31, 2001, which claims the benefit of U.S. Provisional Application Ser. No. 60/300,412, filed on Jun. 22, 2001, which are incorporated by reference as if fully set forth.
BACKGROUND The present invention relates to user equipment (UE) synchronization to a base station. More specifically, the present invention relates to an improved initial cell search method and system.
FIG. 1 illustrates a wireless communication system. The communication system has a plurality of base stations21-2n(2). Eachbase station2 communicates with user equipment (UEs)41-4N(4) within its operating area or cell61-6N(6).
When a UE4 is first activated, it is unaware of its location and which base station2 (or cell6) to communicate. The process where the UE4 determines the cell6 to communicate with is referred to as “cell search.”
In typical code division multiple access (CDMA) communication systems, a multi-step process is used for cell search. For step one, eachbase station2 transmits the same primary synchronization code (PSC) in a primary synchronization channel (PSCH). In a time division duplex (TDD) communication system using CDMA, the PSCH is one timeslot out of fifteen forcase1 cell search (as shown inFIG. 2A), such as slot0 or in general K, or two timeslots forcase2 cell search (as shown inFIG. 2B), such as slots0 or in general K and K+8 and8. Eachbase station2 transmits the same PSC in the PSCH timeslot(s). To reduce interference between secondary synchronization codes (SSCs) used in step two, each PSC is transmitted at a different time offset. The PSC offsets are at a set number of chips.
The UE14 determines thebase station12 to be synchronized to by searching the PSCH for received PSCs, such as using a matched filter. An example of the results of such a search are shown inFIG. 3. As shown inFIG. 3, peaks261-262occur in the PSCH where there is a high correlation with the PSC code. Typically, the search results are accumulated over multiple frames to improve accuracy. Using the accumulated results, the PSC peak locations are determined in the PSCH.
Referring back toFIG. 2A and 2B, along with each base station's transmitted PSC, eachbase station2 also simultaneously transmits secondary synchronization codes (SSCs), such as three, for bothTDD case1 andcase2. The SSCs sent by eachbase station2 are used to identify certain cell parameters, such as the code group and frame timing used by the cell6. The UE4 typically uses a correlator to detect the SSCs and the data modulated on them at each PSC peak identified in step I. The UE4 reads the broadcast control channel. In TDD step III for both types I and II, typically, the UE4 detects the midamble used in the broadcast channel and subsequently reads the broadcast channel.
A drawback of the initial cell search system described above is that the performance of the second step (SSC detection) is governed by the quality of the received signal which could result in false detections if this signal is of poor quality. In past systems, the second step, receives no benefit from successful execution of step I.
Accordingly, there is a need for an initial cell search system wherein the second step's performance is not solely governed by the received input signal, providing more accurate SSC detection.
SUMMARY The system and method of the present invention establishes a communication link between a user equipment (UE) and a base station in a communication system having a plurality of base stations which each transmit a common primary synchronization code (PSC) in a primary synchronization channel in conjunction with a base station specific secondary synchronization code (SSC) within a system frame, which receives with the UE an input signal including the PSC and SSC from at least one of the base stations. The UE analyzes the input signal to detect any received PSCs within a selected time period which has duration corresponding to the length of a system frame and determining a relative location of a strongest PSC within the selected time period. The input signal is then processed to remove the PSC from at least the determined PSC location. A secondary synchronization code (SSC) is then detected for the determined location from the processed signal. The communication link is then established using the detected SSCs.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is an illustration of a wireless communication system.
FIGS. 2A and 2B are illustrations of the physical synchronization channel (PSCH) forcase1 andcase2, respectively.
FIG. 3 is an illustration of peaks in a PSCH.
FIG. 4 is a block diagram of the initial cell search system of the present invention.
FIG. 5 is an exemplary block diagram of astep 2 processor.
FIG. 6 is an exemplary block diagram of astep 3 processor.
FIG. 7 is a flow diagram of the procedure implemented by the initial cell search system of the present invention.
FIG. 8 is a block diagram of a second embodiment of the initial cell search system.
FIG. 9 is a block diagram of a third embodiment of the initial cell search system.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS The preferred embodiments will be described with reference to the drawing figures where like numerals represent like elements throughout.
The initialcell search system10 in accordance with the preferred embodiment of the present invention is illustrated inFIG. 4. Thesystem10 comprises astep 1processor12, acancellation device18, astep 2processor14, and astep 3processor16, to accomplish initial synchronization between a user equipment (UE) and a base station.
Step 1 of the initial cell search algorithm is accomplished using thestep 1processor12.FIG. 4 shows one implementation of astep 1 processor, although others may be used. Thestep 1processor12 comprises a Hierarchical Golay Correlator (HGC)21 and aPSC decision device22. The purpose of thestep 1processor12 is to find the strongest base station's PSC over a frame or multiple frames worth of samples. A chip-sampled input signal I is received by the UE and processed by the HGC21. The HGC21 is a reduced complexity implementation of the correlation process between PSC and the input signal I at consecutive chip locations. The output of the HGC21 represents the magnitudes of the detected PSC power levels for those base stations detected by the HGC21. The base stations' PSCs with a high received power level appear as peaks in the frame. The outputs from the HGC21 are output to thePSC decision device22.
ThePSC decision device22, coupled to theHGC21, receives the correlation values output by the HGC21 for each chip in a frame worth of chips. A frame's worth of chips is preferably equivalent to the system frame, which by way of example, is equivalent to 38,400 chips. As those having skill in the art know, the system frame can be more or less than that which is used in this disclosure.
Thedecision device22 stores each chip correlation value from theHGC21 over a predetermined number of frames N and averages each chip's correlation values. As an example, a system frame is 4 chips long, and N=2. TheHGC21 outputs the correlation values A1, B1, C1, and D1, respectively for each of the four chips. Thedecision device22 stores these values and receives the output of the next frame's correlation values for each chip from theHGC21, which are A2, B2, C2, D2. Each chip''correlation values are then averaged, (i.e., A1,+A2/2; B1+B2/2; C1+C2/2; D1+D2/2).
Once thedecision device22 finds the average correlation value for each average correlation chip in a frame, the position of the maximum average of the frames is determined and its value compared with a determined threshold. The threshold is based on the noise level (i.e., interference plus thermal noise) at the receiver. Thenoise estimator24 has an auxiliary HGC (not shown) that is based on a code which has very low cross correlation with the PSC and the SSCs. Thenoise estimator24 HGC calculates a noise estimate for every chip in the system frame. Thenoise estimator24 iterates over the same number of frames as theHGC21 and averages several of the noise estimates in a window around the estimated PSCH location. The window size is preferably about 128, i.e., 64 chips on both sides of the PSCH location. As those having skill in the art know, the window size may be larger or smaller than 128.
If the maximum average is greater than the threshold, thedecision device22 determines whether the transmission pattern of the base station associated with the maximum average location iscase1 orcase2. This determination is made by comparing the correlation value of the chip at the maximum location +(8*2560) or maximum location +(7*2560). If this value is greater than the threshold, then the transmission pattern iscase2. Otherwise, the transmission iscase1.
If the maximum location value is less than the threshold, thestep 1processor12 continues processing the input signal I until a correlation value greater than the threshold is found or a failed condition is met. As those skilled in the art know, thedecision processor22 may utilize any of a number of methods for determining the location of the strongest PSC code. Once the maximum location value is found, thedecision processor22 forwards the location and the PSC to thecancellation device18 and thestep 2processor14.
Thecancellation device18, coupled to thestep 1processor12 and thestep 2processor14, takes the maximum location, the PSC and the input signal I and subtracts the PSC from the input signal I. This subtraction eliminates the PSC from the chip at the maximum location in the input signal I. The subtraction of the PSC from the input signal I can be done by one of several cancellation methods, such as interference cancellation. Using interference cancellation, the PSC is converted, using an interference construction device (not shown), into an estimate of its contribution to the input signal I. The received PSC's contribution is subtracted, such as by a subtractor. The resulting signal has the PSC's contribution removed from the input signal I at the maximum location. In code multiplexing systems, one code appears as noise to other codes. Accordingly, the PSC is essentially noise to the SSC. As a result, when the PSC is cancelled from the input signal I, thestep 2processor14 is able to locate the SSC and slot offset with greater accuracy and speed.
Thestep 2processor14, coupled to thecancellation device18, thestep 1processor12 and thestep 3processor16, receives the modified input signal from thecancellation device18 and the location of the PSC from thestep 1processor22.
One example of astep 2processor14 is illustrated inFIG. 5, although others may be used. Thestep 2processor14 comprisescorrelator31, a fast Hadamard transform device (FHT)33,phase estimator device37, aderotate device34, anaccumulator36, and adecision device39. Since the location of the PSC has been determined by thestep 1processor12, then thestep 2processor14 needs only to search for the SSCs in the maximum location input from thestep 1processor12. In this step, the UE identifies the code group and the toffsetassociated with the base station at the maximum location. Thestep 2processor14 also determines the frame index number within the interleaving period of two frames and it determines the slot index (K or K+8). As those skilled in the art know, the toffsetdetermined in this step allows the UE to synchronize to the slot bo cr(i)=c1(i)*z(i),i= . . . ,255 undary. The modified input signal and the position of the PSC are input to thecorrelator31. Thecorrelator31, coupled to theFHT33 and thecancellation device18, correlates the received input signal with the length 256 chip code at the PSC position to obtain 16 correlation values. This code, CR, is obtained from chip by chip multiplication of first SSC, C1, and a masking sequence, Z. This is shown below:
cr(i)=c1(i)*z(i),i=0, . . . ,255 Equation 1
The 16 complex correlation values, Rc(K) are obtained using the above code. Rc(K) is obtained by the following Equation 2:
where tcpis the PSC position obtained from thestep 1processor12 and N is the maximum number of PSCH time slots used for averaging.
The correlation values obtained at the output of thecorrelator31 are applied to theFHT33. TheFHT33, coupled to thecorrelator31 and aderotate device34, obtains 16 complex correlation values that correspond to the correlation of 16 SSCs and the received signal. That is:
As those skilled in the art know, taking FHT of Rc(K)'s is equivalent to the correlation of unmasked SSCs with the received signal. This is possible due to the special structure of the 16 SSCs. Please note that acase1 signal uses six (6) SSCs and acase2 signal uses twelve (12) SSCs. Four (4) SSCs are unused.
Thephase estimator37 receives the modified chip sampled received signal, as well as the PSC position from thestep 1processor12. The output of thestep 1HGC21 at the PSC position corresponds to the correlation of the PSC with the received signal at the PSC position. This complex correlation value is the input to thephase estimator37. In thisphase estimator37, the complex correlation value is normalized and then conjugated. The phase estimation is necessary for the derotation of the SSCs.
Thederotate device34, coupled to thephase estimator37 and theFHT33, receives the 16 SSCs from theFHT33 and the phase estimation from thephase estimator37. Thederotate device34 derotates the output of theFHT33. The derotation phase is the phase of the PSC. The complex correlation values are complex multiplied with the phase.
The derotated correlation values are then forwarded to theaccumulator36. Theaccumulator36 is coupled to thederotate device34 and thestep 2decision device39. The derotated correlation values are added coherently with a period of two (for case1) or four (for case2), for N iterations in accordance with equation 4:
ra1(k,n)=ra1(k,n−1)+rd(k,n)δ(1−nmodL), k=0, . . . , K; n=0, . . . , N; 1=0, . . . L Equation 4
where N is the maximum number of iterations to obtain a reliable signal value, K is the number SSCs used (K=6 forcase1 and K=12 for case2) and L is periodicity of the PSCH (L=2 forcase1 and L=4 for case2). These correlation values are initially set to zero. The decision variables are formed from the correlation values according to the SSC transmission patterns.
The decision variables obtained in theaccumulator36 are forwarded to thedecision device39. There are 64 decision variables forcase1, 32 code groups and 2 frames indices. Forcase2, there are 128 decision variables, 32 code groups, 2 frame indices and 2 slots (K or K+8). Thedecision device39 compares all the decision variables sequentially (one by one). This scheme is efficient since the number of decision variables is not large and the scheme can be implemented without much complexity. The transmission pattern that the maximum decision variable belongs to indicates the code group number ofcase1 andcase2 and PSCH slot index forcase2.
The t
offset,scrambling code group number, SSCs, and the location of the PSC are then forwarded to the
step 3
processor16. The
step 3
processor16, coupled to the
step 2
processor14, retrieves the midambles and primary scrambling code that are used by the UE. The code group number retrieved by the
step 2
processor14 is associated with four cell parameters. Therefore, identification of the code group number identifies the midamble codes used by the cell. The four cell parameters associated with the code group are cycled through System Frame Numbers (SFNs) as depicted in Table 1.
| TABLE 1 |
|
|
| Cell | | |
| Parameter | Cell | Cell |
| Code | (initially | Parameter | Parameter |
| Group | assigned) | (SFN mod 2 = 0) | (SFN mod 2 = 1) |
|
| i = 1, . . . , 32 | 4(i − 1) | 4(i − 1) | 4(i − 1) + 1 |
| 4(i − 1) + 1 | 4(i − 1) + 1 | 4(i − 1) |
| 4(i − 1) + 2 | 4(i − 1) + 2 | 4(i − 1) + 3 |
| 4(i − 1) + 3 | 4(i − 1) + 3 | 4(i − 1) + 2 |
|
FIG. 6 illustrates anexemplary step 3processor16. Although astep 3 processor is illustrated, anystep 3 processor may be utilized. Thestep 3processor16 comprises acorrelation device41, anaccumulation device42, and adecision device43. Thecorrelation device41 is forwarded to the code group and frame index from thestep 2processor14, and the PSC position from thestep 1processor12. A periodic window size pWS and multipath window size mpWS are also input to thecorrelation device41. The input signal I is correlated with the four (4) midambles that are associated with the code group by thecorrelation device41. The correlation is performed at WS3 calculated candidate midamble locations on the P-CCPCH which are determined by the toffsetof the code group, the periodic window size pWS and the multipath window size mpWS; where WS3=pWS+2mpWS.
The basic midamble code toggles with the SFN (odd/even). If the SFN is even, thecorrelation device41 correlates against the basic midamble code. If the SFN is odd, thecorrelation device41 correlates against the cycled midamble code. For example, in the case of code group0, thecorrelation device41 correlates againstmidamble codes0,1,2 and3 on even SFN, and thecorrelation device41 correlates againstmidamble codes1,0,3 and2 on odd SFN. It should be noted that cell search does not know the SFN, but it does know whether the SFN is even or odd based on the frame index (1 or2) found by thestep 2processor14.
Thecorrelation device41 calculates 4×WS3 correlations. The periodic window allows thecorrelation device41 to find the maximum correlation. The purpose of the multipath window is to adjust the PSCH position to include the maximum amount of multipath. This may be necessary if the strongest multipath component is not the first significant multipath component.
The correlation values output from thecorrelation device41, are forwarded to theaccumulation device42 which is coupled to thecorrelation device41 and thedecision device43. Theaccumulation device42 accumulates the correlation values over a predetermined number of frames N3. It should be noted that initial cell search does not know frame boundaries so the initial cell search system typically uses blocks of 38400 chips (2560 chips×15 slots) in lieu of frames. Theaccumulation device42 forms the decision variables by adding the absolute value of the real and imaginary parts of the complex number that represents the correlation value. A decision variable is the magnitude measure of the corresponding correlation value. In order to have a more reliable decision, these decision variables can be accumulated for N3 iterations, where N3 is the maximum number of iterations for a reliable signal to noise ratio level.
The decision variables generated by theaccumulation device42 are forwarded to thedecision device43. Thedecision device43, coupled to theaccumulation device42, determines the maximum decision variable by simple sequential comparison. The maximum decision variable corresponds to the basic midamble used for the cell. The scrambling code number associated with the identified midamble is the scrambling code of the cell. The scrambling code is then utilized by the UE for broadcast channel processing.
The flow diagram for the initial cell search system is illustrated inFIG. 7. The UE receives the input signal over the common downlink channel (step601). Thestep 1processor12 detects the location of the PSC associated with the strongest base station (step602). Thestep 1processor12 forwards the PSC to the cancellation device18 (step603). Thecancellation device18 then subtracts the PSC detected from thestep 1processor12 from the input signal I (step604) and forwards this modified signal to thestep 2 processor14 (step605). Using the modified input signal from thecancellation device18 and the location of the PSC from thestep 1processor12, thestep 2processor14 retrieves the SSCs and determines toffsetand the code group number associated with the strongest base station (step606). The code group number is then forwarded to thestep 3 processor16 (step607) which retrieves the midambles and primary scrambling codes therefrom (step608). These codes are then used by the UE to synchronize to the base station (step609).
Since the second step of the initial cell search is the weakest, the cancellation of the PSC from the signal input to thestep 2processor14 provides a cleaner signal and results in a better estimation of the SSCs time. This results in a more accurate slot offset and code group number determination. Ultimately, this procedure reduces the number of false detections by the UE.
A second embodiment is illustrated inFIG. 8. Similar to the system ofFIG. 1, the system of this second embodiment utilizes acancellation device182to subtract the PSC and SSCs from the input signal I before processing by thestep 3processor16.Step 2 does not receive a PSC removed input signal, instead the modified input signal to thestep 3processor16 is able to more accurately detect the midamble and code group of the detected base station.
A third embodiment is illustrated inFIG. 9. This third embodiment utilizes thecancellation devices181and182to improve the accuracy of the initialcell search system10. Thecancellation device181removes the PSC from the detected location in the input signal prior to thestep 2processor14. Thecancellation device182removes the SSCs prior to thestep 3processor16.