A method for estimating a velocity of a terminal in a wireless communication system, comprising: determining a position of the terminal; determining a position of each of two or more satellites (130a, 130b) and a base station in communication with the terminal; downconverting a received signal having included therein a signal transmitted from each of the two or more satellites (130a, 130b) to provide a baseband signal; estimating a frequency error of the baseband signal for each of the two or more satellites (130a, 130b); estimating a Doppler shift in a frequency of the signal transmitted from each of the two or more satellites (130a, 130b); determining a residual rate of change of pseudo-range for the two or more satellites (130a, 130b); and estimating the velocity of the terminal based on a set of equations, wherein the set of equations comprises: wherein the set of equations comprises: M ̅ = A u ̅ + N ̅, where M is a vector of the determined residual rates of change of pseudo-ranges for the two or more satellites, A is a matrix of elements derived based on the determined positions of the terminal, the base station, and the two or more satellites, u is a vector for the terminal velocity, and N is a noise vector, wherein the velocity of the terminal is estimated as: u ̅ = A T R N − 1 A − 1 A T R N − 1 M ̅, where R N is a covariance matrix of noise measurements, wherein the residual rate of change of pseudo-range for each of the two or more satellites (130a, 130b) is determined as: satellites 130 a, 130 b is determined as: ρ ̇ Si = f ^ bb, i − f ^ Vsat, i ⋅ λ, where ρ̇ Si is the residual rate of change of pseudo-range for an i -th satellite, f̂ bb, i is the estimated baseband signal frequency error for the i-th satellite, f̂ Vsat, i is the estimated Doppler frequency shift for the i-th satellite, and λ is a wavelength associated with the signal from the i-th satellite. determining a position of the terminal; determining a position of each of two or more satellites (130a, 130b) and a base station in communication with the terminal; downconverting a received signal having included therein a signal transmitted from each of the two or more satellites (130a, 130b) to provide a baseband signal; estimating a frequency error of the baseband signal for each of the two or more satellites (130a, 130b); estimating a Doppler shift in a frequency of the signal transmitted from each of the two or more satellites (130a, 130b); determining a residual rate of change of pseudo-range for the two or more satellites (130a, 130b); and estimating the velocity of the terminal based on a set of equations, wherein the set of equations comprises: wherein the set of equations comprises: M ̅ = A u ̅ + N ̅, where M is a vector of the determined residual rates of change of pseudo-ranges for the two or more satellites, A is a matrix of elements derived based on the determined positions of the terminal, the base station, and the two or more satellites, u is a vector for the terminal velocity, and N is a noise vector, M is a vector of the determined residual rates of change of pseudo-ranges for the two or more satellites, A is a matrix of elements derived based on the determined positions of the terminal, the base station, and the two or more satellites, u is a vector for the terminal velocity, and N is a noise vector, R N is a covariance matrix of noise measurements, wherein the residual rate of change of pseudo-range for each of the two or more satellites (130a, 130b) is determined as: satellites 130 a, 130 b is determined as: ρ ̇ Si = f ^ bb, i − f ^ Vsat, i ⋅ λ, where ρ̇ Si is the residual rate of change of pseudo-range for an i -th satellite, f̂ bb, i is the estimated baseband signal frequency error for the i-th satellite, f̂ Vsat, i is the estimated Doppler frequency shift for the i-th satellite, and λ is a wavelength associated with the signal from the i-th satellite. ρ̇ Si is the residual rate of change of pseudo-range for an i -th satellite, f̂ bb, i is the estimated baseband signal frequency error for the i-th satellite, f̂ Vsat, i is the estimated Doppler frequency shift for the i-th satellite, and λ is a wavelength associated with the signal from the i-th satellite.