Text this: Pseudorange estimation algorithm combining code and carrier phase based on Gaussian sum particle filtering