SNAPSHOT GNSS RECEIVER AND METHOD USING SUPER-LONG COHERENT INTEGRATION AND FRACTIONAL FOURIER TRANSFORM
20240295663 ยท 2024-09-05
Inventors
Cpc classification
G01S19/246
PHYSICS
G01S19/396
PHYSICS
International classification
G01S19/24
PHYSICS
G01S19/39
PHYSICS
Abstract
Snapshot receiver that comprises a correlator module for correlating incoming GNSS signals and a transform module that transforms resulting correlated outputs using a Fractional Fourier Transform (FrFT) process, to thereby compensate for weak and dynamic signals. The output of the transform module is an estimated Doppler rate with high accuracy. The estimated Doppler rate is passed to a super-resolution-measurement (SRM) module, which outputs error values of the estimated Doppler rate and a pseudorange (measured distance-to-satellite) via a phase dead reckoning (DR) calculation for the snapshot receiver. The pseudorange and error values are passed to a navigator module that determines position information based on those inputs. In some embodiments, the SRM module comprises a maximum likelihood estimator (MLE).
Claims
1. A snapshot receiver for determining position information, said snapshot receiver comprising: a receiving module for receiving a GNSS signal from a satellite; a processing module comprising: a correlator module for correlating said GNSS signal using time-domain integration of a plurality of samples of said GNSS signal, to thereby produce a correlated signal; a transform module for applying a Fractional Fourier Transform (FrFT) process to said correlated signal to thereby produce an estimated Doppler rate; and a super-resolution measurement (SRM) module for receiving the estimated Doppler rate and for determining error values of said estimated Doppler rate and for determining a measured distance between said snapshot receiver and said satellite; and a navigator module for determining said position information based on said error values and said measured distance.
2. The snapshot receiver according to claim 1, wherein said SRM module comprises a phase dead reckoning module for determining said error values and said measured distance.
3. The snapshot receiver according to claim 1, wherein said SRM module comprises a maximum likelihood estimator (MLE) for determining said error values and said measured distance, wherein said error values and said measured distance are values that maximize a probability of convergence between said estimated Doppler rate and a modelled reference Doppler rate.
4. The snapshot receiver according to claim 1, wherein said error values comprise a Doppler rate error, a Doppler frequency error, a carrier phase error, and a code phase error of said estimated Doppler rate.
5. The snapshot receiver according to claim 1, wherein said correlator comprises a plurality of correlation channels.
6. The snapshot receiver according to claim 1, wherein said correlator applies super-long coherent integration (S-LCI).
7. The snapshot receiver according to claim 1, wherein: said transform module comprises a down-sampling submodule; said correlated signal comprises fast-time correlator outputs; said down-sampling submodule down-samples said fast-time correlator outputs to thereby produce slow-time correlator outputs; and said FrFT is applied to said slow-time correlator outputs.
8. The snapshot receiver according to claim 1, wherein said estimated Doppler rate is passed through a pre-processing module before being passed to the SRM module.
9. The snapshot receiver according to claim 3, wherein said MLE applies a gradient descent optimization process when determining said error values and said measured distance.
10. A method for determining position information, said method comprising the steps of: receiving a GNSS signal from a satellite; correlating said GNSS signal using time-domain integration of a plurality of samples of said GNSS signal, to thereby produce a correlated signal; applying a Fractional Fourier Transform (FrFT) process to said correlated signal to thereby produce an estimated Doppler rate, wherein said estimated Doppler rate has an associated probability distribution; and determining error values of said estimated Doppler rate; based on the estimated Doppler rate, determining a measured distance between said snapshot receiver and said satellite; and determining said position information based on said error values and said measured distance.
11. The method according to claim 10, wherein determining said error values and said measured distance uses a dead-reckoning phase based on the super-resolution (SR) Doppler estimation.
12. The method according to claim 10, wherein determining said error values and said measured distance uses maximum likelihood estimation (MLE), such that said error values and said measured distance are values that maximize a probability of convergence between said estimated Doppler rate, an estimated Doppler frequency, an estimated carrier phase, an estimated code phase, an estimated signal amplitude, and a modelled reference Doppler rate, a modelled Doppler frequency, a modelled carrier phase, a modelled code phase, and a modelled signal amplitude, respectively.
13. The method according to claim 10, wherein said error values comprise a Doppler rate error, a Doppler frequency error, a carrier phase error, and a code phase error of said estimated Doppler rate.
14. The method according to claim 10, wherein a plurality of correlation channels are used in said step of correlating.
15. The method according to claim 10, wherein said time-domain integration is super-long coherent integration (S-LCI).
16. The method according to claim 10, wherein said correlated signal comprises fast-time correlator outputs, and wherein said method further comprises down-sampling said fast-time correlator outputs to thereby produce slow-time correlator outputs before applying said FrFT.
17. The method according to claim 10, further comprising pre-processing said estimated Doppler rate before determining said error values and said measured distance.
18. The method according to claim 12, wherein said MLE applies a gradient descent optimization process when determining said error values and said measured distance.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0028] The present invention will now be described by reference to the following figures, in which identical reference numerals refer to identical elements and in which:
[0029]
[0030]
[0031]
[0032]
[0033]
[0034]
[0035]
[0036]
[0037]
[0038]
[0039]
DETAILED DESCRIPTION
[0040] To better understand the present invention, the reader is directed to the listing of citations at the end of this description. For ease of reference, these citations and references have been referred to by their listing number throughout this document. The contents of the citations in the list at the end of this description are hereby incorporated by reference herein in their entirety.
[0041] The present invention discloses a snapshot receiver that correlates incoming GNSS signals and transforms resulting correlated outputs using a Fractional Fourier Transform (FrFT). An estimated Doppler rate is provided as the transformed output, and values associated with the estimated Doppler rate are determined by a super-resolution measurement (SRM) module and used to determine position information of the receiver.
[0042] Referring now to
[0043] As noted above, the correlator module 50 performs time-domain integration using a plurality of samples of the incoming GNSS signal. As previously described, many such time-domain integration approaches are known in the art, including long coherent integration (LCI) and super-long coherent integration (S-LCI). In some embodiments, the correlator module 50 uses LCI. In other embodiments, the correlator module 50 uses S-LCI. In still other embodiments, the correlator module 50 uses a combination of LCI and S-LCI. However, in some embodiments, other time-domain integration methods and approaches may be used.
[0044] Details of the application of the FrFT to the correlated signal by the transform module 60 will also be described in detail below.
[0045] In some embodiments, the SRM module 70 comprises a phase dead reckoning (phase DR) module that determines super-resolution Doppler and phase values. Further description of such a phase DR module is provided below.
[0046] In other embodiments, the SRM module 70 comprises a maximum likelihood estimator (MLE). MLEs are well-known statistical methods for determining values that maximize the likelihood of a specific result in a particular probability distribution. In this case, the MLE determines error values and a pseudorange that maximize the probability of convergence between estimated rates and modelled reference rates. That is, the error values and pseudorange determined by the MLE comprise values that maximize the probability of convergence between the estimated Doppler rate, an estimated Doppler frequency, an estimated carrier phase, an estimated code phase, and an estimated signal amplitude, and the modelled Doppler rate, the modelled Doppler frequency, the modelled carrier phase, the modelled code phase, and the modelled signal amplitude, respectively. Further description of MLE-based implementations of the SRM module 70 is provided below.
[0047] One embodiment of the snapshot receiver 10 is shown in
[0048] Another embodiment of the snapshot receiver 10 is shown in
[0049] Further, as can be seen from
[0050] As well, as should be understood, the diagram shown in
[0051] Again, the error values comprise the Doppler rate error, Doppler frequency error, the carrier phase error, the code phase error, and the signal amplitude error.
[0052] Similarly, in some embodiments, the correlator module 50 comprises a plurality of correlation channels. Each of the plurality of correlation channels performs a separate time-domain integration process on samples of the signal. Outputs of each separate channel are then merged to form the correlated signal for further processing within the processing module 40.
[0053] In some embodiments, the MLE applies the well-known gradient descent optimization process. Of course, other optimization processes are possible depending on the embodiment and implementation.
Mathematical Implementations and Approaches
[0054] A dynamic GNSS signal model may be used as a basis for understanding the various processes and description that follow. As should be understood, this model is intended to mimic the behaviour of an incoming GNSS signal. In particular, the model below models the intermediate frequency (IF) GPS L1 C/A signal, as follows:
where
and where ?? is the amplitude error of the baseband signal; t is the time variable; D(t) is the navigation data; C(t) is the spreading code; f.sub.i is the IF; ?.sub.i is the initial carrier phase; ?.sub.PRN is the propagation delay about the distance between the satellite and the user/receiver at the time of signal emission; ?.sub.dyn(t) and ?.sub.dyn(t) are the respective propagation delay residual and carrier phase residual determined by line-of-sight (LOS) dynamics and signal propagation time; ? is the dynamic term related to the velocity of the changing distance while ? is the counterpart related to acceleration; c is the speed of light; f is the initial Doppler frequency shift; f.sub.r is the radio frequency; ? is the Doppler rate; ?.sub.0 is the initial carrier phase; and ?.sub.Lo is the carrier phase caused by the frequency-mixing process.
[0055] Note as well that, in traditional GNSS baseband signal processing, the higher-order dynamic term ? related to the Doppler rate in ?.sub.dyn(t) and ?.sub.dyn(t) are not usually modelled. As a result, the local signal cannot be adequately replicated as the real signal, as higher-order dynamics cannot be considered. This has a greater impact for longer correlation periods: i.e., the longer the coherent integration interval is, the more apparent the discrepancy between the real signal and the local replica becomes.
[0056] Mathematical implementation details that follow referencing this signal model as needed. As should be understood, the mathematical implementations that follow are simply possible implementations. As described above and as known in the art, multiple approaches and methods may be suitable for each step.
Correlation and Digital Fractional Fourier Transform (FrFT)
[0057] Time-domain integration (correlation) processes are well known. In general, the correlation processes comprise determining average values of a signal over preset time intervals. A diagram of traditional correlation processes in traditional GNSS tracking is shown in
[0058] As is known in the art, LCI and S-LCI involve the use of large numbers of samples. In some embodiments of the present invention, the initial samples are further down-sampled to increase the number available for integration.
[0059] A diagram of FrFT, as compared to standard Fourier transforms (FTs), is shown in
with
where K.sub.p(t, u) represents the transformation kernel of FRFT;
is the FrFT order; ? denotes a rotation angle from the time-frequency plane in terms of the ordinary FT to an extended plane; and where ? satisfies
[0060]
[0061] As can be seen, in the embodiment illustrated in
[0065] Closed-form models for the S-LCI correlations in the FrFD can then be derived as follows.
Closed-Form Models for the S-LCI Correlations in the FrFD
[0066] The expression for the sampled and digitalized s(t) in the dynamic GNSS model can be written as
where n.sub.F is the index of incoming IF samples; T.sub.F is the IF sampling interval; s[n.sub.F] indicates the sequence s(n.sub.FT.sub.F); and, letting ?[n.sub.F, m.sub.c, m.sub.f] be the notation of the sequence of local replicas and ?.sup.+[n.sub.S, m.sub.c, m.sub.f] be the sequence of correlator outputs in the time-code-frequency domain (where n.sub.s is the index of the outputs, m.sub.c is the index of local code replica sequence about code chip offsets, and m.sub.f is the index of local carrier replica sequence about Doppler frequency offsets), the correlator outputs may be obtained by summing the outputs of the I&D operator between s [n.sub.F] and ?[n.sub.F, m.sub.c, m.sub.f], the expression of which is known as the cross-ambiguity function (CAF). The outputs of the I&D operator are herein referred to as the fast-time correlation sequence, while ?.sup.+[n.sub.S, m.sub.c, m.sub.f] is herein referred to as the slow-time correlation sequence.
[0067] The digital PMF-FrFT of the slow-time correlation sequence then gives
with
where m.sub.f.sub.
[0068] Then, the matched frequency shift and rate in the FrFD is computed as
where
and is the matched rotation angle.
[0069] The equation for ?.sub.b.sup.+ can then be expressed as
with
where {circumflex over (?)}.sub.PRN, {circumflex over (f)} and {circumflex over (?)}.sub.1 are, respectively, the estimated code delay in seconds, Doppler frequency in Hz, and carrier phase in radians from the NCO processes; ??.sub.b and ?? are the expressions of initial code phase error and initial carrier phase, respectively, ?f[m.sub.f] is the expression of initial frequency error about the NCO frequency; f.sub.c is the code frequency; f.sub.n.sub.
[0070] In summary, implementing digital PMF-FrFT to the slow-time correlation sequence gives the S-LCI correlation sequence varied with both matched frequency shift and rate in the FrFD. Thus, a 2D set of the S-LCI correlations in the FrFD is formed and can be written in a matrix as:
[0071] The S-LCI correlation sequences in the FrFD, i.e., after FrFT, can then be used by the SRM module 70 of the receiver 10.
SRM Module 70
[0072] The SRM module returns high-resolution error values based on the output(s) of the transform module. As described above, the SRM module 70, in some embodiments, comprises a phase dead reckoning (phase DR) module. In other embodiments, the SRM module 70 comprises an MLE.
Phase DR Implementation
[0073] In implementations using super-resolution measurements, the closed-form models of the matched frequency shift error and rate can be written as
where
? is the matched rotation angle; and the subscript n.sub.C denotes the epoch index for the S-LCI correlations in the FrFD.
[0074] A frequency discriminator is used to reduce the estimated frequency error further, as
[0075] The matched code phase offset is modelled as
and the carrier phase is discriminated by
where ?{circumflex over (f)}.sub.0 and {circumflex over (?)}.sub.0 represent the initial frequency offset and Doppler rate estimates, respectively.
[0076] The carrier NCO frequency, in such an implementation, is then computed as
where {circumflex over (f)}.sub.n.sub.
[0077] The code NCO frequency is solely assisted by the carrier NCO frequency, to alleviate the multipath interference on the code phase estimates. As such, the code NCO frequency is given by
where ?{circumflex over (?)}.sub.n.sub.
Doppler Frequency
[0078] The Doppler frequency measurement in an SRM-based embodiment is the averaging value over the current S-LCI interval, and can be obtained from
Then, the matched Doppler rate can be used to estimate the instantaneous Doppler in the FrFD and the current Doppler measurement value. Hence, the instantaneous Doppler at the beginning of the n.sub.Cth epoch is computed as
Error values can be determined from the averaging Doppler rate, the instantaneous Doppler shift in the FrFD, and the current Doppler measurement value.
Pseudorange
[0079] For n.sub.s=0, . . . , N.sub.s?1, n.sub.s?, the pseudorange measurements are computed through
where n.sub.s is the index of the CAF samples since the S-LCI epoch n.sub.C+1; the superscript i is the satellite number; {circumflex over (?)}.sub.rem,n.sub.
[0080] The code NCO frequency value is unchangeable over the period between epoch n.sub.C+1 and n.sub.C+2; similarly, the carrier frequency is also unchanged over this period.
MLE Implementation
[0081] The following discusses a potential joint Doppler-effect/time-of-arrival (TOA) MLE for embodiments where the SRM module 70 is based on an MLE. A diagram of the process is shown in
[0082] Another diagram is of the joint Doppler effect/TOA MLE is shown in
with
[0083] The first three states represent initial carrier phase error in cycle, code phase error in chip, and Doppler frequency error in Hz, respectively. ? is the Doppler rate state in Hz/s, and ?? (gain) is the state of the normalized amplitude error.
[0084] The closed-form vector about the measurements of the MLE is defined as
where ?.sub.N.sub.
[0085] As the S-LCI correlation sequence is known to follow a Rayleigh distribution when there is no signal present in the signal processing channel, a noise channel or the quadrature component of a signal channel can be used to estimate the noise variance.
[0086] Then, as the unknown state vector is nonlinear with f(?), the linearized form should be derived to allow the estimates to be updated in an iterative way, and is given by
where {circumflex over (?)}.sub.0 denotes the initial guess (or the previous-epoch estimation) of the state vector. Then, the design matrix satisfies
[0087] The measurement vector is given by
Gradient Descent Optimization
[0088] One embodiment of the MLE, as mentioned above, applies gradient descent optimization to determine the error values, carrier phase and pseudorange values. Gradient descent optimization is well-known and can be applied to the present context as follows.
[0089] Let {circumflex over (?)} represent an estimate of the state vector ? with the measurement vector {tilde over (f)}. A loss function in terms of the S-LCI correlation amplitude (related to ??.sub.b,c, ?f, ?), the carrier phase (related to ??.sub.c) and the carrier-to-noise power density C/N.sub.0 measurements (related to ??) can be written as follows:
where C.sub.s is the priori covariance matrix.
[0090] Then, that the optimization problem is unbiased and measurement noise is additive white Gaussian noise (AWGN), the minimization of the loss function is equivalent to maximizing the linearized joint likelihood function, as follows:
Maximize:
[0091]
where det[.Math.] is the determinant function; x?{tilde over (f)}(?), s?f({circumflex over (?)}.sub.0), and H is defined as above.
[0092] Maximizing with
gives an estimation for the MLE of
with ?? as above.
[0093] The iterative estimation of the state vector is given by
Synthesized Carrier/Code NCO Frequencies and Carrier Phase/TOA Updates
[0094] As mentioned above, in some embodiments, local carrier/code NCO replicas are generated in by the processing module 40 and fed back to the correlator module 50. In some embodiments, these are created as follows:
where subscript n.sub.C is the epoch index for a working snapshot receiver; {circumflex over (f)}.sub.n.sub.
[0095] Both the carrier and code phases of the local replicas are also directly adjusted by the estimated carrier and code phase errors as follows,
where ?{circumflex over (?)}.sub.c,n.sub.
Preprocessing
[0096] As mentioned above, in some embodiments, preprocessing is performed between the transform module 60 and the SRM module 70. One exemplary preprocessing process is illustrated in
Then, for
[0097]
the decision-making process in the CD, FD, and FrFD are given by
where DF.sup.p{.Math.} is the digital operator of the FrFT process with respect to a FrFT order p and {circumflex over (?)}.sup.+[n.sub.S, m.sub.c, m.sub.f] is the measured noisy ?.sup.+[n.sub.S, m.sub.c, m.sub.f] in the baseband.
[0098] The matching process in the various domains is shown in
[0099] The values of {circumflex over (m)}.sub.c, {circumflex over (m)}.sub.f, {circumflex over (m)}.sub.f, and my are then conveyed to the early, late, low, and high channels. The measured S-LCI correlations from the prompt, early, late, low, and high channels are denoted as follows:
[0100] With N.sub.F as the IF sample number over T.sub.S, the normalized amplitudes of each set of correlations are computable as:
[0101] The S-LCI correlations related to small and large (rotation angles) channels come from the outputs of the digital PMF-FrFT in the prompt channel, and the related amplitudes are calculated as
[0102] The carrier phase measurements for the respective normal, low, and high (frequency) channels are calculated through a four-quadrant arctangent/pure PLL discriminator as follows:
where ?{circumflex over (f)}.sub.0 and {circumflex over (?)}.sub.0, respectively, represent the initial frequency error and Doppler rate estimates.
[0103] A measured carrier-to-noise ratio density related to the incoming signal amplitude is also used in the MLE. In practice, this value can be obtained from previous-epoch measurements, empirical models, etc.
Flowcharts
[0104]
[0105] As noted above, for a better understanding of the present invention, the following references may be consulted. Each of these references is hereby incorporated by reference in its entirety: [0106] [1] Dierendonck, A. J. Van. (1996). GPS Receivers. In B. W. Parkinson, J. J. Spilker Jr, P. Axelrad, & P. Enge (Eds.), Global Positioning System: Theory and Applications, Volume 1. American Institute of Aeronautics and Astronautics, Inc. [0107] [2] Lashley, M., Bevly, D. M., & Hung, J. Y. (2009). Performance analysis of vector tracking algorithms for weak GPS signals in high dynamics. IEEE Journal on Selected Topics in Signal Processing, 3(4), 661-673. https://doi.org/10.1109/JSTSP.2009.2023341 [0108] [3] Pany, T., & Eissfeller, B. (2006). Use of a Vector Delay Lock Loop Receiver for GNSS Signal Power Analysis in Bad Signal Conditions. 2006 IEEE/ION Position, Location, And Navigation Symposium, 2006, 893-903. https://doi.org/10.1109/PLANS.2006.1650689 [0109] [4] Maier, D. S., & Pany, T. (2021). Multipath and Attitude Estimation Phase Lock Loop for Antenna Array Signal Processing. In proceedings of ION GNSS+2021, pp. 3402-3421. https://doi.org/10.33012/2021.17979 [0110] [5] Gowdayyanadoddi, N. S., Broumandan, A., Curran, J. T., and Lachapelle, G., Benefits of an ultra stable oscillator for long coherent integration, in Proceedings of the 27th International Technical Meeting of The Satellite Division of the Institute of Navigation (ION GNSS+2014), 2014, pp. 1578-1594. [0111] [6] Soloviev, A. and Dickman, J. Extending GPS carrier phase availability indoors with a deeply integrated receiver architecture, IEEE Wireless Communications, Vol. 18, No. 2, pp. 36-44, April 2011. [Online]. Available: http://ieeexplore.ieee.org/document/5751294/[7] [0112] [7] Faragher, R., Powe, M., Esteves, P., Couronneau, N., Crockett, M., Martin, H., Ziglioli, E., and Higgins, C., Supercorrelation as a Service: S-GNSS Upgrades for Smartdevices, in Proceedings of the 32nd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+2019), September 16-20, Miami, Florida, USA, 2019. [0113] [8] Groves, P. D., Zhong, Q., Faragher, R., and Esteves, P., Combining Inertially-aided Extended Coherent Integration (Supercorrelation) with 3D-Mapping-Aided GNSS, in Proceedings of the 33rd International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS+2020), September 2020, pp. 2327-2346. [0114] [9] Stirling-Gallacher, R. A., Hulbert, A. P., & Povey, G. J. R. (1996). A fast acquisition technique for a direct sequence spread spectrum signal in the presence of a large Doppler shift. Proceedings of ISSSTA '95 International Symposium on Spread Spectrum Techniques and Applications, 1, 156-160. https://doi.org/10.1109/ISSSTA.1996.563761 [0115] [10] Li, X., & Pahlavan, K. (2004). Super-Resolution TOA Estimation With Diversity for Indoor Geolocation. IEEE Transactions on Wireless Communications, 3(1), 224-234. https://doi.org/10.1109/TWC.2003.819035 [0116] [11] Ozaktas, H. M., Arikan, O., Kutay, M. A., & Bozdagt, G. (1996). Digital computation of the fractional Fourier transform. IEEE Transactions on Signal Processing, 44(9), 2141-2150. [0117] [12] Luo, Y., Li, J., Yu, C., Lyu, Z., Yue, Z., & El-Sheimy, N. (2019). A GNSS software-defined receiver with vector tracking techniques for land vehicle navigation. Proc. ION 2019 Pacific PNT Meeting, Honolulu, Hawaii, USA, Apr. 8-11, 2019-April, 713-727. https://doi.org/10.33012/2019.16834 [0118] [13] Luo, Y., Yu, C., Chen, S., Li, J., Ruan, H., & El-Sheimy, N. (2019). A Novel Doppler Rate Estimator Based on Fractional Fourier Transform for High-Dynamic GNSS Signal. IEEE Access, 7, 29575-29596. https://doi.org/10.1109/ACCESS.2019.2903185 [0119] [14] Luo, Y., Yu, C., Xu, B., Li, J., Tsai, G.-J., Li, Y., & El-Sheimy, N. (2019). Assessment of Ultra-Tightly Coupled GNSS/INS Integration System towards Autonomous Ground Vehicle Navigation Using Smartphone IMU. 2019 IEEE International Conference on Signal, Information and Data Processing (ICSIDP), 1-6. https://doi.org/10.1109/ICSIDP47821.2019.9173292 [0120] [15] Luo, Y., Zhang, L., & El-Sheimy, N. (2018). An improved DE-KFL for BOC signal tracking assisted by FRFT in a highly dynamic environment. 2018 IEEE/ION Position, Location and Navigation Symposium, PLANS 2018-Proceedings, 1525-1534. https://doi.org/10.1109/PLANS.2018.8373547 [0121] [16] Luo, Y., Zhang, L., & Ruan, H. (2018). An Acquisition Algorithm Based on FRFT for Weak GNSS Signals in A Dynamic Environment. IEEE Communications Letters, 22(6), 1212-1215. https://doi.org/10.1109/LCOMM.2018.2828834
[0122] As used herein, the expression at least one of [x] and [y] means and should be construed as meaning [x], [y], or both [x] and [y].
[0123] It should be clear that various aspects of the present invention may be implemented as software modules in an overall software system. As such, some aspects of the present invention may thus take the form of computer executable instructions that, when executed, implements various software modules with predefined functions.
[0124] Similarly, some embodiments of the invention may be executed by a computer processor or similar device programmed in the manner of method steps, or may be executed by an electronic system which is provided with means for executing these steps. Similarly, an electronic memory means such as computer diskettes, CD-ROMs, Random Access Memory (RAM), Read Only Memory (ROM) or similar computer software storage media known in the art, may be programmed to execute such method steps. As well, electronic signals representing these method steps may also be transmitted via a communication network.
[0125] Such embodiments of the invention may be implemented in any conventional computer programming language. For example, preferred embodiments may be implemented in a procedural programming language (e.g., C or Go) or an object-oriented language (e.g., C++, java, PHP, PYTHON or C#). Alternative embodiments of the invention may be implemented as pre-programmed hardware elements, other related components, or as a combination of hardware and software components.
[0126] Further, some embodiments can be implemented as a computer program product for use with a computer system and GNSS device(s). Such implementations may comprise a series of computer instructions fixed either on a tangible medium, such as a computer readable medium (e.g., a diskette, CD-ROM, ROM, or fixed disk) or transmittable to a computer system, via a modem or other interface device, such as a communications adapter connected to a network over a medium. The medium may be either a tangible medium (e.g., optical or electrical communications lines) or a medium implemented with wireless techniques (e.g., microwave, infrared or other transmission techniques). The series of computer instructions embodies all or part of the functionality previously described herein. Those skilled in the art should appreciate that such computer instructions can be written in a number of programming languages for use with many computer architectures or operating systems. Furthermore, such instructions may be stored in any memory device, such as semiconductor, magnetic, optical or other memory devices, and may be transmitted using any communications technology, such as optical, infrared, microwave, or other transmission technologies. It is expected that such a computer program product may be distributed as a removable medium with accompanying printed or electronic documentation (e.g., shrink-wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server over a network (e.g., the Internet or World Wide Web). Of course, some embodiments of the invention may be implemented as a combination of both software (e.g., a computer program product) and hardware. Still other embodiments of the invention may be implemented as entirely hardware, or entirely software (e.g., a computer program product).
[0127] A person understanding this invention may now conceive of alternative structures and embodiments or variations of the above all of which are intended to fall within the scope of the invention as defined in the claims that follow.