Fundamentals of GPS Receivers: A Hardware Approach