A positioning system for a global navigational satellite system (GNSS), comprising: a receiver to receive carrier signals and code signals transmitted from a set of GNSS satellites (101 to 104), each carrier signal includes a carrier phase ambiguity as an unknown integer number of wavelengths of the carrier signal travelled between the satellite (101 to 104) and the receiver; a memory to store a motion model relating a previous position of the receiver to a current position of the receiver and a measurement model relating measurements of the carrier signal and the code signal to the current position of the receiver using the carrier phase ambiguities of the carrier signals, wherein the motion model is a probabilistic model subject to process noise, and wherein the measurement model is a probabilistic model subject to measurement noise; and a processor to track a position of the receiver, the processor is configured to determine a set of possible combinations of integer values of the carrier phase ambiguities consistent with the measurements of the carrier signal and the code signal according to one or combination of the motion model and the measurement model within bounds defined by one or combination of the process noise and the measurement noise; execute a set of position estimators determining positions of the receiver by jointly using the motion model and the measurement model, each position estimator determines a joint probability distribution of the position of the receiver with respect to the motion model and the measurement model, wherein the measurement models of at least some different position estimators include different combinations of integer values of the carrier phase ambiguities selected from the set of possible combinations; and determine the position of the receiver using a position estimator with the highest joint probability of the position of the receiver according to the measurements of the carrier and the code signals. a receiver to receive carrier signals and code signals transmitted from a set of GNSS satellites (101 to 104), each carrier signal includes a carrier phase ambiguity as an unknown integer number of wavelengths of the carrier signal travelled between the satellite (101 to 104) and the receiver; a memory to store a motion model relating a previous position of the receiver to a current position of the receiver and a measurement model relating measurements of the carrier signal and the code signal to the current position of the receiver using the carrier phase ambiguities of the carrier signals, wherein the motion model is a probabilistic model subject to process noise, and wherein the measurement model is a probabilistic model subject to measurement noise; and a processor to track a position of the receiver, the processor is configured to determine a set of possible combinations of integer values of the carrier phase ambiguities consistent with the measurements of the carrier signal and the code signal according to one or combination of the motion model and the measurement model within bounds defined by one or combination of the process noise and the measurement noise; execute a set of position estimators determining positions of the receiver by jointly using the motion model and the measurement model, each position estimator determines a joint probability distribution of the position of the receiver with respect to the motion model and the measurement model, wherein the measurement models of at least some different position estimators include different combinations of integer values of the carrier phase ambiguities selected from the set of possible combinations; and determine the position of the receiver using a position estimator with the highest joint probability of the position of the receiver according to the measurements of the carrier and the code signals. determine a set of possible combinations of integer values of the carrier phase ambiguities consistent with the measurements of the carrier signal and the code signal according to one or combination of the motion model and the measurement model within bounds defined by one or combination of the process noise and the measurement noise; execute a set of position estimators determining positions of the receiver by jointly using the motion model and the measurement model, each position estimator determines a joint probability distribution of the position of the receiver with respect to the motion model and the measurement model, wherein the measurement models of at least some different position estimators include different combinations of integer values of the carrier phase ambiguities selected from the set of possible combinations; and determine the position of the receiver using a position estimator with the highest joint probability of the position of the receiver according to the measurements of the carrier and the code signals.