This application hereby incorporates by reference in its entirety for following documents: 1) 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., 2) J. Spilker, Jr., Digital Communications by Satellite, Prentice-Hall, Englewood Cliffs, N.J., 1977, 1995, and 3) B. W. Parkinson and J. Spilker, Jr., Global Positioning System-Theory and Application, Volume 1, AIAA, Washington, D.C. 1996.
1. Field of the Invention
The present invention relates generally to position location, and specifically to a receiver that estimates the pilot frequency of a television signal and tracks the phase of the pilot signal.
2. Description of the Related Art
The Global Positioning System (GPS) technology has revolutionized the field of navigation and position location. Initially devised in 1974, the GPS is based on a constellation of 24 on-orbit satellites in 12 hour circular, inclined orbits. Each satellite transmits a known pseudo-noise signal synchronized to an on-board precision atomic clock. The transmitted pseudo-noise signals can be precisely tracked by a receiver at an unknown location to determine pseudo-ranges. By tracking four or more satellites, one can determine precise position in three dimensions in real time, world-wide. More details on the operation of GPS are provided in (1) B. W. Parkinson and J. J. Spilker, Jr., Global Positioning System-Theory and Applications, Volumes I and II, AIAA, Washington, D.C. 1996, and (2) J. Spilker, Jr., Digital Communications by Satellite, Prentice-Hall, Englewood Cliffs, N.J., 1977, 1995, which are incorporated by reference herein in their entirety.
However, the effectiveness of GPS is limited in some situations. 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 31 160 dBW as received by an omni-directional antenna). Thus the signal is marginally useful or not useful at all in the presence of line-of-sight blockage or while the receiver is inside a building.
This limitation or shortcoming of GPS technology can be overcome or ameliorated by employing position location technologies based on receiving broadcast television signals. High power, high bandwidth, and superior geometries make various broadcast television signals ideal candidates for augmenting or improving position location where the GPS technology fails. For example, various digital television (DTV) broadcast signals contain embedded synchronization codes which can be used for position determination purposes. The ATSC standard in the United States, the DVB standard in Europe, and the ISDB-T standard in Japan all employ an embedded synchronization code which is used to probe the transmission channel and mitigate the effects of multipath in a digital TV receiver. In order to be effective for channel modeling and multipath mitigation, these synchronization codes have wide bandwidths, narrow time autocorrelation functions, and high power levels. These features make these synchronization codes ideal for positioning, in particular for indoors positioning where multipath effects are severe and GPS signals may not penetrate. In addition, the Ghost-Canceling Reference (GCR) signals embedded in analog television broadcasts can be used for precise ranging. In recent years, analog television broadcasts have started to insert into their broadcasts a synchronization code termed the Ghost-Canceling Reference, which is used for multipath mitigation on analog signals in TV receivers that digitize the signal. High power characteristics and wide availability of GCR signals make them suitable for position location. Other test signals inserted in the analog broadcasts, such as the multiburst signal, may also be used for position determination. In the GPS system, autocorrelation of a known Pseudo-Random-Number (PRN) sequence signal (i.e., a pseudo-noise signal) is used to determine pseudo-ranges. Other test signals inserted in the analog broadcasts, such as the multiburst signal, may also be used for positioning.
There has even been a proposed system using conventional analog National Television System Committee (NTSC) television signals to determine position. This proposal is found in a U.S. patent entitled “Location Determination System And Method Using Television Broadcast Signals,” U.S. Pat. No. 5,510,801, issued Apr. 23, 1996. However, the technique described the use of the horizontal and vertical synchronization pulses which were intended only for relatively crude synchronization of the TV set sweep circuitry, and cannot achieve the level of positioning accuracy or reliability of the disclosed location technology. Further, in 2006 the Federal Communication Commission (FCC) will consider turning off NTSC transmitters and reassigning that valuable spectrum so that it can be auctioned for other purposes deemed more valuable.
A strong emphasis is being placed on the mobile user for the type of services that DTV can provide. For example, efforts are ongoing in Korea and Japan to generate cellular handsets which include television tuners for the purpose of receiving television on the mobile device as well as data conveyed using the DTV channel. A correct design of the receiver architecture, as described in this disclosure will enable data reception, as well as location using TV signals in combination with GPS.
One problem with conventional position determination technology relates to the capacity and processing circuitry of the user device. The computations to ultimately determine position location, particularly when using both GPS and television signals, can be complex to say the least. In many instances, the position location technology is placed in a compact mobile device. A typical mobile device has finite processing power, limited analog front end sophistication, a relatively limited power source and restricted memory capacity. In the case of a handheld receiver or telephone with receiver functionality for position location, a limited amount of real estate may exist on the printed circuit board(s) to implement sophisticated circuitry for managing receiver functions. Additionally, the more circuitry designed onto the card, generally the greater the battery consumption, which may be especially undesirable for mobile devices such as transceivers or cellular telephones.
These problems and limitations that exist with mobile devices are exacerbated in light of the objective that the receiver perform position computations in as close to real time as possible. This may be especially true where the user device is in motion, and it is desirable to obtain as high a quality position measurement as possible. An effective method and system is needed to perform the required computations for position location as expediently as possible and using minimal computational requirements given the limitations on size, memory capacity, and processing power on many of these user devices.
To this end, one possible approach is to employ a “software” based receiver device which uses, in addition to an analog front end for receiving, filtering, amplifying and digitizing the broadcast television signal, a processor such as a DSP or microprocessor to sample a sequence of the downconverted broadcast signal, and then to process the sample by executing necessary routines that manipulate the digitized signal. Such a software implementation, designed properly, can have the advantages of mitigating multipath interference and reducing the complexity of circuitry on the integrated circuits that are embedded within the mobile device. However, given the critical timing requirements and relative sophistication of a digital broadcast signal, even a solution using a processor or DSP to perform primary correlation functions can produce inaccurate results, and without any appreciable decrease in computational requirements. Additionally, the traditional correlation process for identifying time offsets between transmissions of a known code sequence and its arrival at a mobile receiver can add considerable complexity into the mix. In particular, for each signal segment interval (e.g., a single packet of information in a television broadcast signal), a separate correlation operation may need to be performed to extract timing information from each segment. As the number of intervals increase, the number of required correlation operations likewise increases, which taxes the processing unit of the receiver and limits the capability of smaller mobile devices to produce position-related information (either for itself or a location server or other computing device) in near real time as is highly desirable in such mobile applications.
Another problem relates to the acquisition of the carrier frequency in the received signal. Generally, the carrier frequency of a transmitted radio signal can drift due to, among other reasons, oscillator instability. For many applications, including a software-based receiver, the receiver may need to rapidly acquire the unknown carrier frequency of the radio signal. Acquiring the carrier frequency is necessary to accurately retime the signal and to convert the received signal to a baseband format for further processing. Where the estimated pilot frequency is inaccurate, these errors will generally be amplified in ensuing calculations resulting in inaccuracies in position determination. Further, where the estimation of the pilot frequency is too slow, the software receiver may be unable to operate in near-real time, resulting in poor performance of a mobile receiver.
Accurately tracking the pilot tone of a television signal is also problematic. The problem stems in part from the fact that, in many television signal formats, the segment length is a non-integer value and hence a phase-locked-loop for tracking the pilot tone cannot be clocked at a precise frequency without introducing potentially unacceptable amounts of jitter into the phase-corrected output signal.
As the demand for progressively smaller and more compact mobile devices continues, it becomes more desirable and advantageous to implement a processor-based solution that eliminates much of the hardware otherwise necessary to process the signal and extract critical timing information for purposes of position location. Processing requirements include the need for a novel and robust method for rapidly acquiring a pilot frequency and for tracking the received signal in software using an appropriately configured phase-locked-loop solution.
The present invention addresses the foregoing needs and objectives by providing a receiver apparatus and method that uses a processor to rapidly estimate the pilot frequency of a received pilot signal embedded in a television broadcast signal. The present invention discloses in another aspect a method and apparatus for tracking the pilot phase of a received signal.
In one aspect of the present invention, a method of estimating a frequency of a pilot signal at a receiving device comprises: computing a baseband version of the pilot signal relative to a reference frequency; defining time-shifted segments for the pilot signal and for the baseband version of the pilot signal; computing, for each of the time-shifted segments, phase correction terms using the pilot signal and the baseband version of the pilot signal; phase-correcting the each of the time-shifted segments by multiplying the each of the time-shifted segments by its associated phase-correction term; accumulating the phase-corrected time shifted-segments; and estimating the pilot frequency using the accumulated phase-corrected time-shifted segments.
In another aspect of the invention, a receiving apparatus for estimating a pilot frequency of a television broadcast signal comprises (a) an antenna for receiving the television broadcast signal; (b) a filter coupled to the antenna for filtering the television broadcast signal; (c) an amplifier coupled to the filter; (d) an analog-to-digital converter coupled to the amplifier for digitizing the television broadcast signal; and (e) a processor coupled to the analog digital converter, the processor configured to estimate the pilot frequency by: (i) computing a baseband version of the pilot signal relative to a reference frequency; (ii) defining time-shifted segments for the pilot signal and for the baseband version of the pilot signal; (iii) computing, for each of the time-shifted segments, phase correction terms using the pilot signal and the baseband version of the pilot signal; (iv) phase-correcting the each of the time-shifted segments; (v) accumulating the phase-corrected time shifted-segments; and (vi) estimating the pilot frequency using the accumulated phase-corrected time-shifted segments.
In yet another aspect of the invention, a receiver circuit for estimating the pilot frequency of a television broadcast signal, comprises: an antenna for receiving the television broadcast signal; filtering and amplifying circuitry coupled to the antenna; an analog to digital converter coupled to the filtering and amplifying circuitry; a digital processor coupled to the analog to digital converter for receiving a digitized version of the television signal, the processor configured to estimate the pilot frequency within the television broadcast signal by using an ideal pilot carrier frequency estimate and by selecting a sufficient number of segments of the television broadcast signal to produce a threshold signal-to-noise ratio; and a memory circuit coupled to the digital processor.
In still another aspect of the invention, a receiver circuit for estimating the pilot frequency of a television broadcast signal comprises: an antenna for receiving the television broadcast signal; filtering and amplifying circuitry coupled to the antenna; an analog to digital converter coupled to the filtering and amplifying circuitry; a local oscillator; a digital processor coupled to the analog to digital converter and to the local oscillator for receiving a digitized version of the television signal, the processor configured to estimate the pilot frequency within the television broadcast signal and to calibrate the local oscillator using the estimated pilot frequency; and a memory circuit coupled to the digital processor.
In still another aspect of the invention, a receiver comprising a phase-locked loop (PLL) for tracking the phase of a pilot signal in a television broadcast signal having segments comprising a non-integer number of samples, comprises a loop filter; a numerically-controlled oscillator (NCO) coupled to the loop filter, the NCO comprising an output having an estimated phase value; and a phase detector coupled to the loop filter for comparing the phase of the pilot signal with the estimated phase value output; wherein a center frequency of the NCO is scaled by a quantity sufficient to adjust the estimated phase value output from the NCO to reduce an average jitter value in the estimated phase value output below a threshold level.
In still another aspect of the invention, computer-readable media embodying a program of instructions executable by a computer program to perform a method of estimating a pilot frequency embedded in a television broadcast signal comprises: computing a baseband version of the pilot signal relative to a reference frequency; defining time-shifted segments for the pilot signal and for the baseband version of the pilot signal; computing, for each of the time-shifted segments, phase correction terms using the pilot signal and the baseband version of the pilot signal; phase-correcting the each of the time-shifted segments by multiplying the each of the time-shifted segments by its associated phase-correction term; accumulating the phase-corrected time shifted-segments; and estimating the pilot frequency using the accumulated phase-corrected time-shifted segments.
Other and further objects and advantages of the present invention will be further understood and appreciated by those skilled in the art by reference to the following specification, claims, and drawings.
In general, in one aspect, the invention features a method and apparatus for receiving TV and GPS signals and determining position location in a manner that provides for rapid signal synchronization while minimizing receiver computational requirements. The invention also features a method and apparatus for coherent accumulation of intermediate frequency (IF) signals, which in turn permits real time or near real-time operation using a software implementation of the receiver. The invention further discloses a method for rapid open-loop acquisition of the pilot frequency of the received radio signal. The receiver described herein can be a receiver used either solely for receiving terrestrial or television broadcast signals, for receiving both television and GPS signals, or for receiving different types of television broadcast signals for position determination purposes. In certain embodiments, the receiver described herein is implemented in software on a microprocessor or general purpose CPU. In other embodiments, the receiver may be implemented using one or more dedicated integrated circuits which may include digital signal processors, application-specific integrated circuits (ASICs), programmable logic devices, and the like. In one embodiment, the user device employs a digital signal processor (DSP) programmed to perform the computations for pseudo-range determination and position location on mobile devices.
The receiver as described herein need not be limited to a handheld receiver, but may also encompass other types of receivers, including those in automobiles or other transport mechanisms (such as airplanes, etc.). The term receiver is intended to broadly encompass all such classes of device which contain the functionality for receiving and properly interpreting broadcast television and/or GPS signals for the purpose of calculating location, whether alone or in conjunction with other devices or server-based equipment.
Position Location Performed by a Location Server
Various methods can be used to select which TV channels to use in position location. In one implementation, a location server 110 tells user terminal 102 of the best TV channels to monitor. In some implementations, user terminal 102 exchanges messages with location server 110 by way of base station 104. User terminal 102 may select TV channels to monitor based on the identity of base station 104 and a stored table correlating base stations and TV channels. In some implementations, user terminal 102 can accept a location input from the user that provides a general indication of the location of the user terminal, such as the name of the nearest city; and uses this information to select TV channels for processing. User terminal 102 may scan available TV channels to assemble a fingerprint of the location based on power levels of the available TV channels. User terminal 102 compares this fingerprint to a stored table that matches known fingerprints with known locations to select TV channels for processing. This selection may be based on the power levels of the DTV channels, as well as the directions from which each of the signals are arriving, so as to minimize the dilution of precision (DOP) for the position calculation.
User terminal 102 determines a pseudo-range between the user terminal and each TV transmitter 106 (step 204). Each pseudo-range represents the time difference (or equivalent distance) between a time of transmission from a transmitter 106 of a component of the TV 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 may transmit the pseudo-ranges to location server 110. In certain implementations, location server 110 is implemented as a general-purpose computer executing software designed to perform the operations described herein. In another implementation, location server is implemented as one or more ASICs (application-specific integrated circuit), DSPs or other circuit or device. In one embodiment, location server 110 is implemented within or near base station 104.
The TV signals are also received by a plurality of monitor units 108A through 108N. Each monitor unit 108 can be implemented as a small unit including a transceiver and processor, and can be mounted in a convenient location such as on a utility pole, TV transmitter 106, base station 104, or the like. In still other implementations, monitor units 108 may be implemented on satellites.
Each monitor unit 108 measures, for each of the TV transmitters 106 from which it receives TV signals, a time offset between the local clock of that TV transmitter and a reference clock. In some implementations the reference clock is derived from GPS signals. The use of a reference clock permits the determination of the time offset for each TV 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. Monitor units 108 are described in greater detail in U.S. Ser. Nos. 09/887,158, 09/932,010, and 10/054,302, the disclosures thereof which are incorporated by reference herein in their entirety.
In another implementation, no external time reference is needed. According to this implementation, a single monitor unit 108 receives TV signals from all of the same TV transmitters as does user terminal 102. In effect, the local clock of the single monitor unit functions as the time reference.
In some implementations, 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
Toffset(t)=a+b(t−T0)+c(t−T0)2 (1)
that can be described by parameters a, b, c, and T0 with t as the time variable. In either implementation, each measured time offset may be transmitted periodically to the location server 110 using the Internet, a secured modem connection, as part of the actual DTV broadcast data, or the like. In some implementations, the location of each monitor unit 108 is determined using GPS receivers.
Location server 110 receives information describing the phase center (i.e., the location) of each TV transmitter 106 from a database 112. In some implementations, the phase center of each TV 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 TV transmitter 106 is measured by surveying the antenna phase center.
In some implementations, 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. 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.
Location server 110 can also receive from base station 104 information which identifies a general geographic location of user terminal 102. For example, in a cellular application, the information can identify a cell or cell sector within which a cellular telephone is located. This information may be used, among other purposes, for ambiguity resolution.
User terminal 102 receives GPS signals from one or more GPS satellites 120 (step 206). User terminal 102 also receives almanac data describing Doppler shifts and pseudo-noise numbers for GPS satellites 120, as described below. User terminal 102 determines a pseudo-range between the user terminal and each GPS satellite 120 (step 208). Each pseudo-range represents the time difference (or equivalent distance) between a time of transmission from a GPS satellite 120 of a component of the GPS signal and a time of reception at the user terminal 102 of the component, as well as a clock offset, e.g., at the GPS satellite. In this implementation, user terminal 102 transmits the pseudo-ranges to location server 110.
Location server 110 determines a position of the user terminal based on the pseudo-ranges, a location of each of the TV transmitters 106, and a location of the GPS satellites 120 (step 210).
Location server 110 may adjust the value of each pseudo-range according to the tropospheric propagation velocity and the time offset for the corresponding transmitter 302. Location server 110 uses the phase center information from database 112 to determine the position of each transmitter 302.
User terminal 102 makes three or more pseudo-range measurements to solve for three unknowns, namely the position (x, y) and clock offset Toffset(t), which in this embodiment represents a clock offset of user terminal 102. It is assumed that the altitude of the user terminal is known to within the necessary degree of accuracy and only the latitude and longitude of the user terminal need to be precisely determined. Of course, it is possible to solve for position of the user terminal in three dimensions, namely (x, y, z) assuming that four or more transmitters are available, and the geometry of those transmitters is sufficient. It would be clear to one skilled in the art how to adjust the techniques described herein for a 3-Dimensional position fix.
The three pseudo-range measurements pr1, pr2 and pr3 are given by
pr1=r1+Toffset(t) (2a)
pr2=r2+Toffset(t) (3a)
pr3=r3+Toffset(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 three-dimensional vector position (x, y, z) of user terminal, X1 represents the three-dimensional vector position (x1, y1, z1) of transmitter 302A, X2 represents the three-dimensional vector position) (x2, y2, z2) of transmitter 302B, and X3 represents the three-dimensional vector position (x3, y3, z3) of transmitter 302N. These relationships produce three equations in which to solve for the three unknowns x, y, and Toffset(t). Notice that in the case that only latitude and longitude are required, location server 110 assumes some estimate for z and does not solve for it as for the other unknown co-ordinates. In one implementation, using a terrain map, the initial estimate of z can be iteratively refined based on the computed values for x and y. In another implementation, location server 110 actively solves for z Location 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.
A high quality oscillator in the user device generally cannot be assumed. Therefore, techniques for projecting the measurements at the user terminal 102 to a common instant in time (common time instant) 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. In cases where the user clock is not stabilized, or corrected, the user clock offset can be considered to be a function of time, Toffset(t). For a small time interval, Δ, the clock offset, Toffset(t), can be modeled by a constant and a first order term. Namely,
Toffset(t+Δ)=Toffset(t)+bΔ (8)
where c=0 in the polynomial fit of equation (1).
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+Toffset(t1) (2b)
pr2(t2)=r2+Toffset(t2) (3b)
prN(tN)=rN+Toffset(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:
pr1(t1+Δ)=r1+Toffset(t)+bΔ (2c)
pr2(t2+Δ)=r2+Toffset(t2)+bΔ (3c)
prN(tN+Δ)=rN+Toffset(tN)+bΔ (4c)
The user terminal 102 then projects all the pseudo-range measurements to some common point in time (common time instant) 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 Toffset(t0). Note that the projection in equations (2d-4d) is not precise, and second order terms are not accounted for since we assume c=0 in equation (1). However the resulting errors are not significant. One skilled in the art will recognize that second order and higher terms may be accounted for, if necessary, 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 some implementations, user terminal 102 does not compute pseudo-ranges, but rather takes measurements of the signals that are sufficient to compute pseudo-range, such as a set of correlator outputs, and transmits these measurements to location server 110. Location server 110 then computes the pseudo-ranges based on the measurements, and computes the position based on the pseudo-ranges, as described above. The computation of correlator outputs sufficient to produce positioning information is discussed further, below.
Position Location Performed by User Terminal
In some implementations, 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 location server 110, base station 104, one or more TV transmitters 106, GPS satellites 120, 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 TV transmitter 106 and a reference clock. User terminal 102 also receives information describing the phase center of each TV transmitter 106 from a database 112.
User terminal 102 receives the tropospheric propagation velocity computed by location server 110. In some 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 may be used, for example, for ambiguity resolution.
User terminal 102 receives TV signals from one or more TV transmitters 106 and determines a pseudo-range between the user terminal 102 and each TV transmitter 106. User terminal 102 receives GPS signals from one or more GPS satellites 120 and almanac data describing Doppler shifts and pseudo-noise code numbers for the GPS satellites, as described below, and determines pseudo-ranges between the user terminal 102 and the GPS satellites 120. User terminal 102 then determines its position based on the pseudo-ranges, the locations of the TV transmitters 106, and the locations of the GPS satellites 120.
In any of these implementations, the position of user terminal 102 can be determined using a TV transmitter and the offset T computed during a previous position determination for that TV transmitter. The values of T can be stored or maintained according to conventional methods.
In, some implementations, base station 104 determines the clock offset of user terminal 102. Only two transmitters are required in these instances for position determination. Base station 104 transmits the clock offset T to location server 110, which then determines the position of user terminal 102 from the pseudo-range computed for each of the transmitters.
Receiver Signal Processing Architecture
The signal processing for both TV and GPS signals can be performed either using correlation of short samples of the received digitized signals or by using a delay-lock loop or time-gated delay lock loop. Such delay lock loop techniques are disclosed in commonly-owned copending U.S. Non-provisional patent application Ser. No. 10/054,262, “Time-Gated Delay Lock Loop Tracking Of Digital Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed Jan. 22, 2002, the disclosure thereof incorporated by reference herein in its entirety. As described in greater detail below, this disclosure will consider the application of determining pseudo-ranges based on appropriately-applied correlation methods.
In one embodiment, a frequency converter includes a mixer 514 and a local oscillator 516. The mixer 514 combines the filtered signal with the output of a local oscillator 516 to down-convert the filtered signal to a post-frequency converter signal at a convenient IF frequency. In another embodiment, the local oscillator 516 is driven by the frequency synthesizer 508. In one embodiment, the IF frequency is 44 MHz, a standard TV IF frequency. Filter/ADC 518 then filters and digitizes the signal. The signal can then be IF sampled at, for example, 27 Msps using a 10 bit ADC. The digitized signal is fed to a processor 524 for processing. A controller 526 controls filter/amplifier 504, frequency synthesizer 508, and switch 512.
Processor 524 includes, in one embodiment, a digital signal processor (DSP) for retiming and recovering the digitized received signal and using pertinent portions of the signal for time-offset and/or pseudo-range determination. In other embodiments, one or more general purpose microprocessors or ASICs may be used for this application. Exemplary algorithms and associated pseudo-code for execution in processor 524 is set forth below.
A GPS antenna 520, such as a patch antenna, receives the GPS signals. A low noise amplifier and RF filter 522 amplifies and filters the received GPS signals. Switch 512 passes the GPS signal to SAW filter 510. Mixer 514 combines the filtered signal with the output of a local oscillator 516 to down-convert the filtered signal to a convenient IF or baseband frequency. Filter/ADC 518 then filters and digitizes the signal. The signal can then be IF sampled at, for example, 27 Msps using a 10 bit ADC. GPS can be sampled at substantially lower sampling rates and with fewer bits without significantly affecting performance. The digitized signal is fed into a processing component 524 for digital processing. In accordance with the knowledge of one skilled in the art, it is clear that the processing component 524 may be a processor, a microprocessor, a DSP or may be implemented largely in hardware.
In one embodiment, the receiver front end comprises at least one low noise amplifier and RF filter 504, at least one mixer 506, a frequency synthesizer 508, at least one local oscillator 516, a filter 510, an Analog to Digital Converter (ADC) 518 and a controller 526. In some implementations, the entire RF section is fabricated as a single integrated circuit, with the possible exception of the SAW filter 510 (or similar high selectivity bandpass filter) and the processing component 524 which may be fabricated as one or more separate integrated circuits.
We will now explore some of the components of
In the embodiment of
After the first downconversion 610, the signal is branched into two paths—namely through the carrier acquisition unit 640 and second downconversion unit 680. Carrier acquisition unit 640 (a.k.a. carrier recovery) consists of a narrow bandpass filter 642 and a phase-locked loop (PLL) 650 which is illustrated in
The second downconversion unit 680 includes a complex mixer which mixes the I-Q outputs of the first stage of downconversion with the I-Q outputs of the PLL 650. The resulting signal is converted to baseband and, in this embodiment, has a spectrum in the range [0, 6] MHz.
Many alternative techniques exist to implementing the signal processing, which do not change the fundamental idea of the invention. We will not explore in detail the alternative techniques that can be used for processing the GPS signals, since these techniques are well understood in the art. We will focus instead on alternative methods and architectures for processing the TV signals. One alternative is to convert the TV signal output from the SAW filter 510 to baseband instead of to some IF frequency. This approach would typically make use of an in-phase and a quadrature mixer, instead of a single mixer 514. Some of the issues associated with the conversion of an analog signal to baseband will now be discussed in the context of the direct down-conversion architecture of
The receiver architecture 800 shown in
The receiver architecture 800 being described here is a typical for two reasons: Firstly, it does not require the use of an off-chip Surface Acoustic Wave (SAW) SAW filter which most TV receivers employ. Secondly, the receiver is designed to receive only Ultra-High Frequency (UHF) DTV channels, so that the full tuning range can be covered by a single Voltage-Controlled Oscillator (VCO). Of course, additional direct down-conversion paths can be added to receive VHF signals as well as UHF.
While the direct downconversion architecture may be difficult to implement for a data reception receiver, it is more straightforward to use this architecture for a navigation receiver because so much processing gain is available in the digital signal processing of a navigation receiver.
Software Receiver
Once the signal is received and appropriately digitized using one of the examples discussed above, many different approaches exist for correlating the receiver with the downconverted signal and extracting timing information. One approach which considerably mitigates the effects of multipath interference is to use a software algorithm to sample an entire autocorrelation function, rather than to use only early and late samples as in a standard DLL (Delay-locked loop) implemented in hardware. For the purpose of this disclosure, software can refer not only to code run on a general purpose processor, but also to code, whether programmable or firmware, that may be run on special-purpose processors such as DSPs or programmable cores.
Multipath effects can be mitigated by selecting the earliest correlation peak, which generally corresponds to the most direct path of the signal received from the TV transmitter to the user device. In the case that position can be computed with a brief delay, a simple approach is to use a software receiver, which samples a sequence of the down-converted signal, and then processes the sample in firmware on a DSP. We will first describe the correlation processing in the context of a non-coherent software receiver which does not acquire an incident pilot signal.
A nominal offset frequency for the downconverted sampled signal is assumed. If the signal is downconverted to baseband as with the discussion above, the nominal offset is 0 Hz. The process generates the complete autocorrelation function, R(τ), based on sampled signal Ssamp(t). Let Ts 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, in one embodiment, the pseudocode listed below.
Upon exit from the process, Rstore(τ) will store the correlation between the incident sampled signal ssamp(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. As one skilled in the art will recognize, the above pseudo-code can readily be translated into a generic or machine/circuit specific computer program or set of programs to perform the identified operations.
Thus, in one embodiment, a software receiver is employed which samples a sequence of the downconverted signal, and then processes the samples in firmware on a DSP, microprocessor, or similar processing circuit. A receiver implementation in accordance with an embodiment of the present invention will be described in the context of receiving and digitally processing an illustrative digital television signal. It should be understood, however, that the disclosed receiver has equal applicability to other types of television signals and standards, as discussed above. A digital television broadcast signal presents a suitable framework for describing an embodiment of the invention. Accordingly, certain characteristics of an exemplary digital signal are discussed below.
Digital Television Signal Characteristics
While the principles of the present invention are equally applicable to a wide variety of signal types as discussed in greater detail above, one illustrative embodiment uses information contained in a standard ATSC digital television signal to acquire synchronization codes and extract timing information. Accordingly, while the invention is not limited to such an embodiment, we present it here for illustrative purposes as a foundational example of the capabilities of the various aspects of the present invention.
The advancement of the state of the art presently allows the transmission of digital television (DTV) in the same six (6) MHz bandwidth currently used by NTSC. Generally, digital transmission provides superior video and audio reception. In one implementation involving the American Television Standard Committee (ATSC), digital television relies on a signaling technique known as vestigial sideband (“VSB”), which has been developed for terrestrial and cable television broadcasting in the United States. The digital VSB transmission system uses three supplementary signals for synchronization. First, a pilot signal having a relatively small amplitude is used for acquisition of the carrier signal. Second, a data segment sync sequence is employed for synchronizing the frequency and phase of the data clock at the receiver. Third, a data frame sync sequence is used for data framing and equalizer training. The present symbol rate of the ATSC signal is fs=10.762237 MHz, which is derived from a 27.000000 MHz clock.
A representation of an exemplary ATSC frame 900 is shown in
As noted above, the data signal in
An in-phase pilot signal is generated in this modulation scheme by adding a DC value to the baseband signal. The pilot signal is at a constant RF level, at about 11.3 to 12 dB below the 8-VSB data modulated signal components. The pilot signal in this implementation aids in coherent demodulation independent of data, reduces receiver implementation loss, and provides reliable carrier recovery down to very low signal-to-noise ratios. Following modulation of the baseband signal with a high frequency carrier, the pilot signal exists as an in-phase signal.
The in-phase pulse of the 8-VSB signal, constructed by filtering, has a raised-cosine characteristic. To create a VSB signal from the in-phase pulse, the signal is filtered so that only a small portion of the lower sideband remains.
The four-symbol binary SYNC 1140 in this embodiment is repetitive, fixed, and binary. In light of the random nature of the data, the repetitive SYNC signal 1140 may be readily identified. The SYNC signal 1140 may be used to assist in recovery of the clock signal and to allow for correct identification and synchronization of a data segment 1120. The repetitive nature of the SYNC allows receivers to determine the location of the segment intervals in the received signal and, as will be seen, enables the receiver to determine user location based on correlation methods.
Ideal Receiver Operation
For the purposes of understanding the elements of the various embodiments herein, the ideal operation of a mobile receiver is first described and certain key operations are discussed. Thereafter, a description of the basic operations of various embodiments of the mobile receiver is presented. While the discussion below contemplates the use and reception of an ATSC-based digital television signal, it will be appreciated that different types of television broadcast signals may be used without departing from the scope of the invention. In certain embodiments, as will be seen, the receiver rearranges the order of the basic operations and provides for superior software approaches using coherent accumulation of phase-corrected signal segments.
In certain embodiments, the signal is received, filtered, amplified and digitized by analog front end circuitry, where it is then passed to a processor (such as a microprocessor or DSP) where specific code is executed and operations are performed on the digitized data. Below, various such methods are presented.
The ideal ATSC digital TV signal at the mobile receiver has the following form:
S(t)=[(d(t)+A)+jd*(t)]ejω
where d(t) represents the amplitude data signal on the inphase arm, and d*(t) represents the Hilbert Transform of d(t) on the quadrature arm relative to the pilot frequency ωp. Here we use j=√{square root over (−1)} as the complex number in these equations.
The three key parameters in the ideal received signal S(t) are the pilot frequency ωp, the carrier phase φ, and the signal frame times. In practical operation, these parameters are unknown and may be estimated at the mobile receiver. The pilot frequency can be readily ascertained in accordance with principles discussed in this disclosure. The receiver as disclosed herein may accurately estimate these frame times embedded in the received signal, which then may translate to pseudo-range measurements for purposes of determining position of the mobile receiver in conjunction with other signal measurements (e.g., from GPS transmitters or other television broadcast stations). In addition, a low-level pilot signal having amplitude A is employed for carrier acquisition as noted above.
For the purposes of assessing ideal receiver operation, it is assumed here that the above-described digital TV signal is received without distortion due to noise, Doppler shifts, or multipath interference in the communication channel from the TV transmitter to the mobile receiver.
Down-Conversion to Baseband
For ideal operations, the receiver may be assumed to have a perfect estimate of the pilot frequency cop Various methods may be used in practice to determine the pilot frequency at the receiver, such as those disclosed in copending application “Pilot acquisition and local clock calibration with reduced MIPS,” by the same inventors and incorporated by reference herein. With the assumption of a perfect estimate in ideal operation, the received broadband signal may be down-converted to its corresponding baseband signal D(t) using the relationship:
D(t)=S(t)e−jω
In cases where this procedure is performed in hardware on the receiver, a conventional multiplier or mixer circuit may be used to perform the down-conversion step.
Next the following trigonometric property is employed:
ejφ=cos φ+j sin φ (9)
Using the above relationship (9), D(t) can now be represented as follows:
Using equations (10a) and (10b) above, the real and imaginary components, si(t) and sq(t) respectively, of the complex baseband signal D(t) are determined to be
Re{D(t)}=s1(t)=(d(t)+A)cos φ−d*(t)sin φ (11)
and
Im{D(t)}=sq(t)=(d(t)+A)sin φ+d*(t)cos φ (12)
These equations establish that multiplying the broadband signal S(t) by the ideal e−jω
Correlation with Segment Sync Bits
As discussed above in connection with
In this example, h(t) represents the ideal four-bit segment SYNC for the time interval [0, T0] where
Consequently, in the first segment time interval [0, T] using an ATSC standard digital television signal, the data signal d(t) has the following form:
d(t)=h(t−τ) for τ≦t≦τ+T0
where the quantity τ represents the unknown beginning time of the occurrence of the segment sync bits in this first segment interval of the received signal. Stated differently, for values of t between τ and τ+T0 only, the data signal d(t) is equal to the segment sync function h(t) delayed by τ (namely h(t−τ)). It will be appreciated that determination of this value τ using correlation methods enables a receiver to determine pseudo-ranges from transmitting broadcast antennas, and ultimately for facilitating the calculation of position location.
It should be noted that the quantity τ represents a time delay relative to a time reference (e.g., t′u) perceived by the receiving station, rather than the “true time” of the signal (e.g., tu) actually transmitted from the broadcasting station. This distinction arises from the fact that the user device invariably does not have a perfectly synchronized clock. (Likewise, the transmitter has an imperfect clock and does not have precise knowledge of true time.) The user's clock is consequently offset from the true time by some time offset. The pseudo-range measurement computed by the receiving device constitutes the time from the start of sampling by the receiver to the instant when the burst of the synchronization code arrives at the receiver multiplied by the speed of light. A number of conventional mathematical techniques may be used for taking the relative imperfections of the transmitter and receiver clocks into consideration and calculating positioning information based on these considerations. Certain of these techniques are discussed above in connection with
To estimate the quantity τ, correlation methods may be used. In general, the correlation of a signal a(t) with a reference waveform b(t) may be defined as
Using equation (13), the mobile receiver may compute the following complex correlation function:
Equation (14) represents the correlation of the complex baseband signal D(t) with the previously-defined reference waveform h(t). The numeral 1 on the left hand side of the equation signifies that, for this example, the first segment interval of the received signal is being correlated with reference waveform h(t). From equation (14), it is evident that a mathematical correlation can be conceptually viewed as a measure of the similarity between two signals. The real and imaginary components of equation (14) may be computed:
Inserting the value of si(t) from equation (11) into equation (15) and ignoring certain terms of relatively negligible magnitude when compared to the data portion of the signal (e.g., A→0), the real component of equation (14) becomes
Similarly, inserting the value of sq(t) from equation (12) into equation (16) and making the same assumptions as were made with respect to equation (15), the imaginary component of equation (14) becomes
For the next step in computing the correlation values in equations (17) and (18), it should be recognized that when t is in the interval [τ−T0, τ+T0], then
d(α)=h(α)
d*(α)=h*(α)
Substituting d(α) for h(α) and d*(α) for h*(α) into equation (17) yields
Making the same substitutions into equation (18) yields
The first component on the right side of equation (19) is the correlation of the waveform h(t) with a time-delayed version of itself, also known as the autocorrelation of a waveform. The second component on the right side of equation (19) represents the correlation of the Hilbert transform h*(t) with a time-delayed version of h(t). Both autocorrelations are multiplied by a trigonometric representation of the phase angle φ.
To further simplify equations (19) and (20), the following notations can be used:
Using the notations in equations (21) and (22), and observing the mathematical property that Ca*a(t)=C*aa(t), the inphase and quadrature correlation outputs in equations (19) and (20) can now be represented for t=t=t−τ as follows:
Re{C(t;1)}=Rhh(t−τ) cos φ−R*hh(t−τ)sin φ (23)
and
Im{C(t;1)}=Rhh(t−τ) sin φ+R*hh(t−τ) cos φ (24)
Accordingly, as is evident from equations (23) and (24), the beginning time τ of the occurrence of the segment sync bits can be determined through autocorrelations of the segment sync function h(t) (and its Hilbert transform), multiplied by various trigonometric representations of the television phase angle φ.
Coherent Accumulation of Correlation
In the previous section the correlation outputs for the inphase and quadrature phase outputs of an ideal digital television signal were computed for time 0 through time T. In this embodiment, the correlation method is extended to include the computation of correlation outputs for a TV signal received over N segment times with the total time interval [0, NT]. In such an implementation, the received signal may be viewed as N separate received signal waveforms, where each such waveform is defined over the same time interval [0,T]. The accumulation of N complex signals can be represented as S(t+nT) for 0≦t≦T for n=0, 1, 2 . . . , N−1. Each of these signals covers one segment time interval and consequently includes the segment sync bits in the same unknown location in the time interval [0, T].
One objective of coherent accumulation in this implementation is to improve the mobile receiver's ability to estimate the commencement of segment syncs in the received signal. Coherent accumulation is particularly useful given the normally noisy channels and non-ideal conditions over which digital signals traverse. The accumulated inphase and quadrature correlator outputs form the basis for estimating pseudo-ranges and ultimately, the position of the mobile receiver.
Given the assumptions above, the resulting accumulated complex correlation can be represented in one implementation as follows:
Substituting the television signal representation S(t+nT) for the data signal in equation (14) and down-converting the signal to baseband format yields the following alternative representation of the accumulated complex correlation:
Equation (26) is useful for estimating the leading edge components of the digital television signal. The accumulated correlation computed in equation (26) does not, however, presume the existence of multipath components. In normal environments, multipath components exist at the receiver that may have an arbitrary phase relative to one another. Accordingly, in certain embodiments, the mobile receiver takes multipath components into account by cross-correlating both the inphase and quadrature baseband signals with the same reference waveform h(t). (An illustration of this cross-correlation is set forth subsequently in this disclosure.) Multipath interference can be accounted for by selecting the earliest and largest correlation peak. The general complex correlation output in equation (26) may be used to estimate the leading edge multipath component of the received digital television signal.
Changing Order of Operations
In one embodiment of the present invention, the order of operations leading to the computation of the complex correlation output C(t;N) may be modified. Changing the order of operations has numerous advantages, including, for example, significantly reducing the computational requirements of the mobile receiver while quickly and effectively facilitating an accurate determination of position location. In certain embodiments, as a result of changing the order of operations at the mobile receiver, principal portions of the receiver functionality may be implemented in software or firmware. In those embodiments, the computational requirements and hence the corresponding burden on the processor(s) and memory may be dramatically reduced. These advantages, while universally applicable, are particularly useful for sustaining high position determination performance in mobile devices having limited computational power and memory capacity.
In another embodiment, a method and apparatus for coherent accumulation of IF (Intermediate Frequency) signal segments is disclosed. Using the disclosed method and apparatus may permit a software implementation of the mobile receiver to perform positioning determination computations in real time.
In certain embodiments, the order of operations for receiving terrestrial broadcasts and calculating pseudo-ranges for receiver position location is altered as noted above to encompass the following steps:
These steps are detailed below in the context of an exemplary configuration of the mobile receiver. The steps may be performed in software or firmware by a processing unit such as a microprocessor, DSP, or the like.
1. Estimation of Segment Phase Change
Generally, in non-ideal operations, the mobile receiver may not have exact knowledge of the pilot carrier frequency. As discussed below, the present invention provides a method for rapid acquisition by the processor of this pilot frequency. The receiver also may have no a priori knowledge of the phase term φ in each received segment. Referring to
In one embodiment, in the nth interval of T seconds the unknown received phase term φn can be calculated as follows:
Equation (20) is accurate to the degree that the signal terms satisfy the following equations (21) and (22) below, relative to the pilot term
Equations (21) and (22) may be considered reliable estimates in part because the baseband data in a digital television signal has zero mean, given that all of the data levels (e.g., 2, 4, 8, 16) are equiprobable. Thus, equation (20) may be used in this instance as a reasonable approximation of the segment phase changes for each value of n.
In addition, the phase estimates for each segment interval (equation (20)) may be robust and relatively insensitive to the actual proximity of the receiver's estimated pilot frequency ω to the true pilot frequency ωp. As an illustration of this insensitivity, assume that only the pilot signal is received so that S(t)=Aejω
The right hand side of equation (23) represents a complex constant multiplied by the phase term ejφ. This expression may be considered, for illustrative purposes, a phase estimation “signal-to-noise ratio.” Equation (23) can also be observed that as long as the parameters in the complex expression
remain relatively constant for each of the segment intervals, this expression results in a constant phase shift in the final accumulation of the IF signal segments. Stated differently, this phase estimation is relatively insensitive to small differences in ωp−ω. Accordingly, equation (20) may be used with reasonable precision to compute changes in signal phase for each interval and the relatively constant phase offset will not affect the overall coherent accumulation calculation. An appropriate software-executable instruction or instructions can enable the determination of phase offset as governed by equation (20).
An assumption can also be made with reasonable accuracy that the phase term (p as estimated in equation (20) changes relatively slowly in each segment. It follows that the complex term E set forth above may be assumed to represent the same constant in each segment interval. As such, in this embodiment, only the pilot tone phases need to be estimated in each segment interval.
The pilot signal may in many embodiments be approximately 12 dB below the data modulated signal. However, integrating over the 832 symbols of any T second segment interval in this configuration produces an integrated pilot term that is approximately 18 dB larger than the T second averaged signal terms.
In light of the above conclusions, and given any T second segment interval, the mobile receiver may obtain a phase estimate by integrating the inphase and quadrature baseband signals. A more general estimate of the phase may be provided by the following smoothing filter expression:
{circumflex over (φ)}n=ρφn+(1−ρ){circumflex over (φ)}n-1 (24)
where φn is given above for n=0, 1, 2, . . . , N−1 with {circumflex over (φ)}0=φ0, and ρ represents a weighting parameter dependent upon the rate of change of the phase. There are many other means of estimating the phase changes that can be applied.
In other implementations, the carrier phase of an ATSC television signal may be estimated by using a matched input filter having a designated transfer function and applying the input of the signal to produce the desired output signal.
Let s(t)=mi(t) cos(ωpt+φ)+mq(t) sin(ωpt+φ) (24a)
where the inphase and quadrature phase components are represented as
mi(t)=A+h(t)+r(t) and (24b)
mq(t)=h*(t)+r*(t). (24c)
Here, h(t) represents the modulating signal attributable to the 4-symbol segment synchronization signal, and r(t) represents the modulating signal attributable to the data symbols (828 per segment). As before, the quantity A represents the pilot tone amplitude, and h*(t) and r*(t) represent the Hilbert transforms of h(t) and r(t), respectively. The carrier phase at time t=0 can be estimated as follows. Let g(t) represent a rectangular pulse 1300 as shown in
Using equations (24a), (24b), and 24(c), the expressions for g(t) and Y(t) from
Equation (24d) may be determined as follows. The quantity m(t) is assumed to be the received baseband equivalent of the television signal s(t). Specifically, m(t)=mi(t)−jmq(t) in the time domain, or M(ω) in the frequency domain.
The following useful property can be mathematically verified:
Equation (24d1) can be rewritten, using a conventional Fourier transform, in the frequency domain:
Additionally, g(t) can be expressed in the frequency domain as
so that the impulse response function ejω
Corresponding graphical representations of the respective frequency responses of M, M* and G are shown in
Substituting the value of S(ω) from equation (24d2) into equation (24d3) yields the resulting expression
Referring back to
Note that equation (24d5) involves the use of the Fourier transform. Accordingly,
The right hand side of equation (24d6) is identical to the expression for Y(0) in equation 24(d).
Further, because h(t) and h*(t) have period T and have no DC component, then the following equations (similar to equations (21) and (22)) are true:
To verify the integrity of these method of equation (24d) of estimating the phase angle, assume that the signal r(t) has a zero mean with a variance characterized by the quantity σr2. The zero mean assumption is reasonable here, in part because data is random in nature and all data levels are equiprobable. Because 828 data symbols exist in the segment period T, then the expressions
and
represents zero-mean random variables having approximate variances of
σr2/828 (24g)
Using the assumptions set forth in equations (24e), (24f) and (24g), and rewriting Y(0) from equation (24d) based on those assumptions yields the following expression for Y(0):
where Ei and Eq represent orthogonal random variables having respective variances of approximately σr2/828. Because this variance is small relative to the quantity A2, the phase angle of Y(0) in equation (24h) yields a good estimate of φ. Using the definitions in the ATSC specification, the following numerical values are available:
Equations (24i) and (24j) establish that A2/σ2=−11.3 dB. This means that, with respect to the digital television signal s(t), the energy in the pilot tone is approximately 11.3 dB below the energy in the data portion of the signal r(t). After processing by the receiver's phase-estimation filter in this implementation, the relative energy of the pilot tone in Y(0) is A2/(2σr2/828), or approximately 14.9 dB. These figures reflect that the filter in this implementation provides a processing gain of approximately 26 dB.
2. Accumulation of Segment Intervals
Following the estimation of phase changes from step 1 and equations (20) and (24) above, the accumulated phase-adjusted complex segment interval signal terms may be computed using the following representation:
This is illustrated at step 1230 of
By coherently combining phase-corrected IF signal segments, the accumulated term A(t;N) computed in equation (25) in this implementation effectively adds the pilot signal coherently N times. This accumulated expression results in a pilot term having a magnitude stronger than in the original received television signal. As an illustration of this fact, given a frame of N=313 segment intervals, the resulting pilot signal power computed in A(t;313) is 10log10313−12=13 dB above the remaining terms.
Based on this illustration, it follows that the mobile receiver in this embodiment can estimate the pilot tone frequency more accurately after the coherent accumulation of the IF signal segments is computed. The receiver may thereupon estimate this frequency following accumulation.
3. Down-Conversion to Baseband
Given the availability of a reasonably accurate estimate of the pilot tone frequency ωp, as discussed below, the complex accumulated signal from equation (25) is next down-converted to a complex baseband signal by multiplying the expression by ejω
4. Complex Correlation
The final step to obtain the complex accumulated correlation is to compute the following expression (step 1260,
In the embodiment shown, the computationally intensive correlation operation reflected by equation (26) may be performed once at the end after accumulation, rather than being performed with respect to each of the individual N segment intervals. Performing this correlation operation once at the end can improve accuracy (because, among other reasons, the accumulated signal is more immune to random noise injections) and dramatically reduce computational time at the mobile receiver. In addition, in some embodiments, the mobile receiver may perform the down-conversion and correlation calculations in a single step. As a result, a significant savings in computational power can be achieved, and correlations can be performed faster, thereby allowing the receiver to track position location in up to substantially real time.
Using equations (25) and (26), the mobile receiver in this embodiment correlates both the inphase and quadrature phase components with the real waveform h(t). Ignoring pilot and data modulated signals and focusing only on the segment sync bits waveform, the down-converted complex signal would have the following form:
D(t)=[h(t−τ)+jh*(t−τ)]ejφfor τ≦t+T0≦T0 (27)
In equation (27), present are the phase term φ, and the unknown beginning of the segment time τ in the segment interval [0,T]. Autocorrelating both the inphase and quadrature terms with the same waveform h(t) yields the following complex correlator output:
C(t;1)=[Rhh(t−τ)+jR*hh(t−τ)]ejφ for τ−T0≦t≦τ+T0 (28)
The equation (28) represents the same equation computed above in connection with trigonometric property (1) and equations (16) and (17), above.
In certain embodiments, the receiver may use a complex reference waveform during the correlation computation instead of simply using the real component h(t). Here, H(t) may be used as the reference where H(t)=h(t)−jh*(t). In this event, the complex correlator output may be represented by
In addition, the following two provable mathematical properties are useful here:
Rh*h*(t)=R**hh(t)=Rhh(t) (30)
and
Rh*h(t)=R*hh(t)=−Rhh*(t) (31)
Using the relationships from (30) and (31), equation (29) can be rewritten as follows:
C(t;1)=2[Rhh(t−τ)+jR*hh(t−τ)]ejφ (32)
Comparing equations (28) and (32) evidences that a receiver using a complex reference waveform as a correlation input produces a similar result, differing in this instance by a factor of 2.
Another alternative to computing the pertinent correlation coefficients is set forth below in the context using matched filtering techniques in connection with a received ATSC digital television signal. In the embodiments discussed, certain simplifying assumptions can be made to produce a correlation result that is reasonably precise. First, the down-converted baseband signal is described. In actual implementations, the down-converted baseband signal has certain second order characteristics and may be more accurately represented by the following expression:
D(t)=S(t)e−jω
Here, variable h(t) represents the portion of the modulating signal attributable to the segment synchronization pattern at a time when the segment synchronization signal is centered at t=0. In this event, the pertinent period of the synchronization signal is −T/2≦t≦T/2. The correlation operation to be performed can be expressed by
Here, because h(t) has a period T, the integral above constitutes a circular correlation.
In embodiments using the ATSC format, signals h(t) and h*(t) have low-pass characteristics in light of their general 6 MHz bandwidth-per-channel limitation. If ω0=2π(6 MHz), then the term e−j2ω
After removing the complex term above, the following expressions representing the correlation waveform of the synchronization pattern become simplified to
di(t)≈A+h(t)
dq≈(t)h*(t)
for some τ and h*(t) represents the Hilbert transform of h(t). In this case, the correlation equation can be rewritten as follows:
Note that h(t) has no DC component, since the binary segment synchronization pattern in this embodiment includes toggling symbols (+1, −1, +1, −1). Accordingly, the pilot term “A” does not contribute to the correlation equation C(t). Then, if we define
the following equation for the correlation results:
C(t)≈R(t−τ)−jR*(t−τ) (33)
Next, to solve the correlation function of equation (33), both sides of the equation can be squared to produce
|C(t)|2≈R2(t−τ)+R*2(t−τ) (34)
Because the synchronization signal is centered at t=0 in this illustration, the quantity |C(t)|2 in equation (34) is maximized when t=τ. Consequently, to determine the offset τ of the segment synchronization pattern (and ultimately the pseudo-range and position information of the user device), the processor or other component in the user device can first compute the quantity |C(t)|2 for −T/2≦t≦T/2. Having computed that quantity, the processor can then determine the value of τ that maximizes the known |C(t)|2.
The embodiment described above is insensitive to a fixed signal phase offset. In particular, if the carrier phase estimator includes some fixed phase shift ejΦ, then the correlation equation (33) changes to
C(t)≈ejφ└R(t−τ)−jR*(t−τ)┘ (35)
Equations (34) and (35) reflect that the quantity |C(t)|2 is not significantly affected by the value of φ. As such, even if the carrier phase estimator includes a fixed offset, that offset will not affect the matched filter procedures and corresponding determination of τ as described in this section.
Next, at step 1311, the resulting baseband accumulated signal is correlated with the reference waveform (the latter constituting a representation of the data synchronization segment in this example) to establish a correlation function with a series of peaks. The first peak which ordinarily corresponds to a line of sight reception of the television signal without multipath interference, is chosen from which to calculate the relative time delay between the transmission of the known signal component at the television transmitter to the reception of the commencement of that component at the receiver.
Continuing to
Computer-executable process steps of the present invention can be executed on any computer including PCs, workstations, servers, mainframes, and supercomputers without departing from the scope of the present invention. The computer can have any type of CPUs, including Intel CPU, a PowerPC CPU, a MIPS RISC CPU, a SPARC CPU, a DSP, an Alpha CPU or a proprietary CPU for a mainframe or supercomputer, without departing from the scope of the present invention. The computer-readable medium can be any data storage medium including magnetic disk and tape media, optical media, and magneto-optical media without departing from the scope of the present invention. The computer-readable medium can also be a ROM or flash ROM for firmware. The computer-executable process steps of the present invention can also be executed by a dedicated and/or specialized digital and/or analog circuits without departing from the scope of the present invention.
Using the A TSC Field Synchronization Segment
The method described here has focused on correlating the accumulated phase-corrected segment intervals with the known waveform of the 4 segment synchronization bits. The resulting correlation peak can be used to compute a pseudo-range for determining the receiving device's position location. These segment synchronization bits occur in every segment interval transmitted by the ATSC digital TV broadcast signal. As shown in
Note that correlating the accumulated phase-corrected segment intervals with the known segment synchronization bits results in a correlation peak that identifies for the receiver the previously unknown beginning of the segment interval in the received broadcast signal. This is because these 4 segment synchronization bits are always at the beginning of each ATSC digital TV transmitted signal's segment interval. Once this correct segment interval for the received signal is determined a new corrected segment interval can be used for computing additional accumulated phase-corrected segment intervals. This corrected segment interval is the receiver's estimate of the actual segment intervals in the received broadcast signal.
Using the corrected segment intervals for the received signal, the method described here is extended to creating 313 accumulated phase-corrected segment intervals. This corresponds to the 313 segments in a half frame shown in
Only one of the 313 accumulated phase-corrected segment intervals corresponds to the fixed Field Synchronization Segment as shown in
After some accumulations, the accumulated segment interval containing the Field Synchronization Segment will have total energy that exceeds the other 312 accumulated segment intervals with high probability. This accumulated segment interval can be easily identified using some threshold on the total energy in each of these 313 accumulated segment intervals. Once this accumulated segment interval containing the Field Synchronization Segment is identified it can be correlated with the known waveform of the Field Synchronization Segment. The resulting correlation output can be used to compute a pseudo-range which can be combined with the earlier pseudo-range measurement based on the segment synchronization bits discussed earlier.
Application to the Analog NTSC Broadcast
Like the digital ATSC standard, the analog National Television System Committee (NTSC) broadcast signals also contain a pilot signal and other known synchronization signal components that can be used for the receiver's position location. The method described in this application applies directly to the analog NTSC broadcast signals. For example the horizontal scan synchronization signal occurs in each horizontal scan time of 63.6 microseconds. This 63.6 microsecond is equivalent to the segment time interval discussed earlier while this horizontal scan synchronization signal plays a similar role to the segment synchronization bit waveform of the digital ATSC standard. For these analog TV broadcast signals there is also a known Ghost Canceling Reference (GCR) signal that occurs periodically which is used by the TV receivers to combat multipath during signal propagation from the transmitter to the receivers. This GCR signal is analogous to the Field Synchronization Segment signal of the digital ATSC broadcast signal. The method of this application easily extends to all other types of analog TV broadcast signals.
Extension to Other Digital TV Standards
The European Telecommunications Standards Institute (ETSI) established the Digital Video Broadcasting—Terrestrial (DVB-T) standard which is based on the use of Orthogonal Frequency Division Multiplexing (OFDM) signals. This method described here can be applied to DVB-T and the closely related Japanese Integrated Services Digital Broadcasting—Terrestrial (ISDB-T) system. The 8K mode of the DVB-T system, for example, consists of 6,816 OFDM carriers where each carrier is QAM modulated (QPSK is a special case) with a coded data symbol of 896 microsecond duration. The entire set of 6,816 data symbols is referred to as one symbol of this DVB-T broadcast signal. The individual QAM modulated symbols with carriers of 896 microsecond duration are sometimes called cells. Many of these cells are fixed and used for the purpose of synchronization at the TV receivers. These known synchronization cells, called pilot carriers or cells, can be used to determine the receiver's position location based on the method of this application.
For the 8K mode of the DVB-T broadcast standard there are 177 continual pilot cells that occur on the same carrier positions among the 6,916 OFDM carriers in every symbol time of 896 microsecond duration. In addition there are scattered pilot cells that have a pattern that repeats every four symbol times. Reference waveforms based on these known pilot cells can be used to correlate with the received broadcast signal to compute pseudo-ranges for the purpose of position location. Here it is natural to take samples of the Fourier Transform of the broadcast signal for time intervals of one symbol time (896 microsecond) or 4 symbol times (3594 microsecond).
Extension to Other OFDM Broadcast Signals
The method can be applied to other OFDM broadcast signals such as the ETSI Digital Audio Broadcast (DAB) and the United States In-Band On-Channel (IBOC) digital audio broadcast systems. OFDM audio broadcast signals are also used by the terrestrial relays of the Satellite Digital Audio Radio Service (SDARS) systems of Sirius and XMRadio. All these OFDM broadcast signals have known synchronization signal components where the method applies for the purpose of position location.
Open Loop Pilot Frequency Acquisition
As noted above, the carrier or pilot frequency of a radio signal can drift due to oscillator instability. In many applications, including the software receiver-based implementations disclosed above, the receiver should be able to rapidly acquire the unknown carrier frequency of the transmitted signals. In one embodiment, this acquisition is performed in software by the processor. An open-loop frequency acquisition scheme will now be described. The scheme can be applied to any broadcast signal in which a pilot carrier signal is embedded. While numerous such signals exist, some of which are described above, one example includes an ATSC digital television signal. The estimated pilot frequency may be used in the above steps for accurate down-conversion, proper filtering, and accurate and efficient tracking of received signals through phase-locking techniques.
Before discussing the details of acquiring the pilot signal in accordance with various aspects of the present method, certain pertinent mathematical relationships will first be considered. The transmitted signal at the receiver can be represented as a pilot signal with additive noise as shown:
y(t)=A cos [2πft+φ]+n(t) (36)
Equation (36) represents a signal having a pilot tone of amplitude A, frequency f, and phase φ together with a noise term n(t) which represents the collection of random noise in the receiver front end, other parts of the transmitted signal, and interference from other sources. We assume that the receiver does not know these three pilot tone parameters {A, f, φ}.
The received pilot signal can also be represented as a complex waveform given by
Y(t)=Aej[2πft+φ]+N(t) (37)
where j=√{square root over (−1)} and N(t) is a complex noise process. The real part of this complex waveform constitutes the received signal.
In some implementations, the receiver has knowledge of the transmitter signal's ideal designed carrier frequency fo. As noted above, this ideal frequency often differs from the received carrier frequency, due in part to oscillator drift. Typically the transmitter's oscillator is designed to maintain a frequency that is within some range around the ideal design frequency. In one embodiment, the maximum offset is bounded by a known quantity Δ such that the actual transmitter carrier frequency f is within Δ of the ideal design frequency. Thus the following relationship can be expressed:
|f−fo|≦Δ
In many implementations, received signals are translated to baseband inphase and quadrature signal components relative to the receiver's estimate of the carrier frequency. The complex baseband signal at the receiver may then be estimated by multiplying the complex received signal by the reference carrier. Thus, multiplying the received pilot signal from equation (37) by the complex baseband signal at the receiver using the estimate f0, the following result is obtained:
where No(t) represent the complex noise term translated to baseband. The real and imaginary components of this complex baseband received signal Yo(t) constitute the inphase and quadrature baseband signal components relative to the reference carrier frequency fo.
It should be noted that it is often the receiver that may have a relatively unstable oscillator, while the transmitter signal oscillator may be more stable. Here the receiver may estimate the more stable transmitter pilot signal frequency and use this to calibrate its own oscillator frequency. In general, some drift usually is present in both the transmitter signal carrier frequency and the receiver's oscillator. Regardless of the situation, it can be assumed for purposes of calculating pilot frequency that the transmitter pilot carrier frequency is given by f and the receiver's estimate of this frequency is given by fo. Based on these general conditions, a robust and effective method of open loop pilot frequency acquisition by the receiver in a processor-based environment is now disclosed.
The receiver can define a “coherence time” Tc where the phase change due to the maximum offset in frequency is less than some maximum phase error. As an illustration, this coherence time might be chosen to satisfy
The relationship in (39) ensures in this illustration that the maximum phase change is less than 360°/10=36°.
Next, it should be noted that the receiver will typically receive multiple pilot signal segments from the transmitted radio signal as multiple data segments are received. The received complex signal waveform in this case may be divided into segments of time duration Tc and shifted into the interval [0, Tc], changing equation (37) as follows:
Y(t+nTc)=Aej[2πf(t+nT
for n=0,1,2, . . . , N−1 where N is the number of received pilot signal segments each of time duration Tc. Similarly the corresponding complex baseband signal time shifted segments are given by amending equation (38) as follows:
where Nn(t) represents the corresponding complex Gaussian noise term of the nth shifted complex baseband segment signal.
Normally, because the unknown pilot carrier frequency causes phase changes relative to the receiver's carrier frequency, the accumulation of many segments may not be possible. However, a unique phase correction operation, similar to the operation above as applied to the acquisition of synchronization codes, may be applied to each segment to allows coherent accumulation of segments. The total accumulation in one embodiment is performed over as many segment intervals as is needed to obtain the final desired pilot signal-to-noise ratio. The procedure according to one implementation is performed as follows. For each segment we compute the average
where {overscore (N)}n is the time average of Nn(t). Note that the term
is close to 1 when |f−fo|Tc is small which is satisfied by our condition on the coherent time interval Tc.
Defining {overscore (Y*n)} as the complex conjugate of {overscore (Yn)} and |{overscore (Yn)}| as its magnitude, we next define
for n=0,1,2, . . . , N−1. Here, Zn is the nth segment phase correction term that is applied to the nth received signal segment. Note that the term
e−j2πf
is known to the receiver since it consists of parameters known to the receiver.
To gain insight into this scheme, we now assume that the noise term is zero. That is, {overscore (N)}n=0. For this noiseless condition we have
Zn=ejπ(f−f
When the shifted segment interval received waveform Y(t+nTc) is multiplied by Zn, the following expression results:
Y(t+nTc)Zn=Aej2πfte−jπ(f−f
Equation (45) is independent of the index n=0,1,2, . . . , N−1. Thus we can coherently accumulate all of these phase corrected received signal segment intervals to obtain the N accumulated segment intervals given by
where φ=(f−fo)Tc/2 is an arbitrary constant phase term in this accumulation of received signal segment time intervals.
In this final accumulation term A(t;N) time averaged noise would appear in the phase adjustment terms {Zn} and in the received signal segment waveforms {Y(t+nTn)}.
Note that the accumulation of segments given by A(t; N) represents an averaging of N segment intervals corresponding to a total received signal time interval of TN=NTc.
The key result of the above coherent accumulation of segment intervals is a pilot carrier signal at a high signal-to-noise ratio. If we now assume that the noise term is not zero, then we see that for each segment interval {overscore (N)}n, a noise term time average is present in the nth segment time interval of Tc. This time averaging reduces the noise level from that of the original received signal and its effect is to create some noise on the phase of the phase correction term Zn. Further reduction of the effects of noise are obtained by the averaging in the accumulation of the phase corrected segment intervals. In particular, as the number of segment intervals N is increased, the signal-to-noise ratio in A(t; N) likewise increases, allowing for correspondingly more accurate estimation of the pilot tone frequency.
Given the accumulation segment waveform A(t; N) there are several ways to estimate the pilot carrier frequency. In one embodiment, the Fourier Transform of A(t;N) is computed. The result is given by
From equation (47), the pilot carrier frequency may be estimated by picking the frequency point γ that gives the maximum magnitude of this Fourier Transform,
Assuming for simplicity that there is no noise, we have
The steps in obtaining an estimate of the transmitted pilot signal's carrier frequency according to one embodiment are now summarized. As noted, this estimate is based on the final accumulation of received signal segments represented by the waveform A(t; N) which is defined over the initial coherence time interval Tc.
Step 1—Compute Pilot Baseband Relative to Reference Frequency
For the first step, the pilot signal Y(t)=Aej[2πft+φ]N(t) is received by the processor and its baseband signal is computed relative to the receiver reference carrier frequency estimate Yo(t)=Y(t)e−j2πf
Step 2—Define Time Shifted Segments for Both Signals
A coherent time interval Tc may be selected and time shifted segments of duration Tc seconds may be defined for both the received signal Y(t+nTc) and its baseband signal Yo(t+nTc) for n=0,1,2, . . . , N−1.
Step 3—Compute Phase Correction Terms
Next, phase correction terms for each value of n may be computed using the following expression:
Step 4: Phase Correct Each Received Signal Segment
Each received signal segment may then be phase corrected, using the results obtained from equation (50) above, by multiplying the received signal by the phase corrected term Y(t+nTc)Zn and then accumulating phase corrected received signal segments over the interval from 0 to N−1 as shown:
Step 5: Estimate the Carrier Frequency
Estimate the carrier frequency using any suitable method on this accumulated segment of sufficiently large N. The Fourier Transform method computes
and estimates the pilot carrier frequency by picking the frequency variable γ that is the maximum magnitude point of this Fourier Transform,
The mathematical techniques described above can be “transcribed” into executable code for use on a processing device. Thus, the estimation of the pilot frequency can be performed in software. The receiver front end can, as a result, be greatly simplified. Advantages may include, among others, smaller power usage, faster estimation of the pilot frequency than would be possible in a complex hardware implementation, and computation of the pilot frequency in far fewer instructions per second (MIPS) than would otherwise be required. As in the acquisition of the synchronization codes, the estimation of the pilot frequency may be performed by a digital signal processor, general purpose processor, RISC-based processor, processor core, various logic devices, etc.
Estimating Television Broadcast Pilot Signal Frequency
A number of applications are possible using the pilot frequency estimation steps described in this disclosure. One such application relates to estimating the television broadcast pilot signal frequency. This information can thereupon be used to lock onto the television signal and to accurately down-convert the signal, as appropriate, to a baseband format for further processing.
As noted above, most analog and digital television signals have a pilot signal embedded in their transmitted broadcast signal. The method described here can be used by a receiver to estimate the carrier frequency of these broadcast television signals. Consistent with earlier descriptions, an example using the United States ATSC digital television standard broadcast signal will now be described.
The ATSC broadcast signal, as noted, contains three bit amplitude symbols that modulate a carrier using an 8-VSB modulation scheme together with a pilot signal that is approximately 12 dB smaller than the data part of this signal. For a receiver that is attempting to estimate the pilot signal carrier frequency, the additive noise term is primarily due to this data portion of the broadcast signal. Hence the complex received signal given by the expression Y(t)=Aej[2πft+φ]+N(t) has the pilot signal with unknown carrier frequency f embedded in a stronger 8-VSB modulated broadcast signal term of 6 MHz bandwidth given by the complex additive “noise” term N(t).
For this application, it can be assumed the receiver has a very stable oscillator. Achieving this stability may be possible using a 10 MHz clock derived from a GPS receiver.
This digital television broadcast signal sends packets referred to herein as segments. Accordingly, the segment time interval in this embodiment is the natural choice for the coherent time for estimating the pilot carrier frequency. Thus let the receiver select
Tc=77.3 μs.
This time Tc (referenced in connection with some embodiments as T0) represents the period of the segment. Note that this segment time interval is based on the receiver's clock and will not be precisely the same as the unknown true packet or segment time interval of the broadcast television signal. This segment time can be flexible as long as it is well within the coherence time of the digital television pilot carrier frequency oscillator.
During the segment time interval, the pilot carrier represents a constant value in the complex baseband signal. There are, however, approximately 832 random data symbols in the additive noise term. Time averaging the baseband signal over the segment time interval (step 3, above) results in a pilot signal-to-noise ratio of approximately
10log10832−12=17.2 dB
Thus the phase correction terms {Zn} provide an accurate estimate of the phase shift of the pilot signal in each segment.
If the phase corrections terms are ideal, then the pilot signal in the accumulated segment interval A(t;N) has a processing gain given by
10log10N
Because the number of segment terms in this accumulator can be arbitrarily large and independent of the coherence time, the receiver can obtain an accurate estimate of the pilot carrier frequency by selecting a large enough value of N to produce the desired signal-to-noise ratio. For example, the ATSC transmitted segments have frames consisting of 313 segments. For N=313 the pilot signal-to-noise ratio in A(t;313) is approximately
10log10313−12=13 dB
The receiver described in some configurations may include a monitor receiver that measures the signal parameters of broadcast television signals. In addition to the pilot carrier frequency, such monitor receivers can also estimate the symbol rate in these broadcast television signals and record these parameters with the GPS provided time stamps.
Here we selected parameters Tc and N to be natural for the ATSC signal structure. However these choices are arbitrary as long as Tc satisfies equation (39).
Calibrating the Receiver Oscillator Using a Television Broadcast Pilot Signal
In another embodiment, a receiver may not have a stable oscillator and instead may use the more stable television broadcast pilot signal to calibrate its own oscillator. This receiver may, for example, be a small mobile device that uses television broadcast signals for the purpose of locating its position. The block diagram of such a receiver in some implementations is substantially identical to that shown in
The steps followed by the receiver in this calibration procedure may be substantially identical to those described for the receiver in
Detecting and Locating Radio Tags
The principles of the present invention may also be used for detecting and locating radio tags. Small radio tags are devices that can be attached to mobile objects for the purpose of tracking and locating these objects. In this application we consider simple radio tags that transmit a signal pulse of duration T2, where the transmission times of these pulses are arbitrary. The radio tag pulse transmission times may be programmed and controlled by a clock and processor embedded into these radio tags. These tags can be used to track packages, cars, people, animals, etc.
N2=R2T2.
If three or more receivers 1804, 1806 and 1808 detect and accurately record the arrival times of a tag signal, then it is possible to determine the location of the tagged bird 1802 illustrated in this figure. The accuracy of this location position of the tagged bird will depend on many design parameters of both the radio tag signal and the receiver system.
We first examine the key design issues of the receivers for this system. Implementation of the basic receiver will drive the selections of the tag signal parameters {f, T2, R2}. To detect and locate the position of tagged animals in a practical environment, many receivers may be needed. Each receiver may consist of an antenna, an RF front end, and digital components which include digital processing and storage. The antenna system may be important to the overall performance of this system but will not be addressed here since it can be independently designed for each system of receivers by those skilled in the art.
The ideal tag signal at the receiver without noise or distortion has the form
s(t)=c(t)cos [2πft+φ]
where c(t) is the chip sequence modulating the inphase arm of the carrier of frequency f. Here φ is an unknown phase term. The carrier frequency is ideally given by the designed value of fo. Here the actual tag carrier frequency is given by f which is offset due to the limited oscillator stability in the tag transmitter circuits.
The analog front end 1903 may convert the received signal to baseband inphase and quadrature components relative to the ideal carrier fo resulting in the inphase component
sI(t)=c(t)cos [2π(f−fo)t+φ]
and quadrature component
sQ(t)=c(t)sin [2π(f−fo)t+φ]
which are then sampled at times tk=kTs where Ts is the sampling time interval and Rs=1/Ts is the sampling rate of the A/D circuits (1903). The sampled inphase and quadrature sequences
sI(k)=c(k)cos [2π(f−fo)kTs+φ] (52)
and
sQ(k)=c(k)sin [2π(f−fo)kTs+φ] (53)
accordingly represent the inputs to digital matched filters which detect the presence of the tag signal at the receiver.
Suppose the sampling rate, Rs, is set at L times the chip rate such that
Rs=LR2
Typically L=3 samples per chip may be used in practice. Here the total number of samples during the T2 seconds of the tag signal chip sequence is
K=LN2
A key parameter is the number of samples K corresponding to the total tag signal chip sequences having time duration T2 and given by the following relationships:
For every sample time there are K multiplies and one accumulation of all outputs of the multipliers. Suppose that the sample rate is Rs=1 MHz and the tag signal total sequence time duration is T2=10 ms. Then we have K=10,000 multiplies every sample time interval of Ts=1 μs. This matched filter then must compute about 1010 multiplies a second.
The binary chip sequence at the sample times is represented by the sample sequence {b(k)}. This reference sample sequence is used as a matched filter for both the received inphase and quadrature sample sequence resulting in the correlation outputs given by
The summation in these matched filters corresponds to the number of samples in T2 seconds, the time duration of the tag signal's chip sequence transmission.
The final output of the matched filters is the sum of the squares of the inphase and quadrature matched filter outputs given by the samples
z(k)=yI2(k)+yQ2(k).
A detection threshold A may be selected so that each receiver records the times during which
z(k)≧Λ
These threshold crossings may be time-stamped and stored in memory at the receiver.
As noted above, the selection of the ideal carrier frequency of the tag signal may be based on some constraints of the receiver. Within the allowed set of possible carrier frequencies, however, the selection of carrier frequency should be based in propagation and antenna efficiency considerations. If the tag's transmitted signal power at the receiver is P, then the energy per transmitted code sequence is E=PT2. The maximum range over which the receiver will be able to detect the tag's signal is directly dependent on this energy E of the tag signal chip sequence. To maximize this distance for a given power level the goal is to make the sequence time T2 as large as possible.
Aside from the complexity of the matched filters, the maximum time interval T2 is limited by the stability of the carrier frequency of the tag's signal. Suppose that, in one implementation, the actual tag carrier frequency is f while the ideal design frequency is fo. Then the total tag signal time interval T2 is limited to the coherence time give by Tc. This constraint is imposed by the receiver matched filters performance which depends on limiting the phase changes during the entire sampling time of the signal to be detected.
As an example, suppose that the tag oscillator is stable to 20 ppm (parts per million) at the carrier frequency fo=100 MHz. Then the coherence time interval constraint is
T2≦50 μs
if we require the phase change in T2 to be less than 36°.
The tag chip rate R2 has a direct relationship to the location accuracy that is achievable. The matched filter outputs have a correlation peak width that is proportional to the inverse of the chip rate. The GPS chip rate is one million chips per second. Under ideal conditions this chip rate can allow the system to locate the tagged animal's position to within 50 meters.
The ability of a set of receivers to detect and locate a radio tag signal increases with the signal correlation time T2, which is possible if the receiver has a more accurate estimate of the tag's signal carrier frequency f.
In some implementations, the tag signal is modified to transmit its pulse in two parts: first a pilot signal of duration T1 followed by the chip sequence of duration T2. Assuming that BPSK modulation is used, this two-part pulse represents a binary code sequence that transmits a constant {+1} sequence for T1 seconds and a pseudo-random code sequence of T2 seconds duration as shown in
The receiver can first estimate the tag pilot signal carrier frequency during the T1 second interval using the design described in the above pilot carrier frequency estimation steps. Upon estimating the tag pilot signal carrier frequency, the matched filter detector as describe above can be used to determine the correlator output. Here the correlation time of the matched filter T2 can be increased due to the pilot signal carrier frequency estimate conducted during the initial T1 seconds of the tag pulse signal. The pilot signal duration may be set to allow the receiver to detect the random arrival time of the pilot signal as well as estimate its carrier frequency.
This tag pilot signal and the pseudo random coded sequence shown in the above figure can be transmitted separately. Thus there can be a gap time between the two pilot pulse signal of duration T1 and the pseudo random coded pulse signal of duration T2.
Because the tag signal is not being transmitted continuously, similar to the matched filters for detecting the chip sequence signal, the natural way to detect and estimate the pilot carrier frequency is to use a sliding block of N segments. This sliding block accumulation of segments has the form
where m increases by 1 every segment time Tc. The corresponding Fourier Transform terms are given by
First the receiver must detect the arrival of the pilot signal. Like the matched filter outputs for detecting the code sequence part of the tag signal, the magnitude of the above Fourier Transform outputs are compared to a threshold every Tc seconds when a Fourier Transform is computed.
When a threshold is exceeded for the first time then the pilot signal is assumed to be detected and the pilot carrier frequency is estimated using the threshold crossing Fourier Transform. Thus if the first threshold crossing is detected in the magnitude of the Fourier Transform indexed by m* then the receiver estimates the pilot carrier frequency by picking the frequency variable γ that is the maximum magnitude point of this Fourier Transform,
Using the pilot signal carrier frequency estimation system described here, a new radio tag system can be designed to increase the detection range between the tags and receivers. For a given desired detection range the pilot signal time T1 needs to be set to allow the receiver to detect the random arrival time of the tag pilot signal and to estimate its carrier frequency f. The time it take the receiver to adjust its estimate of this carrier frequency fo is the gap time needed before the tag's chip sequence is transmitted. Assuming |f−fo| is now much smaller due to this estimation by the receiver, the chip sequence transmission time T2 is no longer limited by the original coherence time Tc.
Receiver Phase-Locking
In another aspect of the present invention, the software receiver may include a phase-locked loop (PLL) for tracking the pilot tone of a television broadcast signal. The example herein is presented in the context of an ATSC-based digital signal.
In one embodiment, the PLL is clocked at the signal's segment frequency, which is approximately 13 KHz. The clocking of the PLL may contain significant amounts of jitter, because the sampling frequency of the receiver may not be rationally related to the signal's segment frequency. Accordingly, a receiver having a PLL is disclosed to address jittery, segment-rate clocking. In some implementations, the PLL can be implemented in code on a processor such as a digital signal processor or general purpose CPU. The PLL may, in some implementations, be used to track the pilot signal after the pilot frequency has been estimated in accordance with the procedures described in this disclosure.
Ideally, the PLL is clocked at the segment frequency of 10.762238 MHz/832=12,935 KHz. In practice, however, the PLL cannot be clocked at exactly the segment frequency because the number of samples in one segment does not represent an integer value. Nevertheless, the foundation for the PLL design in this implementation assumes ideal clocking—namely, clocking at the exact segment frequency.
The numerically-controlled oscillator (NCO) of the PLL in this configuration has a center value of ω0Tseg, where ω0 is the nominal frequency of the pilot tone and Tseg represents the period of the segment frequency. That is, when the NCO is centered, φk+1−φk=ω0Tseg. Stated differently, the center frequency of the NCO is the pilot-tone frequency as aliased by the segment frequency.
In one embodiment, the loop filter 2304 of the PLL is a proportional-integral network. The input 2307 to the loop filter 2304 is the instantaneous phase error θk−φk. The output 2308 of the loop filter 2304 represents a phase value that adjusts the phase increment of the NCO away from its center value towards the true phase of the pilot tone.
The closed-loop response of the PLL in
In a software implementation of the PLL, all phase values may be reduced to a principal value in the interval [−π,π]. In some implementations, a phase value may be represented as a 32-bit signed integer x having a range of [−231, 231], which corresponds to a phase value of (π)(x)(2−31).
Referring in more detail to the clocking of the PLL, assume that the sample rate is 27 MHz. Thus, the number of samples T in one segment is represented by 832×27/10.762268=2087.298 samples. As noted above, this is not an integer value. In one implementation, segment k can be defined to have a length of Nk samples, where Nk is either 2087 or 2088. The sequence {Nk} is constructed such that the cumulative value N1+N2+Nm is as close to mT as possible for each value of m. The PLL can be corrected accordingly to compensate for the non-integer nature of the per-segment samples. If no correction is made to the PLL design, this “sample-time clocking” introduces potentially significant amounts of jitter.
In one embodiment, the PLL design for sample-time clocking may be corrected as follows. First, NCO scaling can be used. When processing segment k, the center of the NCO is scaled by the quantity Nk/T. That is, the center value of the NCO is
(In addition, loop-filter scaling can be performed. When processing segment k, the output of the loop filter is scaled by Nk/T. That is, if xk represents the output of the loop filter, then the value applied to the NCO input is xkNk/T.
In a software implementation, NCO scaling may be incorporated in one embodiment by using a two-entry table lookup, with one entry for each of the possible center values of the NCO. Loop-filter scaling generally requires more detailed numerics for an efficient fixed-point implementation. However, as demonstrated by
The foregoing description of the preferred embodiment of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teaching. It is intended that the scope of the invention not be limited by this detailed description, but by the claims and the equivalents to the claims appended hereto.
This application is related to U.S. Non-provisional patent application Ser. No. 10/003,128, “Robust Data Transmission Using Broadcast Digital Television Signals,” by Jimmy K. Omura, James J. Spilker, Jr. and Matthew Rabinowitz, filed Nov. 14, 2001; U.S. Non-provisional patent application Ser. No. 09/887,158, “Position Location using Broadcast Digital Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed Jun. 21, 2001; U.S. Non-provisional patent application Ser. No. 09/932,010, “Position Location using Terrestrial Digital Video Broadcast Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed Aug. 17, 2001; U.S. Non-provisional patent application Ser. No. 10/054,302, “Position Location using Broadcast Analog Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed Jan. 22, 2002; U.S. Non-provisional Patent Applications Ser. No. ______ (TBS, Attorney Docket Number RSM008001), “Position Location Using Ghost Canceling Reference Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed (TBS); and U.S. Non-provisional patent application Ser. No. 10/054,262, “Time-Gated Delay Lock Loop Tracking Of Digital Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed Jan. 22, 2002; U.S. patent application Ser. No. 10/159,478, “Position Location using Global Positioning Signals Augmented by Broadcast Television Signals,” by Matthew Rabinowitz and James J. Spilker, filed May 31, 2002; and U.S. Non-provisional Patent Applications Ser. No. ______ (TBS, Attorney Docket Number RSM031001), “Position Location using Integrated Services Digital Broadcasting—Terrestrial (ISDB-T) Broadcast Television Signals,” by James J. Spilker and Matthew Rabinowitz, filed (TBS); U.S. patent application Ser. No. 10/292,975, “Radio Frequency Device for Receiving TV Signals and GPS Satellite Signals and Performing Positioning,” by Matthew Rabinowitz and James J. Spilker, filed Nov. 13, 2002; the disclosures thereof are incorporated by reference herein in their entirety.