Patent ID: 8818720

Claim:
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).