This invention relates generally to Global Navigation Satellite System (GNSS) direct sequence spread spectrum receivers, and more specifically, to a method and an apparatus for synchronizing the precise time of measurements occurring on a receiver of a geo-location system including, but not limited to, Global Positioning Systems (GPS).
Global Navigation Satellite Systems are in widespread use to determine the location and/or attitude of a body. A GNSS includes a network of satellites that broadcast GNSS radio signals. GNSS signals allow a user to determine the location of a receiving antenna, the time of signal reception and/or the attitude of a body that has a pair of receiving antennae fixed to it. Location is determined by receiving GNSS signals from multiple satellites in known positions, determining the transmission time for each of the signals, and solving for the position of the receiving antenna based on the known data. In GNSS Attitude or Heading systems, it is necessary to measure GNSS signals arriving at multiple antennae, with known placement relative to each other, and then process these measurements to derive heading or attitude.
It will be appreciated that the satellite systems as discussed herein may include, but are not be limited to, the Naystar Global Positioning System (GPS), established by the United States; Global Orbiting Navigation Satellite System (GLONASS), established by the Russian Federation; the BeiDou Navigation Satellite System (BDS) created by China; and Galileo, created by the European Community. GPS is the original GNSS system and all others are similar in concept to GPS. Each GNSS satellite broadcasts signals where a spreading code, and possibly data, are modulated on a carrier. The methods and systems disclosed herein may be applicable to any geo-location system and geo-location satellite signals.
The baseband processor 30 consists of a plurality of GNSS tracking and measurement channels, one channel for each broadcast GNSS signal.
Samples of the code and carrier phases are captured at time intervals defined by the receiver measurement clock, called TIC 600c, within the timing generator 65. These measurements are samples of the replica code and carrier phase, which includes Code DCO value, Code Phase Counter, Code Epoch Counter, Carrier DCO value and Carrier Cycle Counter. The time of signal transmission from the satellite is implicit in its code phase (with code phase ambiguities resolved with the addition of other data that may be sent in a navigation message). A pseudo-range to the satellite is computed within the navigation solution processor 40 by differencing the receiver time of reception with the satellite time of broadcast. The pseudo-range consist of the signal travel time due to geometric distance between satellite and GNSS receiver antenna, plus receiver and satellite clock offsets, and other effects to travel-time such as those due to atmospheric effects of troposphere and ionosphere.
Differencing pseudo-ranges, or carrier phase derived ranges measured at two different GNSS receivers can cancel certain effects. This is especially true if the receivers are geometrically close. For example, satellite clock errors are common to both receivers, so these cancel in the difference. Errors in the satellites broadcast location also cancel to a large degree when the line-of-sight angles to the satellites are similar, as they would be in closely spaced receivers. Atmospheric induced errors (or delays) also cancel to a large degree for receivers in the same vicinity.
Unfortunately, receiver clock error is different for two different receivers, and thus does not cancel. Double differences can be employed, where phase observations from a common satellite are differenced form the phase observations of other satellites. But this is not always desirable, since any error in the observations from the common satellite due to effects such as multipath, and receiver noise do not cancel, and thus can corrupt all the double difference observations which make use of the common satellite.
Rather than form double differences, single difference can suffice and may be preferred. The clock error between the two receivers can be estimated as part of the navigation or attitude solution. If both receivers share a common oscillator, this clock error will be nearly constant, changing slowly possibly due to temperature effects on RF components, specifically group delays. This will have the benefit of strengthening the attitude solution by reducing an unknown clock-term in the solution. Fewer observations would then be needed to compute the solution, which is advantageous when many signals are blocked.
Even though GNSS receivers share a common oscillator, the receiver clock error difference term may change if the sampling of code and phase measurement observations is not kept perfectly synchronized. An ideal attitude system would keep perfectly synchronized observations across antennae to avoid having to compensate for platform dynamics of the attitude system.
U.S. Pat. No. 7,292,186B2, “Method and system for synchronizing multiple tracking devices for a geo-location system” describes a method to precisely sample two GNSS receiver devices sharing a common oscillator at the same time instant. This patent is incorporated herein by reference.
Various approaches have been taken to build a device from which heading or attitude can be derived using GNSS measurements. One approach is to use multiple GNSS receiver systems to independently collect measurements at each antenna. The measurements are then processed to determine the antenna's relative locations (with respect to one another), which then gives the orientation of the rigid body to which the antennae are attached. The use of multiple receivers is straightforward but has the drawback that the approach is likely to be bulky and costly. Also, such a system has independent oscillators at each GNSS receiver, so that it is not possible to assume any prior knowledge of clock difference terms.
Another approach is to build hardware specifically for computing attitude. The device may contain multiple RF down converters, and multiple tracking devices, at least one per antenna. The RF and tracking devices would typically share a common oscillator.
The method of
Even though the approach depicted in
The system of U.S. Pat. No. 7,292,186B2, shown in
The multi-channel GNSS tracking and measurement device 30, shown in
When a device uses an externally generated TIC, that tracking device is referred to as a slave tracking device 31, while the tracking device generating the TIC 600c is referred to as a master tracking device 30. Each tracking device can be configurable to act either as a master (generating a TIC internally) 30, or as a slave 31 (reacting to an externally generated TIC), or as both in a master 30 with mark 600d as shown in
Notwithstanding the benefits provided by the systems and methods above, it would be advantageous to provide for an attitude device that can operate with a single shared tracking device where measurement synchronization is accomplished with a single sample TIC strobe that is internal to the device. It would further be advantageous to provide for such a device such that it is flexible and can serve both as an attitude device for varying numbers of antennae, and as a single antenna positioning device. It would additionally be advantageous to provide that such a device be flexible in the allocation of tracking resources between antennae, or between signals, allowing for reduced hardware cost and power. It would further be advantageous to provide for hardware that provides the system designer a high degree of flexibility in design of an attitude or position system. Finally, it would be advantageous to provide for a device to support a wide range of RF down converters, and even to allow for mixing of different types of down converters.
These and other features, aspects and advantages of the present invention will become better understood with regard to the following description, appended claims and accompanying drawing wherein like elements are numbered alike in the several Figures:
Many types of GNSS signals exist. They are transmitted by many different satellite constellations, on many different frequencies, and possibly with multiple signal formats at each frequency. Sometimes it is advantageous to employ a “greedy” strategy where the GNSS receiver will try to utilize all available GNSS signals to provide the most accurate and robust position and attitude. Sometimes it is advantageous to employ a “Quality-of-Service” (QoS) strategy where the GNSS receiver uses a subset of available signals to optimize some parameters given a list of constraints, such as optimizing position and/or attitude service given a power consumption constraint. Therefore, it is desirable for a single tracking device to have the flexibility to process a plurality of GNSS antennae, signal frequencies and formats.
The GNSS band is approximately 1166 MHz to 1612 MHz. It may be advantageous to divide this range into three bands, GNSS L1, GNSS L2 and GNSS L5, to reduce power and cost of the RF down-converter and baseband processor. The GNSS bands can be described as, but not limited to:
Note that GNSS L2 and L5 frequency bands are adjacent and maybe processed as one band. Sometimes GNSS L2 and L5 are referred to as Upper L2 (UL2) and Lower L2 (LL2), respectively. The individual GNSS signal bandwidths are set by the associated satellite transmitter and may be reduced at the receiver to trade-off code tracking resolution, signal-to-noise ratio and power consumption.
Note that GPS, Galileo and Beidou all transmit on GNSS L1 at 1575.42 MHz and GNSS L5 at 1176.45 MHz. Tracking at either of these frequencies maximizes the number of visible satellites given a single frequency. This is advantageous when the sky is occluded by buildings or trees, but the receiver has a constraint to minimizing power consumption. A higher-accuracy and higher-power receiver may use both frequencies. A “greedy” receiver may use all, or most, of the available signals in GNSS L1, L2 and L5.
It is advantageous for GNSS receivers to provide centimeter-level positioning accuracy without being connected to a reference network. This is enabled via global GNSS correction services which distribute precise GNSS satellite orbits and clocks, as well as atmospheric modeling data. The data can be globally distributed via satellites, which typically transmit the correction data between 1525 MHz to 1560 MHz. For historical reasons, this frequency band is referred to as LBand.
It should be appreciated that the present invention is flexible and can serve both as an attitude device for varying numbers of antennae, and as a single antenna positioning device. It is also flexible in the allocation of tracking resources among antennae, or between signals, allowing for reduced ASIC gate count and power consumption.
It is important to note that, as used in this application, the terms “configurable” and “programmable” mean the features are enabled or disabled via software and do not require a change to the circuit board.
In one embodiment, to support a wide range of use cases, an RF down converter includes a plurality of similar down conversion paths, each with an RF input, programmable local oscillator and programmable bandwidth lowpass filter, such that any channel can be programmed to process any of the GNSS L1, L2 and L5 bands. This enables a single RF down converter to process a plurality of antennae and GNSS frequency bands.
In an embodiment, to support a wide range of use cases, the GNSS tracking and measurement device includes a plurality of wide-bandwidth, high speed analog to digital converters (ADCs). Since wider bandwidths require a higher sampling rate, the GNSS device supports complex analog signals to minimizes the sampling rate and power. In one embodiment, the GNSS device has at least eight (8) complex internal ADCs such that only one GNSS device is required in a multi-frequency, 2D or 3D attitude system. This integration enables a common oscillator, common sample clock and common measurement TIC to process all signals from all antennae.
One embodiment is a single-antenna, multi-frequency receiver as shown in
It is important to note that “wideband” means the entire GNSS L1 band can be processed as one complex analog signal; the entire GNSS L2 band can be processed as one complex analog signal; and the entire GNSS L5 band can be processed as one complex analog signal. In other words, the ADCs have the appropriate analog bandwidth and maximum sample rate to process them. Processing of combined GNSS L2 and GNSS L5 as one complex analog signal is also possible.
Another embodiment is a single frequency, 3D attitude and positioning system utilizing one RF down converter and one GNSS device as shown in
Additional embodiments may utilize a plurality of RF down converters and one GNSS device.
The embodiment in
The embodiment in
Additional embodiments utilize a plurality of RF down converters and a plurality of GNSS devices as shown in
The embodiments include, but are not limited to, those shown in
Regarding feature (e) above, at a minimum, at least one ADC is required per antenna in the attitude system. However, there could be more than one ADC per antenna, depending on how many individual RF paths are processed from each antenna. For example, if 3 RF paths are processed comprising the L1, L2 and L5 bands of the GNSS spectrum, 3 ADCs are needed per antenna. Furthermore, referring to the immediately preceding example, 6 ADCs are needed per antenna if an In-phase and Quadrature-phase component is processed for each band.
Regarding feature (d) above, flexible RF down converter interfaces could include, for example, an interface to sample analog baseband signals from the RF device using an Analog-to-Digital converter (ADC) 310, in addition to an interface to read digital outputs 315 from a RF device making its own ADC readings. It could also support digital readings from the RF device in various formats, such as Twos-Complement format, bipolar Offset Binary, or any number of other common formats. It could also support different numbers of bits in the readings from the RF device's ADC. For example, an RF device may provide 4-bit ADC readings while another may provide 12-bit readings.
Regarding feature (c) above, flexible allocation of tracking resources could occur in a variety of ways. One example would be by maintaining a pool of general-purpose correlators that could be configured to track a wide assortment of signals. This would avoid the situation of having a fixed number of channels, each with a specific set of single-purpose correlators dedicated to specific types of signals. For example, the fixed-channel approach might employ 12 GPS channels, each with 3 correlators, one correlator for tracking L1CA signals, one for L2P Signals, and one for L5 signals. By having the pool of general-purpose correlators in the flexible channel approach, one or more of the correlators could be assigned to a channel as needed. If the channel was not allocated to a satellite for tracking, no correlators would be assigned. However, it should be appreciated that once allocated, correlators could be assigned to the channel and configured to process one or more signals that are received from the satellite allocated to that channel. The desired signals may have been chosen by the user, or determined automatically based on the application, or based on matching correction signals received from a base station.
The GNSS device 300 includes a plurality of software configurable blocks:
One embodiment has an analog RF interface 310 of L=16 ADCs, a digital RF interface 315 of K=24 bits, N=25 channelizers 330, P=200 GNSS tracking and measurement blocks 350, and R=3 LBand demodulators 360. This supports a plurality of antennae and GNSS signals, including all GNSS signals for each antenna in a 2D attitude system.
The timing generator (see
The primary clock is the RxSampleClock 600a and it controls the data flow between the RF interface 200 through the Channelizer blocks 330. The RxSampleClock frequency is set by the minimum required sampling rate of the widest bandwidth signal out of the RF down converter 200. For a greedy receiver, the GNSS L2 band, with its 76.725 MHz bandwidth, will be the widest bandwidth signal out of the RF down converter. The RxSampleClock rate must be greater than 76.725 MHz to process a complex signal or greater than 153.45 MHz to process a real signal. The actual minimum frequency will depend upon the RF down converter's analog anti-aliasing filter transition and stop band characteristics. The channelizer 330 extracts signals having similar carrier frequencies and similar bandwidths for down-stream processing by the GNSS Tracking and Measurement blocks 350. As part of the channelizer signal extraction, the channelizer translates each signal to near baseband and applies a low-pass filter. This bandwidth reduction due to the low-pass filtering enables down-stream processing to be conducted at a reduced clock rate. This clock rate reduction saves power and is referred to as decimation. The timing generator 600 generates the software programmable decimation clock, RxGnssClock 600b. The minimum RxGnssClock 600b rate is dependent upon the maximum bandwidth out of the ensemble of channelizers 330. The RxGnssClock 600b is less than or equal to the RxSampleClock rate.
In a preferred embodiment, the sample rate is software configurable to support a myriad of input bandwidth use-cases. Consequently, the timing generator 600 of the preferred embodiment includes a programmable phase locked loop (PLL) that can be used to generate RxSampleClock 600a and RxGnssClock 600b. The PLL reference can be either the oscillator 50 or RFClockIn 600f The source of the RxSampleClock is software selectable to be the oscillator 50, RFClockIn 600f, or the output of the programmable PLL.
If the RF down converter 200 outputs digital samples 315 as well as the associated sample clock, RFClockIn, then the timing generator can be software configured to utilize RFClockIn. In this case, the RxSampleClock 600a will be equal to or less than RFClockIn. The PLL can be turned off to save power.
If the RF down converter 200 outputs digital samples 315, but requires an external sample clock, then the timing generator will be software configured to output RxSampleClock 600a for this purpose. The RxSampleClock can be generated from the oscillator 50 or the PLL.
The timing generator also creates the measurement clocks, TIC 600c and TIC_OUT 600e. The TIC 600c and TIC_OUT 600e are based upon RxGnssClock 600b. The TIC_OUT 600e signal is generated one RxGnssClock earlier than TIC to give TIC_OUT one RxGnssClock period to propagate to external GNSS devices 301. The TIC will be asserted when a programmable period has elapsed or the External Event Mark 600d has been asserted. If the External Event Mark 600d is connected to the GNSS device, the device is referred to as a Master with Time Mark; otherwise, the GNSS device is referred to as a Master. For a Master with Time mark, when the External Event Mark is asserted, the timing generator will issue a TIC regardless if the programmed period between TICs has elapsed. This will enable the device to capture measurement data synchronized to an external event. A GNSS slave device is configured to accept only an external Event Mark, also called TIC_IN, and ignore the programmable period. In this configuration, a slave device's TIC will only be asserted when an upstream Master, or Master with Time Mark, asserts the TIC_OUT. The master TIC_OUT is connected to the Slave device's External Event Mark input. This ensures GNSS measurement synchronization across all antennae within a single device and across all GNSS Slave devices.
Within one embodiment, the GNSS device has both an analog 310 and a digital interface 315 to support a variety of RF down converters. Both interfaces can be simultaneously active, or they can be shutdown individually to save power. Both interfaces are clocked by RxSampleClock 600a.
The analog interface 310 consists of L internal, high-speed, wide bandwidth analog to digital converters (ADCs). Wide-bandwidth ADCs reduce the total number of ADCs needed to process the entire GNSS band; reduce the pin count of both the GNSS device and the RF down converters; and reduce board EMI because high edge-rate digital signals are not routed between the GNSS device and the plurality of RF down converters. The analog interface gives the system designer the option of eliminating digital sample outputs from the RF down converter, thereby reducing the digital switching noise that can leak into the sensitive RF front-end.
In a typical embodiment, each ADC has software configurable full-scale and common mode voltage settings to optimize the ADC's effective number of bits (ENOB) over a range of analog inputs. Moreover, each ADC can operate as a 4-bit or 12-bit converter, so the system software can trade-off power consumption against the required dynamic range based upon the interference environment. The system can be configured to process any mix of real and complex signals, and unused ADCs can be individually powered down. The ADCs operate over a wide range of sample rates to minimize power by matching the sample rate to the system use-case.
One embodiment has L=16 ADCs to support a plurality of antennae and frequency bands as shown in
The digital interface 315 is a K-Bit input that is software configurable as a plurality of 2-Bit, 3-Bit, 4-Bit, 8-Bit and 12-Bit slices to support a variety of RF down converters. Each slice supports offset binary, two's compliment and Lloyd-Max encoded digital streams. The digital interface can be configured to process any mixture of real and complex sample streams. Any two slices can be paired to form a complex sample stream. Individual slices, or the entire digital interface, can be powered down when not in use. For 2-Bit and 3-Bit data streams, the channelizer block is bypassed and these streams 325 drive the GNSS Router (340
The sample formatter and router 320 converts the samples from 310 and 315 into a 16-Bit, two's compliment complex format and routes them to the designated channelizer. The standard format enables any combination of analog, digital, real and complex signals to be routed to any Channelizer 330 or LBand Demodulator 360. Each channelizer's input is independent, so no routing blockage exists, and each channelizer can select from all possible input streams. The Sample and Formatter 320 is clocked by the RxSampleClock 600a.
The purpose of each Channelizer 330 is to extract signals, with similar carrier frequencies and bandwidths, and condition them for subsequent down-stream processing by one or more GNSS Tracker and Measurement block(s) 350. A more detailed block diagram of the channelizer is shown in
Unused channelizer paths can be shutdown to reduce power.
Each RF down converter translates LBand and each GNSS band to a complex near baseband center frequency. As an example, for GNSS L1, the RF LO might be set to 1586 MHz, so the GNSS L1 band is translated to −30 MHz to +30 MHz. In this example the RF LO is outside any active GNSS frequency. The GPS 1575.42 MHz L1CA frequency is translated to +10.58 MHz=(1586-1575.42) MHz.
The complex tuner 331 frequency translates the Signal of Interest (SOI), contained within the in-coming sample stream, to a positive near-baseband frequency. This frequency is chosen to enable a low-pass filter response for the programmable filter 332, and to ensure that the SOI center frequency does not cross the 0 Hz axis under any doppler conditions. The complex tuner also reduces the non-orthogonality error of any down-stream, lower-resolution tuners. This path is clocked by RxSampleClock 600a. Using the GPS L1CA example, the complex tuner 331 within the channelizer path assigned to GPS L1 will be programmed to down convert the GPS L1 signal from 10.58 MHz to some small offset, say 1 MHz. The small 1 MHz offset is easily tracked out by the down-stream GNSS tracking and measurement block 350.
Within a typical embodiment, the programmable filter #1332 will be configured as a low pass filter to optimize the SOI SNR and correlation peak detection, and to reduce out of band interference. The filter length and frequency response are configurable to reduce power consumption within a low interference environment. The preferred embodiment of the programmable filter #1 is a variable length finite impulse response (FIR) filter. Samples are clocked into the filter via RxSampleClock 600a and are clocked out of the filter via RxGnssClock 600b. Given the narrow low-pass response, the filter output can be decimated to reduce the processing rate and save power. The decimation rate is software configurable and is set by the ratio of the two clocks. All down-stream processing uses the RxGnssClock clock 600b. This filter inherently rejects out-of-band interference. Using the GPS L1CA example, the filter 332 might be programmed to have a low-pass response with a 3 MHz 3 dB bandwidth and a decimation rate of at least 2.
The signal level exiting the programmable filter block 332 will be lower than the input due to the low-pass filter response removing out of band signal power. The programmable gain 333 adjusts the signal level so that the input to the programmable filter #2334 is nearly full-scale. This will maximize the dynamic range of filter #2334.
The programmable filter #2334 will typically be configured as a notch filter to remove interference that is in-band to the SOI. The filter order and frequency response are configurable. This filter can be bypassed and shut down to reduce power consumption. The preferred embodiment of the programmable filter #2 is three cascaded second-order auto-regressive moving average (ARMA) filters.
The adaptive Lloyd-Max quantizer (LMQ) 335 is well known by those skilled in the art of direct sequence spread spectrum communications. The LMQ reduces the number of bits per sample to minimize the down-stream logic and power consumption. This process also provides a measure of automatic gain control.
The delay balancer 336 consists of a variable-length sample queue that ensures the processing delay through all channelizer paths are the same regardless of configuration differences such as filter lengths, filter group delays and bypassed blocks.
Referring to
The GNSS tracking and measurement 350 block diagram is the same as reference 35 within
The LBand Demodulators 360 are well known by those skilled in the art of data communications. Each demodulator can select from all possible input streams 310 or 315. The demodulated data typically consists of GNSS correction information and is used by the Attitude and Navigation Processor 40 to provide centimeter-level global positions. A preferred embodiment will have R=3 LBand Demodulators. Unused demodulators can be powered down.
The Data Bundler 370 aggregates all data to be passed between the GNSS Device 300 and the Attitude and Navigational Processor 40. In one embodiment, the Data Bundler is an address and data processor bus structure that is well known by those skilled in the art. In another embodiment, the Data Bundler is organized to be efficiently accessed via a Direct Memory Access (DMA) scheme.
It will be appreciated that while a particular series of steps or procedures is described as part of the abovementioned process, no order of steps should necessarily be inferred from the order of presentation. For example, the process includes receiving one or more sets of satellite signals. It should be evident the order of receiving the satellite signals is variable and could be reversed without impacting the methodology disclosed herein or the scope of the claims.
It should further be appreciated that while an exemplary partitioning functionality has been provided. It should be apparent to one skilled in the art, that the partitioning could be different. The processes may, for ease of implementation, be integrated into a single unit. Such configuration variances should be considered equivalent and within the scope of the disclosure and claims herein.
It will be appreciated that the use of first and second or other similar nomenclature for denoting similar items is not intended to specify or imply any particular order unless otherwise stated. Furthermore, the use of the terminology “a” and “at least one of” shall each be associated with the meaning “one or more” unless specifically stated otherwise.
The disclosed invention may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, USB drives, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or as data signal transmitted whether a modulated carrier wave or not, over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
While the description has been made with reference to exemplary embodiments, it will be understood by those of ordinary skill in the pertinent art that various changes may be made, and equivalents may be substituted for the elements thereof without departing from the scope of the disclosure. In addition, numerous modifications may be made to adapt the teachings of the disclosure to a particular object or situation without departing from the essential scope thereof. Therefore, it is intended that the Claims not be limited to the particular embodiments disclosed as the currently preferred best modes contemplated for carrying out the teachings herein, but that the Claims shall cover all embodiments falling within the true scope and spirit of the disclosure.
This application claims priority to U.S. Provisional Patent Application entitled “A Flexible Device for Synchronizing Multi-Antenna GNSS Measurements,” Ser. No. 62/889,012, filed Aug. 19, 2019, the disclosure of which is hereby incorporated entirely herein by reference.
Number | Date | Country | |
---|---|---|---|
62889012 | Aug 2019 | US |