System and method for sub-coherent integration for geo-location using weak or intermittent signals

Information

  • Patent Grant
  • 8958754
  • Patent Number
    8,958,754
  • Date Filed
    Thursday, September 29, 2011
    13 years ago
  • Date Issued
    Tuesday, February 17, 2015
    9 years ago
Abstract
A signal is received from a mobile device as multiple data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to an unknown channel impairment or an unknown noise. A sequence of blocks is formed based on the received samples. The first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block. A plurality of function values are generated as a function of time, frequency, and phase, based on the received signal, corresponding to a plurality of times, a plurality of frequencies, and a plurality of phase sequences. A time, a frequency, and a phase sequence corresponding to an optimal value the function values are determined. The determined time is outputted as a time of arrival of the received signal.
Description
BACKGROUND

With the recent proliferation of wireless communication devices such as mobile phones, pagers, cellular radios, and others, techniques for locating such devices have gained prominence, e.g., for emergency management systems or other applications involving location awareness. Referring to FIG. 1, in known wireless geo-location applications such as Time of Arrival Ranging (TOA-Ranging) or Time Difference of Arrival (TDOA), signal Time-of-Arrival (TOA) measurement is performed at multiple measurement locations (sites) 110-1, 110-2, . . . , 110-p (generally sites 110). At each of these sites, the signal transmitted by a mobile device 120 is processed to yield times of arrival (TOAs), which are used to obtain surfaces of position. Such surfaces include, but are not limited to, circles, ellipses and hyperbolae upon which the signal transmitter (mobile device 120) can be positioned. The equations of these surfaces are used to solve for the transmitter location. The starting point for such geo-location methods is to obtain reliable TOAs for the signals. These TOAs may have some bias, but if the bias is common to all sites, or if the bias can be eliminated using some other a priori information, the TOAs may be used to solve for the transmitter location.


A known technique for geolocation using an ambiguity function is described at Stein, S., “Algorithms for ambiguity function processing,” IEEE Transactions on Acoustics, Speech, and Signal Processing,” vol. ASSP-29, no. 3, June 1981. According to that technique, an unknown TOA τ at a given site 110, corresponding to a transmission from a mobile device 120, and a corresponding unknown signal doppler frequency ω are obtained by determining the arguments that maximize a specified ambiguity function ƒ that is a function of TOA and doppler frequency:











(


ω
^

,

τ
^


)

=

arg







max

ω
,
τ




[

f


(

ω
,
τ

)


]




,




(
1
)







The ambiguity function ƒ may be expressed as:










f


(

ω
,
τ

)


=







n
=
1

M




s


(

n
+
τ

)


*

r


(
n
)




exp


(


-
j






n





ω

)






.





(
2
)







In equation (2), the sequence s(n) represents the received signal (the signal received at a site 110) and contains a replica of the signal of interest, usually channel impaired and corrupted by noise. The sequence r(n) represents the reference signal; it is the signal that was actually transmitted by the emitter (mobile device 120) and is either determined by some means or known a priori. The symbol “*” denotes complex conjugation, n is the sample index of the discrete-time signal, and M is a number of samples. In equation (2), all signal sequences are complex baseband representations, and this formulation assumes constant doppler and propagation uncertainty over the duration of the received signal. It is assumed that the baseband reference signal at all times can be either determined exactly or is known a priori.


SUMMARY

In an embodiment of the present disclosure, a signal is received from a mobile device as a plurality of data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to an unknown channel impairment, an unknown noise, or both. A sequence of blocks is formed based on the received samples, wherein the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block. Forming the sequence of blocks based on the received samples may include forming a reference block and a non-reference block, wherein a phase value associated with the reference block in the determined phase sequence is known to be zero. In other words, the reference block may be considered as having phase=0, and the non-reference block (or non-reference blocks if there are more than one) is aligned to it. A first plurality of function values is generated as a function of time, frequency, and phase, based on the received signal, wherein the function values of the first plurality correspond to multiple times, multiple frequencies, and multiple phase sequences. A time, a frequency, and a phase sequence corresponding to an optimal value of the first plurality of function values are determined. The determined time is outputted as the time of arrival of the received signal. In another embodiment, a computer readable storage medium has instructions stored tangibly on it. When executed by a processor, the instructions cause the processor to perform the foregoing operations.


In an embodiment, a signal is received from a mobile device as a plurality of data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise. A sequence of blocks is formed based on the received samples. The sequence of blocks is divided into plural sets of blocks. For each set, the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block in said set. For each set, a plurality of function values is generated as a function of time, frequency, and phase, based on the received signal, The function values of the plurality correspond to a plurality of times, a plurality of frequencies, and a first plurality of phase sequences. For each set, a time, a frequency, and a phase sequence associated with that set and corresponding to an optimal value of the first plurality of function values are determined. A time of arrival of the signal is determined based on the determined times associated with respective sets.


In an embodiment, a signal is received from a mobile device as a plurality of data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise. A sequence of blocks is formed based on the received samples. The first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block. For each block, a first plurality of function values is generated as a function of time and frequency, based on the received signal. The function values of the first plurality correspond to a plurality of times and to a plurality of frequencies. The sequence of blocks is sorted according to a predetermined metric. The sorted sequence of blocks is divided into plural sets of blocks, with the sets being ranked according to an order. At an initial processing stage Z0, at least one candidate phase sequence is determined based on a function of time, frequency, and phase and based on an initial set S0 among the sets of blocks. At each stage Zi of one or more subsequent processing stages corresponding to respective distinct sets other than said initial set S0, at least one candidate phase sequence is determined based on the function of time, frequency, and phase, further based on a set Sj corresponding to stage Zi, and further based on the sets preceding set Sj, wherein an initial subsequence of each candidate phase sequence determined at stage Zi includes one of the candidate phase sequences determined at a stage Zi-1 preceding stage Zi. A time, a frequency, and a phase sequence that optimize the function of time, frequency, and phase are determined based on the candidate phase sequence(s) determined at a last (final) processing stage among the subsequent processing stages. The determined time is outputted as the time of arrival of the received signal.





BRIEF DESCRIPTION OF THE DRAWINGS

The following will be apparent from elements of the figures, which are provided for illustrative purposes and are not necessarily to scale.



FIG. 1 is an illustration of a mobile device and measurement sites for geo-location of the mobile device.



FIG. 2 is a flow diagram of a process in accordance with some embodiments.



FIG. 3 is a flow diagram of processing associated with a recursive sequence ambiguity generator in accordance with some embodiments.



FIG. 4 is a flow diagram of a process of partitioning a code space in accordance with some embodiments.



FIG. 5 is a flow diagram of a process of successive refinement of partitioning of a code space in accordance with some embodiments.



FIGS. 6A-6B are flow diagrams of multi-stage processing in accordance with some embodiments.



FIG. 7 is a flow diagram of a process of multi-stage sub-coherent integration (SCI) in accordance with some embodiments.



FIG. 8 is a plot of simulation results in accordance with some embodiments.



FIG. 9 is a flow diagram of a process of performing SCI multiple times over respective sets of blocks in accordance with some embodiments.





DETAILED DESCRIPTION

This description of certain exemplary embodiments is intended to be read in connection with the accompanying drawings, which are to be considered part of the entire written description.


A problem with evaluating equation (2) above arises when there is a lack of continuity in the reference signal r(n). The sequence r(n) may not be known exactly due to a variety of reasons, and yet r(n) may be known in certain time intervals. For example, if the entire signal r(n) spans a time interval [0,T], it may be the case that in certain subintervals of this entire interval, e.g., subintervals [0,t1], [t2,t3], . . . [t2(K-1),T], the signal is known completely or at least to within an arbitrary or bounded phase shift.


Embodiments of the present disclosure address such a situation and produce a reliable estimate of the TOA when the transmitted signal has at least one of the following characteristics: (a) a low Signal to Noise Ratio (SNR) with limited coherence; (b) low SNR and an intermittent nature. A typical case of such characteristics arises when one is observing a far transmitter that either shuts on and off intermittently or is subject to signal fading or blockage that may render the signal unreliable during such fades. A known method of solving the type of problem detailed in (a) and (b) above is to non-coherently integrate the ambiguity functions. In the non-coherent integration (NCI) approach, the magnitude of each ambiguity function is computed, and the sum of such magnitudes is used to find the optimal pair {circumflex over (ω)},{circumflex over (τ)}. Embodiments of the present disclosure address the problem described above by employing a technique referred to as sub-coherent integration (SCI) that provides better performance than NCI.


The length of each time interval in which the transmitted signal is known, or at least known to within some unknown (but constant) phase shift of the signal, may be referred to as a “coherent length” of the signal. Thus, in the example above where there is a lack of continuity in the signal r(n), there are several such coherent lengths. In wireless air standards such as GSM, CDMA and UMTS/WCDMA, coherent length is limited by many factors, including intermittent transmission and carrier phase drift. For GSM, the maximum length of signal coherence is effectively the TDMA slot duration, as the transmissions are intermittent and no phase relationship can be assumed even between consecutive bursts. For UMTS, phase drift at the transmitter may limit the length of coherent integration to less than the optimal length required for detection. In low signal-to-noise (SNR) cases, there may not be enough integration gain within the coherent signal duration to reliably estimate the signal time-of-arrival. At the same time, due to the low SNR, it may be impossible to measure the phase using training or pilot sequences. At such low SNR measurement sites, it is likely that none of the coherently measured ambiguity results will yield a result that exceeds the detection threshold. Therefore, such a site may be unable to participate in location determination according to prior techniques.


Embodiments of the present disclosure circumvent the limit on the coherent length that occurs due to any of the factors mentioned above, increasing the coherent length to include multiple segments of the available signal. More generally, embodiments may use all segments of a signal that could potentially be used for TOA determination.


The received signal is assumed to have constant, unknown phase rotation over each of K blocks each having Mk samples. The total number of samples available for processing is M. The specific values Mk may be determined by the characteristics of the particular air standard or application and may be of equal size or of varying sizes. In one embodiment, each block includes m signal points (samples), and the received signal is known in each interval [1, m], [m+1, 2 m], . . . , [M−m+1, M] except for a sequence of unknown phase shifts θ1, θ2, . . . θK where these phase shifts apply to respective intervals. These phase shifts may be correlated, e.g., there may be a relationship between the phase shifts from one block to another; in such cases, the Sub-Coherent Integration (SCI) technique simplifies further, as the search space of possible phase shifts may be reduced based on such a relationship.


The coherent length may be increased by aligning each block as closely as possible to a common phase reference. In one embodiment, the phase reference may be taken as the phase of one of the blocks. The operation of the SCI detector may then be written as:











(


ω
^

,

τ
^


)

=

arg







max

ω
,
τ
,
Φ






f


(

ω
,
τ
,
Φ

)







,




(
3
)








in which the term within the magnitude sign may be written as a sum of phase rotated ambiguity functions as follows:











f


(

ω
,
τ
,
Φ

)


=



exp


(


1

)







n
=
1

m





s
1



(

n
+
τ

)


*


r
1



(
n
)




exp


(


-
j






n





ω

)





+


exp


(

j






ϕ
2


)







n
=

m
+
1



2

m






s
2



(

n
+
τ

)


*


r
2



(
n
)




exp


(


-
j






n





ω

)





+


exp


(

j






ϕ
3


)







n
=


2

m

+
1



3

m






s
3



(

n
+
τ

)


*


r
3



(
n
)




exp


(


-
j






n





ω

)





+

+


exp


(

j






ϕ
K


)







n
=

M
-
m
+
1


M





s
K



(

n
+
τ

)


*


r
K



(
n
)




exp


(


-
j






n





ω

)







,




(
4
)







where Φ denotes the phase sequence [φ1, φ2, . . . φK]. The sequence {circumflex over (Φ)} is the optimal sequence of applied phase rotations (phase shifts in the complex plane) that produces the optimum (e.g., maximum) magnitude of the sub-coherently integrated (summed) ambiguity function in equation (3). The processing in some embodiments may include determining the optimal sequence of phase rotations {circumflex over (Φ)}, the optimal value of the time shift i and the optimal value of the frequency shift {circumflex over (ω)} such that the absolute value of the summation is optimized (e.g., maximized) relative to other values of τ or ω. At such an optimal value (e.g., maximum), the value of τ is determined as the TOA. One of ordinary skill in the art understands that functions may be manipulated such that, e.g., a minimum rather than a maximum is determined.


Such processing may be represented graphically in a flow diagram as in FIG. 2. After a process 200 begins, a signal is received (210) from a mobile device as a plurality of data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to an unknown channel impairment, an unknown noise, or both. A sequence of blocks is formed (220) based on the received samples, wherein the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block. A first plurality of function values is generated (230) as a function of time, frequency, and phase, based on the received signal, wherein the function values of the first plurality correspond to multiple times, multiple frequencies, and multiple phase sequences. A time, a frequency, and a phase sequence corresponding to an optimal value of the first plurality of function values are determined (240). Examples of search techniques for determining such an optimal value are discussed further below. The determined time is outputted (250) as the time of arrival of the received signal.


In the instance where there are a total of K+1 blocks available and one of the blocks is taken as a reference block, Φ may denote the sequence of phase rotations that align K of the blocks to the phase of the reference block. The objective function being maximized can then be written as:











f


(

ω
,
τ
,
Φ

)


=





n
=
1

m





s
0



(

n
+
τ

)


*


r
0



(
n
)




exp


(


-
j






n





ω

)




+


exp


(

j






ϕ
1


)







n
=
1

m





s
1



(

n
+
τ

)


*


r
1



(
n
)




exp


(


-
j






n





ω

)





+












exp


(

j






ϕ
3


)







n
=


2

m

+
1



3

m






s
3



(

n
+
τ

)


*


r
3



(
n
)




exp


(


-
j






n





ω

)





+





+


exp


(

j






ϕ
K


)







n
=

M
-
m
+
1


M





s
K



(

n
+
τ

)


*


r
K



(
n
)




exp


(


-
j






n





ω

)







,




(
5
)








which is similar to equation (4) with the addition of an extra block (e.g., initial block zero) that is fixed in phase and does not contribute a variable component to the sequence Φ. Alternatively, the first block in equation (5) may be regarded as a block that is rotated by zero, i.e., φ0=0, because a multiplier of exp(j0) corresponds to multiplication by unity.


In some embodiments, the sequence of phase shifts Φ may be determined by considering each term φi in the sequence as occupying one of L equally spaced points placed on the unit circle with indices 0, 1, . . . , L−1. If the first point is placed on the real line (zero phase), the phases of the points may be






0
,


2

π

L

,


4

π

L

,










2


(

L
-
1

)


π

L

.







If a signal block is successively rotated by each of these L points, one of these rotations will place its phase within






π
L





radians of the correct unknown phase. The SCI technique finds these optimal rotations of the signal blocks that result in an optimal (e.g., maximal or nearly maximal) ambiguity function. In other words, if there are K blocks, each block has L candidate phase rotations, and a search space of size LK may be analyzed to identify the best candidate. The value of L determines the resolution of the phase sequence. As L increases, the phase sequence approaches the full range of Φ in the limiting case so that each block may be aligned within an arbitrary tolerance. In some embodiments, a list of best candidates (e.g., a list of the N best candidates) may be identified rather than just the optimal rotation. Identifying a list of candidates may support multi-stage processing as described further below, as candidates may be pruned at each stage.


In terms of determining the TOA, the behavior of the ambiguity function in the vicinity of an optimum (e.g., maximum) is a consideration. Such behavior is primarily governed by the noise in the received signal. The efficacy of one embodiment of the present disclosure relates to this point: the noise, since it is effectively integrated coherently over the entire series of blocks, is dramatically reduced. Since noise is random, the summation of noise components over the entire length of M symbols is unaffected by the candidate phase rotations expressed by Φ. That is, it is as if the noise terms were simply being added over M symbols. Thus, the TOA peak (the peak in τ) may be identified.


To understand the behavior of the SCI detector, consider in one example that there are only two signal blocks of interest and that they are of the same length. Assume that each symbol of the signal has energy Es. Also assume the additive noise on each symbol is Gaussian with zero mean and variance σ2. Then the summation of the noise terms over each block results in random variables which are also zero mean Gaussian but with variance Es







σ
2




M
2

.






When τ is perfectly aligned, the summation of the signal terms results in terms







ME
s

2





in each block. A simple approximation of the output in this case is:











Z
SCl

=




ME
s

2



exp


(


1

)



+

N
1

+



ME
s

2



exp


(


2

)



+

N
2



,




(
6
)








where N1 and N2 are zero mean Gaussian with variance








E
s



σ
2



M
2


,





and δ1 and δ2 are the deviations of the best selected discrete phase shift from the actual phase. Thus, both δ1 and δ2 are upper bounded by one half the angular spacing of the discrete set of phase shifts. Examining equation (6), it is observed that the signal component has an expected value of:













ME
s

2



(

1
+

exp


(

)



)







(
7
)








where γ in the worst case is equal to one half the spacing of the discrete phase shifts. That is, γ may be made as close to zero as desired by increasing the number of phase shifts. The noise component has zero mean and variance Esσ2M. The magnitude of the noise is Rayleigh distributed with mean







π
2


σ





E
s


M


.





Now consider an alternative to the SCI detector where the terms in each block were noncoherently summed. In such a case, the output of the detector (a Non-Coherent Integrator, or NCI detector) would be:











Z
NCl

=







ME
s

2



exp


(


1

)



+

N
1




+






ME
s

2



exp


(


2

)



+

N
2






,




(
8
)








which is equivalent to:











Z
NCl

=






ME
s

2

+

N
1




+





ME
s

2

+

N
2






,




(
9
)








where the terms in δ1 and δ2 have been absorbed into the noise terms with no alteration of the noise statistics. While the signal terms of the two detectors are comparable (especially when the number of discrete phase shifts is large), the noise term of the NCI detector is the summed magnitude of two complex Gaussian random variables. That is, it is the sum of two independent Rayleigh random variables. The mean noise at the NCI output is the sum of the means of two Rayleigh random variables:









π
2


σ





E
s


M

2



+


π
2


σ





E
s


M

2




=

πσ





E
s


M

2







That is, the mean noise amplitude √{square root over (2)} is times (equivalent to 3 dB in power) larger in the NCI case as in the SCI case. This is one reason why the SCI detector as in various embodiments of the present disclosure can determine a TOA in signal conditions where an NCI detector as in prior approaches fails. With B blocks, the noise in the NCI case is larger by a factor of √{square root over (B)}. The signal amplitude with SCI is smaller, as noted from the non-zero value of γ, but this diminution in signal amplitude is more than compensated for by the reduction in the noise. Furthermore, it is clear that in the limit, as the number of discrete phase shifts increases, the performance of the SCI detector, when viewed in terms of the SNR at the optimum τ, approaches that of the perfectly coherent detector.


In one embodiment, a recursive technique may be used to generate the sequence ambiguity values (equations 4 and 5), such that the summations corresponding to the functions may be efficiently computed, which may greatly reduce computational complexity. Using a sequence of codes similar to gray codes, where each code is a sequence of symbols and adjacent codes differ at one position, computations may be simplified to only account for the addition or subtraction corresponding to the position that differs between the adjacent codes. In other words, the entire summation of equations 4 or 5 need not be evaluated, but rather only offsets (e.g., deltas) may be processed. Referring to the example of K blocks in equation (4) or K+1 blocks in equation (5), the values of each individual block summation (ambiguity function) may be pre-computed at each of a plurality of points in the (τ, ω) space. In other words, a known two-dimensional (2D) ambiguity function of time and frequency may be pre-computed at each point in the (τ, ω) space. Assuming L uniformly distributed phase rotations starting from zero as in the formulation above, the LK space can be mapped to an L-ary alphabet with each of the LK candidate sequences having a unique representation. The phase rotation to L-ary alphabet mapping may be expressed as:

2πLi/L→Li{Li=0,1,2 . . . ,L−1}.


Equation (4) can be re-stated in terms of the set of all length K L-ary vectors {L}:











(


ω
^

,

τ
^


)

=


arg



max

ω
,
τ
,
Φ






f


(

ω
,
τ
,
Φ

)






=


arg



max

ω
,
τ
,

{
L
}







f


(

ω
,
τ
,

{
L
}


)






=

arg



max

ω
,
τ
,

{
L
}










i
=
1

K




exp


(

j2π







L

i





j


/
L


)





A
i



(

ω
,
τ

)











,




(
10
)








where {L} is the set of all K-length L-ary sequences, i=1 to K is the block number (e.g., K=48), J=0 to LK−1 is the sequence number of the (L,K) code, Lij is the i-th L-ary symbol of the j-th sequence in the (L,K) code, and Ai(ω,τ) is the two-dimensional (frequency, time) ambiguity function for the i-th block, which corresponds to a term









n
=
1

m




s


(

n
+
τ

)


*

r


(
n
)





exp


(


-
j






n





ω

)


.






The recursive sequence ambiguity generator may be initialized with a starting sequence value, which may be the sum of the ambiguity function for the K blocks. This represents a sequence of zeros ([0 0 0 0 . . . 0]) in the L-ary alphabet. An (L,K) gray code having an index in the range [0, LK−1] is then used to recursively step through {L}. One such coding example is shown in Table 1 below for selected sequences. Each sequence is of length K.









TABLE 1







Example coding sequence










Sequence #
Code







0
[0 0 0 . . . 0]



1
[0 0 0 . . . 1]



2
[0 0 0 . . . 2]



L
[0 0 0 . . . L − 1]



L + 1
[0 0 0 . . . 1 L − 1]



L + 2
[0 0 0 . . . 1 L − 2]



. . .
. . .



LK − 2
[L − 1 0 0 . . . 0 L − 1]



LK − 1
[L − 1 0 0 . . . 0 0]










At each point in the recursion, one block within the sequence is in transition (different from the corresponding position in a predecessor sequence). The ambiguity function value for the next sequence in the recursion is generated by performing an addition and/or subtraction relative to the values for the current sequence. The particular operations performed are determined by the block in transition and the alphabet values (symbols) between which that block is transitioning. For example, in generating sequence #1 from sequence #0, the K-th block is in transition (it transitions from 0 to 1). Therefore, the generator may subtract the unrotated values for block K (to obtain the summation over all blocks except the K-th block) and add the 2π/L rotated values for the same block. The composite delta (offset) may be pre-computed, e.g., at the onset of the recursion. There are LK such delta functions (because there are K blocks, and L possibilities per block), and the difference between any two consecutive sequences in the coding progression can be mapped to one of them.


The recursion relationship between sequence numbers J−1 and J may be expressed as:

ƒ(ω,τ,J)=ƒ(ω,τ,J−1)−exp(2π*Li(j-1)/L)Ai(ω,τ)+exp(2πLij/L)Ai(ω,τ)  (11)
=θ(ω,τ,J−1)+Δ(Lij,Li(j-1)),  (12)

where i=1 to K is the block in transition between sequence numbers J−1 and J, and Δ(Lij,Li(j-1)) maps to one of LK delta ambiguity values.


Processing associated with the recursive sequence ambiguity generator may be expressed graphically in the flow diagram of FIG. 3, which illustrates an example subprocess corresponding to 230 of FIG. 2 (generation of the first plurality of function values). For each block, a second plurality of function values (e.g., 2D ambiguity function) may be generated (310) as a function of time and frequency, based on the received signal. The function values of the second plurality may correspond to the times and frequencies discussed above in the context of FIG. 2. The phase sequences described in the context of FIG. 2 may be sorted (320) into a sequence of phase sequences according to an order, in which each pair of adjacent phase sequences in the sequence of phase sequences differ at exactly one phase value and are equal to one another at the other phase values. Table 1 may show an example of such an order.


For each time and frequency (iteration 350 over times and frequencies), the following processing may be performed. The function of time, frequency, and phase may be evaluated (330) at that time and frequency and at an initial phase sequence in the sequence of phase sequences (e.g., the first listed sequence in Table 1). Then, the function of time, frequency, and phase may be evaluated (340) at that time, that frequency, and each phase sequence other than the initial phase sequence sequentially according to the order. Such evaluation may proceed by adjusting a value of the three-dimensional (3D) ambiguity function of time, frequency, and phase at that time, that frequency, and a predecessor phase sequence (e.g., η(ω,τ,J−1)) with a term (e.g., Δ(Lij,Li(j-1))), dependent on the function value in the second plurality corresponding to that time, that frequency, and the block associated with the phase values that differ between that phase sequence and the predecessor phase sequence.


In one embodiment, the L-ary code space may initially be partitioned into a number of disjoint subsets. Each of these subsets has the property that it contains a representative member that is within a fixed distance (e.g., Hamming or Euclidean distance) of every other member in terms of the L-ary code space. Thus, every other member of the set is likely to have sequence ambiguity values that are in close proximity to that of the representative member. The size of the search space for determining optimality may then be reduced, e.g., by considering only the representative member of each subset.


In some embodiments, the Hamming and Euclidean distance measures determine the closeness of the ambiguity function values. The Hamming distance refers to the number of components (positions) at which two vectors differ, and the Euclidean distance refers to the scalar magnitude of the difference vector.


The recursive sequence generator may be applied to just the representative member of each set. From this, a number of candidate sets may be obtained that can be further searched exhaustively. Various techniques of generating these subsets are available. Using one specific example for the case where K=3 and L=4, the initial size 64 code space may be partitioned with Hamming distance 1 and Euclidean distance 1 as follows. Based on principles of group theory, the code space may be represented as a closed group under modulo-4 addition, and an order 16 subgroup not containing the members {100, 010, 001} (i.e., a Kronecker sequence for the K blocks) may be determined.


The subset {000, 002, 020, 022, 200, 202, 220, 222, 333, 331, 313, 311, 133, 131, 113, 111} qualifies as such a subgroup of order 16. Various methods are available for generating this type of subgroup, as is known to one of ordinary skill.


By adding {100, 010, 001} to every member of the subgroup, the other 48 members of the code space may be generated, as shown in Table 2 below.









TABLE 2







Code space partition with representative


column 1 and other columns











Set #
Column 1
Column 2
Column 3
Column 4














1
000
001
010
100


2
002
003
012
102


3
020
021
030
120


4
022
023
032
122


5
200
201
210
300


6
202
203
212
302


7
220
221
230
320


8
222
223
232
322


9
333
330
303
033


10
331
332
301
031


11
313
310
323
013


12
311
312
321
011


13
133
130
103
233


14
131
132
101
231


15
113
110
123
213


16
111
112
121
211









Column 1 in Table 2 represents the initial subgroup. Thus, the initial size-64 code space has been partitioned into 16 sets of 4 where the set members in columns in 2 to 4 of each row are within Hamming and Euclidean distance 1 of the corresponding element in column 1. Column 1 comprises a set of representative set members; in some embodiments, only column 1 is searched to determine optimality for ambiguity function values. This partitioning guarantees that during the sequence search of every 3-block grouping, at some point, two blocks will be in the optimal L-ary alignment and the third will be within π/L radians.


Processing associated with such code space partitioning may be expressed graphically in the flow diagram of FIG. 4. Each phase sequence in the plurality of phase sequences described in the context of FIG. 2 may be a sequence of phase values associated with respective blocks, and the sequence of blocks may include K (e.g., K=3) blocks. The phase values of each phase sequence may each be expressible as 2πk/L, where L is an integer, and k is an integer greater than or equal to 0 and less than or equal to L−1. After process 400 begins, a plurality of codes are determined (410), with each code having K symbols, one symbol corresponding to each block, each symbol being mappable to a value between 0 and L−1, and the plurality of codes forming a closed group under an algebraic operation (e.g., addition modulo 4). One of ordinary skill in the art understands that a group in mathematical terminology is an algebraic structure consisting of a set together with an operation that combines any two of its elements to form a third element in the group. To qualify as a group, the set and the operation must satisfy certain conditions called group axioms, namely closure (hence the terminology “closed group” above), associativity, identity, and invertibility. A representative set of codes in the plurality of codes is determined (420). The representative set may be a subgroup of the closed group. For each code in the representative set (shown as iteration 440), a phase sequence is provided (430) based on that code, where each phase value of said phase sequence is assigned as 2πp/L, and p is a symbol of that code corresponding to the block associated with that phase value. As a result of such iteration 440, the plurality of phase sequences described in the context of FIG. 2 is provided.


The scale of the partition may be increased by using more blocks subject to certain restrictions on the relationship between the order of subgroups and that of the group from which they are derived. In some embodiments, the scale of the partition may be increased by concatenating smaller partitions. For example; 15 blocks may be broken into 5 groups of 3 blocks each, and the partition of Table 2 may be applied to each group of 3 blocks. This effectively partitions the 415 code space into 165 sets of cardinality 1024 with a maximum Hamming and Euclidean distance of 5 from the central (representative) element within each set. This partition allows a search to coarsely traverse the code space with a guarantee of arriving within a known minimum distance of every vector in the space.


For the 15 block example above, the code space partitioning may be combined with the recursive sequence generator, e.g., by applying a five symbol hexadecimal (16,5) code where each hexadecimal symbol represents a 3-block sequence of rotations from column 1 in Table 2.


A search through a concatenation of partitioned 3-block code spaces may be expressed as:










arg



max

ω
,
τ
,


{



3
16


L

}

5







f


(

ω
,
τ
,


{



3
16


L

}

5


)






=

arg



max

ω
,
τ
,


{



3
16


L

}

5










j
=
1


(

K
/
3

)







i
=
1

3




exp


(

j2π







L

i





j





k


/
L


)





A

i





k




(

ω
,
τ

)













(
13
)








where {316L}5 represents the L-ary code space comprising a concatenation of 5 groups of 3 blocks, with each block drawn from the representative set of a {316L} partition as in Table 2; Li jk is the i-th L-ary symbol of the k-th group of 3 blocks in the j-th sequence of the (16,5) gray code; and K is the total number of blocks (e.g., 15).


The hexadecimal gray code progression gives rise to 80 (i.e., 16 times 5) delta ambiguity functions which may be pre-computed. The 3 block grouping to hexadecimal symbol mapping may be taken directly from column 1 in Table 2, as shown by Table 3 below.









TABLE 3







Mapping of 3 block groupings to hexadecimal symbols










Three-block
Hexadecimal



group
symbol







000
0



002
1



020
2



022
3



200
4



202
5



220
6



222
7



333
8



331
9



313
A



311
B



133
C



131
D



113
E



111
F










The recursion between sequence numbers J−1 and J may be expressed as:










f


(

ω
,
τ
,
J

)


=


f


(

ω
,
τ
,

J
-
1


)


+




i
=
1

3



(



exp


(

2

π
*


L

i





j





k


/
L


)





A

i





k




(

ω
,
τ

)



-


exp


(

2

π







L


i


(

j
-
1

)



k


/
L


)





A

i





k




(

ω
,
τ

)




)







(
14
)








where k is the particular 3 block group in transition, and J is the sequence number.


After the initial search, a finer search of the most likely candidate sets may be performed using the recursive sequence generator. For this fine search, each group of 3 blocks may start from a representative member in column 1. A (4,5) gray code may be used to search along the corresponding rows in Table 2. The starting point for the fine search is the coarse result, i.e., the result from the search of the representative set members. For example, suppose a coarse (16,5) sequence search returns sequence number 655027 as the sequence that maximizes equation (12) for a pair ({circumflex over (ω)},{circumflex over (τ)}). This translates to [9 6 F D 8] in one example of hexadecimal code.


The 4K recursion for the fine search may be defined by mapping each hexadecimal symbol to the appropriate row in Table 2. The columns of the corresponding rows in Table 2 are mapped to a quaternary (4-ary) alphabet. The resulting quaternary symbol mapping for each 3-block grouping is shown in Table 4 for the example coarse sequence number 655027 described above.









TABLE 4







Mapping of hexadecimal symbols to for refined search












Macro-Block #
1
2
3
4
5















Coarse hex symbol
9
6
F
D
8


Quaternary Symbol


0
331
220
111
131
333


1
332
221
112
132
330


2
301
230
121
101
303


3
031
320
211
231
033









This format gives rise to 4K delta ambiguity functions that may be pre-computed.


In some embodiments, a multi-stage partition process is used, and the representative set is partitioned. An example for the specific case of Table 2 is shown in Table 5 for Hamming distance 1 and Euclidean distance 2.









TABLE 5







Example partitioning of representative set











Set #
1
2
3
4





1
000
002
020
200


2
222
220
202
022


3
333
331
313
133


4
111
113
131
311









Thus, a three-step search process may be used to determine the final result. Referring to FIG. 5, a coarse partitioning of the code space (510) may identify a representative set of codes such as column 1 of Table 2. The representative set may itself be partitioned (520), and a subset of the results of the fine partitioning (e.g., column 1 of Table 5) may then be searched to determine optimal value(s).


In some embodiments, the optimal phase sequence may be obtained in an incremental manner in a multi-stage processing technique. Given K blocks sorted according to predetermined criteria (e.g., signal quality), the SCI technique (e.g., as in process 200) is applied to the first k1 blocks in a first stage, e.g., using the recursion and/or partition techniques described above. A number of length k1 candidate sequences are thus obtained. Assume N1 candidate sequences of length k1 are returned by the first processing stage. In a second stage, the SCI technique is applied N1 times to the first k1+k2 blocks, with the blocks having index 1 through k1 initialized to the candidates from the previous stage and kept static during the second stage. Only the additional k2 blocks being added undergo the phase sequence search at this second stage. The recursion and/or partition techniques may again be applied. The second stage is thus used to extend and verify the results of the first stage. For each of the N1 sequences from the first stage, up to N2 candidates may be returned. This process is repeated until a sequence of length K is reached. The process may terminate early if any determined phase sequence exceeds an overall (e.g., global) detection threshold. At each stage, the best candidate sequence(s) have to meet certain criteria to remain viable candidates for the next stage. These criteria may include a quality metric threshold for that stage and proximity to a sequence passed in from the first stage, e.g., to ensure that the search does not drift inordinately. Sequences that do not meet these criteria may be discarded.



FIGS. 6A-6B are flow diagrams of sub-coherent integration (SCI) multi-stage processing in accordance with some embodiments. FIG. 6A shows processing at a first stage, and FIG. 6B shows processing at a second stage. Additional stages may proceed in similar fashion. Referring to FIG. 6A, after a first stage of processing begins (601), K signal blocks are identified (602). An ambiguity result (e.g., a two-dimensional ambiguity result that is a function of time and frequency) is generated and archived for each block (604). The blocks are sorted (606) according to ambiguity quality metrics. A coarse search (608) is performed on the first k1 blocks, and the best N candidate sequences are returned, where N may be an integer greater than or equal to one. A fine search (610) may optimally be performed on the coarse search results. The resolution of the fine search results may optionally be enhanced (612), e.g., to 2L. The candidate phase sequences that do not exceed a stage one threshold may be discarded (614), i.e., the candidate phase sequences may be filtered based on that threshold. If no candidate phase sequences survive that filter (616), processing may terminate (618). If any candidate phase sequences remain, a test may be performed to determine if any candidate phase sequences exceed an overall detection threshold (e.g., a global threshold). If so, that is an indication that there are already some search results that are sufficiently good to stop at this point. In that case, the best candidate (or in some embodiments, the best candidates) may be returned, and processing may terminate (622). If the overall detection threshold is not exceeded by any candidate phase sequences, additional processing stages may be employed, and the results of stage one processing (remaining candidate phase sequences) are passed to stage two (624).


After stage two begins (625), N1 candidate phase sequences each of length k1 are identified as results from stage one. Incremental coarse SCI processing is performed using the next k2 blocks, for each of the blocks of the N1 candidate phase sequences. For example, suppose there are 48 blocks total, and there are three processing stages, corresponding to the first 16 blocks, the next 16 blocks (blocks 17-32), and the last 16 blocks (blocks 33-48). Suppose N1=10, i.e., ten candidate phase sequences CS1, . . . , CS10 were identified during the first stage. At the second stage, SCI is performed using 32 blocks, namely, the 16 blocks from each of the 10 candidate sequences (which are held constant in terms of phase rotation) and blocks 17 through 32 (for which the phase rotations are variable and are searched).


Incremental fine SCI is performed (630) on the coarse results for the 32 blocks (with the first 16 held constant in phase). Incremental resolution enhancement is performed (632) on the fine search results. The 3D ambiguity function is evaluated for optimality using each such candidate sequence. Any phase sequences which do not exceed a stage two threshold or are not in proximity of the peak of the length k1 baseline sequence may be discarded (636). In this context, the “peak” of a sequence refers to the ({circumflex over (ω)},{circumflex over (τ)}) point that corresponds to an optimal function value, which optimal value is used to calculate the metric to test against thresholds. In some embodiments, only the peak point for each sequence is tested to determine if the sequence is viable. As discussed herein, references to sequences exceeding thresholds actually refer to one point in the (ω,τ) space (or equivalently, (τ,ω) space), for that sequence, which may be the point corresponding to an optimal (e.g., maximal) sequence ambiguity function value. If no candidate sequences of length k1+k2 remain (638), processing may terminate (640). Otherwise, if any sequences exceed the overall detection threshold (642), such a result may be returned (644). If no sequences exceed the overall detection threshold, the remaining candidate sequences may be passed (646) to the next stage for additional processing (648).



FIG. 7 is a flow diagram of a process of multi-stage SCI in accordance with some embodiments. After process 700 begins, a signal is received (710) from a mobile device as a plurality of data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise. A sequence of blocks is formed (720) based on the received samples. The first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block. For each block, a first plurality of function values (e.g., 2D ambiguity function values) is generated (730) as a function of time and frequency, based on the received signal. The function values of the first plurality correspond to a plurality of times and to a plurality of frequencies. The sequence of blocks is sorted (740) according to a predetermined metric. The sorted sequence of blocks is divided (750) into plural sets of blocks, with the sets being ranked according to an order. For example, the sets may be ranked based on time ordering (e.g., first 16 blocks temporally are assigned to the first set, next 16 blocks are assigned to the next set, etc.) or signal quality (e.g., highest 16 blocks based on SNR are assigned to first set).


At an initial processing stage Z0, at least one candidate phase sequence is determined (760) based on a function of time, frequency, and phase and based on an initial set S0 among the sets of blocks. For example, So may include the first 16 blocks out of a total of 48 blocks. At each stage Zi of one or more subsequent processing stages corresponding to respective distinct sets other than said initial set S0, at least one candidate phase sequence is determined (770) based on the function of time, frequency, and phase, further based on a set Sj (e.g., blocks 17 through 32) corresponding to stage Zi, and further based on the sets preceding set Sj (e.g., based on blocks 1 through 16), wherein an initial subsequence of each candidate phase sequence determined at stage Zi includes one of the candidate phase sequences determined at a stage Zi-1 preceding stage Zi. A time, a frequency, and a phase sequence that optimize the function of time, frequency, and phase are determined (780) based on the candidate phase sequence(s) determined at a last (final) processing stage among the subsequent processing stages. The determined time is outputted (790) as the time of arrival of the received signal.


Enhancing the resolution of the phase sequence search may increase accuracy and detection metrics. In some embodiments, a relatively low resolution may be used initially, and a search may be performed around the best phase candidates returned by the search. Given one or more K-block candidate sequences, sequence resolution may be further enhanced by performing a higher resolution search around each of the phase rotations in the sequence(s), i.e., in a neighborhood of the identified search results. For example, in the L=4 or π/2 radian spacing case (wherein possible phase rotations are 0, π/2, π or 3π/2), the accuracy of the final TOA result may be enhanced by further rotating each block in the sequence through the points [−π/4,0, π/4]. The size of the space is 3K in this case (because there are three possible rotations for each of K blocks), and the recursion and partition techniques described above are again applicable.


The signal blocks to be used with SCI may be determined using various metrics. It is not necessary to select the blocks to be continuous in time. For example, in the GSM case if there were a total of 24 possible blocks available for processing, one could use the 8 most likely blocks (or slots). These most likely blocks may be picked by their signal quality. One method of determining the signal quality is to have a site that receives the signal well (the primary site, for example) make this determination. In general, neither the size of the blocks nor the position of the blocks in time has to be fixed; rather, the SCI approach in various embodiments of the present disclosure allows a great degree of flexibility in how these are characteristics are selected.


It is also possible to apply the present disclosure to groups of blocks in a hierarchical manner. For example, given 48 blocks, the blocks may be divided into six groups of eight blocks each, and the SCI technique may be applied to each group independently. The resulting ambiguity functions may be further combined non-coherently. The combining is considered independent because each group of blocks has a separate reference block.


Processing for such non coherent case combining of multiple SCI blocks may be expressed as:










arg



max

ω
,
τ
,

{
L
}







f


(

ω
,
τ
,


{
L
}


K
-
N



)






=

arg



max

ω
,
τ
,


{
L
}


K
-
N









n
=
1

N







A

1

n




(

ω
,
τ

)







i
=
2


K
/
N





exp


(

j2π







L

i





j





n


/
L


)





A

i





n




(

ω
,
τ

)














(
15
)








where {L}K-N is the set of L-ary sequences of length (K−N); Ain is the 2D ambiguity function of the i-th block of the n-th macro-block (in the example above, a macro block is a group of eight blocks); Aln is the reference block for the SCI combining of the n-th macro-block; and N is the number of macro-blocks (e.g., N=6 in the example above).


In some embodiments, the optimal sequence of phase shifts may be assumed to be identical for multiple diversity channels. Thus, in some embodiments, the final SCI ambiguity results for each candidate phase sequence may be added across multiple diversity channels. This summation may be performed non-coherently or sub-coherently (using one of the blocks on one of the channels as the reference phase block).


Processing for non-coherent summation across multiple diversity channels may be expressed as:










arg



max

ω
,
τ
,

{
L
}







f


(

ω
,
τ
,

{
L
}


)






=

arg



max

ω
,
τ
,

{
L
}








c
=
1

num_chans








i
=
1

K




exp


(

j2π







L

i





j





c


/
L


)





A

i





c




(

ω
,
τ

)













(
16
)








where num_chaps is the number of diversity channels, and Li jc is the i-th L-ary symbol of the J-th sequence on channel c.


The sequence of phase shifts applied to respective blocks need not be arbitrary. For example, there may be memory in the phase as one proceeds from block to block. This is especially applicable in cases of slowly drifting, continuously transmitted signals. If the block size is appropriately chosen, a brownian motion-like model may be used that allows certain statistical inferences to be made about the future values based on the known or assumed current value. In such cases, the set of phase shifts on the (k+1)-th block may be restricted based on the decision for the previous (k-th) block. For instance, in the L-ary case, all L possibilities may be used to initialize a trellis at stage one corresponding to block 1. By restricting allowable paths to the appropriate subset of the full trellis and electing a winner at each stage, the scale of the search task may be simplified. This technique may reduce the number of sequences to be examined.


Just as the phase has been discretized in various embodiments, it is possible to discretize other variables such as the frequency. For example, if the frequency also drifts over various segments (blocks), one may consider a discrete set of frequency shifts along with the discrete phase shifts. An example is where in addition to the present frequency shift one also considers small frequency shifts above or below the present candidate.


In some embodiments, when memory exists in either the frequency domain or the phase domain, SCI implementation may be further improved by using a Viterbi decoder. With a Viterbi decoder, only a reduced number of candidate sequences may remain candidates at any given progression through the frequency/phase trellis; hence the workload on the detector may be greatly diminished.


In some embodiments, to aid the discovery of the optimal sequence of phase shifts, a site that observes a strong signal may estimate the phase for each coherent length of received signal and send information regarding the difference between successive phase shifts to the other sites. Such differential phase shift information may be applied by the other sites to reduce the complexity of their searches for the phase sequence. For example, assume that the following sequence of phases is measured at a site S1 that has a high signal-to-noise ratio: θ1, θ2, . . . , θK. Then site S1 may send the following sequence of phase deltas to the other sites: δ1, δ2, . . . , δK-1 where δK-1K−θK-1 represents the phase shift necessary to align the k-th block to the (k−1)-th block. The delta phase sequence may be applied at the other sites to blocks 2 to K. Rather than signifying an absolute sequence of shifts, the delta phase sequence may also be used as a starting to point, around which the search for the optimal sequence may be conducted.


Simulation results using a GSM signal are now discussed. The GSM slots are assumed equivalent to the coherent blocks described above. The total number of slots available (e.g., K following the block notation above) is 48 with each slot containing 296 samples. In this simulation, a detection is defined as a peak that exceeded threshold and was within 0.15 GSM symbols from the true TOA. Coherent detection on a single slot fails at −10 dB SNR The detection probabilities are higher at 13 dB threshold, but the false alarm rate also increases. All simulations were conducted with 400 Hz frequency offset.



FIG. 8 shows the probability of detection of the TOA peak as a function of the number of combined slots (blocks) and the applied SNR. Plots 910, 920, 930, 940, and 950 correspond to SCI in which 8, 16, 24, 32, and 48 slots are combined, respectively. The plot 960 for the case of NCI is also shown for reference. Tables 5-8 below show additional performance results.









TABLE 5







Probability of detection for 45 degree


phase shifts with 15 dB threshold










Combined
SNR














Slots
8
16
24
32
48


















−30
0
0
0
0
0.01



−25
0
0
0.01
0.13
0.73



−20
0.02
0.74
0.96
0.98
1



−15
0.98
1
1
1
1



−10
1
1
1
1
1



−5
1
1
1
1
1



0
1
1
1
1
1

















TABLE 6







Probability of detection for 45 degree


phase shifts with 13 dB threshold










Combined
SNR














Slots
8
16
24
32
48


















−30
0
0
0
0.02
0.07



−25
0
0.09
0.46
0.7
0.89



−20
0.55
0.89
0.94
1
1



−15
0.98
1
1
1
1



−10
1
1
1
1
1



−5
1
1
1
1
1



0
1
1
1
1
1

















TABLE 7







Probability of detection for 90 degree


phase shifts with 15 dB threshold










Combined
SNR














Slots
8
16
24
32
48


















−30
0
0
0
0
0



−25
0
0
0
0.1
0.41



−20
0.02
0.57
0.98
0.95
0.99



−15
0.94
1
1
1
1



−10
1
1
1
1
1



−5
1
1
1
1
1



0
1
1
1
1
1

















TABLE 8







Probability of detection for 90 degree


phase shifts with 13 dB threshold










Combined
SNR














Slots
8
16
24
32
48


















−30
0
0
0
0
0.01



−25
0
0.04
0.21
0.56
0.82



−20
0.26
0.82
0.94
0.96
1



−15
0.97
1
1
1
1



−10
1
1
1
1
1



−5
1
1
1
1
1



0
1
1
1
1
1










Referring to FIG. 8, relating to GSM, it is observed that SCI can match NCI detection with 8 slots at −15 dB SNR. Thus in lieu of using NCI with 48 slots, 6 SCI calculations may be performed with the same data. Thus, SCI may be used to generate 6 estimates of the TOA. Given these multiple TOA estimates, the best of these estimates may be determined by a further layer of processing (e.g., pick the earliest, or the median, etc.). Improved TOA estimation and hence improved location estimates may be obtained with SCI in cases where multiple slot integration is needed (e.g., with weak, intermittent signals).



FIG. 9 is a flow diagram of a process of performing SCI multiple times over respective sets of blocks in accordance with some embodiments. After process 900 begins, a signal is received (910) from a mobile device as a plurality of data samples. The received signal includes a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise. A sequence of blocks (e.g., 48 blocks in the example above) is formed (920) based on the received samples. The sequence of blocks is divided (930) into plural sets of blocks (e.g., six sets of blocks in the example above). For each set, the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block in said set. For each set, a plurality of function values is generated (940) as a function of time, frequency, and phase, based on the received signal, The function values of the plurality correspond to a plurality of times, a plurality of frequencies, and a first plurality of phase sequences. For each set (iteration 960 in FIG. 9), a time, a frequency, and a phase sequence associated with that set and corresponding to an optimal value of the first plurality of function values are determined (950). A time of arrival of the signal is determined (970) based on the determined times associated with respective sets.


The present disclosure can be implemented by a general purpose computer programmed in accordance with the principals discussed herein. It may be emphasized that the above-described embodiments, particularly any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may be made to the above-described embodiments of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and the present disclosure and protected by the following claims.


Embodiments of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Embodiments of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions encoded on a tangible program carrier for execution by, or to control the operation of, data processing apparatus. The tangible program carrier can be a computer readable medium. The computer readable medium can be a machine-readable storage device, a machine-readable storage substrate, a memory device, or a combination of one or more of them.


The term “processor” encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The processor can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g., code that constitutes processor firmware, a protocol stack, a database management system, an operating system, or a combination of one or more of them.


A computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, or declarative or procedural languages, and it can be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. A program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers that are located at one site or distributed across multiple sites and interconnected by a communication network.


The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform functions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit).


Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more data memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, to name just a few.


Computer readable media suitable for storing computer program instructions and data include all forms data memory including non volatile memory, media and memory devices, including by way of example semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; and CD ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.


To provide for interaction with a user, embodiments of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, input from the user can be received in any form, including acoustic, speech, or tactile input.


Embodiments of the subject matter described in this specification can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.


The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.


While this specification contains many specifics, these should not be construed as limitations on the scope of any invention or of what may be claimed, but rather as descriptions of features that may be specific to particular embodiments of particular inventions. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.


Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the embodiments described above should not be understood as requiring such separation in all embodiments, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.


Those skilled in the art will appreciate that the present invention can be practiced by other than the described embodiments, which are presented for the purposes of illustration and not of limitation, and the present invention is limited only by the claims which follow.

Claims
  • 1. A method for determining a time of arrival of a signal transmitted by a mobile device, the method comprising: receiving a signal from a mobile device as a plurality of data samples, the received signal including a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise; forming a sequence of blocks based on the received samples, wherein the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block; generating a first plurality of function values as a function of time, frequency, and phase, based on the received signal, wherein the function values of the first plurality correspond to a plurality of times, a plurality of frequencies, and a plurality of phase sequences, and the function values of the first plurality are calculated to compensate for frequency and phase discontinuities and drift; determining a time, a frequency, and a phase sequence corresponding to an optimal value of the first plurality of function values; and outputting the determined time as the time of arrival of the received signal.
  • 2. The method of claim 1, wherein the optimal value is a function value having a maximal magnitude.
  • 3. The method of claim 1, wherein the blocks in the sequence of blocks include a common number of samples.
  • 4. The method of claim 1, wherein generating the first plurality of function values includes computing:
  • 5. The method of claim 1, wherein each phase sequence in the plurality of phase sequences is a sequence of phase values associated with respective blocks, and the phase values of each phase sequence in the first plurality are separated from one another by multiples of a phase spacing.
  • 6. The method of claim 1, wherein forming the sequence of blocks based on the received samples includes forming a reference block and a non-reference block, wherein a phase value associated with the reference block in the determined phase sequence is known to be zero.
  • 7. The method of claim 1, wherein each phase sequence in the plurality of phase sequences is a sequence of phase values associated with respective blocks, the method further including searching for a refined set of inputs that optimizes the function of time, frequency, and phase by searching a neighborhood around each phase value in the determined phase sequence.
  • 8. The method of claim 1, wherein generating the first plurality of function values includes: generating, for each block, a second plurality of function values as a function of time and frequency, based on the received signal, wherein the function values of the second plurality correspond to the plurality of times and to the plurality of frequencies; andfor each time in the plurality of times, each frequency in the plurality of frequencies, and each phase sequence in the first plurality of phase sequences: for each block, shifting the function value in the second plurality corresponding to said time, said frequency, and said block by a phase value of said phase sequence associated with said block, to generate a shifted value for said block; andadding the shifted values for the respective blocks, to generate the function value in the first plurality corresponding to said time, frequency, and phase sequence.
  • 9. The method of claim 1, wherein each phase sequence in the plurality of phase sequences is a sequence of phase values associated with respective blocks, and wherein generating the first plurality of function values includes: generating, for each block, a second plurality of function values as a function of time and frequency, based on the received signal, wherein the function values of the second plurality correspond to the plurality of times and to the plurality of frequencies;sorting the phase sequences in the plurality of phase sequences into a sequence of phase sequences according to an order, wherein each pair of adjacent phase sequences in the sequence of phase sequences differ at exactly one phase value and are equal to one another at the other phase values; andfor each time and frequency: evaluating the function of time, frequency, and phase at said time, said frequency, and an initial phase sequence in the sequence of phase sequences, andevaluating the function of time, frequency, and phase at said time, said frequency, and each phase sequence other than said initial phase sequence sequentially according to the order, by adjusting a function value of said function of time, frequency, and phase at said time, said frequency, and a predecessor phase sequence with a term dependent on the function value in the second plurality corresponding to said time, said frequency, and the block associated with the phase values that differ between said phase sequence and said predecessor phase sequence.
  • 10. The method of claim 9, wherein the phase values of each phase sequence are each expressible as 2*π*k/L, wherein L is an integer, and k is an integer greater than or equal to 0 and less than or equal to L−1.
  • 11. The method of claim 1, wherein each phase sequence in the plurality of phase sequences is a sequence of phase values associated with respective blocks, and the sequence of blocks includes K blocks, and the phase values of each phase sequence are each expressible as 2*π*k/L, wherein L is an integer, and k is an integer greater than or equal to 0 and less than or equal to L−1, the method further comprising: determining a plurality of codes, each code having K symbols, one symbol corresponding to each block, each symbol being mappable to a value between 0 and L−1, wherein the plurality of codes are a closed group under an algebraic operation;determining a representative set of codes in the plurality of codes, wherein the representative set is a subgroup of the closed group;for each code in the representative set, providing a phase sequence in said plurality of phase sequences based on said code, wherein each phase value of said phase sequence is assigned as 2*π*p/L, wherein p is a symbol of said code corresponding to the block associated with said phase value, to provide the plurality of phase sequences.
  • 12. The method of claim 1, wherein each received sample is in one of the blocks.
  • 13. The method of claim 1, wherein forming the sequence of blocks based on the received samples includes: dividing the received samples into a plurality of blocks;sorting the plurality of blocks according to a predetermined metric; anddetermining a subset of the sorted plurality of blocks that satisfy a predetermined condition; andproviding the determined subset as the sequence of blocks.
  • 14. A non-transitory computer readable storage medium having instructions stored tangibly thereon, the instructions when executed by a processor causing the processor to perform the operations of: receiving a signal from a mobile device as a plurality of data samples, the received signal including a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise; forming a sequence of blocks based on the received samples, wherein the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block; generating a first plurality of function values as a function of time, frequency, and phase, based on the received signal, wherein the function values of the first plurality correspond to a plurality of times, a plurality of frequencies, and a plurality of phase sequences, and the function values of the first plurality are calculated to compensate for frequency and phase discontinuities and drift; determining a time, a frequency, and a phase sequence corresponding to an optimal value of the first plurality of function values; and outputting the determined time as the time of arrival of the received signal.
  • 15. The computer readable storage medium of claim 14, wherein each phase sequence in the plurality of phase sequences is a sequence of phase values associated with respective blocks, and wherein causing the processor to perform the generation of the first plurality of function values includes causing the processor to perform the operations of: generating, for each block, a second plurality of function values as a function of time and frequency, based on the received signal, wherein the function values of the second plurality correspond to the plurality of times and to the plurality of frequencies;sorting the phase sequences in the plurality of phase sequences into a sequence of phase sequences according to an order, wherein each pair of adjacent phase sequences in the sequence of phase sequences differ at exactly one phase value and are equal to one another at the other phase values; andfor each time and frequency: evaluating the function of time, frequency, and phase at said time, said frequency, and an initial phase sequence in the sequence of phase sequences, andevaluating the function of time, frequency, and phase at said time, said frequency, and each phase sequence other than said initial phase sequence sequentially according to the order, by adjusting a function value of said function of time, frequency, and phase at said time, said frequency, and a predecessor phase sequence with a term dependent on the function value in the second plurality corresponding to said time, said frequency, and the block associated with the phase values that differ between said phase sequence and said predecessor phase sequence.
  • 16. The computer readable storage medium of claim 14, wherein each phase sequence in the plurality of phase sequences is a sequence of phase values associated with respective blocks, and the sequence of blocks includes K blocks, and the phase values of each phase sequence are each expressible as 2*π*k/L, wherein L is an integer, and k is an integer greater than or equal to 0 and less than or equal to L−1, wherein the instructions when executed by the processor further cause the processor to perform the operations of: determining a plurality of codes, each code having K symbols, one symbol corresponding to each block, each symbol being mappable to a value between 0 and L−1, wherein the plurality of codes are a closed group under an algebraic operation;determining a representative set of codes in the plurality of codes, wherein the representative set is a subgroup of the closed group;for each code in the representative set, providing a phase sequence in said plurality of phase sequences based on said code, wherein each phase value of said phase sequence is assigned as 2*π*p/L, wherein p is a symbol of said code corresponding to the block associated with said phase value, to provide the plurality of phase sequences.
  • 17. A method for determining a time of arrival of a signal transmitted by a mobile device, the method comprising: receiving a signal from a mobile device as a plurality of data samples, the received signal including a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise; forming a sequence of blocks based on the received samples; dividing the sequence of blocks into plural sets of blocks, wherein for each set, the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block in said set; for each set: generating a plurality of function values as a function of time, frequency, and phase, based on the received signal, wherein the function values of the plurality correspond to a plurality of times, a plurality of frequencies, and a first plurality of phase sequences, and the function values are calculated to compensate for frequency and phase discontinuities and drift, and determining a time, a frequency, and a phase sequence associated with said set corresponding to an optimal value of the first plurality of function values; and determining the time of arrival based on the determined times associated with respective sets.
  • 18. The method of claim 17, wherein determining the time of arrival includes selecting an earliest time among the determined times associated with respective sets.
  • 19. The method of claim 17, wherein determining the time of arrival includes selecting a median time among the determined times associated with respective sets.
  • 20. A method for determining a time of arrival of a signal transmitted by a mobile device, the method comprising: receiving a signal from a mobile device as a plurality of data samples, the received signal including a first component corresponding to a known reference signal and a second component corresponding to at least one of an unknown channel impairment and an unknown noise;forming a sequence of blocks based on the received samples, wherein the first component of the received signal corresponding to the reference signal is known to within a constant phase shift over each block;generating, for each block, a first plurality of function values as a function of time and frequency, based on the received signal, wherein the function values of the first plurality correspond to a plurality of times and to a plurality of frequencies;sorting the sequence of blocks according to a predetermined metric;dividing the sorted sequence of blocks into plural sets of blocks, wherein the sets are ranked according to an order;at an initial processing stage Z0, determining at least one candidate phase sequence based on a function of time, frequency, and phase and based on an initial set S0 among the sets of blocks;at each stage Zi of one or more subsequent processing stages corresponding to respective distinct sets other than said initial set S0, determining at least one candidate phase sequence based on the function of time, frequency, and phase, further based on a set Sj corresponding to said processing stage, and further based on the sets preceding set Sj, wherein an initial subsequence of each candidate phase sequence determined at stage Zi includes one of the candidate phase sequences determined at a stage Zi-1 preceding stage Zi;determining a time, a frequency, and a phase sequence that optimize the function of time, frequency, and phase based on the at least one candidate phase sequence determined at a last processing stage among the subsequent processing stages; andoutputting the determined time as the time of arrival of the received signal.
PRIORITY CLAIM

This application claims priority under 35 U.S.C. §119(e) from U.S. Provisional Pat. Ser. No. 61/387,502 entitled “System and Method for Sub-Coherent Integration for Intermittent Signals” filed Sep. 29, 2010, the entirety of which is hereby incorporated by reference herein.

US Referenced Citations (183)
Number Name Date Kind
3150372 Groth, Jr. Sep 1964 A
3659085 Potter et al. Apr 1972 A
4728959 Maloney Mar 1988 A
4814751 Hawkins Mar 1989 A
4845504 Roberts et al. Jul 1989 A
4891650 Sheffer Jan 1990 A
5056106 Wang Oct 1991 A
5218618 Sagey Jun 1993 A
5317323 Kennedy et al. May 1994 A
5327144 Stilp et al. Jul 1994 A
5365544 Schilling Nov 1994 A
5372144 Mortier et al. Dec 1994 A
5404376 Dent Apr 1995 A
5423067 Manabe Jun 1995 A
5465289 Kennedy Nov 1995 A
5506863 Meidan et al. Apr 1996 A
5506864 Schilling Apr 1996 A
5508708 Ghosh et al. Apr 1996 A
5512908 Herrick Apr 1996 A
5515419 Sheffer May 1996 A
5519760 Borkowski et al. May 1996 A
5559864 Kennedy Sep 1996 A
5592180 Yokev et al. Jan 1997 A
5608410 Stilp et al. Mar 1997 A
5614914 Bolgiano et al. Mar 1997 A
5675344 Tong et al. Oct 1997 A
5736964 Ghosh et al. Apr 1998 A
5815538 Grell et al. Sep 1998 A
5825887 Lennen Oct 1998 A
5870029 Otto et al. Feb 1999 A
5920278 Tyler et al. Jul 1999 A
5952969 Hagerman et al. Sep 1999 A
5959580 Maloney et al. Sep 1999 A
5960341 LeBlanc et al. Sep 1999 A
5973643 Hawkes et al. Oct 1999 A
5987329 Yost Nov 1999 A
6014102 Mitzlaff et al. Jan 2000 A
6047192 Maloney Apr 2000 A
6091362 Stilp Jul 2000 A
6097336 Stilp Aug 2000 A
6097709 Kuwabara Aug 2000 A
6097959 Yost Aug 2000 A
6101178 Beal Aug 2000 A
6108555 Maloney et al. Aug 2000 A
6108558 Vanderspool, II Aug 2000 A
6115599 Stilp Sep 2000 A
6115605 Siccardo et al. Sep 2000 A
6119013 Maloney et al. Sep 2000 A
6127975 Maloney Oct 2000 A
6144711 Raleigh et al. Nov 2000 A
6172644 Stilp Jan 2001 B1
6184829 Stilp Feb 2001 B1
6188351 Bloebaum Feb 2001 B1
6191738 Pfeil et al. Feb 2001 B1
6201499 Hawkes et al. Mar 2001 B1
6201803 Munday et al. Mar 2001 B1
6212319 Cayrefourcq Apr 2001 B1
6233459 Sullivan et al. May 2001 B1
6246884 Karmi et al. Jun 2001 B1
6266013 Stilp et al. Jul 2001 B1
6269246 Rao et al. Jul 2001 B1
6281834 Stilp Aug 2001 B1
6285321 Stilp et al. Sep 2001 B1
6288675 Maloney Sep 2001 B1
6288676 Maloney Sep 2001 B1
6295455 Fischer et al. Sep 2001 B1
6311043 Haardt et al. Oct 2001 B1
6317081 Stilp Nov 2001 B1
6317604 Kovach, Jr. et al. Nov 2001 B1
6334059 Stilp et al. Dec 2001 B1
6351235 Stilp Feb 2002 B1
6366241 Pack Apr 2002 B2
6388618 Stilp et al. May 2002 B1
6393294 Perez-Breva et al. May 2002 B1
6400320 Stilp et al. Jun 2002 B1
6407703 Minter et al. Jun 2002 B1
6449486 Rao Sep 2002 B1
6463290 Stilp et al. Oct 2002 B1
6470195 Meyer Oct 2002 B1
6477161 Hudson Nov 2002 B1
6483460 Stilp et al. Nov 2002 B2
6492944 Stilp Dec 2002 B1
6501955 Durrant et al. Dec 2002 B1
6519465 Stilp et al. Feb 2003 B2
6546256 Maloney Apr 2003 B1
6553322 Ignagni Apr 2003 B1
6563460 Stilp et al. May 2003 B2
6571082 Rahman May 2003 B1
6591112 Siccardo et al. Jul 2003 B1
6603428 Stilp Aug 2003 B2
6603761 Wang Aug 2003 B1
6640106 Gutowski et al. Oct 2003 B2
6646604 Anderson Nov 2003 B2
6661379 Stilp et al. Dec 2003 B2
6765531 Anderson Jul 2004 B2
6771625 Beal Aug 2004 B1
6771969 Chinoy Aug 2004 B1
6782264 Anderson Aug 2004 B2
6782265 Perez-Breva et al. Aug 2004 B2
6834234 Scherzinger et al. Dec 2004 B2
6839539 Durrant et al. Jan 2005 B2
6845240 Carlson et al. Jan 2005 B2
6859172 Powers et al. Feb 2005 B2
6871077 Kennedy, Jr. Mar 2005 B2
6873290 Anderson et al. Mar 2005 B2
6876859 Anderson et al. Apr 2005 B2
6920329 Kennedy, Jr. et al. Jul 2005 B2
6922170 Alexander, Jr. Jul 2005 B2
6944465 Spain et al. Sep 2005 B2
6952158 Kennedy, Jr. Oct 2005 B2
6987979 Carlsson Jan 2006 B2
6996392 Anderson Feb 2006 B2
7023383 Stilp et al. Apr 2006 B2
7116987 Spain, Jr. et al. Oct 2006 B2
7167713 Anderson Jan 2007 B2
7167714 Dressler et al. Jan 2007 B2
7233799 Spain, Jr. Jun 2007 B2
7250907 Krumm et al. Jul 2007 B2
7257414 Spain, Jr. et al. Aug 2007 B2
7271765 Stilp et al. Sep 2007 B2
7340259 Maloney Mar 2008 B2
7383051 Spain, Jr. et al. Jun 2008 B2
7427952 Bull et al. Sep 2008 B2
7433652 Durgin Oct 2008 B2
7433695 Gordon et al. Oct 2008 B2
7440762 Maloney et al. Oct 2008 B2
7460505 Spain Dec 2008 B2
7593738 Anderson Sep 2009 B2
7725111 Dressler et al. May 2010 B2
7734298 Bhattacharya et al. Jun 2010 B2
7753278 Spain, Jr. et al. Jul 2010 B2
7796966 Bhattacharya et al. Sep 2010 B2
7848762 Gordon et al. Dec 2010 B2
7899467 Feuerstein et al. Mar 2011 B2
8013785 Bhattacharya et al. Sep 2011 B2
8068802 Bhattacharya et al. Nov 2011 B2
8068855 Dressler et al. Nov 2011 B2
8106817 Bhattacharya et al. Jan 2012 B2
8106818 Bhattacharya et al. Jan 2012 B2
8155394 Allegra et al. Apr 2012 B2
20020172223 Stilp et al. Nov 2002 A1
20030064734 Stilp et al. Apr 2003 A1
20030139188 Chen et al. Jul 2003 A1
20030190919 Niemenmaa Oct 2003 A1
20030203738 Brown et al. Oct 2003 A1
20040043775 Kennedy, Jr. et al. Mar 2004 A1
20040132466 Kennedy, Jr. et al. Jul 2004 A1
20040203539 Benes et al. Oct 2004 A1
20040203921 Bromhead et al. Oct 2004 A1
20040218664 Kennedy, Jr. et al. Nov 2004 A1
20040252752 Kennedy, Jr. et al. Dec 2004 A1
20050058182 Kennedy, Jr. et al. Mar 2005 A1
20050136945 Kennedy, Jr. et al. Jun 2005 A1
20050164712 Kennedy, Jr. et al. Jul 2005 A1
20050192026 Carlson et al. Sep 2005 A1
20060003695 Kennedy, Jr. et al. Jan 2006 A1
20060003775 Bull et al. Jan 2006 A1
20060030333 Ward et al. Feb 2006 A1
20060116130 Kennedy, Jr. et al. Jun 2006 A1
20060125695 Kennedy, Jr. et al. Jun 2006 A1
20060141998 Kennedy, Jr. et al. Jun 2006 A1
20060154607 Kennedy, Jr. et al. Jul 2006 A1
20060240836 Kennedy, Jr. et al. Oct 2006 A1
20070087689 Kennedy, Jr. et al. Apr 2007 A1
20070111746 Anderson et al. May 2007 A1
20070155401 Ward et al. Jul 2007 A1
20070155489 Beckley et al. Jul 2007 A1
20070202885 Kennedy, Jr. et al. Aug 2007 A1
20080132244 Anderson et al. Jun 2008 A1
20080132247 Anderson et al. Jun 2008 A1
20080137524 Anderson et al. Jun 2008 A1
20080158059 Bull et al. Jul 2008 A1
20080160952 Bull et al. Jul 2008 A1
20080160953 Mia et al. Jul 2008 A1
20080161015 Maloney et al. Jul 2008 A1
20080248811 Maloney et al. Oct 2008 A1
20080261611 Mia et al. Oct 2008 A1
20080261612 Mia et al. Oct 2008 A1
20080261613 Anderson et al. Oct 2008 A1
20080261614 Mia et al. Oct 2008 A1
20090005061 Ward et al. Jan 2009 A1
20100117906 Miller et al. May 2010 A1
20130022085 Krasner Jan 2013 A1
Foreign Referenced Citations (2)
Number Date Country
06-347529 Dec 1994 JP
2006088472 Aug 2006 WO
Non-Patent Literature Citations (38)
Entry
Amir Leshem, Mati Wax, “Array Calibration in the Presence of Multipath,” IEEE Transactions on Signal Processing, vol. 48, No. 1, pp. 53-59, Jan. 2000.
Xin Wang, Zongxin Wang and Bob O'Dea, “A TOA-Based Location Algorithm Reducing the Errors Due to Non- Line-of-Sight (NLOS) Propagation,” IEEE Trans. Vehicular Technology, vol. 52, No. 1, Jan. 2003, pp. 112-116.
M. Vanderveen, C. Papadias, A. Paulraj, “Joint Angle and Delay Estimation (JADE) for Multipath Signals Arriving at an Antenna Array,” IEEE Communications Letters, vol. 1, No. 1, Jan. 1997, pp. 12-14.
R. Schmidt, “Multiple Emitter Location and Signal Parameter Estimation,” IEEE Transactions on Antennas and Propagation, vol. AP-34, No. 3, Mar. 1986, pp. 276-280.
Y. Chen, M. Zoltowski, “Joint Angle and Delay Estimation for DS-CDMA with Application to Reduced Dimension Space-Time Rake Receivers,” Mar. 1999, pp. 2933-2936.
A.J. Paulraj, C.B. Papadias, “Space-Time Processing for Wireless Communications”, IEEE Signal Processing Magazine, vol. 11, Nov. 1997, pp. 49-83.
C.B. Papadias, A.J. Paulraj , “Space-Time Signal Processing for Wireless Communications: A Survey”, Information Systems Laboratory, Stanford University.
M. Haardt, C. Brunner, J. Nossek, “Joint Estimation of 2-D Arrival Angles, Propagation Delays, and Doppler Frequencies in Wireless Communications,” Proc. IEEE Digital Signal Processing Workshop, vol. 1, pp. 1-4, Bryce Canyon National Park, Utah, Aug. 1998.
Mati Wax, “Position Location from Sensors with Position Uncertainty,” IEEE Transactions Aerospace and Electronic Systems, vol. AES-19, No. 5, Sep. 1983, pp. 658-662.
D.J. Torrieri, “Statistical Theory of Passive Location Systems”, IEEE Transactions Aerospace and Electronic Systems, vol. AES-20, No. 2, Mar. 1984, pp. 183-198.
Y.T. Chan and K.C. Ho, “A Simple and Efficient Estimator for Hyperbolic Location”, IEEE Transactions Signal Processing, vol. 42, No. 8, Aug. 1994, pp. 1905-1915.
W.H. Foy, “Position-Location Solutions by Taylor-Series Estimation”, IEEE Transactions Aerospace and Electronic Systems, vol. AES-12, No. 2, Mar. 1976, pp. 187-194.
R.G. Stansfield, “Statistical Theory of DF Fixing”, Journal IEE 94, Part III A, Oct. 1947, pp. 762-770.
M.P. Wylie and J. Holtzman, “The Non-Line of Sight Problem in Mobile Location Estimation”, Process IEEE 5th International Conference on Universal Personal Communications, vol. 2, Oct. 1996, pp. 827-831.
L.Cong and W. Zhuang, “Non-Line-of-Sight Error Mitigation in TDOA Mobile Location”, Process IEEE Global Telecommunications Conference, vol. 1, Sep. 2001, pp. 680-684.
P.C. Chen, “A Non-Line-of-Sight Error Mitigation Algorithm in Location Estimation”, Process IEEE Conference on Wireless Communications Networking, vol. 1, 1999, pp. 316-320.
N.J. Thomas, D.G.M. Cruickshank and D.I. Laurenson, “Performance of a TDOA-AOA Hybrid Mobile Location System”, 3G Mobile Communication Technologies, Conference Publication No. 477, Mar. 2001, pp. 216-220.
J. Caffery, Jr., and G. Stuber, “Subscriber Location in CDMA Cellular Networks,” IEEE Transactions on Vehicular Technology, vol. 47, No. 2, May 1998, pp. 406-416.
J. Caffery. Jr., “A New Approach to the Geometry of TOA Location,” IEEE, VTC 2000, pp. 1943-1949.
M.Silventoinen and T. Rantalainen, “Mobile Station Emergency Locating in GSM”, Process IEEE International Conference, Personal Wireless Communications, vol. 1, 1996, pp. 232-238.
Y. Zhao, “Standardization of Mobile Phone Positioning for 3G Systems,” IEEE Communications Magazine, Jul. 2002, pp. 108-116.
C. Drane, M. MacNaughtan, and C. Scott, “Positioning GSM Telephones,” IEEE Communications Magazine, Apr. 1998, pp. 46-54, 59.
J. Caffery, Jr., and G. Stuber, “Overview of Radiolocation in CDMA Cellular Systems,” IEEE Communications Magazine, Apr. 1998, pp. 38-45.
T. Rappaport, J.H. Reed and B.D. Woerner, “Position Location Using Wireless Communications on Highways of the Future,” IEEE Communications Magazine, Oct. 1996, pp. 33-41.
I. Ziskind and M. Wax, “Maximum Likelihood Localization of Multiple Sources by Alternating Projection,” IEEE Transactions on Acoustics, Speech, and Signal Porcessing, vol. 36, No. 10, pp. 1553-1560, Oct. 1988.
G.W.K. Colman, “A Comparison of the Accuracy of TDOA and TOA Location Algorithms with Equivalent Receiver Geometry,” Defence R&D Canada Technical Memorandum (DREO TM 2001-063), Oct. 2001, pp. 1-53.
L. Mailaender, “On the Geolocation Bounds for Round-Trip Time-of-Arrival and All Non-Line-of-Sight Channels”, EURASIP Journal on Advances in Signal Processing, vol. 2008, pp. 1-10.
N. Agarwal, L. Chaudran-Wadi, and V. Apte, “Capacity Analysis of the GSM Short Message Service”, Indian Institute of Technology Bombay, www.cse.iitb.ac.in/˜varsha/allpapers/wireless/ncc03cam.pdf, 2004, pp. 1-5.
J.D. Bard, and F.M. Ham, “Time Difference of Arrival Dilution of Precision and Applications,” IEEE Transactions on Signal Processing, vol. 47, No. 2, pp. 521-523, Feb. 1999.
K.C. Ho, and W. Xu, “An Accurate Algebraic Solution for Moving Source Location Using TDOA and FDOA Measurements”, IEEE Transactions on Signal Processing, vol. 52, No. 9, Sep. 2004, pp. 2453-2463.
C.H. Knapp and G.C. Carter, “The Generalized Correlation Method for Estimation of Time Delay,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. ASSP-24, No. 4, Aug. 1976, pp. 320-327.
M. Rahnema, “Overview of the GSM System and Protocol Architecture,” IEEE Communications Magazine, Apr. 1993, pp. 92-100.
S. Stein, “Algorithms for Ambiguity Function Processing,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. ASSP-29, No. 3, Jun. 1981, pp. 588-599.
M. Vanderveen, C.B. Papadias, and A. Paulraj, “Joint Angle and Delay Estimation (JADE) for Multipath Signals Arriving at an Antenna Array”, IEEE Communications Letters, vol. 1, No. 1, Jan. 1997, pp. 12-14.
M. Wax and I. Ziskind, “On Unique Localization of Multiple Sources by Passive Sensor Arrays,” IEEE Transactions on Acoustics, Speech, and Signal Processing, vol. 37, No. 7, Jul. 1989, pp. 996-1000.
B. Yang, “Projection Approximation Subspace Tracking,” IEEE Transactions on Signal Processing, vol. 43, No. 1, Jan. 1995, pp. 95-107.
Rick Roberts, “Project: IEEE P802.15 Working Group for Wireless Personal Area Networks (WPANS),” Harris Corporation, Melbourne Florida, Oct. 4, 2004, pp. 1-11.
Stephanie Bell, A Beginners Guide to Uncertainty of Measurement, The National Physics Laboratory of the United Kingdom of Great Britain and Northern Ireland, Teddington, Middlesex, UK, 2001, pp. 1-41.
Related Publications (1)
Number Date Country
20120077516 A1 Mar 2012 US
Provisional Applications (1)
Number Date Country
61387502 Sep 2010 US