대표
청구항
▼
1. A method of determining a heading of a GNSS receiver comprising, at each clock cycle: (A) using a processor, generating a primary estimate of velocity vector's absolute value using current estimates of velocity vector projections;(B) generating an extrapolated velocity vector's absolute value using previous estimates of the velocity vector's absolute value obtained at step (A);(C) generating a primary estimate of a velocity vector orientation angle determined in a range of either [0 . . . 2π] or [−π . . . +π] using the current estimates of the velocit...
1. A method of determining a heading of a GNSS receiver comprising, at each clock cycle: (A) using a processor, generating a primary estimate of velocity vector's absolute value using current estimates of velocity vector projections;(B) generating an extrapolated velocity vector's absolute value using previous estimates of the velocity vector's absolute value obtained at step (A);(C) generating a primary estimate of a velocity vector orientation angle determined in a range of either [0 . . . 2π] or [−π . . . +π] using the current estimates of the velocity vector projections;(D) generating a variance estimate of the primary estimate of the velocity vector orientation angle as follows:(i) if the primary estimate of the velocity vector's absolute value at step (A) is smaller than a preset minimum value, a variance estimate of the primary velocity vector orientation angle equals a preset maximum value, and(ii) otherwise, a variance estimate of the primary velocity vector orientation angle is calculated as a ratio of a preset variance estimate of the velocity vector's absolute value to a square of the primary estimate of the velocity vector's absolute value generated at step (A);(E) if the extrapolated estimate of the velocity vector's absolute value generated at step (B) is greater than the preset minimum value, then performing step (G), otherwise, performing step (F);(F) setting a next smoothed estimate of the velocity vector orientation angle equal to its previous value; and(G) generating a smoothed estimate of the velocity vector orientation angle based on non-linear recurrent filtering of the primary estimate of the orientation angle obtained at step (C), wherein filter parameters, at every clock cycle, are based on the variance estimate from step (D). 2. The method of claim 1, wherein the steps (E), (F) and (G) are modified to determine the velocity vector orientation angle using a preliminarily smoothed estimate of the velocity vector projections, as follows: at step (E), if both (a) the extrapolated estimate of the velocity vector's absolute value generated at step (B) more than a preset minimum value of a velocity of the GNSS receiver and (b) a timer determines if a duration of an assumed stop is longer than a preset minimum duration, then step (G) is performed, otherwise, step (F) is performed,at step (F), incrementing the timer;at step (G), setting the timer to zero. 3. The method of claim 1, wherein the non-linear recurrent filtering at step (G) uses a modified Kalman filter for providing a filtering of a cyclic value and further comprising, at each clock cycle: (1) setting a range for the smoothed estimate of the velocity vector orientation angle to a range of the primary estimate for the velocity vector orientation angle, if the smoothed angle estimate is outside the range selected at step (C);(2) setting a range for the extrapolated angle estimate to the range of the primary estimate for the velocity vector orientation angle, if the extrapolated estimate is outside the range selected at step (C); and(3)setting an error signal as a shortest angular distance between the primary estimate of the velocity vector orientation angle and the extrapolated estimate of the velocity vector orientation angle. 4. The method of claim 3, wherein, the modified Kalman filter simultaneously processes the primary estimate of the velocity vector orientation angle and a primary estimate of angle rate obtained using carrier phase measurements of the GNSS receiver in at least two frequency bands, and whose variance estimate is determined based on accuracy of the GNSS receiver's carrier phase measurements. 5. The method of claim 3, wherein, in the modified Kalman filter, a correction matrix is added to a calculated value of an extrapolation error correlation matrix; wherein values of the correction matrix are calculated based on a preset intensity of a probable maneuver of the velocity vector orientation angle; andwherein the correction matrix is added only at such clock cycles when an absolute value of the error signal is greater than a square root of the variance of the primary estimate of the velocity vector orientation angle of step (D) by at least a factor of 3 to 7. 6. The method of claim 1, wherein, at step (B), the extrapolated velocity vector's absolute value is determined based on the primary estimate of the velocity vector's absolute value of step (A) at two previous clock cycles. 7. The method of claim 1, wherein, at step (B), the extrapolated velocity vector's absolute value is determined based on an estimate of a rate of change of the absolute value of the velocity vector, which is generated by smoothing the primary estimate of the velocity vector's absolute value of step (A). 8. A GNSS receiver apparatus : a processor configured to perform the following operations:(A) generating a primary estimate of an absolute value of a velocity vector using current estimates of velocity vector projections;(B) generating an extrapolated absolute value of the velocity vector using previous estimates of the absolute value of the velocity vector obtained at step (A);(C) generating a primary estimate of a velocity vector orientation angle determined in a range of either [0 . . . 2π] or [−π . . . +π] using current estimates of velocity vector projections;(D) generating a variance estimate of the primary estimate of the velocity vector orientation angle as follows:(i) if the primary estimate of the absolute value of the velocity vector at step (A) is smaller than a preset minimum value, a variance estimate of the primary velocity vector orientation angle equals a preset maximum value, and(ii) otherwise, a variance estimate of the primary estimate of the velocity vector orientation angle calculated as a ratio of a preset variance estimate of the velocity vector's absolute value to a square of primary estimate of velocity vector's absolute value generated at step (A);(E) if the extrapolated estimate of the absolute value of the velocity vector generated at step (B) is greater than a preset minimum value, then performing step (G), otherwise, performing step (F);(F) setting a next smoothed estimate of the velocity vector orientation angle equal to its previous value; and(G) generating a smoothed estimate of the velocity vector orientation angle based on non-linear recurrent filtering of the primary estimate of the orientation angle obtained at step (C), wherein filter parameters, at every clock cycle, are based on the variance estimate from step (D). 9. The apparatus of claim 8, wherein the steps (E), (F) and (G) are modified to determine the velocity vector orientation angle using preliminarily smoothed estimate of velocity vector projections, as follows: wherein, at step (E), if both (a) the extrapolated estimate of velocity vector's absolute value generated at step (B) more than a preset minimum value of velocity and (b) a timer determines if a duration of an assumed stop is longer than a preset minimum duration, then step (G) is performed, otherwise, step (F) is performed,at step (F), incrementing the timer; andat step (G), setting the timer to zero. 10. The apparatus of claim 8, further comprising a modified Kalman filter as the non-linear recurrent filtering for providing a filtering of a cyclic value, the apparatus further performing, at each clock cycle: (1) setting a range for the smoothed angle estimate to a range of the primary estimate for the velocity vector orientation angle, if the smoothed angle estimate is outside the range selected at step (C);(2) setting a range for the extrapolated angle estimate to the range of the primary estimate for the velocity vector orientation angle, if the extrapolated estimate is outside the range selected at step (C); and(3) setting an error signal as a shortest angular distance between the primary estimate of the velocity vector orientation angle and the extrapolated estimate of the velocity vector orientation angle. 11. The apparatus of claim 10, wherein, the modified Kalman filter simultaneously processes the primary estimate of the velocity vector orientation angle and primary estimates of angle rate obtained using carrier phase measurements of the GNSS receiver in at least two frequency bands, and whose variance estimate is determined based on accuracy of the GNSS receiver's carrier phase measurements. 12. The apparatus of claim 10, wherein, in the modified Kalman filter, a correction matrix is added to a calculated value of an extrapolation error correlation matrix; wherein values of the correction matrix are calculated based on a preset intensity of a probable maneuver of the velocity vector orientation angle; andwherein the correction matrix is added only at such clock cycles when an absolute value of the error signal is greater than a square root of the variance of the primary estimate of the velocity vector orientation angle of step (D) by at least a factor of 3 to 7. 13. The apparatus of claim 8, wherein, at step (B), the extrapolated velocity vector's absolute value is determined based on the primary estimate of the absolute value of the velocity vector of step (A) at two previous clock cycles. 14. The apparatus of claim 8, wherein, at step (B), the extrapolated absolute value of the velocity vector's is determined based on an estimate of a rate of change of the absolute value of the velocity vector, which is generated by smoothing the primary estimate of the absolute value of the velocity vector of step (A). 15. A method of determining a heading of a GNSS receiver comprising, at each clock cycle n: (A) using a processor, generating primary estimates of a velocity vector's vn absolute value using current estimates of velocity vector projections VE and VN , as follows: V=√{square root over (VE2+VN2)};(B) generating an extrapolated velocity vector's absolute value V pred using Vn from step (A) from a second previous, or earlier, clock cycle;(C) generating a primary estimate of a velocity vector orientation angle Θ as follows: Θ=arctg(VEVN), where Θ is in a range [0. . .2π];(D) generating a variance estimate σΘ2 of Θ as follows: σΘ2={σΘMAX2if〈VnVmin, then performing step (G), otherwise performing step (F), using Vpred;(F) setting a next smoothed estimate of the velocity vector orientation angle {tilde over (Θ)}n equal to its previous value {tilde over (Θ)}n-1: {tilde over (Θ)}n={tilde over (Θ)}n-1;(G) generating a smoothed estimate of {tilde over (Θ)}n by Kalman filtering adapted to filter the primary estimate of Θn obtained at step (C) and using σΘ2 from step (D), as follows: θnpred=F2[Φn·{tilde over (θ)}n-1],Ψnpred=Φn·(Ψn-1+Ψ0)·ΦnT,Kn=Ψnpred·HnT·(Hn·Ψnpred·HnT+Rn)−1,{tilde over (θ)}n=F2[θnpred+Kn·F1[Yn−Hn·θrpred]],Ψn=Ψnpred−Kn·Hn·Ψnpred,where Yn=Θn is the primary estimate of the velocity vector orientation angle Θ from step (C),Rn=σΘn2 is the variance estimate from step (D),θnpred is the extrapolated estimate,{tilde over (θ)} to is the smoothed estimate,F1[ . . . ] and F2[ . . . ] are nonlinear transformations to modify Kalman filter for filtering cyclic values,Ψ0 is a preset value of a parameter limiting a bandwidth of the Kalman filter,matrix Φn is based on a chosen model of angle change,matrix Hn is based on a chosen filter order. 16. The method of claim 15, wherein the steps (E), (F) and (G) are modified to determine Θ using a preliminarily smoothed VE={tilde over (V)}E and VN={tilde over (V)}N: wherein, in step (E), if both Vpred>Vmin and ts>T then step (G) is performed, otherwise, step (F) is performed,where ts is a timer of a duration of a presumed stop, T is a preset minimum time value;wherein step (F) further comprises incrementing the timer ts=ts+1; andat step (G), ts=0. 17. The method of claim 15, wherein the Kalman filter at step (G) provides a filtering of a cyclic value and comprises: (1) setting a range for {tilde over (Θ)}n to a range of Θn, selected at step (C) by using a transformation F2[ . . . ] wherein Θ~n≡{Θ~nif〈02π〉Θ~n+2πif〈Θ~n2π〉Θnpred+2πif〈ΘnpredΠ·σΘn〉Ψnpredif〈ΔΘn≤Π·σΘn〉,where π=3 . . . 7, andwhere matrix Gn is based on a chosen model of angle change. 20. The method of claim 15, wherein, in step (B), Vnpred=2·Vn-1−Vn-2, where Vn-1, Vn-2 are taken from step (A) on previous and pre-previous clock cycles, respectively. 21. The method of claim 15, wherein, in step (B), Vnpred ={tilde over (V)}n-1+{dot over ({tilde over (V)}n-1·τ, where {tilde over (V)}n-1, {dot over ({tilde over (V)}n-1 are smoothed estimates of the absolute value of the velocity vector and its first derivative, respectively, from a previous clock cycle.