A Global Positioning System (GPS) receiver has been modelled, analyzed and implemented in software. The receiver has the L1-C/A, L1-P and L2-P channels, with the output of GPS observables including the pseudorange time delay, carrier beat phase and Doppler frequency shift. Based on the fundamentals of the GPS system and the signal structure, various relationships among the input signal parameters, internal variables of the receiver and the GPS observables have been modelled mathematically. A digital energy detector is designed for the initial PRN code coarse synchronization on the time and frequency uncertainty region with double-dwell, straight line and expanding-window serial search strategies. A digital delay lock loop (DDLL) with full-time early-late high speed correlators is modelled to despread the input signal and to extract the input code phase delay. From the power spectral density analysis of both input signal and noise, the closed form expressions of the detection and false-alarm probabilities of the code phase acquisition process and the variance of the code phase tracking error are derived. The linear and nonlinear performance of the DDLL is analyzed for optimizing the DDLL parameters with the trade-off between the tracking errors due to receiver dynamics and input noise. A digital phase-locked loop (DPLL) is used to extract the input carrier phase from the code-free signals after the DDLL. Upon analysis of the characteristics of the input phase noise, stable second and third order DPLLs are designed and analyzed with emphasis on the performance of the noise suppression and dynamic tracking capability. The Doppler shift is estimated based on the DPLL residual phase error. The output data volume of the observables is compressed by polynomial fit. The receiver functions are implemented with source code written mostly in C language. Simulations with the software package are performed respectively under the UNIX and TSO programming environments, which verify the theoretical performance analysis of the modelled receiver. The software receiver has been applied to analyze the multipath interference effects on the GPS observables which is in accordance with theoretical analysis, and to study the effects of GPS antenna characteristics, including the antenna residual phase and antenna centre (best-fit sphere) movement, on the GPS observables. The software receiver provides an additional approach to GPS research in positioning accuracy and is an important tool in designing the GPS receivers and in analyzing the effects of signal disturbances on GPS observables.