In a typical GNSS receiver, pseudorange and pseudorange rate measurements are generated through the code and carrier tracking loops, respectively. These measurements are then employed to calculate the user’s position and velocity (PV) solutions, which is typically achieved using a Kalman filter (KF) or the least squares (LS) algorithm. However, the LS method only uses the current observation without error analysis. The positioning result is greatly affected by the errors in the observed data. In KF, by using an iterative approach that combines predictions and measurements of PV information, more accurate estimates can be obtained because the PV information is time-correlated. Meanwhile, its optimal estimate requires that both the model and noise statistics are exactly known. Otherwise, achieving optimality cannot be guaranteed. To address this issue, this paper proposes and implements a novel GNSS solution method based on an unbiased finite impulse response (UFIR) filter. Two different field tests were conducted. The position results of UFIR are compared with those from the LS and KF methods, and the horizon positioning mean error is improved by 44% and 29%, respectively, which highlights its efficacy. The method offers two primary benefits: it is robust to noise uncertainty, and it leverages historical data within the UFIR framework to provide a more accurate estimate of the current state.