Location information will become increasingly important for future Pervasive Computing applications. Location tracking system of a moving device can be classified into two types of architectures: an active mobile architecture and a passive mobile architecture. In the former, a mobile device actively transmits signals for estimating distances to listeners. In the latter, a mobile device listens signals from beacons passively. Although the passive architecture such as Cricket location system is inexpensive, easy to set up, and safe, it is less precise than the active one. In this paper, we present a passive location system using Cricket Mote sensors which use RF and ultrasonic signals to estimate distances. In order to improve accuracy of the passive system, the transmission speed of ultrasound was compensated according to air temperature at the moment. Upper and lower bounds of a distance estimation were set up through measuring minimum and maximum distances that ultrasonic signal can reach to. Distance estimations beyond the upper and the lower bounds were filtered off as errors in our scheme. With collecting distance estimation data at various locations and comparing each distance estimation with real distance respectively, we proposed an equation to compensate the deviation at each point. Equations for proposed algorithm were derived to calculate relative coordinates of a moving device. At indoor and outdoor tests, average location error and average location tracking period were 3.5 cm and 0.5 second, respectively, which outperformed Cricket location system of MIT.