SOME THEORY ON GPS RANGE MEASUREMENTS

I use the following error model for the raw measurements of the GPS receiver:

P = R + XS + I + T + ES + ER + MP + SP

C = R + XS - I + T + ES + ER + MC + SC + L*N

With:
P = pseudorange in meters, as measured by the receiver;
R = actual range between satellite and receiver;
XS = range error due to error in satellite position (made up largely by SA !);
I = ionospheric delay on GPS carrier 1 frequency (1575.42 MHz);
T = tropospheric delay;
ES = satellite clock error, expressed in meters (again, made up largely by SA);
ER = receiver clock error (meter);
MP = multipath on pseudorange measurement;
SP = noise on pseudorange measurement.

C = carrier range in meters, as measured by receiver ( carrier phase, multiplied by L, see below);
MC = multipath on carrier range measurement;
SC = noise on carrier range measurement;
L = GPS carrier 1 wavelength ( = spd of light (299792458 m/s) divided by freq 1, about 19 cm);
N = carrier phase integer ambiguity.

The above model is far from complete, but good enough to get an understanding of the determination of noise and multipath.

Forming differences with this model removes a number of errors. In the following some useful differences are given.

1. An obvious difference is the difference between the pseudorange measurement and the carrier range measurement P - C. This difference can be made using one receiver only, and for each observed satellite:
P - C = 2 * I + MP - MC + SP - SC - L * N
Since MC is far less than MP, and SC is far less than SP, MC and SC can be neglected. What remains is two times the ionospheric delay, pseudorange multipath and - noise, and the (constant) ambiguity term L * N.
2. Single Difference (SD) between range measurements of the same satellite to two receivers:
dP = Prcvr2 - Prcvr1 = dR + dI + dT + dER + dMP + dSP
dC = Crcvr2 - Crcvr1 = dR - dI + dT + dER + dMC + dSC + L * dN
with dR = Rrcvr2 - Rrcvr1, etc.

The most important property of the SD is that the range errors due to the satellite position error and satellite clock error cancel, THUS REMOVING SA !
There is a price to pay however. First, the observations of the two receivers have to be made nearly at the same moment (a few milliseconds for pseudorange, a few microseconds for carrier range) in order to cancel the (time varying) errors adequately. Secondly, the noise and multipath of the differenced measurements are larger than noise and multipath on the undifferenced measurements.
For short distances between the two receivers (short 'baselines', let's say less than 20 km) the ionospheric- and tropospheric delay's also cancel to a large degree. Depending on the required accuracy, dI and dT may be neglected.
3. Double Differences (DD). Select the highest satellite as reference satellite and subtract the single difference measurement of the reference satellite from the single difference of any other satellite:
ddP = dPanysat - dPrefsat = ddR + ddI + ddT + ddMP + ddSP
ddC = dCanysat - dCrefsat = ddR + ddI + ddT + ddMC + ddSC + L * ddN
The DD also removes the combined receivers clock error, and again for short baselines ddI and ddT can be neglected. The expression for ddC forms the basis for high accuracy differential carrier phase GPS. For our purposes the DD's are used to determine the receiver noise contribution: in a zero baseline setup with two identical receivers, ddR ,ddMP and ddMC are zero, what remains is the receiver noise contributions (and the constant value L * ddN).