1. Field of the Invention
The present invention relates to a system for, and method of, blending (or integrating) pseudo-range measurements and bearing-to-transmitter (“bearing”) measurements from an eLORAN or LORAN-C receiver and position (alternatively, pseudo ranges) and velocity measurements from a GPS receiver. The described system can also be integrated with additional external positioning systems including but not limited to DGPS, WAAS enabled GPS, GNSS, GLONASS, Chayka, TACAN, VOR, Compas Omega, signals of opportunity systems, Galileo and Eurofix. In the context of an inertial navigation system (INS) application, this combined GPS/LORAN signal can be employed to provide external positioning solutions, potentially integrated with measurements from devises such as accelerometers, gyroscopes, altimeters, etc.
2. Description of the Prior Art
LORAN (Long Range Navigation) is a terrestrial navigation system composed of chains of low frequency radio transmitters that are used to determine position of receivers. Presently, the U.S. Coast Guard is developing the LDC, also referred to as eLORAN, or enhanced LORAN. The purpose of eLORAN is to supplement the current LORAN-C (version C) system with a differential capability that will provide information such as, absolute time, Differential LORAN corrections, anomalous propagation (early skywave) warnings, and LDC system information for high-integrity applications. The addition of these capabilities will greatly increase the accuracy and utility of the Loran system. This differential capability is implemented and transmitted using 32-state Pulse Position Modulation technique on an additional Loran pulse (ninth pulse) added in every Group Repetition Interval (GRI.) By utilizing these capabilities at a receiver, it becomes practical to integrate this higher accuracy Loran with additional positioning sensors. What is needed is a method and related system to blend or integrate pseudo-range or position measurements as well as bearing measurements from an eLORAN or LORAN-C receiver and position or pseudo ranges and velocity measurements from an external positioning system such as, for example, a Global Positioning System (GPS) receiver.
The present invention is a LORAN/GPS (LG) integrator implemented as a discrete-time, linear Kalman Filter in computer program-based algorithms to compute optimal measurement updates when observations are available as well as for propagation steps between observations. The algorithm can accommodate various measurement scenario permutations involving the presence or absence of GPS and/or LORAN observations at different times. The output of this program is the optimal trajectory estimates of position, velocity and true heading-from-north (“heading”) as well as corrective factors to mitigate portions of the measurement errors from various sources.
This and other advantages of the present invention will be noted upon review of the following detailed description, the accompanying drawings and the appended claims.
A LG integrator of the present invention is shown in simplified block form in
A raw LORAN signal (Time-of-Arrivals, etc.) is preprocessed to produce the required input string for the integrator. This includes the following items depicted in
Similarly, the GPS source signal is also preprocessed to produce the required input string for the integrator. This includes the following items also depicted in
The LG Integrator is designed to process a variety of different heading sub-modes. These sub-modes may be entered via user selection (Manual Heading Mode) or autonomous selection (Automatic Heading Mode) by the software. Table 1 summarizes the various Heading sub-modes.
The primary considerations driving the existence of the various heading modes are: 1) to provide the capability for a full integrated navigation solution while correlating velocity and heading states or so as to avoid this correlation, depending on specific situations and user preferences; and 2) to allow for an interactive bearing measurement calibration procedure and the implementation of the resulting correction factors. To accommodate item #1 above, the two state-space formulations (discussed in the algorithm formulation section below) BO (BearingOnly) and BAV (BearingAndVelocity) have been developed. The BO sub-modes are designed to allow only LORAN bearing measurements, and those states tied to the bearing measurement, to influence the heading estimates. These state-spaces do not accommodate any correlation between velocity and heading. This is the preferred formulation when the velocity direction is not substantially aligned with the forward axis of the platform.
The BAV sub-modes are designed to provide full coupling between system velocity and heading. In this case, all velocity state information as well as velocity measurements and bearing measurements are correlated to the heading estimation. This is the preferred formulation for situations where the velocity direction is sufficiently aligned with the forward axis of the platform. Additionally regarding Table 1, the BAV and BO formulations are applied to various situations including that associated with bearing measurement calibration (“_Cal”), post calibration, when the resulting correction factors are available for implementation (“_PostCal”) and no calibration (“_NoCal”) when no previous calibration has been done or is desired.
The “PosVel” mode is intended as a means of calibration initialization. This filter allows for an efficient and expedient convergence on a position and velocity solution which can than enable a stable initial state for the calibration process. This eliminates the requirement for the calibration filter to simultaneously provide position and velocity estimates, potentially from a poor initial guess, while executing the calibration estimation.
The basic hierarchy of the heading sub-modes is shown in
The LG Integrator is also designed to accommodate a number of input measurement content permutations within the processing of any heading submode. Each of these permutations results in the setting of a different Navigation Mode (“NavMode”) within the LG Integrator. The accommodated permutations and their corresponding NavMode are shown below, in Table 2.
The LG Integrator processing flow is specific to the Navigation Mode setting and attempts to utilize any available information to improve the positioning solution. The processing of partial measurements is, effectively, a subset of the processing required for the full measurement input sets. Descriptions of the processing of full LORAN and full GPS measurements are shown in the “Measurement Processing” subsections below.
With reference to
The LG integrator utilizes a Kalman Filter approach to optimally combine the GPS and LORAN information. Filters that resolve the indicated sub-modes of the LG Integrator are structured as error-state filters meaning errors in trajectory variables are estimated rather than the trajectory variables themselves. This approach, common in many navigation implementations, is compatible with the linear dynamics requirement of the filter.
As alluded to above and in regard to Table 1, the LG Integrator accommodates seven heading sub-modes. There is a corresponding state-space for each of these as discussed below.
BearingAndVelocity with no Calibration (BAV_NoCal Mode)—state-space to provide for the correlation between velocity and heading, with no bearing calibration information available,
{circumflex over (x)}BAV
In equation (1), the first three terms represent the errors in the estimates of receiver latitude, longitude and altitude. The next three terms represent the errors in the estimates of receiver horizontal and vertical velocity and heading. The seventh term is a bias correction estimate for the LORAN range measurements. In the preliminary version, this term accounts for the LORAN receiver clock bias as well as ASP compensation uncertainty, primarily for the case of a static receiver location. The final term in the BAV_NoCal filter state-space is a bias error state to provide a simplified on-line, single-term bearing error correction. Although this is not designed to replace a full calibration procedure, it will accommodate users who, for whatever reason, are not interested in executing the full calibration function. Instead, this parameter will allow for automatic linear-term correction, computed and implemented entirely by the software.
BearingOnly with no Calibration (BO_NoCal Mode)—state-space which precludes the correlation between velocity and heading, with no bearing calibration information available.)
{circumflex over (x)}BO
In equation (2), the first three terms represent the errors in the estimates of receiver latitude, longitude and altitude. The next four terms represent the errors in the estimates of receiver east, north and vertical velocity and heading. The eighth term is a bias correction estimate for the LORAN range measurements. In the preliminary version, this term accounts for the LORAN receiver clock bias as well as ASF compensation uncertainty, primarily for the case of a static receiver location. Since estimation of the single-term bearing measurement error correction requires that the velocity information is correlated with the heading state, the parameter cannot be independently computed in this formulation.
BearingAndVelocity Post Calibration (BAV_PostCal Mode)—state-space to provide for the correlation between velocity and heading, with bearing calibration information available from a previous calibration procedure.
{circumflex over (x)}BAV
In this filter, the previously computed and stored bearing corrections are used to compensate the measurements. There are no additional correction parameters included in the estimator state-space. The state-space shown in equation (3) is identical to that shown in equation (1) with the exception of the single correction parameter which is not needed here since the entire error model is available to the integrator.
BearingOnly Post Calibration (BO_PostCal)—state-space which precludes the correlation between velocity and heading, with bearing calibration information available from a previous calibration procedure. This is identical to the state-space shown in equation (2). Here the bearing error model parameters from the previous calibration are available to the integrator for compensating the bearing measurements.
{circumflex over (x)}BO
PositionAndVelocity (PosVel)—state-space to be utilized for pre-calibration mode, in order to acquire improved position and velocity states to initialize the calibration filter. No heading states are included and bearing measurements are ignored.
{circumflex over (x)}PosVel=[δφδλδhδV
BearingAndVelocity for Calibration (BAV_Cal Mode)—state-space for full bearing measurement calibration where velocity is completely or sufficiently in the direction of forward (heading). The calibration process will require specific maneuvers including forward velocity for some duration to estimate the bias term (A) and a rotation sequence to capture the heading dependent coefficients (B-E).
{circumflex over (x)}BAV
In equation (6), as with the previous BAV filters, the first three elements are the latitude, longitude and altitude, and the next three are the horizontal and vertical velocity and heading. The single-term range bias state is next followed by the five bearing measurement error model parameters, A-E.
BearingOnlyMode for Calibration (BO_Cal Mode)
{circumflex over (x)}BO
The BO_Cal mode is the state-space for full bearing measurement calibration where velocity is insufficient or otherwise undesired for purposes of the calibration process. The calibration sequence will require specific maneuvers including forward velocity for a TBD duration to establish the bias term (A) and a rotation sequence to capture the heading dependent coefficients (B->E).
The LG Integrator may be modified so as to estimate corrections of specific, individual LORAN range/path errors by providing a filter than can “learn” of or gain insight into these errors while GPS is present. Then, in the absence of GPS, the individual LORAN ranges can be compensated with these corrections allowing primarily for improved LORAN-only navigation. In order to accomplish this, certain state variables may be added to the state-spaces described above to accommodate the individual ASF (or range) correction terms, for each active LORAN transmitter.
The LORAN path conductivity error states may be summarized as the sum of the temporal errors plus the spatial errors:
δASF(i)=δT(i)+δS(i) (i=→Ntransmitters) (8a)
so
{dot over (δ)}ASF(i)={dot over (δ)}T(i)+{dot over (δ)}S(i) (8b)
where the index “i” represents the ith Loran transmitter.
Temporal Term Compensation
The temporal component (δT) is composed of short-term and long-term parts. The short-term parts are composed of “path-dependent” elements and “local” elements:
δT(i)=δlong(i)+δshort(i)=δlong(i)+(δpath(i)+δlocal(i)) (9a)
therefore
{dot over (δ)}T(i)={dot over (δ)}long(i)+[{dot over (δ)}path(i)+{dot over (δ)}local(i)] (9b)
The long-term element in equation (9b) can be modeled as a constant bias plus process noise:
{dot over (δ)}long(i)=wlong
w
long(i)=wln+F(ΔtGPS)
In equation (10), the process noise is described as a function of elapsed time since GPS outage plus a nominal noise term. In this way, the quality of the model will diminish with time away from GPS. When GPS is present, the noise will be small, with a nominal noise term only. It is also possible that the long-term temporal effect can be assimilated into the overall range/clock bias described in the nominal state spaces. This is the case for the short-term, local element which will have roughly the identical effect on all transmitter measurements. This error term can be assimilated into the LORAN clock bias state.
The short-term temporal component from transmission path effects (δpath) will vary according to weather and other conditions along the path from transmitter to receiver. This can be modeled as a Gauss-Markov process:
In equation (11), τ is the correlation time constant for this process and wsn is another nominal process noise value. Again, this formulation will allow the model uncertainty to grow with elapsed time since GPS presence, beyond the uncertainty which the internal covariances will exhibit.
Spatial Term Compensation
The effect of spatial variations on the {dot over (δ)}ASF in equation (8b) is given by the {dot over (δ)}S term. The spatial changes of the ASP are similar to the path dependent temporal component in that, for a static receiver or very slowly moving receiver, the phenomena may be modeled with a Gauss-Markov process such as given by the following difference equation:
δ(k+1)=e−βΔdδs(k)+ws(k) (12)
In equation (12), Δd is the distance traversed between filter updates and β=1/τ, the correlation time constant. The ws term is the process noise for the spatial error component. Equation (12) can be linearized and utilized in the integrator to model the spatial variations of the ASF over the Δt associated with consecutive estimator time-steps.
In equation (12), it should be noted that the exponent term in distance can be related to the estimation time-step by estimated velocity (V):
Δd=∥V∥Δt (13)
Thus the continuous-time version of equation (12) is:
This model can be implemented in the LG Integrator in a manner similar to the LORAN clock bias model. It would remain to determine the effective correlation constant τs through analysis, etc. τ may be “highly terrain dependent” and should be “adaptable to terrain variations”. That is, for flat, benign terrain which would produce a lower rate-of-change of the spatial ASF, this time-constant would be a large value. For a changeable terrain, such as a mountain range, the time-constant should be smaller.
State-Space Augmentation for Individual Path Corrections
The state-spaces discussed above can be augmented to include the components needed for the estimation of the individual LORAN path corrections. For example, in the BAV_NoCal Mode, the state space would be:
where the added terms in the second row of the state vector represent the corrections to all the individual (ith) LORAN range measurements to accommodate path conductivity model errors. Since the resulting state-space may be large, with additional parameters for each transmitter, and dynamic as the number and location of the transmitters change, special accommodations may need to be made in the associated algorithms and computer code.
The receiver provides the LG Integrator with the specified inputs from both GPS and LORAN data streams, shown in the listings above and depicted in
In
As represented in
As represented in
LORAN range measurement uncertainty is specific to each incoming measurement and approximated using the input Signal-to-Noise Ratio (SNR) provided to the integrator with the LORAN input string described above. Possible Optimizations for the US Loran System, Johnson et al., Position, Location and Navigation Symposium, 2006 IEEE/ION, April 25-27, incorporated herein by reference, describes a method of converting LORAN signal strength (SS) to the standard deviation in the resulting time-of-arrival (TOA) measurement. The total TOA noise is resolved into two components:
w
TOA(i)=wChannel(i)+wjitter(i) (16)
In equation (16), the first term on the right is the “channel noise” for each transmitter, derived from the SNR for that specific measurement and the second term on the right is the noise from jitter, simply a function of the station rating (dual or single). The “i” index represents the ith specific transmitter. In the Johnson reference, the contribution to the total TOA standard deviation (τTOA) from the channel noise is derived from signal strength (SS)
The total TOA standard deviation for a specific (ith) transmitter is then the RSS of the two components:
τTOA(i)=√{square root over (τchannel2(i)+jitter2(i))}{square root over (τchannel2(i)+jitter2(i))} (18)
In the Johnson reference, there are two jitter values provided—one for a single-rated station and one for a dual rated station:
τjitter (single-rated)=60 n sec
τjitter (dual-rated)=90 n sec (19)
The signal strength in equation (17) is approximated here by:
SS(i)=SNR(i)+NoiseFloor (20)
In equation (20), the noise floor has been provided as 50-55 db.
Finally, the result of equation (18) is the TOA standard deviation in nsec. This is converted to micro-seconds (usec) and then to range in meters:
where Vlight is the speed of light in air in units of meters/usec.
The LG integrator of the present invention contemplates the following considerations.
1. Earth Modeling for Processing of LORAN Measurements
2. Addition of individual eLORAN range correction states
3. Utilizing GPS pseudo-ranges for increased robustness and accuracy
The LG integrator system of the present invention may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The system of the present invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network or other data transmission medium. In a distributed computing environment, program function modules and other data may be located in both local and remote computer storage media including memory storage devices.
The computer processing device or devices and interactive drives, memory storage devices, databases and peripherals may be interconnected through one or more computer system buses. The system buses may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (USA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnect (PCI) bus.
The computing device typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by a computing device and includes both volatile and non-volatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes both volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by the computing device.
The computing system suitable for carrying out the computer-executable instructions may further include computer storage media in the form of volatile and/or non-volatile memory such as Read Only Memory (ROM) and Random Access memory (RAM). RAM typically contains data and/or program modules that are accessible to and/or operated on by the computer processing device. That is, RAM may include application programs, such as the functional modules of the system of the present invention, and information in the form of data. The computer system may also include other removable/non-removable, volatile/non-volatile computer storage and access media. For example, the computer system may include a hard disk drive to read from and/or write to non-removable, non-volatile magnetic media, a magnetic disk drive to read to and/or write from a removable, non-volatile magnetic disk, and an optical disk drive to read to and/or write from a removable, non-volatile optical disk, such as a CD-ROM or other optical media. Other removable/non-removable, volatile/non-volatile computer storage media that can be used in the computer system to perform the functional steps associated with the system and method of the present invention include, but are not limited to, magnetic tape cassettes, flash memory cards, digital versatile disks, digital video tape, solid state RAM, solid state ROM, and the like.
The drives and their associated computer storage media described above provide storage of computer readable instructions, data structures, program modules and other data for the computer processing device. A user may enter commands and information into the computer processing device through input devices such as a keyboard and a pointing device, such as a mouse, trackball or touch pad. These and other input devices are connected to the computer processing device through the system bus, or other bus structures, such as a parallel port, game port or a universal serial bus (USB), but is not limited thereto. A monitor or other type of display device is also connected to the computer processing device through the system bus or other bus arrangement. In addition to the monitor, the computer processing device may be connected to other peripheral output devices, such as printers.
The computer processing device may be configured and arranged to perform the functions and steps described herein embodied in computer instructions stored and accessed in any one or more of the manners described. The functions and steps, such as the functions and steps of the present invention described herein, individually or in combination, may be implemented as a computer program product tangibly as computer-readable signals on a computer-readable medium, such as any one or more of the computer-readable media described. Such computer program product may include computer-readable signals tangibly embodied on the computer-readable medium, where such signals define instructions, for example, as part of one or more programs that, as a result of being executed by the computer processing device, instruct the computer processing device to perform one or more processes or acts described herein, and/or various examples, variations and combinations thereof. Such instructions may be written in any of a plurality of programming languages, for example, XML, Java, Visual Basic, C, or C++, Fortran, Pascal, Eiffel, Basic, COBOL, and the like, or any of a variety of combinations thereof. The computer-readable medium on which such instructions are stored may reside on one or more of the components described above and may be distributed across one or more such components.
Alternatively, the LG integrator system of the present invention may be constructed from a combination of software and hardware or all hardware. Such hardware suitable for implementing the functions described herein include electronic components such as transistors, capacitors, resistors, operational amplifiers, comparators, and other components. These components can be used to implement functions such as addition, multiplication, integration, analog value comparison and most other mathematic and logical functions of the type required to carry out the capabilities of the system of the present invention.
One or more example embodiments to help illustrate the invention have been described herein and in the priority document incorporated herein by reference. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the invention. Accordingly, other embodiments are within the scope of the claims appended hereto.
The present application is a continuation-in-part, and claims the priority benefit, of PCT application serial number PCT/US2007/023561 filed Nov. 8, 2007, entitled “SYSTEM AND METHOD FOR OPTIMAL TIME AND POSITION SOLUTION THROUGH THE INTEGRATION OF INDEPENDENT POSITIONING SYSTEMS”, which claims the priority benefit of U.S. provisional patent application Ser. No. 60/955,086, filed Aug. 10, 2007, entitled “SYSTEM AND METHOD FOR OPTIMAL TIME AND POSITION SOLUTION THROUGH THE INTEGRATION OF INDEPENDENT POSITIONING SYSTEMS” of the same named inventors. The entire content of the prior applications is incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60955086 | Aug 2007 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US07/23561 | Nov 2007 | US |
Child | 12703268 | US |