Navigation in deep space, far away from Earth, is an ongoing challenge and research topic. While spacecraft near Earth have a number of readily available methods for navigation (including GPS and radio ranging), far away from Earth it is more challenging for spacecraft to determine their position. In the absence of external reference objects that can be used to estimate position (for instance nearby planetary objects), the current state-of-the-art for navigation in space relies on NASA's Deep Space Network to provide Earth-based position measurements of the spacecraft. This means of navigation suffers from limitations, including limited availability, high cost, and decreased accuracy far from Earth. Consequently, alternative means of navigation are of interest. X-ray navigation, or XNAV is a proposed means by which spacecraft can navigate using signals generated by astrophysical signal sources. In particular, x-ray pulsars have been proposed as a naturally occurring signal source which could be used to generate a position, navigation and timing (PNT) solution in space. The basic concept in XNAV is that a spacecraft can compute a PNT solution based on time of arrival (TOA) measurement of signals from x-ray pulsars. Some x-ray pulsars, in particular millisecond pulsars, have extremely precise timing characteristics, with timing stability comparable to modern atomic clocks. If the TOA of signals from several millisecond pulsars could be measured, these TOAs could be used to compute a PNT solution for the spacecraft. The basic concept of XNAV is somewhat analogous to GPS, in that the position of the user is determined by measuring multiple signal TOAs generated by sources with precisely known timing characteristics. While this technique has been proposed numerous times in literature, there are still several implementation challenges which must be overcome in order for XNAV to become a viable navigation technology. In this dissertation, we address some of the major challenges associated with implementation of XNAV. The first challenge addressed in this dissertation is the development of a method of determining the signal time of arrival based on measurements of x-ray photon arrival times. This challenge is at the heart of any XNAV implementation, because in order to use pulsar signals as PNT signals, the time-difference of arrival of the signal must be measured. The estimation of time-difference of arrival from pulsar signals is complicated by the fact that pulsar signals are incredibly weak, resulting in a signal-to-noise ratio near zero. In this dissertation, we develop a recursive algorithm which estimates the time-difference of arrival of a pulsar signal which is based upon adaptive filtering techniques. The second challenge addressed in this dissertation is the problem of data association. Photons measured by an x-ray detector in space have no way of knowing with certainty the origin of the photons. The presence of the uniform x-ray background results in background photons diluting an already extremely weak signal. If the detector's attitude is known, then the attitude may be used to determine which photons are likely to have originated from a signal source of interest. However, the reliance upon attitude to correctly associate the photons with the correct signal source causes the position and attitude estimates to be coupled. In this dissertation, we present an algorithm which addresses this coupling of the attitude and PNT solutions for the XNAV problem. A joint six degree-of-freedom position and attitude estimator is developed based on the joint probabilistic data association filter. We further demonstrate the effects of attitude uncertainty on the accuracy of the PNT solution using Monte Carlo simulations.