Abstract:
Methods having corresponding apparatus and tangible computer-readable media comprise: determining a plurality of first pseudoranges based on a plurality of respective wireless television signals received by an apparatus and a clock signal generated by the apparatus, wherein each of the first pseudoranges represent a difference between a time of transmission of the respective wireless television signal from a respective transmitter and a time of reception of the respective wireless television signal at the apparatus and a time offset of the clock signal; determining a plurality of first estimates of frequency offsets of the wireless television signals received by the apparatus; and determining a first estimate of a location of the apparatus based on the first pseudoranges, the first frequency offsets of the wireless television signals, and locations of the transmitters.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims benefit of U.S. Provisional Patent Application Ser. No. 61/106,849 filed Oct. 20, 2008, the disclosure thereof incorporated by reference herein in its entirety. 
    
    
     FIELD 
     The present disclosure relates generally to navigation using wireless signals. More particularly, the present disclosure relates to Doppler-aided positioning, navigation, and timing using broadcast television signals. 
     BACKGROUND 
     There have long been methods of two-dimensional latitude/longitude position location systems using radio signals. In wide usage have been terrestrial systems such as Loran C and Omega, and a satellite-based system known as Transit. Another satellite-based system enjoying increased popularity is the Global Positioning System (GPS). 
     Initially devised in 1974, GPS is widely used for position location, navigation, survey, and time transfer. The GPS system is based on a constellation of 24 on-orbit satellites in sub-synchronous 12 hour orbits. Each satellite carries a precision clock and transmits a pseudo-noise signal, which can be precisely tracked to determine pseudo-range. By tracking 4 or more satellites, one can determine precise position in three dimensions in real time, world-wide. More details are provided in B. W. Parkinson and J. J. Spilker, Jr., Global Positioning System-Theory and Applications, Volumes I and II, AIAA, Washington, D.C. 1996. 
     GPS has revolutionized the technology of navigation and position location. However in some situations, GPS is less effective. But because the GPS signals are transmitted at relatively low power levels (less than 100 watts) and over great distances, the received signal strength is relatively weak (on the order of −160 dBw as received by an omni-directional antenna). Thus the GPS signal is marginally useful or not useful at all in the presence of blockage or inside a building. 
     As an alternative or supplement to GPS, broadcast television signals can be used to determine the position of a user device. Techniques for determining the position of a user device using the American Television Standards Committee (ATSC) digital television (DTV) signal are disclosed in U.S. Pat. No. 6,861,984, “Position Location using Broadcast Digital Television Signals,” the disclosure thereof incorporated by reference herein in its entirety. Techniques for determining the position of a user device using the European Telecommunications Standards Institute (ETSI) Digital Video Broadcasting (DVB) signal are disclosed in U.S. Non-provisional U.S. Pat. No. 7,126,536, “Wireless Position Location Using the Japanese ISDB-T Digital TV Signals,” the disclosure thereof incorporated by reference herein in its entirety. Techniques for determining the position of a user device using the Japanese Integrated Services Digital Broadcasting-Terrestrial (ISDB-T) signal are disclosed in U.S. Pat. No. 6,952,182, “Position Location using Terrestrial Digital Video Broadcast Television Signals,” the disclosure thereof incorporated by reference herein in its entirety. Techniques for determining the position of a user device using the NTSC (National Television System Committee) analog television (TV) signal are disclosed in U.S. Pat. No. 6,559,800 and U.S. Pat. No. 6,522,297, the disclosures thereof incorporated by reference herein in their entirety. 
     Each of these television signals includes components that can be used to obtain a pseudo-range to the transmitter of the television signal. When multiple such pseudo-ranges are known, and the locations of the transmitters are known, the position of the user device can be determined with accuracy. Suitable components within the ATSC digital television signal include synchronization codes such as the Field Synchronization Segment within an ATSC data frame and the Synchronization Segment within a Data Segment within an ATSC data frame. Suitable components within the ETSI DVB and ISDB-T digital television signals include scattered pilot carriers. Suitable components within the NTSC analog television signal include the horizontal synchronization pulse, the horizontal blanking pulse, the horizontal blanking pulse and horizontal synchronization pulse taken together, the ghost canceling reference signal, the vertical interval test signal, and other chirp-type signals. 
     One approach to providing additional navigation information concerns the use of Doppler measurements of wireless signals. When a user is moving, due to the Doppler effect, the observed frequency of a wireless signal shifts in proportion to the user velocity, which can be converted to a position relative to a known starting point. This concept of Doppler positioning is well known and has been tried in Transit, one of the earliest satellite navigation systems. However, because satellites are moving very fast (4 km/s for GPS satellites), and are more sensitive to user vertical movement, it is rather hard to detect user horizontal motion—the primary concern of pedestrian positioning—from the Doppler shift measured from satellite signals. 
     SUMMARY 
     In general, in one aspect, an embodiment features an apparatus comprising: a clock module configured to generate a clock signal; a pseudorange measurement module configured to determine a plurality of first pseudoranges based on the clock signal and a plurality of respective wireless television signals received by an apparatus, wherein each of the first pseudoranges represents a difference between a time of transmission of the respective wireless television signal from a respective transmitter and a time of reception of the respective wireless television signal at the apparatus and a time offset of the clock signal; a frequency offset measurement module configured to determine a plurality of first estimates of frequency offsets of the wireless television signals received by the apparatus based on the clock signal; and an estimation module configured to determine a first estimate of a location of the apparatus based on the first pseudoranges, the first frequency offsets of the wireless television signals, and locations of the transmitters. 
     Embodiments of the apparatus can include one or more of the following features. Some embodiments comprise a receiver module configured to receive indications of times of transmission of the wireless television signals and measurements of the frequencies of the wireless television signals, wherein the measurements of the frequencies of the wireless television signals are determined at one or more monitor units receiving the wireless television signals at known locations; wherein the pseudorange measurement module is further configured to determine the plurality of first pseudoranges based on the clock signal, the plurality of respective wireless television signals received by the apparatus, and the times of transmission of the wireless television signals; and wherein the frequency offset measurement module is further configured to determine the plurality of first estimates of the frequency offsets of the wireless television signals received by the apparatus based on the clock signal and the measurements of the frequencies of the wireless television signals. In some embodiments, the estimation module comprises: a pseudorange processing module configured to determine a first interim estimate of the location of the apparatus, and a first interim estimate of the time offset of the clock signal, based on the first pseudoranges; a Doppler processing module configured to determine a first interim estimate of the velocity of the apparatus, and a first interim estimate of the frequency offset of the clock signal, based on the first estimates of the frequency offsets of the wireless television signals. In some embodiments, the estimation module further comprises: a hybrid module configured to determine the first estimate of the location of the apparatus based on the first interim estimate of the location of the apparatus, the first interim estimate of the time offset of the clock signal, the first interim estimate of the velocity of the apparatus, and the first interim estimate of the frequency offset of the clock signal. In some embodiments, the hybrid module is further configured to determine a first estimate of the time offset of the clock signal, a first estimate of the velocity of the apparatus, and a first estimate of a frequency offset of the clock signal based on the first interim estimate of the location of the apparatus, the first interim estimate of the time offset of the clock signal, the first interim estimate of the velocity of the apparatus, and the first interim estimate of the frequency offset of the clock signal. In some embodiments, the pseudorange measurement module is further configured to determine a plurality of second pseudoranges based on the wireless television signals received by the apparatus; the frequency offset measurement module is further configured to determine a plurality of second estimates of the frequency offsets of the wireless television signals received by the apparatus; and the estimation module is further configured to determine a second estimate of the location of the apparatus based on the second pseudoranges, the second estimates of the frequency offsets of the wireless television signals, the locations of the transmitters, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal. In some embodiments, the pseudorange processing module is further configured to determine a second interim estimate of the location of the apparatus, and a second interim estimate of the time offset of the clock signal, based on the second pseudoranges, the second estimates of the frequency offsets of the wireless television signals, the locations of the transmitters, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal; and the Doppler processing module is further configured to determine a second interim estimate of the velocity of the apparatus, and a second interim estimate of the frequency offset of the clock signal, based on the second pseudoranges, the second estimates of the frequency offsets of the wireless television signals, the locations of the transmitters, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal. Some embodiments comprise wherein the hybrid module is further configured to determine the second estimate of the location of the apparatus based on the second interim estimate of the location of the apparatus, the second interim estimate of the time offset of the clock signal, the second interim estimate of the velocity of the apparatus, and the second interim estimate of the frequency offset of the clock signal. 
     In general, in one aspect, an embodiment features a method comprising: determining a plurality of first pseudoranges based on a plurality of respective wireless television signals received by an apparatus and a clock signal generated by the apparatus, wherein each of the first pseudoranges represent a difference between a time of transmission of the respective wireless television signal from a respective transmitter and a time of reception of the respective wireless television signal at the apparatus and a time offset of the clock signal; determining a plurality of first estimates of frequency offsets of the wireless television signals received by the apparatus; and determining a first estimate of a location of the apparatus based on the first pseudoranges, the first frequency offsets of the wireless television signals, and locations of the transmitters. 
     Embodiments of the method can include one or more of the following features. Some embodiments comprise receiving indications of times of transmission of the wireless television signals; receiving measurements of frequencies of the wireless television signals, wherein the measurements of the frequencies of the wireless television signals are determined at one or more monitor units receiving the wireless television signals at known locations; determining the plurality of first pseudoranges based on the clock signal, the plurality of respective wireless television signals received by the apparatus, and the times of transmission of the wireless television signals; and determining the plurality of first estimates of the frequency offsets of the wireless television signals received by the apparatus based on the clock signal and the measurements of the frequencies of the wireless television signals. Some embodiments comprise determining a first interim estimate of the location of the apparatus based on the first pseudorange; determining a first interim estimate of the time offset of the clock signal based on the first pseudorange; determining a first interim estimate of the velocity of the apparatus based on the first estimate of the frequency offset of the wireless television signal; and determining a first interim estimate of the frequency offset of the clock signal based on the first estimate of the frequency offset of the wireless television signal. Some embodiments comprise determining the first estimate of the location of the apparatus based on the first interim estimate of the location of the apparatus, the first interim estimate of the time offset of the clock signal, the first interim estimate of the velocity of the apparatus, and the first interim estimate of the frequency offset of the clock signal. Some embodiments comprise determining a first estimate of the time offset of the clock signal, a first estimate of the velocity of the apparatus, and a first estimate of a frequency offset of the clock signal based on the first interim estimate of the location of the apparatus, the first interim estimate of the time offset of the clock signal, the first interim estimate of the velocity of the apparatus, and the first interim estimate of the frequency offset of the clock signal. Some embodiments comprise determining a plurality of second pseudoranges based on the wireless television signals received by the apparatus; determining a plurality of second estimates of the frequency offsets of the wireless television signals received by the apparatus; and determining a second estimate of the location of the apparatus based on the second pseudoranges, the second estimates of the frequency offsets of the wireless television signals, the locations of the transmitters, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal. Some embodiments comprise determining a second interim estimate of the location of the apparatus, a second interim estimate of the time offset of the clock signal, a second interim estimate of a velocity of the apparatus, and a second interim estimate of the frequency offset of the clock signal based on the second pseudorange, the second estimate of the frequency offset of the wireless television signal, the location of the transmitter, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal. Some embodiments comprise determining the second estimate of the location of the apparatus based on the second interim estimate of the location of the apparatus, the second interim estimate of the time offset of the clock signal, the second interim estimate of the velocity of the apparatus, and the second interim estimate of the frequency offset of the clock signal. 
     In general, in one aspect, an embodiment features tangible computer-readable media embodying instructions executable by a computer to perform a method comprising: determining a plurality of first pseudoranges based on a plurality of respective wireless television signals received by an apparatus and a clock signal generated by the apparatus, wherein each of the first pseudoranges represent a difference between a time of transmission of the respective wireless television signal from a respective transmitter and a time of reception of the respective wireless television signal at the apparatus and a time offset of the clock signal; determining a plurality of first estimates of frequency offsets of the wireless television signals received by the apparatus; and determining a first estimate of a location of the apparatus based on the first pseudoranges, the first frequency offsets of the wireless television signals, and locations of the transmitters. 
     Embodiments of the tangible computer-readable media can include one or more of the following features. In some embodiments, the method further comprises: receiving indications of times of transmission of the wireless television signals; receiving measurements of frequencies of the wireless television signals, wherein the measurements of the frequencies of the wireless television signals are determined at one or more monitor units receiving the wireless television signals at known locations; determining the plurality of first pseudoranges based on the clock signal, the plurality of respective wireless television signals received by the apparatus, and the times of transmission of the wireless television signals; and determining the plurality of first estimates of the frequency offsets of the wireless television signals received by the apparatus based on the clock signal and the measurements of the frequencies of the wireless television signals. In some embodiments, the method further comprises: determining a first interim estimate of the location of the apparatus based on the first pseudorange; determining a first interim estimate of the time offset of the clock signal based on the first pseudorange; determining a first interim estimate of the velocity of the apparatus based on the first estimate of the frequency offset of the wireless television signal; and determining a first interim estimate of the frequency offset of the clock signal based on the first estimate of the frequency offset of the wireless television signal. In some embodiments, the method further comprises: determining the first estimate of the location of the apparatus based on the first interim estimate of the location of the apparatus, the first interim estimate of the time offset of the clock signal, the first interim estimate of the velocity of the apparatus, and the first interim estimate of the frequency offset of the clock signal. In some embodiments, the method further comprises: determining a first estimate of the time offset of the clock signal, a first estimate of the velocity of the apparatus, and a first estimate of a frequency offset of the clock signal based on the first interim estimate of the location of the apparatus, the first interim estimate of the time offset of the clock signal, the first interim estimate of the velocity of the apparatus, and the first interim estimate of the frequency offset of the clock signal. In some embodiments, the method further comprises: determining a plurality of second pseudoranges based on the wireless television signals received by the apparatus; determining a plurality of second estimates of the frequency offsets of the wireless television signals received by the apparatus; and determining a second estimate of the location of the apparatus based on the second pseudoranges, the second estimates of the frequency offsets of the wireless television signals, the locations of the transmitters, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal. In some embodiments, the method further comprises: determining a second interim estimate of the location of the apparatus, a second interim estimate of the time offset of the clock signal, a second interim estimate of a velocity of the apparatus, and a second interim estimate of the frequency offset of the clock signal based on the second pseudorange, the second estimate of the frequency offset of the wireless television signal, the location of the transmitter, the first estimate of the location of the apparatus, the first estimate of the time offset of the clock signal, the first estimate of the velocity of the apparatus, and the first estimate of the frequency offset of the clock signal. In some embodiments, the method further comprises: determining the second estimate of the location of the apparatus based on the second interim estimate of the location of the apparatus, the second interim estimate of the time offset of the clock signal, the second interim estimate of the velocity of the apparatus, and the second interim estimate of the frequency offset of the clock signal. 
     The details of one or more implementations are set forth in the accompanying drawings and the description below. Other features will be apparent from the description and drawings, and from the claims. 
    
    
     
       DESCRIPTION OF DRAWINGS 
         FIG. 1  shows elements of a navigation system according to some embodiments of the present disclosure. 
         FIG. 2  shows a process for the navigation system of  FIG. 1  according to some embodiments of the present disclosure. 
     
    
    
     The leading digit(s) of each reference numeral used in this specification indicates the number of the drawing in which the reference numeral first appears. 
     DETAILED DESCRIPTION 
     Embodiments of the present disclosure provide elements of a system that enables navigation using television signals. In particular, wireless television signals received by a user device are used to provide information regarding the position and velocity of the user device, as well as information regarding time and frequency. This information can also be used for purposes other than navigation. For example, the provided information can be used in the operation of femtocells, for example as described in U.S. patent application Ser. No. 12/476,992 filed Jun. 2, 2009, the disclosure thereof incorporated by reference herein in its entirety. 
     In various embodiments, pseudorange measurements of wireless television signals are used to provide range and time information to a user device. In addition, Doppler measurements of the wireless television signals are used to provide velocity and frequency information. In contrast to satellites, television towers are stationary and horizontally distributed. Thus, Doppler shifts are almost entirely due to user horizontal movement. This fact makes Doppler positioning more suitable to television positioning than to GPS positioning. This navigation information (range, time, velocity, and frequency) is combined and used recursively with subsequent measurements to increase the accuracy of the navigation information. 
     Doppler effect is a phenomenon of an effective frequency shift of a waveform due to relative movement of the origin and target of the waveform. For example, the frequency f of a received waveform increases as the relative distance between the transmitter receiver decreases, as shown in equation (1) 
     
       
         
           
             
               
                 
                   f 
                   = 
                   
                     
                       f 
                       0 
                     
                     ⁢ 
                     
                       
                         c 
                         - 
                         
                           υ 
                           RX 
                         
                       
                       
                         c 
                         - 
                         
                           υ 
                           TX 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     where f 0  is the frequency of the waveform as transmitted, c is the speed of waveform, in this case the speed of light, and υ RX  and υ TX  are the velocities of the receiver and transmitter in a direction from the transmitter to the receiver. Because television transmitters are stationary, transmitter velocity υ TX  can be removed from equation (1), and the receiver velocity estimate {circumflex over (υ)} can be calculated as shown in equation (2)
 
{circumflex over (υ)}= c·φ   (2)
 
     where φ is a fractional pilot frequency offset (FPFO) measurement by a receiver of the waveform. 
     FPFO φ measured at the receiver is based on pilot frequency measurements made at the receiver and a monitor unit, f user  and f mon , respectively. A monitor unit is a stationary receiver at a known location (thus eliminating the Doppler effect) and is expected to have an insignificant measurement error, ε mon , compared to a user receiver measurement error, ε user . Pilot frequency measurements f user  and f mon  are given by equations (3) and (4), respectively
 
 f   mon   =f   0 +ε mon   ≈f   0   (3)
 
 f   user   =f   0 (1 −v/c )+η f   0 +ε user   (4)
 
     where 
     
       
         
           
             
               
                 
                   η 
                   = 
                   
                     
                       
                         f 
                         
                           LO 
                           , 
                           nom 
                         
                       
                       - 
                       
                         f 
                         LO 
                       
                     
                     
                       f 
                       
                         LO 
                         , 
                         nom 
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
     is a fractional local oscillator offset (FLOO). f LO  is a local oscillator frequency and f LO,nom , is the nominal value. For simplification, it is assumed that ε mon ≈0. Based on these measurements FPFO φ can be expressed as shown in equation (6). 
     
       
         
           
             
               
                 
                   
                     
                       
                         ϕ 
                         = 
                           
                         ⁢ 
                         
                           1 
                           - 
                           
                             
                               f 
                               user 
                             
                             / 
                             
                               f 
                               mon 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                         ⁢ 
                         
                           1 
                           - 
                           
                             
                               
                                 
                                   f 
                                   0 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     1 
                                     - 
                                     
                                       υ 
                                       / 
                                       c 
                                     
                                     + 
                                     η 
                                   
                                   ) 
                                 
                               
                               + 
                               
                                 ɛ 
                                 user 
                               
                             
                             
                               f 
                               mon 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         ≈ 
                           
                         ⁢ 
                         
                           1 
                           - 
                           
                             ( 
                             
                               1 
                               - 
                               
                                 υ 
                                 c 
                               
                               + 
                               η 
                               + 
                               
                                 
                                   ɛ 
                                   user 
                                 
                                 
                                   f 
                                   mon 
                                 
                               
                             
                             ) 
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                         ⁢ 
                         
                           
                             υ 
                             c 
                           
                           - 
                           η 
                           - 
                           
                             
                               ɛ 
                               user 
                             
                             
                               f 
                               mon 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
     Equation (6) is based on one-dimensional space where the velocity υ is expressed in a scalar format. Expanded into a three-dimensional space, velocity υ can be expressed in a vector format, as shown in equation (7).
 
υ=(υ x ,υ y ,υ z )  (7)
 
     FPFO φ consists of user velocity vector υ, FLOO η, and a measurement error given by equation (8). 
     
       
         
           
             
               
                 
                   
                     ɛ 
                     i 
                     ϕ 
                   
                   = 
                   
                     - 
                     
                       
                         ɛ 
                         
                           user 
                           , 
                           i 
                         
                       
                       
                         f 
                         mom 
                       
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
           
         
       
     
     For a measurement from an ith transmitter, 
     
       
         
           
             
               
                 
                   
                     ϕ 
                     i 
                   
                   = 
                   
                     
                       
                         υ 
                         · 
                         
                           e 
                           i 
                         
                       
                       c 
                     
                     - 
                     η 
                     + 
                     
                       ɛ 
                       i 
                       ϕ 
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
           
         
       
     
     where
 
 e   i =( û−s   i )/∥ û−s   i ∥  (10)
 
     is a directional unit vector from the ith transmitter at a location
 
 s   i =( s   x,i   ,s   y,i   ,s   z,i )  (11)
 
     to a user location
 
 u =( u   x   ,u   y   ,u   z )  (12)
 
     For multiple FPFO measurements, the equation becomes
 
φ= Gy+ε   φ   (13)
 
     where φ is an n×1 vector of FPFO measurements, 
     
       
         
           
             
               
                 
                   y 
                   = 
                   
                     ( 
                     
                       
                         
                           υ 
                           x 
                         
                         c 
                       
                       , 
                       
                         
                           υ 
                           y 
                         
                         c 
                       
                       , 
                       
                         
                           υ 
                           z 
                         
                         c 
                       
                       , 
                       
                         - 
                         η 
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
           
         
       
     
     and ε φ  is an n×1 measurement error vector. The number of measurements is given by n and G is an n×4 geometry matrix such that 
     
       
         
           
             
               
                 
                   G 
                   = 
                   
                     [ 
                     
                       
                         
                           
                             e 
                             1 
                             T 
                           
                         
                         
                           1 
                         
                       
                       
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             e 
                             n 
                             T 
                           
                         
                         
                           1 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   15 
                   ) 
                 
               
             
           
         
       
     
     Finally, the user variables 
     
       
         
           
             
               
                 
                   y 
                   = 
                   
                     ( 
                     
                       
                         υ 
                         c 
                       
                       , 
                       
                         - 
                         η 
                       
                     
                     ) 
                   
                 
               
               
                 
                   ( 
                   16 
                   ) 
                 
               
             
           
         
       
     
     are estimated based on FPFO measurements
 
ŷ=G † φ  (17)
 
     where G †  is the pseudo-inverse of the geometry matrix G. Since relative position is an accumulation of velocity, the user position û(t) can be estimated by integration of the estimate velocity {circumflex over (υ)}(τ) with respect to the initial user position u(0), as shown in equation (18). 
     
       
         
           
             
               
                 
                   
                     
                       u 
                       ^ 
                     
                     ⁡ 
                     
                       ( 
                       t 
                       ) 
                     
                   
                   = 
                   
                     
                       u 
                       ⁡ 
                       
                         ( 
                         0 
                         ) 
                       
                     
                     + 
                     
                       
                         ∫ 
                         0 
                         t 
                       
                       ⁢ 
                       
                         
                           
                             υ 
                             ^ 
                           
                           ⁢ 
                           
                               
                           
                           ( 
                           τ 
                           ) 
                         
                         ⁢ 
                         
                           ⅆ 
                           τ 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
     According to various embodiments, Doppler positioning and timing based on FPFO measurements is combined with pseudorange-based positioning and timing based on pseudorange measurements. The measurements and variables used are shown in Table 1. 
     
       
         
               
               
               
             
           
               
                 TABLE 1 
               
               
                   
               
               
                 Positioning 
                 Measurements 
                 Variables 
               
               
                   
               
             
             
               
                 Doppler 
                 Doppler frequency shift (φ) 
                 velocity (υ) 
               
               
                   
                   
                 frequency offset (η) 
               
               
                 Pseudoranging 
                 pseudorange (ρ ) 
                 position (u) 
               
               
                   
                   
                 time offset (b) 
               
               
                   
               
             
          
         
       
     
     Referring to Table 1, FPFO measurements relate to velocity and frequency offset, while range measurements relate to position and time offset, with respective outputs of velocity and position. In pseudorange-based position and timing estimation, the user variables
 
 x =( u   x   ,u   y   ,u   z )  (19)
 
     consist of user position u and a user receiver clock time offset b, are estimated from pseudorange measurements ρ, through iterations. This position estimation can be converted to velocity estimation
 
ρ→û→{circumflex over (υ)}  (20)
 
     while Doppler positioning estimates velocity first and derives position later
 
φ→{circumflex over (υ)}→û  (21)
 
     Pseudorange-based positioning and timing provides an absolute position estimate while Doppler positioning generates a relative position estimate with respect to an initial location. 
     In order to take advantage of these two positioning and timing methods, a hybrid approach is used. Because these methods use two sets of measurements for position and time estimation, a hybrid solution taking both solutions together provides more reliable and accurate results. For example, these two sets of measurements can be combined by a common estimator. One example implementation uses a Kalman filter taking position estimates from pseudorange-based positioning and velocity estimates from Doppler positioning to generate more refined estimates. Furthermore, tight integration is possible as has been done in the integration of GPS and inertial sensors (INS), which many GPS manufacturers adopt to improve the reliability of GPS. These position or velocity estimates can be fed back to individual positioning engines to improve their sensitivity by reducing search windows. In contrast to the GPS INS integration, the hybrid TV pseudorange and Doppler positioning does not need additional hardware because they use different measurements from the same hardware. 
       FIG. 1  shows elements of a navigation system  100  according to some embodiments of the present disclosure. Although in the described embodiments, the elements of navigation system  100  are presented in one arrangement, other embodiments may feature other arrangements, as will be apparent to one skilled in the relevant arts based on the disclosure and teachings provided herein. For example, elements of navigation system  100  can be implemented in hardware, software, or combinations thereof. 
     Referring to  FIG. 1 , navigation system  100  includes a user device  102 , a television (TV) transmitter  104 , and a monitor unit  106 . In this disclosure, the phrase “user device” is meant to refer to any object capable of implementing the navigation techniques described herein. Examples of user devices include PDAs, mobile phones, cars and other vehicles, and any object which could include a chip or software implementing the navigation techniques described herein. Further, the term “user device” is not intended to be limited to devices which are operated by “users.” 
     Both user device  102  and monitor unit  106  receive wireless television signals  130  transmitted by television transmitter  104 . Monitor unit  106  determines times of transmission TOT and frequencies f mon  of television signals  130 , and reports these measurements to user device  102 . 
     User device  102  includes a receiver configured to receive television signals  130  and measurements TOT and f mon . User device  102  also includes a clock module  110  configured to generate a clock signal ck, a pseudorange measurement module  112  configured to determine pseudoranges ρ based on clock signal ck, times of transmission TOT, and television signal  130 , a frequency offset measurement module  114  configured to determine frequency offsets φ of television signal  130  based on clock signal ck and frequencies f user  and f mon  of television signals  130 , and an estimation module  116  configured to determine estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} of the position and velocity of user device  102 , as well as estimates {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)} of the time offset and frequency offset of clock signal ck, based on pseudoranges ρ, frequency offsets φ, and geometry matrix G. 
     Estimation module  116  includes a pseudorange processing module  118  configured to determine interim estimates û,{circumflex over (b)} of the location of user device  102 , and the time offset of clock signal ck, based on pseudoranges ρ, geometry matrix G, and estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)}. Estimation module  116  also includes a Doppler processing module  120  configured to determine interim estimates {circumflex over (υ)},{circumflex over (η)} of the velocity of user device  102 , and the frequency offset of clock signal ck, based on frequency offsets φ, geometry matrix G, and estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)}. Estimation module  116  further includes a hybrid module  122  configured to determine estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)} based on interim estimates û,{circumflex over (b)} and {circumflex over (υ)},{circumflex over (η)}. Note that, in this description, estimates generated by hybrid module  122  are denoted by a double hat (for example, {circumflex over (û)}), while interim estimates, which are generated by pseudorange processing module  118  and Doppler processing module  120 , are denoted by a single hat (for example, û). 
       FIG. 2  shows a process  200  for navigation system  100  of  FIG. 1  according to some embodiments of the present disclosure. Although in the described embodiments, the elements of process  200  are presented in one arrangement, other embodiments may feature other arrangements, as will be apparent to one skilled in the relevant arts based on the disclosure and teachings provided herein. For example, in various embodiments, some or all of the steps of process  200  can be executed in a different order, concurrently, and the like. 
     Referring to  FIG. 2 , at  202 , monitor unit  106  determines times of transmission TOT and frequencies f mon  of television signal  130 , and reports these measurements to user device  102 . The use of monitor units is further described in U.S. Pat. No. 7,471,244 issued Dec. 30, 2008, the disclosure thereof incorporated by reference herein in its entirety. 
     Receiver  108  of user device  102  receives television signals  130  as well. At  204 , pseudorange measurement module  112  determines pseudoranges ρ based on clock signal ck, times of transmission TOT, and television signal  130 . Determination of pseudoranges based on television signals is further described in the patents cited above. 
     At  206 , frequency offset measurement module  114  determines frequency offsets φ of television signal  130  based on clock signal ck and frequencies f user  and f mon  of television signals  130 . In some embodiments, frequency offsets φ are measured for one or more television pilot signals present in television signal  130 . For example, ATSC and NTSC television signals include strong pilots suitable for frequency offset measurements. Other television signals include scattered pilot signals, repeating pilot signals, and the like. In some embodiments, other components of television signal  130  can be used instead of, or in addition to, television pilot signals. 
     User device  102  can employ multiple television signals  130  from the same or different television transmitters  104 . For each television signal  130 , if a pseudorange measurement is used, a frequency offset measurement should be used as well. However, if no pseudorange measurement is available for a television signal  130 , a frequency offset measurement of that television signal  130  may be used, in conjunction with measurements of pseudorange and frequency offsets from other television signals  130 . 
     At  208 , pseudorange processing module  118  determines interim estimates û,{circumflex over (b)} of the location of user device  102 , and the time offset of clock signal ck, based on pseudoranges ρ, geometry matrix G, and estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)} from previous operations of hybrid module  122 . At  210 , Doppler processing module  120  determines interim estimates {circumflex over (υ)},{circumflex over (η)} of the velocity of user device  102 , and the frequency offset of clock signal ck, based on frequency offsets φ, geometry matrix G, and estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)} from previous operations of hybrid module  122 . Note that geometry matrix G includes knowledge of the interim estimate û of the location of user device  102  determined in step  208 . At  212 , hybrid module  122  determines estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)},{circumflex over ({circumflex over (η)} based on interim estimates û,{circumflex over (b)} and {circumflex over (υ)}, {circumflex over (η)}. 
     Process  200  can repeat as desired, with each set of interim estimates û,{circumflex over (b)} and {circumflex over (υ)},{circumflex over (η)} determined based on previous estimates {circumflex over (û)},{circumflex over ({circumflex over (υ)} and {circumflex over ({circumflex over (b)}, {circumflex over ({circumflex over (η)}, thereby increasing the accuracy of the estimates. Monitor unit  106  can repeat the determination of times of transmission TOT and frequencies f mon  of television signals  130 , and report these measurements to user device  102 , as desired. 
     Embodiments of the disclosure can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Embodiments of the disclosure can be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a programmable processor; and method steps of the disclosure can be performed by a programmable processor executing a program of instructions to perform functions of the disclosure by operating on input data and generating output. The disclosure can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high-level procedural or object-oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read-only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM disks. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits). 
     A number of implementations of the disclosure have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the disclosure. Accordingly, other implementations are within the scope of the following claims.