This paper describes the design of Navigation Software implemented for the family of GPS User Equipment developed by Rockwell-Collins for the USAF NAVSTAR GPS Phase IIB Program. The family consists of one channel, two channel and five channel sets. The goal of the software design was to maximize commonalty of software functions across the entire family while minimizing the modifications required for new applications. The one channel set is specifically targeted to the manpack/vehicular application, while the two and five channel sets are generic sets adaptable to many applications. Adaptation to a particular host vehicle requires modification of only an outer layer of software modules, leaving the core software—including the navigation function—intact. The one channel navigation function centers around an 8-state Kalman filter processing measurements from one satellite every second. The navigation function of the two and five channel sets is common to both families at the object code level and centers around a 12-state Kalman filter. This filter runs at 1 Hz in one of three basic modes, in conjunction with high iteration rate processing of host vehicle sensor data that enables the maintenance of a navigation solution close to real time. This solution is used to aid satellite signal acquisition and tracking and may be used by host vehicle subsystems. This paper also discusses certain special features such as adaptive process noise, under-determined operation, and handling of INS resets. It concludes with a sample of performance data from in-plant and field tests.