The present invention relates generally to television signals. More particularly, the present invention relates to positioning and time transfer using television synchronization signals.
In general, in one aspect, an embodiment features an apparatus comprising: a first receiver adapted to receive television signals and a message, wherein the television signals include an NTSC television signal and an ATSC television signal, wherein the message represents a first arrival time and a second arrival time, wherein the first arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the NTSC television signal, and wherein the second arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the ATSC television signal; a local clock; a first arrival time module adapted to measure a third arrival time and a fourth arrival time, based on the local clock, after the first receiver receives the message, wherein the third arrival time represents a time of arrival at the apparatus of a second wavefront of the NTSC television signal, and wherein the fourth arrival time represents a time of arrival at the apparatus of a second wavefront of the ATSC television signal; and a clock correction unit adapted to provide a clock correction signal for the local clock based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time.
Embodiments of the apparatus can include one or more of the following features. Some embodiments comprise a processing module adapted to determine, based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time, at least one of an absolute time of arrival at the apparatus of the second wavefront of the NTSC television signal, and an absolute time of arrival at the apparatus of the second wavefront of the ATSC television signal. Some embodiments comprise a processing module adapted to determine a position of the apparatus based on the clock correction signal and at least one of the NTSC television signal, and the ATSC television signal. Some embodiments comprise a monitor unit adapted to provide the message. In some embodiments, the monitor unit comprises: a second receiver adapted to receive the television signals; a reference clock; a second arrival time module adapted to measure a fifth arrival time and a sixth arrival time based on the reference clock, wherein the fifth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the NTSC television signal, and wherein the sixth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the ATSC television signal; a processing module adapted to determine the first arrival time and the second arrival time based on the fifth arrival time and a sixth arrival time; and a transmitter adapted to transmit the message.
In general, in one aspect, an embodiment features an apparatus comprising: first receiver means for receiving television signals and a message, wherein the television signals include an NTSC television signal and an ATSC television signal, wherein the message represents a first arrival time and a second arrival time, wherein the first arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the NTSC television signal, and wherein the second arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the ATSC television signal; first arrival time means for measuring a third arrival time and a fourth arrival time, based on a local clock, after the first receiver means receives the message, wherein the third arrival time represents a time of arrival at the apparatus of a second wavefront of the NTSC television signal, and wherein the fourth arrival time represents a time of arrival at the apparatus of a second wavefront of the ATSC television signal; and clock correction means for providing a clock correction signal for the local clock based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time.
Embodiments of the apparatus can include one or more of the following features. Some embodiments comprise processing means for determining, based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time, at least one of an absolute time of arrival at the apparatus of the second wavefront of the NTSC television signal, and an absolute time of arrival at the apparatus of the second wavefront of the ATSC television signal. Some embodiments comprise processing means for determining a position of the apparatus based on the clock correction signal and at least one of the NTSC television signal, and the ATSC television signal. Some embodiments comprise monitor means for providing the message. In some embodiments, the monitor means comprises: second receiver means for receiving the television signals; a second arrival time module adapted to measure a fifth arrival time and a sixth arrival time based on a reference clock, wherein the fifth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the NTSC television signal, and wherein the sixth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the ATSC television signal; processing means for determining the first arrival time and the second arrival time based on the fifth arrival time and a sixth arrival time; and transmitter means for transmitting the message.
In general, in one aspect, an embodiment features a method comprising: receiving television signals and a message at an apparatus, wherein the television signals include an NTSC television signal and an ATSC television signal, wherein the message represents a first arrival time and a second arrival time, wherein the first arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the NTSC television signal, and wherein the second arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the ATSC television signal; measuring a third arrival time and a fourth arrival time, based on a local clock, after receiving the message, wherein the third arrival time represents a time of arrival at the apparatus of a second wavefront of the NTSC television signal, and wherein the fourth arrival time represents a time of arrival at the apparatus of a second wavefront of the ATSC television signal; and providing a clock correction signal for the local clock based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time.
Embodiments of the method can include one or more of the following features. Some embodiments comprise determining, based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time, at least one of an absolute time of arrival at the apparatus of the second wavefront of the NTSC television signal, and an absolute time of arrival at the apparatus of the second wavefront of the ATSC television signal. Some embodiments comprise determining a position of the apparatus based on the clock correction signal and at least one of the NTSC television signal, and the ATSC television signal. Some embodiments comprise providing the message. Some embodiments comprise receiving the television signals; measuring a fifth arrival time and a sixth arrival time based on a reference clock, wherein the fifth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the NTSC television signal, and wherein the sixth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the ATSC television signal; determining the first arrival time and the second arrival time based on the fifth arrival time and a sixth arrival time; and transmitting the message.
In general, in one aspect, an embodiment features a computer-readable media embodying instructions executable by a computer to perform a method comprising: receiving television signals and a message at an apparatus, wherein the television signals include an NTSC television signal and an ATSC television signal, wherein the message represents a first arrival time and a second arrival time, wherein the first arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the NTSC television signal, and wherein the second arrival time represents an absolute time of arrival at the apparatus of a first wavefront of the ATSC television signal; measuring a third arrival time and a fourth arrival time, based on a local clock, after receiving the message, wherein the third arrival time represents a time of arrival at the apparatus of a second wavefront of the NTSC television signal, and wherein the fourth arrival time represents a time of arrival at the apparatus of a second wavefront of the ATSC television signal; and providing a clock correction signal for the local clock based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time.
Embodiments of the computer program can include one or more of the following features. In some embodiments, the method further comprises: determining, based on the first arrival time, the second arrival time, the third arrival time, and the fourth arrival time, at least one of an absolute time of arrival at the apparatus of the second wavefront of the NTSC television signal, and an absolute time of arrival at the apparatus of the second wavefront of the ATSC television signal. In some embodiments, the method further comprises: determining a position of the apparatus based on the clock correction signal and at least one of the NTSC television signal, and the ATSC television signal. In some embodiments, the method further comprises: providing the message. In some embodiments, the method further comprises: receiving the television signals; measuring a fifth arrival time and a sixth arrival time based on a reference clock, wherein the fifth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the NTSC television signal, and wherein the sixth arrival time represents an absolute time of arrival at the monitor unit of the first wavefront of the ATSC television signal; determining the first arrival time and the second arrival time based on the fifth arrival time and a sixth arrival time; and transmitting the message.
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.
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.
As used herein, the terms “client” and “server” generally refer to an electronic device or mechanism, and the term “message” generally refers to an electronic signal representing a digital message. As used herein, the term “mechanism” refers to hardware, software, or any combination thereof. These terms are used to simplify the description that follows. The clients, servers, and mechanisms described herein can be implemented on any standard general-purpose computer, or can be implemented as specialized devices such as special-purpose computers and the like.
Embodiments disclosed herein provide positioning and time transfer in a range of connected devices that must operate in inclement urban conditions. These devices include micro-cells for extending cellular networks to indoor environments, PDAs, laptops, cellular phones, asset tracking devices, radios for emergency response personnel, and the like. The techniques disclosed make use of synchronization signals that are part of the standard for television set forth by the American Television Standards Committee (ATSC). Consequently, the techniques described herein require no changes to the television broadcast stations. The signal can accommodate robust indoor positioning where the Global Positioning System (GPS) fails, because the synchronization signals typically have a power advantage over GPS of more than 40 dB. In addition, the effects of multipath are substantially mitigated because the signals have a bandwidth of roughly 6 MHz, and substantially superior geometry for triangulating lateral position to that which GPS can provide.
A wide range of VHF and UHF frequencies have been allocated to television stations; consequently, there is redundancy built into the system to protect against deep fades on particular channels. In addition, unlike GPS, the synchronization signals are not affected by transmitter Doppler, ionospheric propagation delays, or data that is modulated onto the signals. These techniques are not limited to ATSC signals, but may be applied to a wider range of television and other broadcast signals that include known synchronization components for which the time of arrival at a receiver can be measured. In overview, the technology exploits the considerable TV infrastructure to achieve more reliable, accurate and rapid time transfer and positioning than can be achieved with existing technologies.
Digital television was first implemented in the United States in 1998. As of February 2009, all television transmissions in the United States will be digital, and analog signals will be eliminated. A total of 1603 DTV stations are currently on the air in the United States, with another 119 stations planned. The signal structure used for DTV is specified by the American Television Standard Committee (ATSC).
Because of the physical characteristics of the signals that are used in most positioning technologies—such as the Global Positioning System (GPS)—no system designed to date can provide truly accurate and reliable location information indoors and in inclement urban areas. The best solutions to this problem involve integrated systems. Positioning techniques using TV signals are a suitable complement to GPS because they work in challenging urban environments where GPS tends to fail. The power of the TV signal, combined with the large number of available TV stations, makes it suitable for position location of connected devices throughout most of the United States, Europe, and Asia. The TV signals are at low frequencies well-suited for urban propagation, have bandwidths of 6 MHz or greater, and do not suffer from the Ionospheric and Doppler effects which hinder the performance of GPS.
The techniques disclosed herein employ the ATSC DTV signal for location and time transfer in the continental United States. However, in recent years synchronization signals have also been included in NTSC analog TV broadcasts. These synchronization signals are designed for channel modeling and multipath mitigation, and consequently can be used for accurate positioning. In addition, other DTV standards around the world (including DVB, DMB and ISDB-T) include synchronization codes which can be used for accurate positioning.
Techniques for determining the position of a user terminal using the ATSC DTV signal are disclosed in U.S. Non-provisional patent application Ser. No. 09/887,158 filed Jun. 21, 2001, the disclosure thereof incorporated by reference herein in its entirety. Techniques for determining the position of a user terminal using the European Telecommunications Standards Institute (ETSI) Digital Video Broadcasting-Terrestrial (DVB-T) signal are disclosed in U.S. Pat. No. 7,126,536, the disclosure thereof incorporated by reference herein in its entirety. Techniques for determining the position of a user terminal using the Japanese Integrated Services Digital Broadcasting-Terrestrial (ISDB-T) signal are disclosed in U.S. Pat. No. 6,952,182, the disclosure thereof incorporated by reference herein in its entirety. Techniques for determining the position of a user terminal using the NTSC (National Television System Committee) analog 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 terminal 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-T and ISDB-T digital television signals include scattered pilot carriers. Suitable components within a Terrestrial Digital Media Broadcast (T-DMB) frame include the Phase Reference Signal. 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.
Positioning techniques using television signals should revolutionize the technology of navigation and position location. The ubiquitous availability of television signals allows for coverage anywhere that television is available. In fact, with the use of time-gated delay-lock loops, it is possible to use television signals for positioning even beyond those areas where television reception is available. Details are provided in, for example, U.S. Non-provisional patent application Ser. No. 10/054,262 filed Jan. 22, 2002, the disclosure thereof incorporated by reference herein in its entirety. However, in some situations, it is possible that a multiplicity of strong television signals will not be available due to less than adequate television availability, severe building attenuation, a severe multipath environment, or other causes. In addition, while television signals can provide very good positioning information on the horizontal plane, there may be situations, such as determining the position of police and firefighters in a building, where precise vertical information is necessary as well.
Referring to
Position Location Performed by a DTV Location Server
Various methods can be used to select which DTV channels to use in position location. In one implementation, a DTV location server 110 tells user terminal 102 of the best DTV channels to monitor. In one implementation, user terminal 102 exchanges messages with DTV location server 110 by way of base station 104. In one implementation user terminal 102 selects DTV channels to monitor based on the identity of base station 104 and a stored table correlating base stations and DTV channels. In another implementation, user terminal 102 can accept a location input from the user that gives a general indication of the area, such as the name of the nearest city; and uses this information to select DTV channels for processing. In one implementation, user terminal 102 scans available DTV channels to assemble a fingerprint of the location based on power levels of the available DTV channels. User terminal 102 compares this fingerprint to a stored table that matches known fingerprints with known locations to select DTV channels for processing.
User terminal 102 determines a pseudo-range between the user terminal 102 and each DTV transmitter 106 (step 204). Each pseudo-range represents the time difference (or equivalent distance) between a time of transmission from a transmitter 108 of a component of the DTV broadcast signal and a time of reception at the user terminal 102 of the component, as well as a clock offset at the user terminal.
User terminal 102 transmits the pseudo-ranges to DTV location server 110. In one implementation, DTV location server 110 is implemented as a general-purpose computer executing software designed to perform the operations described herein. In another implementation, DTV location server is implemented as an ASIC (application-specific integrated circuit). In one implementation, DTV location server 110 is implemented within or near base station 104.
The DTV signals are also received by a plurality of monitor units 108A through 108N. Each monitor unit can be implemented as a small unit including a transceiver and processor, and can be mounted in a convenient location such as a utility pole, DTV transmitters 106, or base stations 104. In one implementation, monitor units are implemented on satellites.
Each monitor unit 108 measures, for each of the DTV transmitters 106 from which it receives DTV signals, a time offset between the local clock of that DTV transmitter and a reference clock. In one implementation the reference clock is derived from GPS signals. The use of a reference clock permits the determination of the time offset for each DTV transmitter 106 when multiple monitor units 108 are used, since each monitor unit 108 can determine the time offset with respect to the reference clock. Thus, offsets in the local clocks of the monitor units 108 do not affect these determinations.
In another implementation, no external time reference is needed. According to this implementation, a single monitor unit receives DTV signals from all of the same DTV transmitters as does user terminal 102. In effect, the local clock of the single monitor unit functions as the time reference.
In one implementation, each time offset is modeled as a fixed offset. In another implementation each time offset is modeled as a second order polynomial fit of the form
Offset=a+b(t−T)+c(t−T)2 (1)
that can be described by a, b, c, and T. In either implementation, each measured time offset is transmitted periodically to the DTV location server using the Internet, a secured modem connection or the like. In one implementation, the location of each monitor unit 108 is determined using GPS receivers.
DTV location server 110 receives information describing the phase center (i.e., the location) of each DTV transmitter 106 from a database 112. In one implementation, the phase center of each DTV transmitter 106 is measured by using monitor units 108 at different locations to measure the phase center directly. In another implementation, the phase center of each DTV transmitter 106 is measured by surveying the antenna phase center.
In one implementation, DTV location server 110 receives weather information describing the air temperature, atmospheric pressure, and humidity in the vicinity of user terminal 102 from a weather server 114. The weather information is available from the Internet and other sources such as NOAA. DTV location server 110 determines tropospheric propagation velocity from the weather information using techniques such as those disclosed in B. Parkinson and J. Spilker, Jr. Global Positioning System-Theory and Applications, AIAA, Washington, D.C., 1996, Vol. 1, Chapter 17 Tropospheric Effects on GPS by J. Spilker, Jr.
DTV location server 110 can also receive from base station 104 information which identifies a general geographic location of user terminal 102. For example, the information can identify a cell or cell sector within which a cellular telephone is located. This information is used for ambiguity resolution, as described below.
DTV location server 110 determines a position of the user terminal based on the pseudo-ranges and a location of each of the transmitters (step 206).
DTV location server 110 may adjust the value of each pseudo-range according to the tropospheric propagation velocity and the time offset for the corresponding DTV transmitter 106. DTV location server 110 uses the phase center information from database 112 to determine the position of each DTV transmitter 106.
User terminal 102 makes three or more pseudo-range measurements to solve for three unknowns, namely the position (x, y) and clock offset T of user terminal 102. In other implementations, the techniques disclosed herein are used to determine position in three dimensions such as longitude, latitude, and altitude, and can include factors such as the altitude of the DTV transmitters.
The three pseudo-range measurements pr1, pr2 and pr3 are given by
pr1=r1+T (2a)
pr2=r2+T (3a)
pr3=r3+T (4a)
The three ranges can be expressed as
r1=|X−X1| (5)
r2=|X−X2| (6)
r3=|X−X3| (7)
where X represents the two-dimensional vector position (x, y) of user terminal, X1 represents the two-dimensional vector position (x1, y1) of DTV transmitter 106A, X2 represents the two-dimensional vector position (x2, y2) of DTV transmitter 106B, and X3 represents the two-dimensional vector position (x3, y3) of DTV transmitter 106N. These relationships produce three equations in which to solve for the three unknowns x, y, and T. DTV locations server 110 solves these equations according to conventional well-known methods. In an E911 application, the position of user terminal 102 is transmitted to E911 location server 116 for distribution to the proper authorities. In another application, the position is transmitted to user terminal 102.
Now, techniques for projecting the measurements at the user terminal 102 to a common instant in time are described. Note that this is not necessary if the clock of the user terminal 102 is stabilized or corrected using a signal from the cellular base station or a DTV transmitter 106. When the user clock is not stabilized, or corrected, the user clock offset can be considered to be a function of time, T(t). For a small time interval, Δ, the clock offset, T(t), can be modeled by a constant and a first order term. Namely,
We now reconsider equations (2a)-(4a) treating the clock offset as a function of time. Consequently, the pseudo-range measurements are also a function of time. For clarity, we assume that the ranges remain essentially constant over the interval Δ. The pseudo-range measurements may be described as:
pr1(t1)=r1+T(t1) (2b)
pr2(t2)=r2+T(t2) (3b)
prN(tN)=rN+T(tN) (4b)
In one embodiment, the user terminal 102 commences with an additional set of pseudo-range measurements at some time Δ after the initial set of measurements. These measurements may be described:
The user terminal 102 then projects all the pseudo-range measurements to some common point in time so that the effect of the first order term is effectively eliminated. For example, consider if some common reference time t0 is used. Applying equations (2b-4b) and (2c-4c) it is straightforward to show that we can project the measurements to a common instant of time as follows:
pr1(t0)=pr1(t1)+[pr1(t1+Δ)−pr1(t1)](t0−t1)/Δ (2d)
pr2(t0)=pr2(t2)+[pr2(t2+Δ)−pr2(t2)](t0−t2)/Δ (3d)
prN(t0)=prN(tN)+[prN(tN+Δ)−prN(tN)](t0−tN)/Δ (4d)
These projected pseudo-range measurements are communicated to the location server where they are used to solve the three unknowns x, y, and T. Note that the projection in equations (2d-4d) is not precise, and second order terms are not accounted for. However the resulting errors are not significant. One skilled in the art will recognize that second order and higher terms may be accounted for by making more than two pseudo-range measurements for each projection. Notice also that there are many other approaches to implementing this concept of projecting the pseudo-range measurements to the same instant of time. One approach, for example, is to implement a delay lock loop such as those disclosed in J. J. Spilker, Jr., Digital Communications by Satellite, Prentice-Hall, Englewood Cliffs, N.J., 1977, 1995 and B. W. Parkinson and J. J. Spilker, Jr., Global Positioning System-Theory and Application, Volume 1, AIAA, Washington, D.C. 1996, both incorporated by reference herein. A separate tracking loop can be dedicated to each DTV transmitter 106. These tracking loops effectively interpolate between pseudo-range measurements. The state of each of these tracking loops is sampled at the same instant of time.
In another implementation, user terminal 102 does not compute pseudo-ranges, but rather takes measurements of the DTV signals that are sufficient to compute pseudo-range, and transmits these measurements to DTV location server 110. DTV location server 110 then computes the pseudo-ranges based on the measurements, and computes the position based on the pseudo-ranges, as described above.
Position Location Performed by User Terminal
In another implementation, the position of user terminal 102 is computed by user terminal 102. In this implementation, all of the necessary information is transmitted to user terminal 102. This information can be transmitted to user terminal by DTV location server 110, base station 104, one or more DTV transmitters 106, or any combination thereof. User terminal 102 then measures the pseudo-ranges and solves the simultaneous equations as described above. This implementation is now described.
User terminal 102 receives the time offset between the local clock of each DTV transmitter and a reference clock. User terminal 102 also receives information describing the phase center of each DTV transmitter 106 from a database 112.
User terminal 102 receives the tropospheric propagation velocity computed by DTV locations server 110. In another implementation, user terminal 102 receives weather information describing the air temperature, atmospheric pressure, and humidity in the vicinity of user terminal 102 from a weather server 114. and determines tropospheric propagation velocity from the weather information using conventional techniques.
User terminal 102 can also receive from base station 104 information which identifies the rough location of user terminal 102. For example, the information can identify a cell or cell sector within which a cellular telephone is located. This information is used for ambiguity resolution, as described below.
User terminal 102 receives DTV signals from a plurality of DTV transmitters 106 and determines a pseudo-range between the user terminal 102 and each DTV transmitter 106. User terminal 102 then determines its position based on the pseudo-ranges and the phase centers of the transmitters.
In any of these of the implementations, should only two DTV transmitters be available, the position of user terminal 102 can be determined using the two DTV transmitters and the offset T computed during a previous position determination. The values of T can be stored or maintained according to conventional methods.
In one implementation, base station 104 determines the clock offset of user terminal 102. In this implementation, only two DTV transmitters are required for position determination. Base station 104 transmits the clock offset T to DTV location server 110, which then determines the position of user terminal 102 from the pseudo-range computed for each of the DTV transmitters.
In another implementation, when only one or two DTV transmitters are available for position determination, GPS is used to augment the position determination. Techniques for positioning using TV and GPS signals are also disclosed in U.S. Non-provisional patent application Ser. No. 10/159,478 filed May 31, 2002, the disclosure thereof incorporated by reference herein in its entirety.
Receiver Architecture
Sampler 400 receives a DTV signal 402 at an antenna 404. A radio frequency (RF) amp/filter 406 amplifies and filters the received DTV signal. A local oscillator clock 416 and mixers 408I and 408Q downconvert the signal to produce in-phase (I) and quadrature (Q) samples, respectively. The I and Q samples are respectively filtered by low-pass filters (LPF) 410I and 410Q. An analog-to-digital converter (ADC) 412 converts the I and Q samples to digital form. The digital I and Q samples are stored in a memory 414.
Correlator 500 retrieves the I and Q samples of a DTV signal from memory 414. Correlator 500 processes the samples at intermediate frequency (IF). Other implementations process the samples in analog or digital form, and can operate at intermediate frequency (IF) or at baseband.
A code generator 502 generates a code sequence. In one implementation, the code sequence is a raised cosine waveform. The code sequence can be any known digital sequence in the ATSC frame. In one implementation, the code is a synchronization code. In one implementation, the synchronization code is a Field Synchronization Segment within an ATSC data frame. In another implementation, the synchronization code is a Synchronization Segment within a Data Segment within an ATSC data frame. In still another implementation, the synchronization code includes both the Field Synchronization Segment within an ATSC data frame and the Synchronization Segments within the Data Segments within an ATSC data frame.
Mixers 504I and 504Q respectively combine the I and Q samples with the code generated by code generator 502. The outputs of mixers 504I and 504Q are respectively filtered by filters 506I and 506Q and provided to summer 507. The sum is provided to square law device 508. Filter 509 performs an envelope detection for non-coherent correlation, according to conventional methods. Comparator 510 compares the correlation output to a predetermined threshold. If the correlation output falls below the threshold, search control 512 causes summer 514 to add additional pulses to the clocking waveform produced by clock 516, thereby advancing the code generator by one symbol time, and the process repeats. In a preferred embodiment, the clocking waveform has a nominal clock rate of 10.76 MHz, matching the clock rate or symbol rate of the received DTV signals.
When the correlation output first exceeds the threshold, the process is done. The time offset that produced the correlation output is used as the pseudo-range for that DTV transmitter 106.
In receiver correlators and matched filters there are two important sources of receiver degradation. The user terminal local oscillator is often of relatively poor stability in frequency. This instability affects two different receiver parameters. First, it causes a frequency offset in the receiver signal. Second, it causes the received bit pattern to slip relative to the symbol rate of the reference clock. Both of these effects can limit the integration time of the receiver and hence the processing gain of the receiver. The integration time can be increased by correcting the receiver reference clock. In one implementation a delay lock loop automatically corrects for the receiver clock.
In another implementation a NCO (numerically controlled oscillator) 518 adjusts the clock frequency of the receiver to match that of the incoming received signal clock frequency and compensate for drifts and frequency offsets of the local oscillator in user terminal 102. Increased accuracy of the clock frequency permits longer integration times and better performance of the receiver correlator. The frequency control input of NCO 518 can be derived from several possible sources, a receiver symbol clock rate synchronizer, tracking of the ATSC pilot carrier, or other clock rate discriminator techniques installed in NCO 518.
Position Location Enhancements
In one implementation, user terminal 102 can accept an input from the user that gives a general indication of the area, such as the name of the nearest city. In one implementation, user terminal 102 scans available DTV channels to assemble a fingerprint of the location. User terminal 102 compares this fingerprint to a stored table that matches known fingerprints with known locations to identify the current location of user terminal 102.
In one implementation the position location calculation includes the effects of ground elevation. Thus in terrain with hills and valleys relative to the phase center of the DTV antenna 106 the circles of constant range are distorted.
The computations of user position are easily made by a simple computer having as its database a terrain topographic map which allows the computations to include the effect of user altitude on the surface of the earth, the geoid. This calculation has the effect of distorting the circles of constant range as shown in
ATSC Signal Description
The current ATSC signal is described in “ATSC Digital Television Standard and Amendment No. 1,” Mar. 16, 2000, by the Advanced Television Systems Committee. The ATSC signal uses 8-ary Vestigial Sideband Modulation (8VSB). The symbol rate of the ATSC signal is 10.762237 MHz, which is derived from a 27.000000 MHz clock. The structure 800 of the ATSC frame is illustrated in
The structure 900 of the field synchronization segment is illustrated in
The structure 1000 of the data segment is illustrated in
Implementations of the invention can be extended to use future enhancements to DTV signals. For example, the ATSC signal specification allows for a high rate 16VSB signal. However, the 16VSB signal has the same field synch pattern as the 8VSB signal. Therefore, a single implementation of the present invention can be designed to work equally well with both the 8VSB and the 16VSB signal.
The 8VSB signal is constructed by filtering. The in-phase segment of the symbol pulse has a raised-cosine characteristic, as described in J. G. Proakis, Digital Communications, McGraw-Hill, 3rd edition, 1995. The pulse can be described as
where T is the symbol period
and β=0.5762. This signal has a frequency characteristic
from which it is clear that the one-sided bandwidth of the signal is (1+β)10.762237 MHz=5.38 MHz+0.31 MHz. In order to create a VSB signal from this in-phase pulse, the signal is filtered so that only a small portion of the lower sideband remains. This filtering can be described as:
Pν(f)=P(f)(U(f)−Hα(f)) (11)
where
where Hα(f) is a filter designed to leave a vestigial remainder of the lower sideband. A plot of the gain function for Hα(f) is shown in
The response U(f)P(f) can be represented as
where (f)=−j sgn(f)P(f) is the Hilbert transform of P(f). The VSB pulse may be represented as
and the baseband pulse signal
where pνi(t) is the in-phase component, pνq(t) is the quadrature component, and
Before the data is transmitted, the ATSC signal also embeds a carrier signal, which has −11.5 dB less power than the data signal. This carrier aids in coherent demodulation of the signal. Consequently, the transmitted signal can be represented as:
where Cn is the 8-level data signal.
Monitor Units
Referring to
A DTV antenna 1212 receives a plurality of DTV signals 1210. In another implementation, multiple DTV antennas are used. An amplifier 1214 amplifies the DTV signals. One or more DTV tuners 1216A through 1216N each tunes to a DTV channel in the received DTV signals to produce a DTV channel signal. Each of a plurality of NCO field synchronization timers 1208B through 1208M receives one of the DTV channel signals. Each of NCO field synchronization timers 1208B through 1208M extracts a channel synchronization signal from a DTV channel signal. The channel synchronization signal can include one or both of the ATSC segment synchronization signal and the ATSC field synchronization signal. Note that the pilot signal and symbol clock signal within the DTV signal can be used as acquisition aids.
Each of a plurality of summers 1218A through 1218N generates a clock offset between the master synchronization signal and one of the channel synchronization signals. Processor 1220 formats and sends the resulting data to DTV location server 110. In one implementation, this data includes, for each DTV channel measured, the identification number of the DTV transmitter, the DTV channel number, the antenna phase center for the DTV transmitter, and the clock offset. This data can be transmitted by any of a number of methods including air link and the Internet. In one implementation, the data is broadcast in spare MPEG packets on the DTV channel itself.
Software Receivers
One thorough approach to mitigating the effects of multipath is to sample an entire autocorrelation function, rather than to use only early and late samples as in a hardware setup. Multipath effects can be mitigated by selecting the earliest correlation peak.
In the case that position can be computed with a brief delay, such as in E911 applications, a simple approach is to use a software receiver, which samples a sequence of the filtered signal, and then processes the sample in firmware on a DSP.
A low-noise amplifier (LNA) 1306 amplifies and passes the selected signal to a DTV channel selector 1308. DTV channel selector 1308 selects a particular DTV channel under the control of DSP 1314, and filters and downconverts the selected channel signal from UHF (ultra-high frequency) to IF (intermediate frequency) according to conventional methods. An amplifier (AMP) 1310 amplifies the selected IF channel signal. An analog-to-digital converter and sampler (A/D) 1312 produces digital samples of the DTV channel signal s(t) and passes these samples to DSP 1314.
Now the processing of the DTV channel signal by DSP 1314 is described for a coherent software receiver. A nominal offset frequency for the downconverted sampled signal is assumed. If this signal is downconverted to baseband, the nominal offset is 0 Hz. The process generates the complete autocorrelation function based on samples of a signal s(t). The process may be implemented far more efficiently for a low duty factor signal. Let Ti be the period of data sampled, ωin be the nominal offset of the sampled incident signal, and let ωoffset be the largest possible offset frequency, due to Doppler shift and oscillator frequency drift. The process implements the pseudocode listed below.
where
Upon exit from the process, Rstore(τ) will store the correlation between the incident signal s(t) and the complex code signal scode(t). Rstore(τ) may be further refined by searching over smaller steps of ω. The initial step size for ω must be less then half the Nyquist rate
The time offset τ that produces the maximum correlation output is used as the pseudo-range.
A technique for generating the non-coherent correlation in software is now described. This approach emulates the hardware receivers of
The time offset τ that produces the maximum correlation output is used as the pseudo-range.
Notice that the non-coherent correlation z(τ) makes use of the signal power in both the in-phase and quadrature components. However, as a result of this, the effective bandwidth of the signal that generates the non-coherent correlation is halved. The output of the non-coherent correlator is illustrated in
Positioning Algorithm
Note that the reference is the location of monitor unit 1506. However, when multiple monitor units 1506 are used to track a single transmitter 1504, a “virtual reference” may be created, which is the location of an imaginary monitor unit 1506, the measurements from which would correspond to the combined information from the multiple monitor units 1506.
User terminal 1502 starts sampling the signal at some absolute time tu. The term absolute time is used to distinguish from the time perceived by user terminal 1502, which doesn't have a perfect clock and consequently doesn't know what the exact or absolute time is. According to user terminal 1502, sampling starts at some time, {circumflex over (t)}u, which is offset from absolute time by the user clock bias at the time tu:
{circumflex over (t)}u=tu+τu(tu) (18)
{circumflex over (t)}t=tt+τt(tt) (19)
Consequently, the pseudorange measurement at user terminal 1502 for a transmitter, t, can be described as:
φusr,t(tu)=mod(rut−tuc+ttc+bu,λt) (20)
The term bu, referred to herein as hardware bias, is included to represent all the delays that the signal incurs from the time the signal arrives at the antenna of user terminal 1502 to the time the signal is sampled. This includes effects such as group delay of filters, line delays and other delays caused by system hardware. Substituting equation (18) into equations (19) and (20) describing the imperfect clocks of user terminal 1502 and transmitter 1504 yields:
φusr,t(tu)=mod(rut+bu−{circumflex over (t)}uc+τu(tu)c+{circumflex over (t)}tc−τt(tt)c,λt) (21)
The mod operation can be eliminated by including in the measurement some unknown integer cycle ambiguity, Nut, for the user measurement of the transmitter t. In addition, since the transmitter clock is relatively stable, and the time at which the synch burst is transmitted, tt, is relatively close to the time at which sampling begins, tu, a simplifying assumption τt(tu)≈τt(tt) can be used. Then, the measurement at user terminal 1502 can be described as:
φusr,t(tu)=rut+bu−{circumflex over (t)}uc+τu(tu)c+{circumflex over (t)}tc−τt(tu)c−Nutλt (22)
Similarly, a phase measurement at the reference, or monitor unit 1506, can be described as:
φref,t(tr)=rrt+br−{circumflex over (t)}rc+τr(tr)c+{circumflex over (t)}tc−τt(tr)c−Nrtλt (23)
where the subscript r has been used to replace the subscript u to describe the same physical and timing phenomena at the reference that we have described at user terminal 1502. The differential positioning methodology can be implemented by differencing the measurement made at user terminal 1502 and the reference for a particular transmitter 1504, t:
where Nru,t=Nrt−Nut. Assume that the hardware bias in user terminal 1502 and the reference is the same so that br−bu=0. Also assume for simplicity that according to the local clocks of user terminal 1502 and the reference, which are offset from absolute time by τu(tu) and τr(tr) respectively, user terminal 1502 the and reference think they are sampling the signal at the same time, or {circumflex over (t)}u−{circumflex over (t)}r=0. In order to render the measurement in a form that can be used to estimate the necessary parameters, define a user-reference clock bias τru=τr(tr)−τu(tu). Using this definition, and expanding the measurement to first order with respect to the user and transmitter clock offsets yields:
Assuming that the transmitter's clock is relatively stable, and that the difference between the user and the reference clock biases is not too large, the following simplifying assumption can be made:
Then the pseudorange measurement can be represented in the tractable form:
Assume measurements are taken from a set of T transmitters 1504. Each of those transmitters 1504 will be associated with a particular integer cycle ambiguity. Let x be the vector of parameters that we wish to resolve: namely the latitude and longitude of user terminal 1502, the clock offset between user terminal 1502 and reference, and the integer ambiguity for each of the channels:
x=[ru,lat ru,lon τru Nru,1 . . . Nru,T]T (28)
Notice that the measurement equation (27) is nonlinear in the parameters since the distance between user terminal 1502 and transmitter 1504 is nonlinear in the user latitude and longitude:
Consequently, these parameters can be resolved using an iterative technique which linearizes the measurement equation around our parameter estimates at each iteration. Based on the current estimates of the parameters, an estimate is computed according to equation (27) of the expected pseudorange measurement: {circumflex over (φ)}ru,t. In order to update the parameters, an estimation error vector is created based on the measurements:
y=[{circumflex over (φ)}ru,1−φru,1 {circumflex over (φ)}ru,2−φru,2 . . . {circumflex over (φ)}ru,T−φru,T]T (30)
The set of estimation errors on T transmitters can now generate a linearized matrix measurement equation:
y=HΔx+ν (31)
The term {right arrow over (1)}ut is the direction vector from user terminal 1502 to the station t, ν is a vector of disturbances or noise terms which we assume are normally distributed with mean 0 and covariance C, and Δx are the set of parameter updates. Several canonical techniques for iteratively solving this matrix equation are well-known. The techniques range from treating the integers as real numbers and using a recursive least-squares algorithm to performing an integer search for the non-real parameters. Note that the wavelengths, λt, which correspond to the ATSC segment synch and field synch signals are large—roughly 23 km and 7,360 km respectively. Hence, the cycle ambiguities can be resolved with a high degree of integrity.
Calibrating Performance
Independent of the technique used to resolve the parameters x, it should be noted that the conditioning of the observation matrix, H, contributes to the performance of the positioning system. Consider only the real-valued parameters that require estimation:
xr=[ru,lat ru,lon τru]T (33)
and assume that all the integer-valued parameters are known a-priori or determined by an integer search. Then, equation (31) with just the real components isolated would become y=HrΔxr+ν where
The maximum-likelihood estimate for the real parameter updates would then be:
Δxr=(HrTC−1Hr)−1HrTC−1y (35)
If the pseudoranging errors on each channel are uncorrelated and each has variance σ2, it is straightforward to show from equation (35) that the expected variance on the estimated parameters is given by:
var(Δxr)=σ2(HrTHr)−1 (36)
The matrix (HrTHr)−1 determines how the disturbances, ν, in the pseudorange measurements are combined with the geometry of the transmitters 1504 to cause errors in the parameters being estimated. The diagonal elements of this matrix correspond to the DOP (Dilution of Precision) factors for the latitude, longitude and clock parameters.
So, the fundamental HDOP (Horizontal Dilution of Precision) of the navigation system can be computed according to:
Assuming pseudoranging errors on each channel which are normally distributed with variance σ2, then horizontal position errors can be expected with a standard deviation of σ(HDOP).
Time Transfer
Various embodiments may be used for time transfer in environments where GPS is unreliable. One example application is micro-cells that are placed indoors and in inclement urban environments in order to extend coverage of cellular networks. These cells require frequency stability of roughly 50 parts per billion and need to be synchronized to the network to accuracies of a roughly 3 microseconds in order to achieve handoff of calls between the microcells and existing cellular infrastructure.
Consider the scenario where the user device measures a set of signals with sufficiently low HDOP in order to compute position according to Equation (35). In this case, the user-reference clock bias can be directly computed τru=τr(tr)−τu(tu). Consequently, absolute time at the user can be found according to tu={circumflex over (t)}u+τr(tr)−τru. Since the reference receiver is driven by a GPS-stabilized clock, τr(tr) is known to within roughly 50 ns, and the accuracy of this computation is dominated by the error in computing τru in a high-multipath environment for the user device. The magnitude of this error may be estimated based on the positioning accuracy of the system summarized in Table 1 by dividing these errors by the speed of light. In this scenario, the exact time of transmission of the synchronization signal is never directly determined.
Next consider the scenario in which the user position cannot be computed, but is known from other sources—for example, by inverse geo-coding of the address at which a micro-cell is known to be installed. Consider Equation (23) above, describing the pseudorange measurement at the reference device. Since the reference receivers are constructed with stable oscillators that are locked to GPS time, many of the terms in this expression can be known independently: Knowledge of the transmitter location (to within 100 ns radial) and the GPS-measured position of the reference receiver (to within 50 ns radial) can be used to determine rrt; the local clock can be compared with GPS time to compute τr(tr) to within 50 ns; Nrt can be computed exactly according to
The computation of transmission time of the synchronization signal is subject to the error budget shown in Table 1. This information may then be applied to Equation (22) in order to compute the clock offset of the user device, where the user device could be, for example, a micro-cell in a cellular network.
τu(tu)c=φusr,t(tu)−rut−bu+{circumflex over (t)}uc−c({circumflex over (t)}t−τt(tu))+Nutλt (40)
Note that what has been computed is not {circumflex over (t)}t−τt(tu) but only {circumflex over (t)}t−τt(tr). To address this, expand τt(tu) to first order
Substituting Equation (42) into Equation (40), and rearranging terms, yields:
Consider the error budget for this computation. The pseudorange φusr,t(tu) may be measured with a 2-sigma accuracy of roughly 200 ns in a multipath environment (see positioning results below). Assume that the distance rut is known to within 300 ns and the receiver hardware bias bu is calibrated to 20 ns. The term {circumflex over (t)}u is known by definition and the term {circumflex over (t)}t−τt(tr) is measured to within 133 ns as shown in Table 1. The terms {circumflex over (t)}u−{circumflex over (t)}r are known, and term τr(tr) is measured to within 50 ns using a GPS-stabilized clock at the reference receiver. The term ∂τt/∂t refers to the frequency offset of the symbol rate clock at the transmitter. The accuracy with which this is known is determined by the effects of multipath on the pseudorange accuracy at the reference receiver, as well as by the Allan Variance of the transmitter clock which impact how regularly measurements must be taken. Over measurement intervals of roughly 0.1 to 100 seconds, the Allan Variance for a TV transmitter clock may be based upper bounded from the conservative quartz crystal Allan Variance of 10−9. To track the clock offset more precisely by more rapid measurements, one is typically limited by the accuracy with which the pseudorange can be measured at the reference. For example, recompute ∂τt/∂t, without filtering, for every field synch burst or 24 ms. Given a 2-sigma pseudorange accuracy of 50 ns, ∂τt/∂t at can be measured to an accuracy of roughly 2.10−6. By filtering the measurements of ∂τt/∂t with a time constant of roughly 1 second, this term can be measured to an accuracy better than 10−8. So, given {circumflex over (t)}u−{circumflex over (t)}r of no more than one second, the term (∂τt/∂t)({circumflex over (t)}u−{circumflex over (t)}r−τr(tr)) is known to within 10 ns. As above, the integer ambiguity is computed according to
Note that the techniques described here are not limited to ATSC digital TV transmissions. They may also be applied to any transmission for which a known synchronization code is included for which time of arrival at a receiver can be measured. This includes analog TV using GCR and other reference signals, FM radio from which timing can be extracted using carrier-phase measurements of wide-laned signals; cellular CDMA, TDMA and GSM signals, DVB-T, DVB-H, T-DMB, ISDB-T, MediaFlo, and a host of other COFDM signals.
Synchronizing a User Terminal with Absolute Time
The local clock of a user terminal can be aligned to match absolute time without a local source of absolute time, e.g. a GPS receiver. The better known the location of the user terminal, the higher the accuracy of the synchronization, but the technique is robust enough that some degree of synchronization is possible even with great uncertainty in the location of the user terminal.
One technique employs the predictable evolution of relative phase between NTSC frames and ATSC fields to resolve an integer ambiguity without resorting to stochastic approaches, such as integer search.
ATSC transmitter T2 transmits an ATSC (digital TV) signal. NTSC transmitter T1 transmits an NTSC signal (analog TV with an embedded timing signal such as the GCR or multiburst). The two transmitters T1, T2 do not have to be co-located. Monitor unit 1606 has a known location and accurate absolute time, e.g. GPS time. The location of user terminal 1602 is available to the monitor unit 1606. However, rough time synchronization can be done without monitor unit 1606 knowing the exact location of user terminal 1602.
Referring to
where RM,T1 and RM,T2 represent geometric ranges between monitor unit 1606 and transmitters T1 and T2, respectively, and where RU,T1 and RU,T2 represent geometric ranges between user terminal 1602 and transmitters T1 and T2, respectively.
Transmitter 1626 of monitor unit 1606 transmits a message to user terminal 1602 containing the values TU,1 and TU,2 (step 1708). Receiver 1608 of user terminal 1602 receives the message (step 1710). After receipt of the message, arrival time module 1612 of user terminal 1602 measures the arrival times T′U,1 and T′U,2 of one wavefront from each transmitter T1, T2, respectively, based on local clock 1610 (step 1712). Alternatively, user terminal 1602 can measure the difference in arrival times of the wavefronts. These wavefronts are, of course, later wavefronts than those referenced in the message, and may be arbitrarily chosen by user terminal 1602.
The integer wavelength ambiguity constraints on the wavefronts observed at user device mandate that N1 and N2 be integers in the equations below, where λ1 and λ2 are the wavelengths of transmitter T1 and T2, respectively.
Subtract equations (46) and (46) above and rearranging yields:
c[(TU,1−TU,2)−(T′U,1−T′U,2)]=N2λ2−N1λ1 (48)
All terms on the left hand side of equation (48) are known from observations. Therefore the two unknowns remaining are the integers N1 and N2. Equation (48) has an infinite number solutions for N2, equally spaced at intervals of LCM(λ1, λ2)/λ2. Similarly, there are an infinite number of integer solutions for N1, each equally spaced at intervals of LCM(λ1, λ2)/λ1. It follows that valid solutions for N2 λ2 and N2 λ1 are also periodic and both are spaced at intervals LCM(λ1, λ2).
In order to completely resolve the integer ambiguity, one additional constraint is applied. Limits are imposed on the time lag, L, between the computed time of arrival TU of the wavefront represented by the message, and the measured time of arrival T′U of a different wavefront from the same transmitter:
Lmin<L≦Lmax (49)
Lmin<(T′U,1−TU,1)≦Lmax (50)
Lmin<(T′U,2−TU,2)≦Lmax (51)
Define W to be the possible range of time lag L:
W=Lmax−Lmin (52)
In practice, range W will be almost entirely determined by variations in message latency, e.g. as transmitted via SMS. There is a unique solution for N2 and N1, as long as the inequality below holds:
c·W≦LCM(λ1,λ2) (53)
Once N1 or N2 is known, it can be substituted in equation (46) or (47) to compute the absolute time at which user terminal 1602 measured the arrival of a wavefront. From the NTSC and ATSC specifications, wavelengths λ1 and λ2 can be calculated.
Wavelengths λ1 and λ2 are exactly related by a fraction.
From inequality (53), the maximum tolerable uncertainty in message latency, Wmax, is about 36 minutes. This is essentially the “beat frequency” of the NTSC frame rate and the ATSC field rate.
Setting Lmin=0, absolute time synchronization at user terminal 1602 can be achieved providing that a message can propagate from monitor unit 1606 to user terminal 1602 in 36 minutes or less. Equation (56) assumes that no errors exist in the transmitter symbol clocks, the receiver's measurements and the estimate of receiver position.
Referring again to
For the moment, assume that the symbol clocks at transmitters T1 and T2 are perfect (no frequency offset and no jitter) and that the position of user terminal 1602 is known exactly. The measurement errors allowed at user terminal 1602 and monitor units 1606, i.e. due to clock imperfections or multipath, are now described.
Let m represent a combination of the observed quantities and substitute it into equation (48).
m=(TU,1−TU,2)−(T′U,1−T′U,2) (57)
c·m=N2λ2−N1λ1 (58)
The maximum allowed measurement error of m before integer ambiguities result is given by
That corresponds to an allowed maximum time error in measurements, Δmmax, of approximately 186 ns. In practice, most of that measurement error is contributed by user terminal 1602, since monitor unit 1606 is optimized for high accuracy measurements with a precise local clock, directional antennas, filters, etc.
Because m is an equation describing the relative phase of two waves, symbol rate frequency offsets at the transmitters cause errors in m that increase with time. Eventually, those errors can grow large enough to cause integer ambiguities in the solution for N1 and N2. Hence, symbol rate offsets may decrease the maximum allowed value of W below the ideal case. The maximum allowed transmitter frequency error, assuming no measurement errors at the user or monitor can be derived from equation (58).
|(γ1−γ2)W|≦Δmmax (60)
According to equation (60), the uncorrectable difference between the two transmitter clocks must not be greater than 1 ns per 11.7 seconds of W. For example, if W=Wmax then the time slip between the two transmitter clocks must not be more than 186 ns in 36 minutes. That's about 0.08 ppb accuracy (or 0.06 ppb per transmitter, assuming each has equal error). The integer ambiguity can be resolved correctly when:
|(γ1−γ2)W+εu+εm+εR|≦Δmmax (61)
where
The maximum permitted measurement error, Δmmax, of 186 ns is not unattainable, but it is unlikely to be achieved in conditions of even minor multipath degradation. It is possible that more tightly controlled timestamp message latency result in larger allowed values of Δmmax. However, this can't be determined analytically as it depends on the particular numerical values of λ1 and λ2. Simulated results, summarized in Table 3, reveal that gradual reductions in Wmax result in stepwise reductions in Δmmax.
Of interest is the third line of Table 3, which shows that it is possible to resolve the N1/N2 integer ambiguity even when the uncertainty in position is several tens of miles, i.e. when position is estimated only via the location of the nearest cellular tower. It is likely, however, that the low value of Wmax required would dictate that GPRS or some other type of packet data transfer mechanism be used rather than SMS. Another possibility is to use a different technique to roughly estimate L to within Wmax or better and use this mixed-lambda approach to refine that estimate.
If the integer wavelength ambiguity can be resolved completely using the techniques above, there are three remaining limitations on the accuracy of time transfer. First, the wavefront arrival timestamps TU,1 and TU,2, as computed from equations (44) and (45), are subject to error due to inaccurate knowledge of the user's location. Specifically, errors in the range between the user device and the transmitters (RU,T1 or RU,T2) introduce a time offset with respect to absolute time. Additional timestamp error may be due to unmitigated multipath components or clock errors at the monitor, which affect the measurement of TM,1 and TM,2.
Second, there is uncertainty in the temporal localization of T′u,1 and T′u,2. If SNR levels are reasonably high (such that the Cramer-Rao bound is not the limiting factor), the main sources of error will be uncorrectable multipath. There may also be (much smaller) error contribution due to local oscillator clock drift in the user device.
Third, there may be significant delay through the analog front-end, which will introduce a time offset. SAW filters are the primary culprit here, as they can impose delays of tens of microseconds. However, this error is common to all stimulus received via the tuner, so it is only of importance when local interaction with the synchronized clock is necessary.
The first limitation exposes a chicken-and-egg situation in that accurate time synchronization requires accurate user position, but accurate user position (via TOA techniques) is presumably the goal of accurate time synchronization. An iterative technique can be used to simultaneously resolve position and absolute time.
Another technique employs colocated TV transmitter pairs, that is, pairs of ATSC (or pairs of NTSC) channels that are located on the same transmission tower. A colocated pair of transmitters implies knowledge of the distance between the two transmitters, which removes the requirement of a priori knowledge of the receiver's position.
For a given channel i, the receiver produces an estimate of the time-of-arrival (TOA) of the channel's synchronization waveform at the receiver TOAi. Mathematically, this estimate can be represented using the pseudorange equation:
{circumflex over (R)}i/c=TOAi−TOTi+b+νi (62)
with TOTi representing the time the synchronization waveform was emitted from the transmitter, Ri representing the distance between transmitter and receiver, b representing the receiver clock bias common to all TOA measurements, and νi representing the measurement error. The TOTi value is generally provided by a monitor unit, which has absolute knowledge of its own time and position.
The transmitter periodically transmits the synchronization waveform with period λi. Thus, the fact that the TOTi reported by the monitor may not directly correspond to the waveform received at the user should be considered. Equation (62) can be expanded to include this ambiguity, so that
{circumflex over (R)}i/c=TOAi−(TOTi+Niλi)+b+νi (63)
where Ni is the number of periods between the monitor unit's TOT measurement and the user's TOA measurement. Note that Ni is restricted to an integer value.
The ambiguity term Ni can be resolved or eliminated to allow application of the pseudorange equation in determining the user's position. First, consider a pair of pseudoranges for channels i and j, leading to
The (TOAi−TOAj) term is a time-difference-of-arrival (TDOA) measurement. By taking this difference, the bias term b is eliminated. Channels i and j are required to be a colocated pair; that is both i and j must be located on the same tower. This means that Ri=Rj, or Ri−Rj=0. Assuming the measurement noise (νi−νj) is significantly small yields
(Niλi−Njλj)=(TOTi−TOTj)−(TOAi−TOAj)=tdiff (65)
Assuming λi≈λj≈λ an estimate of the difference between Ni and Nj is given by
Δij=Ni{circumflex over (−)}Nj=round(tdiff/λ) (66)
Substituting Nj=Ni−ij yields
Niλi=(Ni−Δij)λj=tdiff (67)
or
Thus, the channel's actual time of transmission is TOTi+Niλi.
An error analysis of this technique begins with defining a fractional code rate offset (FCRO) quantity, which measures the clock offset of a given transmitter. The FCRO of channel i is defined as
where λ is the period associated with an ideal transmitter clock. Also,
Substituting equation (70) into equation (68) yields
Now, assuming FCROi<<1, which is generally the case, then
and
The likelihood of an erroneous estimate of Ni is directly related to the denominator (FCROj−FCROi), which is the delta-FCRO between channels i and j. The larger a colocated pair's delta-FCRO, the smaller the likelihood of a measurement error (in tdiff) leading to an error in estimating Ni. As an example, consider an ATSC channel pair having delta-FCRO=1e−6. Using the fact that λ=0.0241972 for ATSC signals, the minimum amount of measurement error that produces an incorrect ambiguity estimate is
Other methods for time transfer exist. These include time stamping of sampled data at a user device and a monitor unit, where strong correlation between the two data sets in conjunction with user position and clock bias estimation yield precise and accurate absolute time. Furthermore, broadcast systems such as MediaFlo, DVB and T-DMB include both frame counters and coarse time (hour, minute) descriptors in their data messages. Extracting those values from the broadcast data messages could be used to provide imprecise but accurate time to a user device, not unlike the function of the z-count for GPS. Precision of the time estimate would then be ensured by resolving user position and clock bias.
Embodiments within the scope of the present invention can be implemented in digital electronic circuitry, computer hardware, firmware, software, or in combinations thereof. Embodiments can be implemented in computer-readable media embodying computer-executable instructions or data structures. Such computer-readable media can include any media which is accessible by a general-purpose or special-purpose computer system, and can include physical storage media, or any other media, which can embody computer-executable instructions or data structures, and which can be accessed by a general-purpose or special-purpose computer system. Physical storage media can include, for example, semiconductor memory devices such as RAM, ROM, EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; optical disks such as CD-ROM, DVD; and the like. Any of the foregoing can be supplemented by, or incorporated in, ASICs (application-specific integrated circuits).
Method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. Embodiments can be implemented 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 can include both general-purpose microprocessors and special-purpose microprocessors.
A number of implementations of the invention have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other implementations are within the scope of the following claims.
This application claims benefit of U.S. Provisional Patent Application Ser. No. 60/938,247 filed May 16, 2007, the disclosure thereof incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4555707 | Connelly | Nov 1985 | A |
4652884 | Starker | Mar 1987 | A |
4700306 | Wallmander | Oct 1987 | A |
4894662 | Counselman | Jan 1990 | A |
5045861 | Duffett-Smith | Sep 1991 | A |
5157686 | Omura et al. | Oct 1992 | A |
5166952 | Omura et al. | Nov 1992 | A |
5271034 | Abaunza | Dec 1993 | A |
5323322 | Mueller et al. | Jun 1994 | A |
5398034 | Spilker, Jr. | Mar 1995 | A |
5481316 | Patel | Jan 1996 | A |
5504492 | Class et al. | Apr 1996 | A |
5510801 | Engelbrecht et al. | Apr 1996 | A |
5604765 | Bruno et al. | Feb 1997 | A |
5630206 | Urban et al. | May 1997 | A |
5648982 | Durrant et al. | Jul 1997 | A |
5774829 | Cisneros et al. | Jun 1998 | A |
5784339 | Woodsum et al. | Jul 1998 | A |
5835060 | Czarnecki et al. | Nov 1998 | A |
5920284 | Victor | Jul 1999 | A |
5952958 | Speasl et al. | Sep 1999 | A |
5953311 | Davies et al. | Sep 1999 | A |
6006097 | Hornfeldt et al. | Dec 1999 | A |
6016119 | Krasner | Jan 2000 | A |
6078284 | Levanon | Jun 2000 | A |
6094168 | Duffett-Smith et al. | Jul 2000 | A |
6107959 | Levanon | Aug 2000 | A |
6137441 | Dai et al. | Oct 2000 | A |
6144413 | Zatsman | Nov 2000 | A |
6147642 | Perry et al. | Nov 2000 | A |
6181921 | Konisi et al. | Jan 2001 | B1 |
6184921 | Limberg | Feb 2001 | B1 |
6201497 | Snyder et al. | Mar 2001 | B1 |
6215778 | Lomp et al. | Apr 2001 | B1 |
6289280 | Fernandez-Corbaton et al. | Sep 2001 | B1 |
6308280 | Joseph et al. | Oct 2001 | B1 |
6317452 | Durrant et al. | Nov 2001 | B1 |
6317500 | Murphy | Nov 2001 | B1 |
6373432 | Rabinowitz et al. | Apr 2002 | B1 |
6374177 | Lee et al. | Apr 2002 | B1 |
6400753 | Kohli et al. | Jun 2002 | B1 |
6433740 | Gilhousen | Aug 2002 | B1 |
6437832 | Grabb et al. | Aug 2002 | B1 |
6484034 | Tsunehara et al. | Nov 2002 | B1 |
6522297 | Rabinowitz et al. | Feb 2003 | B1 |
6559800 | Rabinowitz et al. | May 2003 | B2 |
6559894 | Omura et al. | May 2003 | B2 |
6590529 | Schwoegler | Jul 2003 | B2 |
6646603 | Dooley et al. | Nov 2003 | B2 |
6717547 | Spilker, Jr. et al. | Apr 2004 | B2 |
6727847 | Rabinowitz et al. | Apr 2004 | B2 |
6753812 | Rabinowitz et al. | Jun 2004 | B2 |
6806830 | Panasik et al. | Oct 2004 | B2 |
6839024 | Spilker, Jr. et al. | Jan 2005 | B2 |
6859173 | Spilker, Jr. et al. | Feb 2005 | B2 |
6861984 | Rabinowitz et al. | Mar 2005 | B2 |
6879286 | Rabinowitz et al. | Apr 2005 | B2 |
6914560 | Spilker, Jr. et al. | Jul 2005 | B2 |
6917328 | Rabinowitz et al. | Jul 2005 | B2 |
6937866 | Duffett-Smith et al. | Aug 2005 | B2 |
6952182 | Spilker, Jr. et al. | Oct 2005 | B2 |
6961020 | Robinowitz et al. | Nov 2005 | B2 |
6963306 | Spilker, Jr. et al. | Nov 2005 | B2 |
6970132 | Spilker, Jr. et al. | Nov 2005 | B2 |
7042396 | Omura et al. | May 2006 | B2 |
7042526 | Borseth | May 2006 | B1 |
7042949 | Omura et al. | May 2006 | B1 |
7126536 | Rabinowitz et al. | Oct 2006 | B2 |
7260378 | Holland et al. | Aug 2007 | B2 |
7269424 | Camp, Jr. | Sep 2007 | B2 |
7372405 | Rabinowitz et al. | May 2008 | B2 |
7463195 | Rabinowitz et al. | Dec 2008 | B2 |
20020122003 | Patwari et al. | Sep 2002 | A1 |
20020168988 | Younis | Nov 2002 | A1 |
20020184653 | Pierce et al. | Dec 2002 | A1 |
20020199196 | Rabinowitz et al. | Dec 2002 | A1 |
20030156063 | Spilker et al. | Aug 2003 | A1 |
20030162547 | McNair | Aug 2003 | A1 |
20040073914 | Spilker et al. | Apr 2004 | A1 |
20040201779 | Spilker et al. | Oct 2004 | A1 |
20050066373 | Rabinowitz | Mar 2005 | A1 |
20050251844 | Martone et al. | Nov 2005 | A1 |
20070050824 | Lee et al. | Mar 2007 | A1 |
20070121555 | Burgess et al. | May 2007 | A1 |
20070131079 | Opshaug et al. | Jun 2007 | A1 |
20070182633 | Omura et al. | Aug 2007 | A1 |
20070296632 | Opshaug et al. | Dec 2007 | A1 |
20080266453 | Fisher | Oct 2008 | A1 |
Number | Date | Country |
---|---|---|
3242997 | May 1984 | DE |
58129277 | Aug 1983 | EP |
2 222 922 | Mar 1990 | GB |
2 254 508 | Oct 1992 | GB |
Number | Date | Country | |
---|---|---|---|
60938247 | May 2007 | US |