Global navigation satellite system (GNSS) position solutions suffer from a high vertical dilution of precision (VDOP) due to lack of satellite vehicle (SV) angle diversity. Common metrics used to assess the quality of the spatial geometry of GNSS SVs are the parameters of the geometric dilution of precision (GDOP); namely, horizontal dilution of precision (HDOP), time dilution of precision (TDOP), and VDOP. GNSS navigation solutions may be improved by selecting a GNSS SV configuration to reduce or minimize the GDOP. While additional observables from GNSS SVs generally improve a GNSS navigation solution, the solution's VDOP is generally of worse quality than the HDOP. GNSS solutions may be augmented by terrestrial transmitters that transmit GPS-like signals that reduce VDOP, such as by using LocataLites. However, these terrestrial transmitters often require installation of additional proprietary infrastructure. It is desirable to provide an improved GNSS solution without requiring installation of proprietary infrastructure.
Terrestrial SOPs are abundant and are available at varying geometric configurations, and may be used to improve GNSS by reducing VDOP. The vehicle 110 receives GNSS signals from the first GNSS satellite 120 and calculates a first range 125. where the first range provides an estimated radius for a first range arc 125. Similarly, vehicle 110 calculates a second range arc 135 based on the second GNSS satellite and calculates a third range arc 145 based on the SOP transceiver 140. The VDOP may be understood to be the overlap between the first range arc 125 and the second range arc 135. While the first range arc 125 and second range arc 135 are shown as narrow dashed lines, the uncertainty within these estimated ranges results in wider range arcs, which creates substantial vertical overlap between the first range arc 125 and second range arc 135. This VDOP may be reduced by exploiting existing terrestrial SOPs, particularly cellular code division multiple access (CDMA) signals, which have inherently low elevation angles and are free to use. While the present subject matter is described with respect to CDMA, other SOPs may be used, such as other cellular signals (e.g., 4G LTE, etc.) iridium satellite signals, digital television signals, Wi-Fi signals, or other SOP signals. As shown in
In GLASS-based navigation, the states of the SVs are readily available. For SOPs, however, even though the position states may be known a priori, the clock error states are dynamic, and therefore the clock error states must be continuously estimated. The states of SOPs can be made available through one or more receivers in the navigating receivers' vicinity. Each GNSS receiver makes pseudorange observations on multiple GNSS satellite vehicles and multiple terrestrial SOPs, and combines these observations through an estimator. The GNSS VDOP may be reduced by adding a varying number of cellular SOPs, where the SOPs are at low elevation angles. The use of the additional GNSS observables is more effective at reducing VDOP than adding GNSS SV observables.
To supply additional SOP observables, terrestrial cellular signals may be used. A software-defined receiver (SDR) architecture may be used to process readily available terrestrial cellular signals, where the SDR may provide GNSS observables based on available cellular CDMA signals. The SDR uses models for the transmitted and received signals, where the models are based on the cellular forward-link signal structure. The SDR uses cellular information that can be extracted and subsequently exploited for navigation and timing purposes.
There are differences between a typical GPS receiver and the proposed cellular CDMA receiver, as shown and described herein. In an embodiment, the GNSS framework is based on a mapping or navigating receiver scheme that provides improved navigation in a cellular CDMA environment. The receiver employs an analysis of the position and timing errors arising due to estimating the base transceiver station clock biases in different cell sectors. The SDR receiver provides a VDOP improvement, where the improvement may include a mean distance difference of 5.51 m compared to a GPS-only navigation solution. While the navigation solution improvement is described with respect to improvements on GPS-only navigation solutions, further navigation improvement may be possible by integrating additional sensors, such as inertial sensors (e.g., accelerometers, gyroscopes), local ranging sensors (e.g., LIDAR), optical sensors (e.g., cameras), or other sensors.
Consider an environment comprising a receiver, M GNSS SVs. and N terrestrial SOPs. Each SOP will be assumed to emanate from a spatially-stationary transmitter, and its state vector will consist of its position state
r
sop
[xsop
and clock error states
cx
clk,sop
c└δt
sop
, {dot over (δ)}t
sop
┘,
where c is the speed of light, δtsop
The receiver draws pseudorange observations from the GNSS SVs, denoted {zSV
z′
sv
=∥r
r
−r
sv
∥2+c·[δtr−δtsv
where z′svzsv
z
sop
=∥r
r
−r
sop
∥2+c·[δtr−δtsop
where vsopn is the observation noise, which is modeled as a zero-mean Gaussian random variable with variance σsop
The measurement residual computed by the estimator has a first-order approximation of its Taylor series expansion about an estimate of the receiver's state vector {circumflex over (x)}r given by
Δz=HΔxr+v,
where Δz, z−{circumflex over (z)}, i.e., the difference between the observation vector z, [z′∈v
where c(·) and s(·) are the cosine and sine functions, respectively, elsvm and azsvm are the elevation and azimuth angles, respectively, of the mth GNSS SV, and elsopn and azsopn are the elevation and azimuth angles, respectively, of the nth terrestrial SOP as observed from the receiver. To simplify the discussion, assume that the pseudorange observation noise is independent and identically distributed, i.e., cov(v)=σ2, then, the weighted least-squares estimate {circumflex over (x)}r and associated estimation error covariance P{tilde over (x)}r{tilde over (x)}r are given by
{circumflex over (x)}r=(ĤTĤ)−1ĤT
The matrix G(HTH)−1 is determined by the receiver-to-SV SV and receiver-to-SOP geometry. Hence, the quality of the estimate depends on this geometry and the pseudorange observation noise variance. The diagonal elements of denoted are the parameters of the dilution of precision (DOP) factors:
GDOP
√{square root over (tr[Ĝ])}
HDOP
√{square root over (ĝ11+ĝ22)},
VDOP
√{square root over (ĝ33)}
Therefore, the DOP values are directly related to the estimation error covariance; hence, the more favorable the geometry, the lower the DOP values. If the observation noise was not independent and identically distributed, the weighted DOP factors must be used.
The VDOP may be reduced through the use of SOPs. With the exception of GNSS receivers mounted on highflying and space vehicles, GNSS SVs are typically above the receiver, i.e., the elevation angles in Hsv° are theoretically limited between 0°≤elsvm≤90°, GNSS receivers typically restrict the lowest elevation angle to some elevation mask, elsv,min, so to ignore GNSS SV signals that are heavily degraded due to the ionosphere, the troposphere, and multipath. As a consequence, GNSS SV observables lack elevation angle diversity and the VDOP of a GNSS-based navigation solution is degraded. For ground vehicles, elsv,min is typically between 10° and 20°. These elevation angle masks also apply to low flying aircrafts, such as small unmanned aircraft systems (UASs), whose flight altitudes are limited to 500 ft (approximately 152 m) by the Federal Aviation Administration (FAA).
When GNSS and SOP signals are combined in navigation, the elevation angle span may effectively double, specifically −90°≤elsopm≤90°. For ground vehicles, useful observations can be made on terrestrial SOPs that reside at elevation angles of elsopn=0°. For aerial vehicles, terrestrial SOPs can reside at elevation angle as low as elsopn=−90°, e.g., if the vehicle is flying directly above the SOP transmitter.
For each set of GPS SVs, the azimuth angle of an additional observation was chosen as a random sample from a uniform distribution between 0° and 360°, i.e., aznew˜U(0°, 360°). The corresponding VDOP for introducing an additional measurement at a sweeping elevation angle −90°≤elnew≤90° are plotted in the sub-figures in
The VDOP reduction graphs 200 reveal various advantages to the combination of GNSS and SOPs. First, while the VDOP is always improved by introducing an additional measurement, the improvement of adding an SOP measurement is much more significant than adding an additional GPS SV measurement. Second, for elevation angles inherent only to terrestrial SOPs, i.e., −90°≤elsopn≤0°, the VDOP is monotonically decreasing for decreasing elevation angles.
The elevation mask was set to elsv,min≡20°. The azimuth and elevation angles of three SOPs, which were calculated from surveyed terrestrial cellular CDMA tower positions in the receivers vicinity, were set to azsop≡[42.4°, 113.4+, 230.3°]T and elsop≡[3.53°, 1.98°, 0.95°]T, The resulting VDOP, MOP, (MOP, and associated number of available UPS SVs for a twenty-four hour period starting from midnight, Sep. 1, 2015, are plotted in
The following can be concluded from
r
sop1≡(106)·[−2.504953, −4.659550, 3.551292]T,
r
sop2≡(106)·[−2.503655, −4.659645, 3.552050]T, and
r
sop3≡(106)·[−2.504124, −4.660430, 3.550646]T,
which are the locations of surveyed cellular towers in the UAV's vicinity. The UAV's true trajectory, navigation solution from using only GPS SV pseudoranges, and navigation solution from using UPS and SOP pseudoranges are illustrated in the upper portion of
The following can be noted from UAV trajectory 400. First, the accuracy of the vertical component of the GPS-only navigation solution is worse than that of the GPS+SOP navigation solution. Second, the uncertainty in the vertical component of the GPS-only navigation solution is larger than that of the GPS+SOP navigation solution, which is captured by the yellow and blue uncertainty ellipsoids, respectively. Third, the accuracy of the horizontal component of the navigation solution is also improved by incorporating cellular SOP pseudorange observations alongside GPS SV pseudorange observations.
The pseudoranges were drawn from a receiver located at rr=(106)·[−2.430701, −4.697498, 3.553099]T, expressed in an ECEF frame, which was surveyed using a Trimble 5700 carrier-phase differential UPS receiver. The corresponding SOP state estimates were collaboratively estimated by receivers in the navigating receiver's vicinity. The pseudoranges and SOP estimates were fed to a least-squares estimator, producing {circumflex over (x)}r and associated P{tilde over (x)}r{tilde over (x)}r, from which the VDOP, HDOP, and GDOP were calculated and tabulated in Table 2 for M GPS SVs and N cellular CDMA SOPs:
The combining of SOPs and GNSS SVs in calculating a navigation solution may be improved further by selection and processing of specific SOPs. In an embodiment, the SOPs navigation solution may be improved using a software-defined receiver (SDR) architecture for processing cellular CDMA SOPs. SOP signals generally may include AM/FM radio signals, iridium satellite signals, cellular signals, digital television signals, Wi-Fi signals, or other signals. There are various considerations in selecting an SOP for navigation, including observability and ability to estimate the signal landscape map for a different number of receivers, a different number of SOPs, and various a priori knowledge scenarios. An SOP may also be selected based on an intended receiver localization and timing navigation solution.
There are two main challenges associated with using SOPs for navigation: (1) the unavailability of appropriate precise, low-level signal models for optimal extraction of states and parameters of interest for navigation and timing purposes and (2) the absence of published receiver architectures capable of producing navigation observables. The use of cellular CDMA signals as described herein provides technical solutions to these technical problems.
CDMA signals are abundant, are transmitted at high power, and have a structure that is similar to the well-understood UPS signals, which renders them good candidates for navigation. Unlike GNSS, the states of a cellular CDMA base transceiver station (BTS) are unknown to a navigating receiver and need to be estimated. Although, the IS-95 standard states that a CDMA BTS should transmit its position, local wireless providers do not usually transmit such information. Hence, the position of the BTSs need to be manually surveyed or estimated on-the-fly individually or collaboratively. Nevertheless, while the position states of a BTS are static, the clock error states of the BTS are dynamic and need to be continuously estimated via (1) a mapping receiver, which shares such estimates with the navigating receiver or (2) by the navigating receiver itself by adopting a simultaneous localization and mapping approach.
As described herein, whether it is for navigation or mapping purposes, a specialized receiver may be used to process the received cellular CDMA signal and extract relevant positioning and timing observables. Cellular CDMA receivers may be implemented in hardware in mobile phones; however, hardware implementations limits the ability to extract or modify information within the receiver. As such, the use of a software-defined radio (SDR) as described herein provides various advantages when implementing a cellular CDMA receiver for navigation purposes. For example, the use of an SDR provides several advantages: (1) flexibility: designs are hardware independent, (2) modularity: different functions can be implemented independently, and (3) upgradability: minimal changes are needed to improve designs. Although some SDRs are used in post-processing applications, the processor-specific optimization techniques described herein allow for real-time operation. As shown and described below, graphical programming languages such as LabVIEW and Simulink offer the advantage of a one-to-one correspondence between the architectural conceptualization of the SDR and software implementation.
The SDR architecture as described herein provides various advantages. This SDR architecture presents a detailed and reproducible navigation cellular CDMA SDR architecture along with precise, low-level signal models for optimal extraction of relevant navigation and timing information from received signals. This SDR architecture also provides a navigation framework in which a mapping receiver estimates the states of BTS; and shares such estimates with a navigating receiver, which navigates exclusively with cellular CDMA signals. This SDR architecture reduces the induced error in the navigation solution due to having the mapping and navigating receivers listening to different sectors within a BTS cell. As described below, experimental results comparing the trajectories corresponding to a navigation solution from GPS and that of the proposed cellular CDMA SDR show a mean distance difference (e.g., location improvement) between the trajectories of 5.51 m with a standard deviation of 4.01 m and a maximum difference of 11.11 m.
P
I(D)=D15+D13+D9+D8+D7+D5+1
P
Q(D)=D15+D12+D11+D10+D6+D5+D4+D3+D4+D3+1,
Where D is the delay operator. An extra zero may be added after the occurrence of 14 consecutive zeros to make the length of the short code a power-of-two. In order to distinguish the received data from different BTSs, each station may use a shifted version of the PN codes. This shift, known as the pilot offset, is unique for each BTS and is an integer multiple of 64 chips. The cross-correlation of the same PN sequence with different pilot offsets can be shown to be negligible. Each individual logical channel is spread by a unique 64-chip Walsh code. Therefore, at most 64 logical channels can be multiplexed at each BTS. Spreading by the short code enables multiple access for BTSs over the same carrier frequency, while the orthogonal spreading by the Walsh codes enables multiple access for users over the same BTS. The CDMA signal is subsequently filtered using a digital pulse-shaping filter that limits the bandwidth of the transmitted CDMA signal according to the IS-95 standard. The signal is finally modulated by the carrier frequency we to produce s(t).
The sync channel may be used to provide time and frame synchronization to the receiver. The cellular CDMA system uses GPS as the reference timing source and the BTS sends the system time to the receiver over the sync channel. Other information, such as the pilot PN offset and the long code state, are also provided on the sync channel. The long code may include a PN sequence used to spread the reverse-link signal (i.e., receiver to BTS) and the paging channel message. The long code has a chip rate of 1.2288 Mcps and may be generated using 42 LFSRs. The output of the registers are masked and modulo-two added together to form the long code. The latter has a period of more than 41 days; hence, the states of the 42 LFSRs and the mask are transmitted to the receiver so that it can readily achieve long code synchronization.
Forward-link sync channel encoder 900 shows sync message encoding before transmission. The initial message, which is at 1.2 Kbps, is convolutionally encoded at a rate r=(½) with generator functions gb=753 (octal) and g1=561 (octal). The state of the encoder is not reset during the transmission of a message capsule. The resulting symbols are repeated twice and the resulting frames, which are 128-symbols long, are block interleaved using the bit reversal method. The modulated symbols, which have a rate of 4.8 Ksps, are spread with Walsh code 32.
g(x)=x30+x29+x21+x20+x15+x12+x11+x8+x7+x6+x2+x+1.
The SOM bits are dropped by the receiver and the frames bodies are combined to form a sync channel capsule.
A paging channel message is input to the forward-link paging channel encoder 1100, where the initial bit-rate of the paging channel message is either 9.6 Kbps or 4.8 Kbps and is provided in the sync channel message. Next, the data is convolutionally encoded in the same way as that of the sync channel data. The output symbols are repeated twice only if the bit rate is less than 9.6 Kbps. After symbol repetition, the resulting frames, which are 384 symbols long, are block interleaved one frame at a time. The interleaver is different than the one used for the sync channel because it operates on 384-symbols instead of 128-symbols. However, both interleavers use the bit reversal method. Finally, the paging channel message is scrambled by modulo-two addition with the long code sequence.
In an embodiment, the pilot signal (i.e., the PN sequence) is used to acquire and track a cellular CDMA signal. Demodulating the other channels becomes an open-loop problem, since no feedback is taken from the sync, paging, nor any of the other channels for tracking. Since all the other channels are synchronized to the pilot, only the pilot needs to be tracked. In fact, it is the IS-95 specification specifies that coded channels are synchronized with the pilot to within ±50 ns. Although signals from multiple BTSs could be received simultaneously, a receiver could associate each individual signal with the corresponding BTS, since the offsets between the transmitted PN sequences are much larger than one chip. The normalized transmitted pilot signal s(t) by a particular BTS can be expressed as
where c1(t)=c1(t)*h(t) and cQ(t)=cQ(t)*h(t); h is the continuous-time impulse response of the pulse shaping filter; ci and cl) are the in-phase and quadrature PN sequences, respectively; ωc=2πfc with fc being the carrier frequency; and Δ is the absolute clock bias of the BTS from GPS time. The total clock bias Δ is defined as
Δ(t)=64·(PNoffsetTc)+δts(t),
where PNoffset is the PN offset of the BTS,
s is the chip interval, and δts is the BTS clock bias. Since the chip interval is known and the PN offset can be decoded by the receiver, only δts needs to be estimated. The cdma2000 standard indicates that the BTSs clock will be synchronized with GPS to within 10 μs, which translates to a range of approximately 3 km (the average cell size). This restriction is sufficient to reduce or eliminate interference between the short codes transmitted from different BTSs, and enables maintaining the CDMA system's capability to perform soft hand-offs. The clock bias of the BTS can therefore be neglected for communication purposes. However, ignoring δts in navigation applications can significantly reduce the positioning accuracy, so the present solution specifies that receiver knows the BTS clock bias.
In an embodiment, the transmitted signal has propagated through an additive white Gaussian noise channel. A model of the received discrete-time signal r[k] after radio frequency (RF) front-end processing includes downmixing, a quadrature approach to bandpass sampling, and quantization. The quantization may be expressed as
r[k]=½{c′1[tk−ts(tk)]=jcQ[tk−ts(tk)]}·ejθ(t
where ts(tk), δtTOF+Δ(tk−δtTOF) is the PN code phase of the BTS, tk=kTs is the sample time expressed in receiver time, T is the sampling period, δtTOF is the time-of-flight (TOF) from the BTS to the receiver, θ(tk) is the beat carrier phase of the received signal, and n[k]=n1[k]+jnQ[k] with n1[k] and nQ[k] being independent, identically-distributed (i.i.d.) Gaussian random sequences with zero-mean and variance σn2.
x[k]=hr[k]·e
−j↓(tk)
i*h[−k], (2)
where ibis the beat carrier phase estimate and h[k] is a pulse-shaping filter, which is a discrete-time version of the one used to shape the spectrum of the transmitted signal, with a finite-impulse response specified in. Next, x[k] is correlated with a local replica of the spreading PN sequence. The resulting correlation is used as a measure of the quality of the code phase and the beat carrier phase estimates. In the present digital receiver, the correlation operation may be expressed as
where Si is the ith subaccumulation, is the number of samples per subaccumulation, and fs(tk) is the code start time estimate over the ith subaccumulation. The code phase can be assumed to be approximately constant over a short subaccumulation interval Tsub; hence, {circumflex over (t)}s(tk)≈{circumflex over (t)}si. It is worth mentioning that Tsub can be made arbitrarily large, theoretically, since no data is transmitted on the pilot channel. Practically, Tsub is mainly limited by the stability of the BTS and receiver oscillators. In an embodiment, Tsub is set to one PN code period. The carrier phase estimate is modeled as θ(tk)=2πfDitk+θ0, θ0, where {circumflex over (f)}Di is the apparent Doppler frequency estimate over the ith subaccumulation, and θ0 is the initial beat carrier phase of the received signal. As in a GPS receiver, the value of θ0 may be set to zero in the acquisition stage and subsequently maintained in the tracking stage. The apparent Doppler frequency may be assumed to be constant over a short Tsub. Substituting for r[k] and x[k], defined in (1)-(2), into (3), it can be shown that
where Rc is the autocorrelation function of the PN sequences cI and cQ, Δti, tsi−{circumflex over (t)}si is the code phase error, Δθ(tk), θ(tk)−θ(tk) is the carrier phase error, and ni, nIi+jnQi with nIi and nQi being i.i.d. Gaussian random sequences with zero-mean and variance Nsσn2. The expression of Si in (4) assumes that the locally generated c1 and cQ have the same code phase. To ensure this, both sequences may be selected to begin with the first binary one that occurs after 15 consecutive zeros; otherwise, |Si| will be halved.
Similar to GPS signal acquisition, the search could be implemented either serially or in parallel, which in turn could be performed over the code phase or the Doppler frequency. The proposed receiver performs a parallel code phase search by exploiting the optimized efficiency of the fast Fourier transform (FFT). If a signal is present, a plot of |Si|2 will show a high peak at the corresponding code start time and Doppler frequency estimates. A hypothesis test could be performed to decide whether the peak corresponds to a desired signal or noise, Since there is only one PN sequence, the search needs to be performed once. Then, the resulting surface is subdivided in the time-axis into intervals of 64 chips, each division corresponding to a particular PN offset. The PN sequences for the pilot, sync, and paging channels could be generated off-line and stored in a binary file to improve processing speed.
After obtaining an initial coarse estimate of the code start time and Doppler frequency, the receiver refines and maintains these estimates via tracking loops. In the present SDR architecture, a phase-locked loop (PLL) may be used to track the carrier phase and a carrier-aided delay-locked loop (DLL) is used to track the code phase.
In an embodiment, the PLL consists of a phase discriminator, a loop filter, and a numerically-controlled oscillator (NCO). Since the receiver is tracking the data-less pilot channel, an atan 2 discriminator, which remains linear over the full input error range of ±π, could be used without the risk of introducing phase ambiguities. In contrast, a GPS receiver does not use this discriminator unless the transmitted data bit values of the navigation message are known. Furthermore, while GPS receivers require second- or higher-order PLLs due to the high dynamics of GPS satellite vehicles (SVs), lower-order PLLs could be used in cellular CDMA navigation receivers. The present SDR receiver easily tracks the carrier phase with a second-order PLL with a loop filter transfer function given by
where
is the damping ratio and air, is the undamped natural frequency, which can be related to the PLL noise equivalent bandwidth Bn,PLL by Bn
The output of the loop filter vPLL is the rate of change of the carrier phase error, expressed in rad/s. The Doppler frequency is deduced by dividing vPLL by 2π. The loop filter transfer function in (5) is discretized and realized in state-space. The noise-equivalent bandwidth is chosen to ranize between 4 and 8 Hz.
The carrier-aided DLL employs the non-coherent dot product discriminator. In order to compute the code phase error, the dot product discriminator uses the prompt, early and late correlations, denoted by Spi, ,Sei, and SIi, respectively. The early and late correlations are calculated by correlating the received signal with an early and a delayed version of the prompt PN sequence. respectively. The time shift between Sei and SIi is defined by an early-minus-late time teml, expressed in chips. Since the autocorrelation function of the transmitted cellular CDMA pulses is not triangular as in the case of GPS, a wider teml is preferable in order to have a significant difference between Spi, Sei, and SIi.
The output of the DLL loop filter vDLL is the rate of change of the code phase, expressed in s/s. Assuming low-side mixing, the code start time is updated according to fsi+1=fsi−(vDLL, i+fDi/fc)·NsTs.
The pseudorange can therefore be deduced by multiplying the code start time by the speed of light.
As shown in
p(x)=x42+x35+x33+x31+x27+x25+x22+x21+x19+x18+x17+x16+x10+x7+x6+x5+x3+x2+x+1.
In an embodiment, the SDR, architecture framework includes two receivers: a mapping receiver and a navigating receiver, each equipped with the proposed cellular CDMA SDR. The mapping receiver is assumed to have knowledge of its own state vector (by having access to GPS signals, for example) and is estimating the states of the unknown SOP BTS. These estimates are shared with the navigating receiver, which has no knowledge of its own states.
The state of the receiver is defined as xr, [rrT, cδtr]T, where rr=[xr, yr, Zr]T is the position vector of the receiver, δtr is the receiver's clock bias, and c is the speed of light. Similarly, the state of the ith BTS is defined as xsi, [rsiT, cδts
The SOP environment 2300 includes a mapping receiver with knowledge of its own state vector (by having access to GPS signals, for example). The mapping receiver's objective is to estimate the BTSs' position and clock bias states and share these estimates with the navigating receiver through a central database. If the mapping receiver has been estimating the SOP BTSs' states for a sufficiently long period of time, the position state estimate uncertainties will be negligible. Moreover, the position state estimates are physically verifiable (through surveying or satellite images, for example), at which point these estimates are assumed to match the true states and arc subsequently stored in the database. Unlike the position state estimates, the clock bias state estimates are more difficult to verify and are time-varying. Therefore, in the sequel, it is assumed that the mapping receiver is only estimating the BTSs' clock bias states.
Using M mapping receivers and N SOP BTSs, the state vector of the jth receiver may be denoted by xrj, the pseudorange measurement by the jth receiver on the ith BTS by pi(j), and the corresponding measurement noise by Vi(j). Assume vi(j) to be independent for all i and with a corresponding variance (j)2σi. The set of measurements made by all receivers on the ith BTS may be defined as
where
1M[1, . . . , 1]T and v(j)
−[v1(j), . . . vN(j)]T
The clock bias δtsi is estimated by solving a weighted least squares (WLS) problem, resulting in the estimate as δ{circumflex over (t)}si=1(1MTW1M)−11MCTwz and its associated error valiance σδt
Because the navigating receiver is using the estimate of the BTS clock bias (which is produced by the mapping receiver) the pseudorange measurement made by the navigating receiver on the ith BTS becomes
ρi=hi(xr,{circumflex over (x)}si)+ηi, T
where {circumflex over (x)}si=[rs
[δr
r
T, δ(cδtc)][δrrT, δ(cδtr] The navigating receiver's state can now be estimated by solving a WNLS problem, where the incremental change in the state vector estimate per iteration is given by δxr=T, where δrr and δ(cδtr) are the incremental change in the position and the clock bias states, respectively, and δxr=THTΣ{{circumflex over (X)}s
A typical CDMA BTS transmits into three different sectors within a particular cell. Ideally, all sectors' clocks should be driven by the same oscillator, which implies that the same clock bias (after correcting for the PN offset) should be observed in all sectors of the same cell. However, factors such as unknown distance between the phase-center of the sector antennas, delays due to RF connectors and other components (e.g., cabling, filters, amplifiers, etc.) cause the clock biases corresponding to different BTS sectors to be slightly different. This behavior was consistently observed experimentally and is depicted in
The clock biases δts
cδt
s
(q)
=cδt
s
(p)
|c
i
(p,q_,
where ∈i(p,q) is a random variable that models the discrepancy between the sectors' clock biases. The discrepancy ∈ip,q can be particularly harmful if the mapping and navigating receivers are listening to two different sectors of the same BTS cell. This can be mitigated by bounding the error introduced in the navigation solution due to the sector clock discrepancy, as described below.
The pseudorange measured by the navigating receiver in sector q of the ith BTS is given by
ρi(q)=∥rr−rs
If the navigating receiver uses δ{circumflex over (t)}si, which is produced by the mapping receiver in sector p, as an estimate of δts(qi), the pseudorange model becomes
ρ′i(q)=∥rr−rs
Generalizing this expression to the case of N SOP BTS cells with each mapping receiver listening to a different sector than the navigating receiver yields ρ′=ρ+∈, where
p′[p′1(q), . . . , p′N(q)]T and ∈
[∈1(p,q), . . . ∈N(p,q)]T
and ∈. The effect of ∈ on the incremental change δxr is HTΣ−1∈.
In general, the discrepancy vector ∈ can be expressed as
∈=b1NΨ, (6)
where b, NΣt−1=N1NT1N∈(p,q)1∈, and Ψ. [∈1(p,q)−b, . . . , ∈N(p,q)−b]T. The term b is referred to as the common error and the vector Ψ as the uncommon error. It follows from this definition that σi=1NΨi=0. By placing the expression of ∈ in a WNLS step, the incremental change in the receiver state estimate can be expressed as δxr=δxr(b)+δxr(Ψ), where δxr(b)=b(HTΣ−1H)−1HTΣ−11N is the effect of the common error and δxr(Ψ)=HTΣ
In an embodiment, the common error term only affects the receiver clock bias estimate. This can be shown by realizing that
He4=[G1N]e4=1N, (7)
where e4=[0, 0, 0, 1]T. Then, using (7), the incremental change due to the common term becomes
δx(rb)=bHTΣ
1N=bHTΣ
which has a non-zero component only in the clock bias state. Thus, if the individual errors ∈i(p,q) happen to be all equal, the receiver's position estimate will be unaffected.
Unlike the common error, the uncommon error will affect all receiver states. Next, a hound on the error introduced by the uncommon error in the receiver's position estimate is derived. The incremental change in the receiver position state can be expressed as δrr=Tδxr=Tδxr(b)+Tδxr(Ψ), where T=[I3×303×1]. By replacing δxr(b) with its expression from (8), the change in position becomes
δTi rr=bTe4+Tδx(rΨ)=Tδx(rΨ), (9)
Taking the 2-norm on both sides of (9) yields
∥δrr∥−∥Tδxr(Ψ)∥≤|T∥·∥δxr(Ψ)∥=∥δxr(Ψ)∥ (10)
since kTk=1. Replacing δxr(Ψ) by its expression in the WNLS update, (10) becomes
∥δrr∥≤∥(HTΣ−1H)1 Σ−1(∈−b1N∥≤γ∥∈−b1N∥, HT (11)
where
Therefore, to determine the upper bound of (11), the term k∈−b1Nk, or equivalently its square, must be maximized, leading to
Motivated by experimental data collected in different BTS cell sectors and for various cells, it is reasonable to assume that
|∈1(p,q)|≤α, ∀i, (13)
where α is some positive constant. As such, the maximization problem in (12) becomes constrained by (13). The function in (12) is convex, since it is the composition of the norm with a linear mapping, and the box constraints in (13) form a convex set. Therefore, the maximizer of (12) subject to the constraints (13) lies on the extreme points of the feasibility region, namely
|(∈i(p,q))*|=α, ∀i
If N is even, the maximum is achieved whenever Σi−1N∈i(p,q)=0; hence, the maximizer is (∈i(p,q))*=(−1)iα, ∀ i. If N is odd, the maximum is achieved whenever Σi−1N∈i(p,q)=|α|; hence, the maximizer is (∈i(p,q))*=(−1)iα for i=1, . . . N−1, and (∈N(p,q))*=±α. Therefore, the maximum error introduced in the receiver's position is bounded by
In an embedment, the experimental configuration 2500 used both receivers to receive data from 3 BTSs, where the position states of the 3 BTSs were previously mapped. The mapping receiver and the navigating receiver were listening to the same sectors; hence, there were no additional errors due to the discrepancies between sector clocks. The mapping receiver was stationary during the experiments and was estimating the clock biases of the 3 known BTSs. The measurement noise variance for the mapping and navigating receivers was calculated from
where (C/N0), is the measured carrier-to-noise ratio for the BTS and
is the pre-detection coherent integration time. The weighting matrices for the WNLS were calculated accordingly.
As shown in
One example computing device in the form of a computer 2710, may include a processing unit 2702, memory 2704, removable storage 2712, and non-removable storage 2714. Although the example computing device is illustrated and described as computer 2710, the computing device may be in different forms in different embodiments. For example, the computing device may instead be a smartphone, a tablet, or other computing device including the same or similar elements as illustrated and described with regard to
Returning to the computer 2710, memory 2704 may include volatile memory 2706 and non-volatile memory 2708. Computer 2710 may include or have access to a computing environment that includes a variety of computer-readable media, such as volatile memory 2706 and non-volatile memory 2708, removable storage 2712 and non-removable storage 2714. Computer storage includes random access memory (RANI.), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVI)) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions. Computer 2710 may include or have access to a computing environment that includes input 2716, output 2718, and a communication connection 2720. The input 2716 may include one or more of a touchscreen, touchpad, mouse, keyboard, camera, and other input devices. The input 2716 may include a navigation sensor input, such as a GNSS receiver, a SOP receiver, an inertial sensor (e.g., accelerometers, gyroscopes), a local ranging sensor (e.g., LIDAR), an optical sensor (e.g., cameras), or other sensors. The computer may operate in a networked environment using a communication connection 2720 to connect to one or more remote computers, such as database servers, web servers, and other computing device. An example remote computer may include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection 2720 may be a network interface device such as one or both of an Ethernet card and a wireless card or circuit that may be connected to a network. The network may include one or more of a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, and other networks.
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 2702 of the computer 2710. A hard drive (magnetic disk or solid state), CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium. For example, various computer programs 2725 or apps, such as one or more applications and modules implementing one or more of the methods illustrated and described herein or an app or application that executes on a mobile device or is accessible via a web browser, may be stored on a non-transitory computer-readable medium.
To better illustrate the method and apparatuses disclosed herein, a non-limiting list of embodiments is provided here.
Example 1 is a navigation system comprising: a global navigation satellite solution (GNSS) receiver to receive a plurality of GNSS signals from a plurality of GNSS satellites; a signal of opportunity (SOP) receiver to receive an SOP signal from at least one SOP transceiver station; and a processor to: determine a plurality of GNSS pseudorange measurements based on the received plurality of GNSS signals; determine an SOP pseudorange measurement based on the received SOP signal; and determine an estimated receiver position based on the SOP pseudorange measurement and on the plurality of GNSS pseudorange measurements.
In Example 2, the subject matter of Example 1 optionally includes wherein determining the SOP pseudorange measurement is further based on an SOP base transceiver station clock error estimate.
In Example 3, the subject matter of Example 2 optionally includes wherein receiving the SOP signal includes receiving the clock error estimate from the at least one SOP transceiver station.
In Example 4, the subject matter of any one or more of Examples 2-3 optionally include a stationary mapping receiver, wherein receiving the SOP signal includes receiving the clock error estimate at the SOP receiver from the stationary mapping receiver.
In Example 5, the subject matter of any one or more of Examples 2-4 optionally include wherein the processor is further configured to generate the clock error estimate based on application of a simultaneous localization and mapping algorithm to the received SOP signal.
In Example 6, the subject matter of any one or more of Examples 1-5 optionally include wherein the SOP receiver includes a hardware-defined radio.
In Example 7, the subject matter of any one or more of Examples 1-6 optionally include wherein the SOP receiver includes a software-defined radio (SDR).
Example 8 is a navigation method comprising: receiving a plurality of GNSS signals from a plurality of GNSS satellites at a global navigation satellite solution (GNSS) receiver; receiving an SOP signal from at least one SOP transceiver station at a signal of opportunity (SOP) receiver; determining a plurality of GNSS pseudorange measurements based on the received plurality of GNSS signals; determining an SOP pseudorange measurement based on the received SOP signal; and determining an estimated receiver position based on the SOP pseudorange measurement and on the plurality of GNSS pseudorange measurements.
In Example 9, the subject matter of Example 8 optionally includes wherein determining the SOP pseudorange measurement is further based on an SOP base transceiver station clock error estimate.
In Example 10, the subject matter of Example 9 optionally includes wherein receiving the SOP signal includes receiving the clock error estimate from the at least one SOP transceiver station.
In Example 11, the subject matter of any one or more of Examples 9-40 optionally include wherein receiving the SOP signal includes receiving the dock error estimate at the SOP receiver from a stationary mapping receiver.
In Example 12, the subject matter of any one or more of Examples 9-11 optionally include generating the clock error estimate based on application of a simultaneous localization and mapping algorithm to the received SOP signal.
In Example 13, the subject matter of any one or more of Examples 8-12 optionally include wherein receiving the SOP signal includes receiving the SOP signal at a hardware-defined radio.
In Example 14, the subject matter of any one or more of Examples 8-13 optionally include wherein receiving the SOP signal includes receiving the SOP signal at a software-defined radio (SDR).
Example 15 is at least one machine-readable medium including instructions, which when executed by a computing system, cause the computing system to perform any of the methods of Examples 8-14.
Example 16 is an apparatus comprising means for performing any of the methods of Examples 8-14.
Example 17 is at least one machine-readable storage medium, comprising a plurality of instructions that, responsive to being executed with processor circuitry of a computer-controlled device, cause the computer-controlled device to: receive a plurality of CiNSS signals from a plurality of GNSS satellites at a global navigation satellite solution (GNSS) receiver; receive an SOP signal from at least one SOP transceiver station at a signal of opportunity (SOP) receiver; determine a plurality of GNSS pseudorange measurements based on the received plurality of GNSS signals; determine an SOP pseudorange measurement based on the received SOP signal; and determine an estimated receiver position based on the SOP pseudorange measurement and on the plurality of GNSS pseudorange measurements.
In Example 18, the subject matter of Example 17 optionally includes the instructions further causing the computer-controlled device to determine the SOP pseudorange measurement based on an SOP base transceiver station clock error estimate.
In Example 19, the subject matter of Example 18 optionally includes the instructions further causing the computer-controlled device to receive the clock error estimate from the at least one SOP transceiver station.
In Example 20, the subject matter of any one or more of Examples 18-19 optionally include the instructions further causing the computer-controlled device to receive the clock error estimate at the SOP receiver from a stationary mapping receiver.
In Example 21, the subject matter of any one or more of Examples 18-20 optionally include the instructions further causing the computer-controlled device to generate the clock error estimate based on application of a simultaneous localization and mapping algorithm to the received SOP signal.
in Example 22, the subject matter of any one or more of Examples 17-21 optionally include the instructions further causing the computer-controlled device to receive the SOP signal at a hardware-defined radio.
In Example 23, the subject matter of any one or more of Examples 17-22 optionally include the instructions further causing the computer-controlled device to receive the SOP signal at a software-defined radio (SDR).
Example 24 is an interconnect apparatus comprising: means for disposing a conductive layer on a first dielectric layer, the conductive layer including a conductive interconnect; means for disposing a metal protection layer on a first portion of the conductive interconnect, wherein the metal protection layer is not disposed on a second portion of the conductive interconnect; means for disposing a second dielectric layer on the metal protection layer and on the second portion of the conductive interconnect; means for removing a portion of the second dielectric layer to expose the metal protection layer; and means for removing the metal protection layer to expose the first portion of the conductive interconnect.
In Example 25, the subject matter of Example 24 optionally includes wherein means for determining the SOP pseudorange measurement is further based on an SOP base transceiver station clock error estimate.
In Example 26, the subject matter of Example 25 optionally includes wherein means for receiving the SOP signal includes means for receiving the clock error estimate from the at least one SOP transceiver station.
In Example 27, the subject matter of any one or more of Examples 25-26 optionally include wherein means for receiving the SOP signal includes means for receiving the clock error estimate at the SOP receiver from a stationary mapping receiver.
In Example 28, the subject matter of any one or more of Examples 25-27 optionally include means for generating the clock error estimate based on application of a simultaneous localization and mapping algorithm to the received SOP signal.
In Example 29, the subject matter of any one or more of Examples 24-28 optionally include wherein means for receiving the SOP signal includes means for receiving the SOP signal at a hardware-defined radio.
In Example 30, the subject matter of any one or more of Examples 24-29 optionally include wherein means for receiving the SOP signal includes means for receiving the SOP signal at a software-defined radio (SDR).
Each of these non-limiting examples can stand on its own, or can be combined in various permutations or combinations with one or more of the other examples.
Conventional terms in the fields of computer vision have been used herein. The terms are known in the art and are provided only as a non-limiting example for convenience purposes. Accordingly, the interpretation of the corresponding terms in the claims, unless stated otherwise, is not limited to any particular definition. Thus, the terms used in the claims should be given their broadest reasonable interpretation.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement that is calculated to achieve the same purpose may be substituted for the specific embodiments shown. Many adaptations will be apparent to those of ordinary skill in the art, Accordingly, this application is intended to cover any adaptations or variations.
The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific embodiments that may be practiced. These embodiments are also referred to herein as “examples.” Such examples may include elements in addition to those shown or described. However, the present inventors also contemplate examples in which only those elements shown or described are provided. Moreover, the present inventors also contemplate examples using any combination or permutation of those elements shown or described (or one or more aspects thereof), either with respect to a particular example (or one or more aspects thereof), or with respect to other examples (or one or more aspects thereof) shown or described herein.
All publications, patents, and patent documents referred to in this document are incorporated by reference herein in their entirety, as though individually incorporated by reference. In the event of inconsistent usages between this document and those documents so incorporated by reference, the usage in the incorporated reference(s) should be considered supplementary to that of this document; for irreconcilable inconsistencies, the usage in this document controls.
In this document, the terms “a” or “an” are used, as is common in patent documents, to include one or more than one, independent of any other instances or usages of “at least one” or “one or more.” In this document, the term “or” is used to refer to a nonexclusive or, such that “A or 13” includes “A but not B,” “B but not A,” and “A and B,” unless otherwise indicated. In this document, the terms “including” and “in which” are used as the plain-English equivalents of the respective terms “comprising” and “wherein.” Also, in the following claims, the terms “including” and “comprising” are open-ended, that is, a system, device, article, or process that includes elements in addition to those listed after such a term in a claim are still deemed to fall within the scope of that claim. Moreover, in the following claims, the terms “first,” “second,” and “third,” etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.
Method examples described herein can be machine or computer-implemented at least in part. Some examples can include a computer-readable medium or machine-readable medium encoded with instructions operable to configure an electronic device to perform methods as described in the above examples. An implementation of such methods can include code, such as microcode, assembly language code, a higher-level language code, or the like. Such code can include computer-readable instructions for performing various methods. The code may form portions of computer program products. Further, in an example, the code can be tangibly stored on one or more volatile, non-transitory, or non-volatile tangible computer-readable media, such as during execution or at other times. Examples of these tangible computer-readable media can include, but are not limited to, hard disks, removable magnetic disks, removable optical disks (e.g., compact disks and digital video disks), magnetic cassettes, memory cards or sticks, random access memories (RAMs), read-only memories (ROMs), and the like.
The above description is intended to be illustrative, and not restrictive. For example, the above-described examples (or one or more aspects thereof) may be used in combination with each other. Other embodiments may be used, such as by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided to comply with 37 C.F.R. § 1.72(b), to allow the reader to quickly ascertain the nature of the technical disclosure and is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be interpreted as intending that an unclaimed disclosed feature is essential to any claim. Rather, inventive subject matter may lie in less than all features of a particular disclosed embodiment. Thus, the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate embodiment, and it is contemplated that such embodiments can be combined with each other in various combinations or permutations. The scope of the embodiments should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
This application is a U.S. National Stage Filing under 35 U.S.C. 371 from International Application No. PCT/US2017/017438, filed on Feb. 10, 2017, and published as WO 2017/192195 A2 on Nov. 9, 2017, which is related and claims priority to U.S. Provisional Application No. 62/294,758, filed on Feb. 12, 2016 and entitled “NAVIGATION CELLULAR CDMA SOFTWARE-DEFINED RADIO,” the entirety of each of which is incorporated herein by reference.
The subject matter herein was developed with Government support under Grant (or Contract) No. N00014-16-1-2305, entitled “A Collaborative Opportunistic Framework for Resilient and Accurate Navigation in GPS-Challenged Environments,” awarded by the by the Office of Naval Research. The Government has certain rights to the subject matter herein.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/US2017/017438 | 2/10/2017 | WO | 00 |
Number | Date | Country | |
---|---|---|---|
62294758 | Feb 2016 | US |