A method for performing integer ambiguity resolution in a global navigation satellite system, the method comprising: identifying a set of satellites from which carrier signals are received; identifying a set of ambiguities associated with carrier phase measurements of at least some of the carrier signals received from the satellites in the identified set of satellites; estimating integer ambiguities in the set of ambiguities, including determining a best candidate set and a second best candidate set of integer ambiguity values for each of the integer ambiguities in the set of ambiguities; upon determining that the best candidate set of integer ambiguity values fails to meet a discrimination test with respect to the second best candidate set, removing from the set of ambiguities each ambiguity for which integer ambiguity values in the best candidate set and second best candidate set fail to meet predefined criteria to produce a reduced set of ambiguities, performing operations to resolve the ambiguities in the reduced set of ambiguities; and generating an output in accordance with a result of the operations performed to resolve the ambiguities in the reduced set of ambiguities, characterized in that the discrimination test includes a ratio test of the best candidate set and the second best candidate set, and in that the best candidate set is identified as the set which produces the smallest value of R k determined in accordance with the following equations: R k = Z ^ N − N k Z T Q Z ^ N − 1 Z ^ N − N k Z; Z ^ N = Z • X ^ N; Q Z ^ N − 1 = ZQ X ^ N − 1 Z T; where Z is the transformation matrix in a modified LAMBDA (MLAMBDA) method for the integer least-squares ambiguities estimation which includes a modified Z matrix reduction process and modified search process reformulating the original ambiguity vector as a transformed ambiguity vector, Q is the variance-covariance matrix, N k Z is an integer ambiguity set, and X̂ N is a portion of the filter state that represents ambiguity values of the signals received from the satellites. identifying a set of satellites from which carrier signals are received; identifying a set of ambiguities associated with carrier phase measurements of at least some of the carrier signals received from the satellites in the identified set of satellites; estimating integer ambiguities in the set of ambiguities, including determining a best candidate set and a second best candidate set of integer ambiguity values for each of the integer ambiguities in the set of ambiguities; upon determining that the best candidate set of integer ambiguity values fails to meet a discrimination test with respect to the second best candidate set, removing from the set of ambiguities each ambiguity for which integer ambiguity values in the best candidate set and second best candidate set fail to meet predefined criteria to produce a reduced set of ambiguities, performing operations to resolve the ambiguities in the reduced set of ambiguities; and generating an output in accordance with a result of the operations performed to resolve the ambiguities in the reduced set of ambiguities, characterized in that the discrimination test includes a ratio test of the best candidate set and the second best candidate set, and in that the best candidate set is identified as the set which produces the smallest value of R k determined in accordance with the following equations: R k = Z ^ N − N k Z T Q Z ^ N − 1 Z ^ N − N k Z; Z ^ N = Z • X ^ N; Q Z ^ N − 1 = ZQ X ^ N − 1 Z T; where Z is the transformation matrix in a modified LAMBDA (MLAMBDA) method for the integer least-squares ambiguities estimation which includes a modified Z matrix reduction process and modified search process reformulating the original ambiguity vector as a transformed ambiguity vector, Q is the variance-covariance matrix, N k Z is an integer ambiguity set, and X̂ N is a portion of the filter state that represents ambiguity values of the signals received from the satellites.