Abstract — In mobile radio communication systems using spread spectrum technology, an accurate estimate of the signal propagation delay is needed in order to recover the transmitted da- ta. This process is usually done using a pseudo noise (PN) code ac- quisition algorithm to search for the correct propagation delay within a window of possible delays. In this paper, we propose a new approach to solving the PN code acquisition problem using ad- vanced Boolean Satisfiability (SAT) techniques. SAT solvers use in- telligent search algorithms that can traverse the search space and efficiently prune parts that contain no solutions. These solvers have recently been used to solve many challenging problems in Engi- neering and Computer Science. In this paper, we show how to for- mulate the PN code acquisition problem as a SAT instance and evaluate the use of advanced SAT techniques in solving the prob- lem. Our approach is verified by simulation and presented results indicate that the proposed system achieves a detection probability for the correct delay of almost 100% for all practical cases. I. INTRODUCTION Direct sequence spread spectrum (DS-SS) has recently been proposed for use in third generation mobile communications systems such as CDMA2000 and WDCMA. In DS-SS systems, a wideband pseudo noise (PN) code is used to spread the spec- trum of the data at the transmitter before it is transmitted over the radio channel. This bandwidth spreading results in several features such as resistance to multipath, accurate ranging, and multi-user communications. Due to signal reflection, refraction, and scattering in the radio channel, the transmitted signal goes through several propagation paths before reaching the receiver. It is imperative that the receiver collects the energy received through all these paths in order to have good system perfor- mance. This is typically done through what is known as a RAKE receiver which consists of several correlators, called fingers, each assigned to collect the energy of one of the multipath com- ponents. The PN code synchronization process is usually developed over two stages: PN code acquisition and PN code tracking [20]. The acquisition stage is responsible for the coarse timing adjust- ment such that the local de-spreading code is within one or one- half chip from the received signal code. PN code tracking is then used to refine the timing and to maintain alignment to within a fraction of a chip (e.g. one-eighth of a chip). This paper focuses on the PN code acquisition problem. PN code acquisition can be accomplished by searching the time delay uncertainty range for the correct multipath delays. The uncertainty range represents the possible delays that the sig- nal may have and is related to the channel memory. The delay range is usually specified as cells that are one-chip or one-half of a chip apart. The search of these cells, i.e. finding the cells that have strong energy and hence multipath components, can be either done in a serial or parallel fashion [19, 22, 23, 24]. In serial search, one cell at a time is tested by measuring the signal energy at that cell. If the energy exceeds a preset thresh- old then the cell is declared as a multipath cell while if the ener- gy is below the threshold then it is declared as a no multipath cell. The search advances to the next cell and the process is con- tinued until all cells in the uncertainty range are tested. The other search strategy uses parallel search where the energies of all cells are calculated simultaneously using a parallel circuits and cells with energy above the threshold are declared as multipath cells. Apparently, serial search is slower compared to parallel search at it takes longer time to search all the cells and find the delays. On the other hand, serial search has a much lower re- duced complexity (both hardware and processing). A common drawback of the existing schemes is that in searching for the correct cells they don't utilize the inherent structure of the PN code. These schemes need to search all pos- sible cells in the search window, which could be as large as the length of the PN code, in order to find the correct cells. For ex- ample, for a PN code with a length of 2047 chips (generated by 11-stage shift register) the serial and parallel search schemes need to test 2047 cells if the search step is one chip or twice of that if the search step is one-half of a chip. This testing may need to be repeated many times if the multipath components were not detected at the first trial due to noise. In this paper, we propose a PN code acquisition scheme that exploits the structure of the PN code to reduce the number of decisions needed to find cor- rect cells. The proposed scheme is based on using Boolean Sat- isfiability (SAT) solving to perform intelligent search of the uncertainty region and hence reduce the number of decisions needed to find the correct cells significantly. This is done by searching only PN code phases that result in minimum differ- ence (minimum distance) between the PN code in the received signal and a locally generated PN code according to the SAT formulation (to be explained later). Recently, Boolean Satisfiability (SAT) have been shown to be very successful in solving complex problems in various En- gineering and Computer Science applications. Such applications include: Formal Verification [5], FPGA routing [17], Power Op- timization [3], etc. SAT has also been extended to a variety of applications in Artificial Intelligence including other well known NP-complete problems such as graph colorability, vertex cover, hamiltonian path, and independent sets [8]. Despite SAT being an NP-Complete problem [7], many researchers have de- veloped powerful SAT solvers that are able of handling prob- lems consisting of thousands of variables and millions of PN Code Acquisition Using Boolean Satisfiability Techniques Fadi A. Aloul Department of Computer Science & Engineering American University of Sharjah, UAE faloul@aus.edu Mohamed El-Tarhuni Department of Electrical Engineering American University of Sharjah, UAE mtarhuni@aus.edu