Claims
- 1. A parallel searcher for use in a wireless communications device, comprising:a pseudonoise code generator for generating at least one pseudonoise sequence having a predetermined chip period; a plurality of slices in said searcher for processing PN spread signals, each slice including: a delay unit for delaying said pseudonoise sequence by a predetermined chip period, a despreader comprising a complex rotator for operating on a data stream as a function of a pseudonoise sequence, which is a delayed pseudonoise sequence from a previous slice when the slice is not a first slice of said plurality, and at least one coherent accumulator for coherently accumulating an output of said despreader; and a non-coherent accumulator that accumulates the output of each slice non-coherently to produce a non-coherent sum for each slice; wherein an output from said pseudonoise generator is coupled to an input of the delay unit of a next slice, except when the current slice is the last slice of said plurality; and wherein each slice has an output from the delay unit coupled to an input of the delay unit of a next slice.
- 2. The parallel searcher of claim 1, further comprising an accumulator controller for sequentially initializing said coherent accumulators and sequentially coupling the outputs of said coherent accumulators to said non-coherent accumulator based on the state of said pseudonoise sequence.
- 3. The parallel searcher of claim 1, wherein each said coherent accumulator comprises:a multiplier that receives said pseudonoise sequence and said data stream; and an accumulator that receives the output of said multiplier.
- 4. A parallel searcher for use in a wireless communications device, comprising:a pseudonoise code generator for generating at least one pseudonoise sequence having a predetermined chip period; a plurality of slices in said searcher for processing PN spread signals, each slice including: a delay unit for delaying said pseudonoise sequence by a predetermined chip period, having an output from said pseudonoise generator coupled to an input of the delay unit of a next slice, except when the current slice is the last slice of said plurality, and each slice having an output from the delay unit coupled to an input of the delay unit of a next slice, a despreader for operating on a data stream as a function of a pseudonoise sequence, which is a delayed pseudonoise sequence from a previous slice when the slice is not a first slice of said plurality, at least one coherent accumulator for coherently accumulating an output of said despreader said non-coherent accumulator comprising: a multiplexer that receives as inputs the outputs of each slice; a squarer that squares the output of said multiplexer; a memory that stores a sum for each slice; a selector that selects one of said multiplexer inputs and a corresponding one of said sums based on the state of said pseudonoise sequence; and an adder that adds to said selected sum the output of said squarer; and a non-coherent accumulator that accumulates the output of each slice non-coherently to produce a non-coherent sum for each slice.
- 5. The parallel searcher of claim 1, further comprising:a control processor that generates a threshold; and a threshold detector that receives said non-coherent sum from said non-coherent accumulator and selectively provides the delay associated with said non-coherent sum to said control processor based on said threshold.
- 6. The parallel searcher of claim 5, further comprising means for storing a dynamically sorted list of a predetermined number of non-coherent sums that exceeds a threshold during a search window.
- 7. The parallel searcher of claim 1, further comprising:a Walsh code generator that generates a Walsh code; and a multiplier that combines said Walsh code with said pseudonoise sequence prior to said slices.
- 8. A parallel searcher for use in a wireless communications device, comprising:a pseudonoise code generator for generating at least one pseudonoise sequence having a predetermined chip period; a plurality of slices in said searcher for processing PN spread signals, each slice including: a delay unit for delaying said pseudonoise sequence by a predetermined chip period, having an output from said pseudonoise generator coupled to an input of the delay unit of a next slice, except when the current slice is the last slice of said plurality, and each slice having an output from the delay unit coupled to an input of the delay unit of a next slice, a despreader for operating on a data stream as a function of a pseudonoise sequence, which is a delayed pseudonoise sequence from a previous slice when the slice is not a first slice of said plurality, and at least one coherent accumulator for coherently accumulating an output of said despreader; a non-coherent accumulator that accumulates the output of each slice non-coherently to produce a non-coherent sum for each slice; a Walsh code generator that generates a Walsh code, wherein said Walsh code generator is programmable for alternative Walsh code sequences in response to a selection input allowing searches over different orthogonal codes; and a multiplier that combines said Walsh code with said pseudonoise sequence prior to said slices.
- 9. The parallel searcher of claim 1 wherein said pseudonoise code generator is programmable for alternative PN codes in response to a selection input allowing searches over different PN codes.
- 10. A parallel searcher for use in a wireless communications device, comprising:a pseudonoise code generator for generating at least one pseudonoise sequence having a predetermined chip period; a plurality of slices in said searcher for processing PN spread signals, each slice including: a delay unit for delaying said pseudonoise sequence by a predetermined chip period, having an output from said pseudonoise generator coupled to an input of the delay unit of a next slice, except when the current slice is the last slice of said plurality, and each slice having an output from the delay unit coupled to an input of the delay unit of a next slice, a despreader for operating on a data stream as a function of a pseudonoise sequence, which is a delayed pseudonoise sequence from a previous slice when the slice is not a first slice of said plurality, and at least one coherent accumulator for coherently accumulating an output of said despreader; a non-coherent accumulator that accumulates the output of each slice non-coherently to produce a non-coherent sum for each slice; and a rotator in series with an input for said slices for receiving input data and applying a preselected amount of rotation thereto, being controllable to enable searching over different Doppler frequency offset ranges.
- 11. A wireless communication device comprising:a parallel searcher, comprising: a pseudonoise code generator for generating a pseudonoise sequence; a plurality of slice processing elements in said searcher for processing PN spread signals, each slice including: a delay unit for delaying said pseudonoise sequence by a predetermined chip time, a despreader comprising a complex rotator for operating on a data stream as a function of said delayed pseudonoise sequence, except for when it is a first despreader, and at least one coherent accumulator for coherently accumulating an output of said despreader; and a non-coherent accumulator that accumulates the output of each slice non-coherently to produce a non-coherent sum for each slice; wherein an output from said pseudonoise generator is coupled to an input of the delay unit of a next slice, except when the current slice is the last slice of said plurality; wherein each slice has an output from the delay unit coupled to an input of the delay unit of a next slice.
- 12. A method for detecting the presence of a signal in a data stream, said signal being spread using a pseudonoise sequence, comprising the steps of:delaying a pseudonoise sequence by a plurality of predetermined delays to produce a plurality of delayed pseudonoise sequences; combining each of said delayed pseudonoise sequences with the data stream to produce a plurality of despread data streams; accumulating each of said despread data streams for a duration to produce a plurality of coherent sums; accumulating each of said coherent sums for a further duration to produce a plurality of non-coherent sums; comparing each of said non-coherent sums to a threshold; selecting a non-coherent sum that exceeds said threshold and controlling timing with sufficient precision to allow un-degraded operation in the presence of multi-layered PN codes.
- 13. The method of claim 12, further comprising the step of despreading said data stream using a delayed version of said pseudonoise sequence, said delayed version produced by delaying said pseudonoise sequence using the one of said plurality of predetermined delays that corresponds to said selected non-coherent sum.
Parent Case Info
This application claims the benefit of Provisional application No. 60/099,639 field Sep. 9, 1998.
US Referenced Citations (5)
Number |
Name |
Date |
Kind |
5577025 |
Skinner et al. |
Nov 1996 |
A |
5799010 |
Lomp et al. |
Aug 1998 |
A |
6115410 |
Naruse |
Sep 2000 |
A |
6154487 |
Murai et al. |
Nov 2000 |
A |
6332008 |
Giallorenzi et al. |
Dec 2001 |
B1 |
Foreign Referenced Citations (1)
Number |
Date |
Country |
0945992 |
Sep 1999 |
EP |
Provisional Applications (1)
|
Number |
Date |
Country |
|
60/099639 |
Sep 1998 |
US |