I'm working on taking raw GPS measurements and getting a position from them. It involves double differencing measurements from a fixed base station (with a known position) and a rover (in my case, an airplane). I'm following the procedure explained by Geoffrey Blewitt in Basics of the GPS Technique: Observation Equations, starting on page 36.
My problem is, the position I get from this solution is very consistently off by 15 meters or so, with X, Y, and Z coordinates all off by a set amount (5, 10, and 9 meters, respectively). This happens even if the plane is turning.
I've tried accounting for the ionosphere by using an ionosphere-free combination of L1 and L2 measurements. The troposphere shouldn't be an issue due to the short baseline in my case (~5km). And since the measurements are double differenced, I shouldn't have to account for satellite or receiver clock delays.
This leads me to my question: What other sources of error exist in GPS that could cause a translational shift like the one I'm experiencing? Did I miss something? And if so, how do I correct it?