There are two frequencies (sometimes three) transmitted by the satellites. Using two frequencies allows certain atmospheric delays to be accurately estimated. Trouble is only one code is available for civilian applications. The trick with two receivers is to solve for the phase of secret signal (rather than decode it) by solving an integer least squares problem. This allows accuracy of the order of +/- 5cm