Apparatus for generating a heading signal for a land vehicle

Disclosed is an apparatus generating accurate data regarding the heading of a land vehicle as it travels over terrain having changing conditions. The apparatus includes a first sensor means, such as a differential odometer, generating data regarding the relative direction of the vehicle. Also included is a second sensor means, such as a flux gate compass, for generating data regarding the absolute direction of the vehicle relative to the earth. The relative directional data and the absolute directional data are combined in a means for generating accurate data regarding the heading of the vehicle. A means for reducing errors reflected in signals generated by the sensors is provided to insure the accuracy of the output.

CROSS-REFERENCES TO RELATED APPLICATIONS 
The present application is related to the following U.S. Patent 
applications which were owned at the time of invention and are currently 
owned by the same assignee, and are incorporated by reference as is fully 
set forth in this application. 
FLUX GATE SENSOR WITH IMPROVED SENSE WINDING GATING, inventor Alan C. 
Phillips, Ser. No. 675,827, filed Nov. 28, 1984, U.S. Pat. No. 4,646,015, 
issued Feb. 24, 1987. 
VEHICLE NAVIGATION SYSTEM AND METHOD, inventors Stanley K. Honey et al, 
Ser. No. 618,041, filed June 7, 1984. 
FIELD OF THE INVENTION 
The present invention relates generally to an apparatus for providing 
accurate information regarding the heading of a land vehicle. 
The appendix provided with the disclosure of this patent document contains 
material to which a claim of copyright protection is made. The copyright 
owner has no objection to the facsimile reproduction by anyone, of the 
patent document, the patent disclosure or the appendix as it appears in 
the Patent and Trademark Office patent file or records, but reserves all 
other rights whatsoever. 
BACKGROUND OF THE INVENTION 
A variety of automatic vehicle navigation systems has been developed and 
used to provide information about the actual location of the vehicle as it 
moves over streets. For example, one general approach to such vehicle 
navigation systems is known as "dead reckoning", in which the vehicle is 
tracked by advancing a dead reckoned position from measured distances 
traveled and headings of the vehicle. 
Central to all of the dead reckoning navigation systems for vehicles is the 
need to generate data regarding the heading of the vehicle as it travels 
through constantly changing conditions. Any error in the heading 
information generated by the system translates directly into an error in 
the positioning of the vehicle for dead reckoning type systems. 
Some prior art systems employ an absolute heading sensor, such as a 
magnetic compass or gyrocompass, to generate data regarding the heading of 
the vehicle. Gyrocompasses are expensive, and inappropriate for use in 
vehicles, such as automobiles or other land vehicles, that rapidly 
maneuver. Magnetic compasses also do not work ideally for land vehicles 
because for instance, the streets may be surrounded with large steel 
structures which cause anomalies in the magnetic field of the earth around 
the structures which will in turn deflect a magnetic compass reading as 
the vehicle drives past. Further, the roads may be banked, inclined, or 
crowned and thereby cause other errors, such as magnetic dip error, which 
are reflected in the signals generated by the sensor. If the magnetic 
compass is gymballed, accelerations of the vehicle affect the alignment of 
the compass and thereby create apparent magnetic dip error. 
Another type of direction sensor measures relative heading. Examples 
include directional gyro compass, gas turning-rate sensor, laser ring gyro 
compass, vibrating rod turning-rate sensor, and differential odometer. 
This sort of sensor measures turning rate from which the relative heading 
of the vehicle is calculated at a given time given the heading at a prior 
time. Relative heading sensors are likewise subject to a variety of errors 
caused by temperature, component drifts, and component offsets. 
Differential odometers are subject to errors due to characteristics of the 
streets, the wheels of the vehicle or the vehicle itself, such as crowning 
of the roads, bumpy roads, uneven ride of the wheel over the streets, 
misalignment of the wheels, and so on. For these and other reasons, the 
accuracy of this sort of sensor is difficult to maintain. 
For any given type of heading sensor, the sources of errors in the signal 
generated are for a large part external to the sensor itself, so 
calibration of the sensor cannot compensate for some sources of heading 
inaccuracy in land vehicles. Because all heading sensors are subject to 
errors caused by some combination of the conditions of the vehicle, of the 
sensor and of the streets or terrain over which the vehicle travels, prior 
art navigation systems have been unable to generate accurate data 
regarding the heading of a land vehicle. 
Accordingly, there is a need for an apparatus for generating accurate data 
regarding the heading of a land vehicle as it travels through constantly 
changing conditions, such as when the land vehicle travels over varied 
surfaces and through varying environments. 
SUMMARY OF THE INVENTION 
The present invention provides an apparatus for generating accurate data 
regarding the heading of a land vehicle. The apparatus provides a 
plurality of sensor means for generating a plurality of independent 
direction signals including heading information indicating a heading of 
the land vehicle. The invention provides a processor means, responsive to 
the plurality of independent direction signals, for generating an improved 
estimate of the heading of the vehicle. 
The plurality of independent direction signals respectively include errors 
having essentially independent spectral characteristics. In other words, 
the errors suffered by each of the plurality of sensor means are reflected 
in the independent direction signals with frequency characteristics that 
are different from the frequency characteristics suffered by others of the 
independent direction signals. Thus in a preferred embodiment, the 
processor means includes a means for selectively filtering at least one of 
the plurality of independent direction signals according to the spectral 
characteristics of the errors included in said at least one direction 
signal. Thereby the heading information from the least one direction 
signal is recovered essentially error free. 
In one embodiment, the plurality of independent direction signals include 
at least a first direction signal including errors having primarily first 
spectral characteristics and a second direction signal including errors 
having primarily second spectral characteristics that are different from 
the first spectral characteristics. In this embodiment, the processing 
means includes a first means for combining the first direction signal and 
the second direction signal to generate a combined error signal isolating 
the first and second errors from the heading information. The combined 
error signal is supplied to a means for filtering the combined error 
signal according to the first spectral characteristics to generate a 
filtered error signal which includes essentially the second errors only. 
Last, the filtered error signal and the second direction signal are 
supplied to a second means for combining in which the second errors are 
offset by the filtered error signal, thereby providing an improved 
estimate of the heading information. 
In another aspect, the present invention provides an apparatus for 
generating data regarding the heading of the land vehicle operable with a 
vehicle navigation system. The vehicle navigation system includes a 
storage means for storing a map data base which includes data regarding 
the heading of streets within the map. The vehicle navigation system 
provides a means for recognizing that the vehicle is on a particular 
street and for generating a signal regarding the heading of a vehicle 
recognized to be on the particular street. Provided in this aspect of the 
invention is a means, responsive to a control signal, for selecting 
between the heading data supplied from the map data base and the heading 
data generated by one of the heading sensors. 
In sum, the present invention, provides more than one independent source of 
heading data, each source suffering errors that are different in their 
frequency characteristics from the other sources. The apparatus 
effectively filters most errors by combining, filtering and recombining 
direction signals from the independent sources, thereby forming a heading 
estimate which is on average better than the heading estimate of any one 
source.

DETAILED DESCRIPTION 
With reference to the figures, a system overview of the present invention 
is provided, followed by a discussion of the basic theory of operation and 
a description of a preferred embodiment. 
I. Overview 
The components of an apparatus 10 according to the present invention can be 
seen in the system overview shown in FIG. 1. The apparatus 10 of the 
present invention includes a plurality 5 of sensor means including at 
least a first sensor means 11 for generating a first direction signal 
including heading information on line 12 and a second sensor means 13 
generating a second direction signal including heading information on line 
14 that is independent of the first direction signal. The first and second 
direction signals include first and second errors in addition to the 
heading information. The first errors have first spectral characteristics. 
The second errors in the second direction signal have second spectral 
characteristics which are different from the first spectral 
characteristics. 
The second direction signal on line 14 and the first direction signal on 
line 12 are connected to a first combining means 15 for combining the 
first direction signal and the second direction signal to generate a 
combined error signal on line 16. The combined error signal is the 
difference between the first direction signal and the second direction 
signal so that the heading information is cancelled from the combined 
error signal. The combined error signal from the first combining means 15, 
termed DELTA, is provided over line 16 to a filter means 17 for filtering 
the DELTA signal according to the second spectral characteristics. The 
output of the filter means 17 is a filtered error signal F-DELTA on line 
18 from which the second errors have been essentially filtered out, 
leaving the first errors. The first direction signal on line 12 and 
F-DELTA on line 18 provided as inputs to a second combining means 19. The 
second combining means 19 combines the F-DELTA signal and the first 
direction signal essentially offsetting the first errors to generate an 
improved estimated heading EH on line 20 estimating the heading of the 
land vehicle on which the apparatus 10 is mounted. 
In sum, the apparatus 10 shown in FIG. 1 includes at least a first sensor 
means 11, a second sensor means 13 and a processor means 21, responsive to 
the first direction signal generated by the first sensor means 11 and the 
second direction signal generated by the second sensor means 13, for 
generating data on line 20 regarding an estimated heading EH of the 
vehicle. 
II. Theory of Operation 
The present invention is described in terms of the "spectral 
characteristics" of the errors in the direction signal. The spectral 
characteristics of the errors in a particular direction signal are 
determined in part by the type of direction sensor which generates the 
signal. In a preferred embodiment of the present invention as described 
below, the first sensor means is implemented with a relative direction 
sensor such as a differential odometer, which generates a relative 
direction signal RDS, while the second sensor means is implemented with an 
absolute direction sensor, such as a compass, which generates an absolute 
direction signal ADS. As mentioned earlier, an absolute direction sensor 
such as a magnetic compass is subject to magnetic anomalies, which create 
short term errors. More precisely, these anomalies create errors in the 
ADS for distances relatively close to the location of the anomaly. Thus, 
as the vehicle passes by the anomaly, the effect is seen for only a small 
distance. Because distance and time are directly related 
(Velocity.times.Time=Distance) it is useful to interchange time for 
distance and use the more familiar time/frequency analogy in discussing 
the present invention. Thus, the errors in the ADS are confined to the 
relatively high end of the heading signal spectrum, that is they have 
relatively high frequency components. 
In contrast the primary errors of the RDS are relatively long term (i.e., 
long distance) and thus are confined to the relatively low end of the 
heading signal spectrum, that is they have relatively low frequency 
components. 
Lastly, we can think of the actual heading information itself as having, at 
one time or another, spectral characteristics having all frequency 
components in the heading signal spectrum. For example, while turning a 
sharp corner the actual heading changes rapidly over a relatively short 
distance and time giving high frequency components. When driving down a 
long straight road the actual heading changes only slightly, giving rise 
to very low frequency components. In general, the frequency components of 
the heading will vary over a wide spectrum, depending upon the velocity 
and route. 
Because the actual heading varies over a wide spectrum, simple frequency 
filtering of either the ADS signal or the RDS signal is not adequate 
because it will, at times, filter the actual heading signal as well as the 
error signal. 
The preferred embodiment of the present invention first subtracts one 
direction signal from the other, thereby eliminating the actual heading 
information and generating the combined error signal DELTA including the 
errors from both signals. Because the errors from the two sensors are 
independent, on average, nothing else is cancelled and the remaining 
signal DELTA represents all errors. We can now pass this combined error 
signal DELTA through a frequency selective filter which is tuned to 
eliminate the high frequency error components, that is errors having the 
spectral characteristics of the error in the ADS. This has the effect of 
eliminating the high frequency errors of the ADS. Ideally, the signal 
F-DELTA remaining after filtering (line 18, FIG. 1) contains only the 
lower frequency errors of the RDS essentially unaltered. This signal is 
recombined with the RDS signal to cancel these lower frequency errors, 
ideally leaving only the actual heading information as a more accurate 
heading estimate EH at the output. 
The present invention is further improved as described below by estimating 
the relative size of the errors in the ADS and RDS. At different times one 
or the other sensors may indicate a higher relative level of error. When 
this happens, the filter is adjusted to eliminate more of the errors from 
the sensor generating the higher level of error. 
In general, the estimated heading EH is not precisely equal to the 
vehicles' actual heading because the combining and filtering processes are 
not ideal and the spectral properties of both sensors are not totally 
separated. However, the present invention provides a substantially better 
estimated heading EH, over more driving conditions and environments, than 
can be obtained from either heading sensor individually. 
The present invention can be further illustrated in terms of a simplified 
mathematical model. The first sensor means 11 generates, for example, a 
relative direction signal RDS which indicates the heading of the vehicle 
relative to a prior heading of the vehicle. Since the first sensor means 
11 generates a relative direction signal RDS, a random start heading of 
the vehicle will be reflected in the output from the first sensor means 11 
by an offset from the heading of the vehicle relative to the earth by a 
random value. Also, tire slip and imprecise calibration will cause 
additional errors. These errors are accumulated in the RDS signal, that 
is, every error reflected in a prior output of sensor means 11 is 
contained in the current output of the first sensor means 11 for the 
present heading. Thus, a simplified, representation of the relative 
direction signal (RDS) is given by the following equation: 
EQU RDS=H+R+D, (1) 
where H is equal to the heading information, R is equal to the random start 
heading and D is equal to errors accumulated due to drift or other errors 
in the signal generated by the first sensor. 
A second sensor means 13 generates, for example, an absolute direction 
signal ADS which indicates the heading of the vehicle relative to the 
earth. In the preferred embodiment, the second sensor means 13 detects the 
direction of the magnetic field of the earth and calculates the heading of 
the vehicle relative to the direction of the magnetic field of the earth. 
The difference between magnetic heading and true heading, called 
variation, can be easily corrected by a lookup table or otherwise and has 
not been included here to simplify the discussion. A major source of error 
in the output of the second sensor means 13 resides in magnetic anomalies, 
such as changes in the magnetic field of the earth caused by changing 
conditions surrounding the second sensor means 13 as the vehicle travels 
across varying terrain or streets. Thus, the output of the second sensor 
means 13, the absolute direction signal (ADS) can be represented in 
simplified form as follows: 
EQU ADS=H+A, (2) 
where, H is equal to the heading information of the vehicle and A is equal 
to errors due to magnetic anomalies and other errors. 
The means 21 for combining the relative direction signal RDS and the 
absolute direction signal ADS reduces the effects of errors A in the 
absolute direction signal ADS and errors D and R in the relative direction 
signal RDS thereby generating an improved estimate of the heading of the 
vehicle EH on line 20. 
Thus the first combining means 15 subtracts the relative direction signal 
RDS from the absolute direction signal ADS to generate the combined error 
signal, DELTA: 
EQU DELTA=ADS-RDS=(H+A)-(H+D+R)=A-(D+R) (3) 
In this signal, the heading information H of the vehicle is cancelled out. 
All that remains are anomalies A, random start heading error R and drift 
error D. In the absence of A, this DELTA signal would typically only be 
slowly varying, having low frequency characteristics because R is 
constant, and D changes slowly. Anomalies A, however, generally vary 
quickly with time, that is, with distance as the vehicle moves. These 
anomalies A, can then be filtered from the signal by a low pass filter 
which passes only constant value or slowly varying signals. Since H can 
also vary quickly, the key in this embodiment is to first subtract out H 
(Eq. 3) to isolate the errors, then filter the resulting signal DELTA to 
eliminate A, then use the resulting filtered error signal F-DELTA to 
cancel low frequency errors from the RDS signal to improve the heading 
estimate. The filter means 17 filters the errors A from DELTA to generate 
F-DELTA. Thus, F-DELTA is equal to: 
EQU F-DELTA=-(R+D) (4) 
The second combining means 19 then adds RDS and F-DELTA to generate the 
improved estimate regarding the heading: 
EQU EH=RDS+F-DELTA=H+R+D-(R+D)=H (5) 
As the simplified mathematical model just described illustrates, the output 
on line 20 of the apparatus 10 is a signal that estimates the heading of 
the vehicle. 
It should be mentioned that the above illustration is only an approximation 
of the actual process and hence the output is not exact. Errors such as 
measurement noise, imperfect filtering and overlap in the spectrum of A 
and the other error signals R, D, cause the estimate to be non-exact. 
The embodiment of the present invention shown in FIG. 1 can be extended to 
a plurality of sensors as described with the aid of FIGS. 1A, 1B and 1C. 
FIG. 1A shows the apparatus 10 of FIG. 1 redrawn according to standard 
linear systems notation (see, for example, Digital Signal Processing by A. 
Oppenheim and R. Schafer). Thus in FIG. 1A, each signal and filter is 
described as a function of frequency (s). Thus ADS(s) represents the 
absolute direction signal, RDS(ss) represents the relative direction 
signal, and F(s) represents the filter. Accordingly, the system equation 
for FIG. 1A can be written as equation (6) as follows: 
EQU EH(s)=RDS(s)+(ADS(s)=RDS(s)) F(s); (6) 
where EH(s) represents the estimated heading as a function of frequency. 
Equation (6) can be rewritten as equation (7) as follows: 
EQU EH(s)=RDS(s) (1-F(s))+ADS(s) F(s). (7) 
Equation (7) can be represented as equation (8) as follows: 
EQU EH(s)=RDS(s) F.sub.1 (s)+ADS(s) F.sub.2 (s); (8) 
where 
F.sub.1 (s)+F.sub.2 (s)=1 for all s. 
Thus FIG. 1A can be redrawn as shown in FIG. 1B. In this manner F.sub.1 (s) 
is equal to a filter equation adapted to filter the errors having spectral 
characteristics that are likely to occur in the relative direction signal. 
Likewise, F.sub.2 (s) corresponds to the filter equation defining filter 
characteristics corresponding to spectral characteristics of errors likely 
to occur in the absolute direction signal. Thus according to the 
embodiment shown in FIG. 1B, each direction signal is separately filtered 
and the filtered outputs are combined to obtain the estimated heading 
EH(s), with the constraint on the filters that F.sub.1 and F.sub.2 when 
added equal 1 for the entire range of frequency (s) that is relevant to 
the heading calculation. 
Further expanding from the embodiment of FIG. 1B and equation (8), FIG. 1C 
shows an embodiment of the invention using a plurality of sensors to 
generate a plurality of direction signals X.sub.1 (s), X.sub.2 (s), . . . 
X.sub.N (s), and a plurality of filters having filter characteristics 
defined by equations F.sub.1 (s), F.sub.2 (s), . . . F.sub.N (s). The 
estimated heading EH(s) is generated by the combination of the output of 
each of the plurality of filters as shown in equation (9) as follows: 
EQU EH(s)=X.sub.1 (s)F.sub.1 (s)+X.sub.2 (s)F.sub.2 (s)+X.sub.N (s)F.sub.N (s); 
(9) 
where 
EQU F.sub.1 (s)+F.sub.2 (s)+. . . F.sub.N (s)=1 for all s. 
In the preferred embodiment, where X.sub.i (s) represents the signal from 
the i.sup.th sensor, F.sub.i (s) represents the filter equation defining 
the filter characteristics adapted to filter errors having the spectral 
characteristics likely to occur in the signal X.sub.i (s) from the 
i.sup.th sensor. Thus each sensor is filtered according to the spectral 
characteristics of the errors likely to occur in the direction signal 
generated by the sensor, within the overall filter constraint that the sum 
of the filter equations for all relevant frequencies is equal to one. 
III. A Preferred Embodiment 
FIG. 2 shows a block diagram of a preferred embodiment of the invention as 
implemented on a vehicle for traveling over land and used in conjunction 
with a vehicle navigation system. The reference numbers used in FIG. 1 are 
used in FIG. 2 where appropriate or consistency. 
FIGS. 3A through 3E are used to illustrate the operation of the apparatus 
10 of FIG. 2 by way of example. FIG. 3A shows a sample of the absolute 
direction signal ADS generated, for instance, by magnetic flux gate 
compass mounted on the vehicle. FIG. 3B illustrates a relative direction 
signal RDS generated for instance by a differential odometer on the 
vehicle. FIG. 3C illustrates the DELTA signal generated at the output of 
the first combining means 15. FIG. 3D illustrates the F-DELTA signal 
generated at the output of the filter means 17. FIG. 3E illustrates the 
resulting estimated heading EH of the vehicle across the course for the 
example superimposed on the actual course H for the example. 
The apparatus 10 as shown in FIG. 2 includes the first sensor means 11, the 
second sensor means 13, and the processor means 21 including the first 
combining means 15, the filter means 17, and the second combining means 
19. 
The first sensor means 11 is implemented using a differential odometer 22. 
The differential odometer 22 is a means for generating a relative 
direction signal RDS on line 12 by comparing the difference in distance 
traveled by wheels on the opposite sides of an axle of the vehicle as 
mentioned above. 
The second sensor means 13 is implemented with a compass means 23 for 
generating an absolute direction signal ADS, such as a magnetic flux gate 
compass described in prior U.S. patent application Ser. No. 675,827 
entitled "FLUX GATE SENSOR" invented by Alan C. Phillips and owned by an 
assignee in common with the present application. The compass means 23 
generates a signal on line 28 indicating the heading of the vehicle 
relative to the magnetic field of the earth. The output of the compass 
means 23 includes a magnitude component M indicating the magnitude of the 
magnetic field surrounding the compass means 23 and a directional 
component .theta. indicating the angle of the heading of the vehicle 
relative to the magnetic field. 
The actual compass outputs X and Y are given by equations 10 and 11: 
EQU X=M cos L cos .theta., (10) 
EQU Y=M cos L sin .theta., (11) 
where, 
M=earth's magnetic field magnitude, 
L=angle above horizontal of earth's field, or "magnetic dip", 
.theta.=horizontal angle of earth's field, or "direction". 
Thus the direction component .theta. can be closely approximated by 
equation 12: 
EQU .theta.=arctan (Y/X) (12) 
The heading component .theta. of the output is fed into a selector means 
24, responsive to an ADS control signal on line 26, for selecting one of 
two inputs as the absolute direction signal ADS for line 14. The second 
input of the selector means 24 is data stored in a map data base 25 of a 
vehicle navigation system described below. The data generated from a map 
data base 25 indicates the heading of the vehicle when the vehicle is 
known to be traveling on a particular street. 
In normal operation and for the purposes of the description of the 
apparatus 10 as depicted in FIG. 2, it can be assumed that the selector 
means 24 selects the heading component .theta. from the compass means 23 
as the absolute direction signal ADS for line 14. The generation of the 
ADS control signal on line 26 and the selection of the two inputs is 
described in more detail below with reference to FIG. 5. 
As mentioned above, the operation of the apparatus 10 of FIG. 2 can be 
described with reference to the signal graphs of FIGS. 3A-3E. Beginning 
with FIG. 3E, line H shows the actual heading of the vehicle for the 
example. Thus, the vehicle in our example begins at a heading of about 
45.degree. north of east along the segment 101. Then as illustrated by 
segment 102, the vehicle makes a 45.degree. turn toward the east. (For 
purposes of illustration, the turns are considered as instantaneous.) The 
vehicle then travels straight as illustrated in segment 103 until making 
an approximately 120.degree. turn as illustrated in segment 104. The 
vehicle then proceeds straight at its resultant heading of about 
30.degree. west of north to the end of the example along segment 105. 
FIG. 3A shows an example of the absolute direction signal ADS as the 
heading component .theta. magnetic flux gate compass 23. The signal 
generated by the magnetic flux gate compass 23 tracks the actual heading 
H. It can be seen that errors 106 may occur, due to anomalies such as 
magnetic dip error, that are reflected in the signal generated by the 
magnetic flux gate compass 23. Also as the chart of FIG. 3A shows magnetic 
anomalies due to steel structures or the like can cause the flux gate 
compass to generate a spike 107 wherein the signal indicates a large 
deviation, shown as an approximately 360.degree. turn in the ADS. 
FIG. 3B shows a simplified example of the RDS generated by the differential 
odometer 22. The starting heading 109 is a random value as discussed above 
and is not likely to be the vehicle heading. The signal illustrates sensor 
drift, reflected in the slope of the relative direction signal. The turns 
taken by the vehicle are well delineated at segments 110 and 111. However, 
due to an error caused by, for example, wheel slip, the turn, 111, as 
indicated by the relative direction signal RDS appears to be slightly less 
than the full 120.degree. shown in segment 104. Also, it can be seen in 
FIG. 3B that the slope in the final segment 112 is slightly greater than 
the slope of the earlier segments of the figure, illustrating that the 
drift error may not accumulate at a constant rate in the relative 
direction signal. 
FIG. 3C shows the DELTA signal generated by subtracting the absolute 
direction signal of FIG. 3A from the relative direction signal of FIG. 3B. 
The magnetic anomalies, 106 and 107, are clearly reflected in the DELTA 
signal. Also, the drift, wheel slip and random start heading are reflected 
in the DELTA signal. It can be seen at the final segment, 113, shows the 
increased slope of the drift illustrated by segment 112 in FIG. 3B. Also a 
slight offset 114 due to wheel slip can be seen in the DELTA signal. By 
subtracting RDS from ADS we have cancelled the sometimes rapidly varying 
heading information. 
As discussed above, the higher frequency anomalies from the DELTA signal on 
line 16 can now be filtered by filter means 17 without affecting the 
heading information H to generate an F-DELTA signal as illustrated in FIG. 
3D. The F-DELTA signal from line 18 shown in FIG. 3D is similar to the 
DELTA signal of FIG. 3C with a few exceptions. Most noticeable is the 
reduction of the spike 107. Less noticeable is the slighter reductions of 
the magnetic dip error anomaly 106 and the wheel slip 114. The slope of 
the drift is preserved although a slight slope-dependent shift is 
introduced by the filter from points 115 to 116. 
The F-DELTA signal is then added to the relative direction signal by the 
second combining means 19, and the output is the estimated heading EH, 
plus magnetic variation, as illustrated in FIG. 3E superimposed on the 
actual heading H. The estimated heading H is not subject to the majority 
of the anomalies which are reflected in the absolute direction signal and 
the relative direction signal. 
The characterisics of the filter means 17 determine the relative 
characteristics of the apparatus 10 in eliminating errors in the ADS and 
RDS signals. Accordingly, the setting of the characteristics of the filter 
means 17 directly translates into the responsiveness of the apparatus 10 
to generate accurate data regarding the estimated heading of the vehicle. 
In the preferred embodiment, the filter means 17 operates by periodically 
sampling the DELTA signal from line 16 of the first combining means 15 
over periods of distance traveled and filtering the DELTA signal to 
generate F-DELTA according to the following filter equation (13): 
##EQU1## 
where F-DELTA.sub.new is equal to the new value of F-DELTA; 
F-DELTA.sub.old is equal to the previous value of F-DELTA; T.sub.C is 
equal to the filter time (i.e., distance) constant; and DELTA.sub.new is 
equal to the new sample of DELTA. 
Thus the filter means 17 behaves according to the filter constant T.sub.C. 
T.sub.C is set so that generally high frequency fluctuations due to errors 
from the ADS in the DELTA signal on line 16 will be filtered out while the 
constant and the generally low frequency fluctuations due to errors from 
the RDS pass through and are reflected in F-DELTA on line 18. Decreasing 
T.sub.C has the effect of increasing the frequencies passed and thus 
giving higher weight to the ADS. Increasing T.sub.C has the effect of 
reducing the frequencies passed and thus giving higher weight to the RDS. 
The filter means 17 can be implemented using analog or digital techniques 
and in a variety of other filtering relationships depending on the 
spectral characteristics of the errors reflected in direction signals from 
the first sensor means and second sensor means. 
In the preferred embodiment, the filter means 17 responds to a filter 
control signal on line 27 to vary the characteristics of the filter means 
17, such as by varying the filter constant T.sub.C in the filter equation 
(equation (13)) set out above. The control of the filter means 17 is 
discussed with reference to FIG. 4. 
III.A. Filter Control 
FIG. 4 illustrates a filter control means 30 for generating the filter 
control signal on line 27. The filter control means 30 is responsive to 
multiple parameters FP1, FP2, FP3, FP4, and so on through FPN. The filter 
parameters are generated from the relative direction signal, the absolute 
direction signal, comparisons between the absolute direction signal and 
the relative direction signal, the map data base, the measured magnitude 
of the magnetic field and comparisons between magnetic field strengths and 
other sources of data. The filter control signal on line 27 operates to 
vary the filter constant T.sub.C and thereby controls the weight given to 
the relative direction signal as compared to the absolute direction signal 
in generating the data on line 20 estimating the heading of the vehicle. 
For a filter means 17 implemented according to equation (13) set out above, 
as the filter constant T.sub.C approaches one, the output on line 20 of 
the apparatus 10 follows the absolute direction signal on line 14 more 
closely. As the filter constant T.sub.C increases, the absolute direction 
signal on line 14 is given less weight, and the relative direction signal 
on line 12 is reflected more closely on line 20. 
The first filter parameter FP1, which is input to the filter control means 
30, is generated by subtracting the relative direction signal RDS on line 
12 from the absolute direction signal ADS from the compass means 23 on 
line 28 (ADS-RDS). Then, a standard deviation SSD of (ADS-RDS) weighted as 
a function of distance is determined. If the distance weighted standard 
deviation SDD is large, then the differential odometer 22 and/or the 
compass means 23 are generating erroneous signals. When the compass means 
23 and/or the differential odometer 22 are generating erroneous signals as 
indicated by the first filter parameter FP1, then the filter control means 
30 determines, based upon the other filter parameters, whether to increase 
or decrease the filter constant T.sub.C. 
A means 31 for generating the first filter parameter FP1 is implemented in 
the preferred embodiment by software control of a computer (not shown). By 
way of example, the means 31 generates the first filter parameter FP1 by 
sampling (ADS-RDS) once every second for each second that the vehicle has 
travelled fifteen feet or more. The standard deviation SDD is calculated 
by taking the three most recent readings R1-R3 and calculating the current 
standard deviation SD.sub.N of these samples. If SD.sub.N is greater than 
or equal to SDD, then SDD is set equal to SD.sub.N. If SD.sub.N is less 
than SDD, then SDD is allowed to decrease according to equation 14: 
##EQU2## 
where R=time constant for decay of SDD. In this manner, the standard 
deviation of (ADS-RDS) is weighted to reflect more strongly deviations in 
the data collected at the closest segment of distance travelled and 
responds quickly to sudden increase. 
The second filter parameter FP2 is generated by means 32 for generating a 
signal indicating unusual deviations in the magnitude of the magnetic 
field of the earth as detected by the compass means 23. The second filter 
parameter FP2 is generated by comparing the measured magnitude of the 
magnetic field of the earth from the output of the compass means 23 
against the expected magnitude of the magnetic field of the earth 
(corrected for any significant vertical dip angle L at the location of the 
vehicle). When the difference between the expected magnitude and the 
measured magnitude is large, then the output of the compass means can be 
expected to be unreliable. Thus, when the means 32 generates a filter 
parameter FP2 indicating that the measured magnitude of the magnetic field 
of the earth differs from the expected magnitude and filter parameter one 
FP1 is set, then the filter control means 31 signals the filter means 17 
to decrease the filter constant T.sub.C and thereby reduce the effect of 
the absolute direction signal on the output and increase the dependence on 
the relative direction signal. 
In the preferred embodiment, the means 32 is implemented by software 
control of a computer. The values for the expected magnitude of the 
magnetic field of the earth are stored in the computer during the 
calibration of the compass means 23. For example, the data may be 
generated by orienting the compass means 23 in a number of known headings 
and measuring the magnitude of the earth's field for each of those known 
headings. That measured magnitude for the known headings is stored in the 
computer. When the vehicle travels across terrain which causes anomalies 
in the magnetic field of the earth, then the difference between the 
expected magnitude of the magnetic field of the earth generated during 
calibration of the compass means 23 and the measured magnitude will 
indicate the presence of many of those anomalies. 
The third filter parameter FP3 is generated in means 33 for indicating the 
accuracy of the compass means 23. For instance, the means 33 could be 
implemented using a map data base (discussed in more detail below) which 
sets a particular bit for areas on the map in which the output of the 
compass means 23 is expected to be subject to anomalies. The third filter 
parameter FP3 indicates that the filter constant T.sub.C should be 
decreased when FP1 is set. 
The fourth filter parameter FP4 is generated by means 34 for indicating the 
accuracy of the differential odometer 22, or the first sensor means 11, 
generating the relative direction signal. For instance, the means 34 as 
implemented with a differential odometer 22 includes means for detecting 
the turn radius and the centrifugal force on the vehicle. These data 
regarding the turn radius and centrifugal force on the vehicle around the 
turn correlates with inaccuracies in the differential odometer 22 which 
depend on the suspension geometry of the vehicle and other factors 
specific to the particular embodiment of the differential odometer. The 
coefficients used in FP4 may be derived from both data entered regarding 
vehicle specifications and calibrations of the relative direction sensor 
on a specific vehicle by measurement. 
Additional parameters, such as is indicated by the nth filter parameter FPN 
in FIG. 4, could be implemented depending on the particular embodiments of 
the direction sensors used. 
In the preferred embodiment, the filter control means responds to the 
multiple parameters to generate a signal on line 27 which controls the 
filter constant T.sub.C for the filter means 17. This filter control is 
likewise implemented by software control of the computer. 
Various interrelationships between the multiple parameters input to the 
filter control means 30 are determined by the particular embodiment chosen 
and implemented by programming the computer to recognize these 
interrelationships. Thus for a given plurality of sensor means, the filter 
means 17 is controllable to adapt to the spectral characteristics of 
errors reflected in the direction signals generated by those sensor means. 
III.B. Vehicle Navigation System 
As mentioned above, the apparatus 10 shown in FIG. 2 of the preferred 
embodiment is implemented on a land vehicle having a vehicle navigation 
system. The vehicle navigation system includes the map data base 25 having 
directional data regarding the heading of a vehicle known to be traveling 
on a particular street. 
The preferred embodiment of the vehicle navigation system is disclosed in 
detail in the prior U.S. patent application entitled "VEHICLE NAVIGATION 
SYSTEM AND METHOD", invented by Stanley K. Honey, et al; Ser. No. 618,041; 
filing data 06/07/84, and owned by an assignee in common with the present 
application. The disclosure of the application Ser. No. 618,041 including 
the drawings, specification and claims is incorporated by reference as if 
fully set forth herein for the purpose of disclosing one preferred 
embodiment of the vehicle navigation system with which the apparatus 10 is 
used. 
III.C. Map Data Base 
For an apparatus 10 according to the present invention used in conjunction 
with a vehicle navigation system, the invention provides the selector 
means 24 as discussed above for selecting between the map data base 
heading data and the second sensor means heading data for the ADS signal. 
The map data base 25 is now discussed. 
The vehicle navigation system provides the map storage means 25 (shown in 
FIG. 2) including a map data base as disclosed in application Ser. No. 
618,041. This map data base includes data identifying (1) a set of line 
segments S defining the set of streets St, (2) street widths, (3) vertical 
slopes of the line segments S, (4) magnetic variation of the geographical 
area identified by the map, (5) map accuracy estimates, and (6) street 
names and street addresses. 
FIG. 6 is used to explain the street segment data stored on map storage 
means 25 that identify a set of line segments S defining the set of 
streets St. Each such street St is stored on the storage means 25 as an 
algebraic representation of the street St. Generally, each street St is 
stored as one or more arc segments, or, more particularly, as one or more 
straight line segments S. As shown in FIG. 6, each line segment S has two 
end points EP.sub.1 and EP.sub.2 which are defined by coordinates X.sub.1 
Y.sub.1 and X.sub.2 Y.sub.2, respectively, and it is these XY coordinate 
data that are stored in the storage means 25. The course or heading of the 
segment S can be determined from the end points. 
The map data base also contains data to relate magnetic north to true 
north, magnetic dip angles to determine heading errors due to the vertical 
slope of streets St, and other data accounting for the actual magnetic 
variation of a given geographic area. Because these are generally 
continuous and slowly varying characteristics, only a few factors need be 
stored for the entire map data base for this purpose. As mentioned above, 
these factors may be input as one or more of the multiple parameters to 
the filter control means 30 and selector control means 50 described below. 
The map data base is subject to a variety of other errors including survey 
errors and photographic errors which may occur when surveying and 
photographing a given geographic area to make the map data base, errors of 
outdated data such as a new street St that was paved subsequent to the 
making of the map data base, and, a general class of errors encountered 
when describing a 3-dimensional earth surface as a 2-dimensional flat 
surface. Consequently, the map data base may contain data estimating the 
accuracy for the entire map, for a subarea of the map or for specific line 
segments S. Additionally, some streets St in the map M are known to be 
generalizations of the actual locations (e.g. some trailer park roads). 
The map accuracy data may be coded in such a way as to identify these 
streets St. 
The heading of a vehicle which is recognized as being on a particular line 
segment S is calculated from the map data base by determining the slope of 
the segment S from the endpoints EP.sub.1 and EP.sub.2 and comparing that 
slope to the known orientation of the map. For a two way street, the 
heading of the vehicle is determined to be the direction which is closest 
to the most recently generated estimated heading of the vehicle. 
In summary, the map data base includes data identifying locations on the 
map having characteristics which are expected to cause the compass means 
to be unreliable, such as, streets with inclines causing magnetic dip 
errors, streets with large streel structures adjacent to them causing 
anomalies in the magnetic field surrounding the structure, data 
identifying geographic areas having natural variations in the magnetic 
field, and so on. This data identifying the characteristics of geographic 
locations is supplemented in the map data base by data indicating accuracy 
of the map itself. 
III.D. Selector Control 
FIG. 5 shows a block diagram of a selector control means 50 for generating 
the ADS signal signal on line 26. As mentioned above, the apparatus 10 of 
FIG. 2 operates normally to select the output of the compass means 23. 
However, when the ADS control signal indicates that the heading as 
calculated from the map data base is preferable, the selector means 24 
will select the heading from the map data base as the absolute direction 
signal on line 14. The selector control means 50 for generating the ADS 
control signal on line 26 in the preferred embodiment is responsive to 
multiple selector parameters SP1 through SPN to generate the ADS control 
signal on line 26 causing the selector means 24 to appropriately select 
data from the map data base 25 or the compass means 23. 
The first selector parameter SP1 indicates whether the navigation control 
system has identified the location of the vehicle as being on a particular 
street. Thus, the first selector parameter SP1 is generated by means 51 
for indicating that the vehicle is located on a particular street. 
The second selector parameter SP2 indicates whether the heading of the 
particular street is within a threshold of the data on line 20 regarding 
the estimated heading of the vehicle. Thus, the second selector parameter 
SP2 is generated by the means 51 for indicating whether the apparatus 10 
is generating data that indicates an estimated heading of the vehicle 
which corresponds to the heading predicted by the particular street on the 
map data base 25. 
The third selector parameter SP3 is derived from the map data base and 
indicates whether the vehicle is located in a geographic area or on a 
particular street segment which is expected to suffer magnetic anomalies 
causing errors in the output of the compass means 23. Thus, the means 53 
for generating the third selector parameter SP3 generates data regarding 
expected errors in the compass signal due to the location of the vehicle. 
In the preferred embodiment the selector control means 50 will cause the 
selector means 24 to select the map data base only when the first selector 
parameter SP1, the second selector parameter SP2, and the third selector 
parameter SP3 are set. Thus, the map data base would be used to generate 
the absolute direction signal on line 14 only when the navigation 
algorithm has decided that the vehicle is on a particular street, the map 
data base indicates that the compass means is expected to be subject to 
anomalies in the area in which the vehicle is located, and the output of 
the apparatus 10 indicating data regarding the estimated heading of the 
vehicle remains within a threshold angle of the heading indicated by the 
particular street on the map data base. 
As illustrated in FIG. 5, additional selector parameters SPN may be 
implemented depending on the particular type of second sensor means 13 
used for generating the absolute direction signal. Various 
interrelationships among the selector parameters are determined by the 
characteristics of the vehicle navigation system, the map data base, and 
the sensor used for generating the absolute direction signal. 
In the preferred embodiment, each of the selector parameters SP1 through 
SPN and the selector control means 50 are implemented by software control 
of a computer, in conjunction with the navigation control system. 
III.E. Navigation System Parameter 
In another aspect of the present invention, when implemented with the 
vehicle navigation system as disclosed above, the output of the filter 
control means 30 as shown in FIG. 4 is a parameter fed back to the 
navigation system. The parameter on line 27 is used by the vehicle 
navigation system in its algorithm for determining whether the vehicle is 
located on a given street. Part of that algorithm compares the output of 
the apparatus 10, that is the data indicating the estimated heading of the 
vehicle on line 20, with the known heading of the segment S on which the 
vehicle has been located. 
FIG. 7 shows the flow chart of the subroutine in the vehicle navigation 
system disclosed in prior application VEHICLE NAVIGATION SYSTEM AND 
METHOD, Ser. No. 618,041, for determining if a segment S is parallel to 
the estimated heading EH of the vehicle within a threshold. Initially, an 
angle .alpha. of the line segment S is calculated (block 7A) in accordance 
with equation 15: 
EQU .alpha.=arctan [Y.sub.2 -Y.sub.1)/(X.sub.2 -X.sub.1)] (15) 
where X.sub.1, X.sub.2, Y.sub.1, Y.sub.2 are the XY coordinate data of the 
end points EP of the line segment S on which the vehicle is probably 
located and that currently being processed by the system. 
Then, the current estimated heading EH of the vehicle is determined (block 
7B) from line 20 of apparatus 10. Next, the system determines if the 
absolute value of .alpha.-EH or the absolute value of 
.alpha.-EH+180.degree. is less than a threshold number of degrees (block 
7D). If this difference is greater than the threshold (block 7D), then the 
system determines that this line segment S is not parallel to the 
estimated heading EH of the vehicle (block 7E). If this difference is less 
than the threshold (block 7D), then the system determines that this 
segment S is parallel to the estimated heading EH of the vehicle (block 
7F). 
The means for determining whether this particular segment is parallel to 
the estimated heading of the vehicle receives the parameter on line 27 of 
FIG. 4 and generates a value for the threshold of block 7D. When the 
parameter indicates the estimated heading means 20 is unreliable then the 
threshold of block 7D is increased. On the other hand, the threshold of 
block 7D is decreased if the reliability of the estimated heading on line 
20 is good as indicated by the parameter on line 27. 
This parameter for setting the threshold of block 7D is one of several 
parameters used in the navigation system described in VEHICLE NAVIGATION 
SYSTEM AND METHOD application referred to above to determine the 
particular segment the vehicle is on, and hence determine the map heading 
data sometimes used as the ADS as described above. 
III.F. Software Implementation 
The apparatus 10 for generating an improved estimate regarding the heading 
of a land vehicle as disclosed above can be implemented using analog or 
digital components as known in the art. In the preferred embodiment the 
apparatus is accomplished by software control of a computer (not shown). 
FIGS. 8 and 8A through 8H provide flow charts of the software control of a 
computer operating according to the present invention. 
FIG. 8 is an over-all flowchart for the calculation of the estimated 
heading EH according to the present invention. The first step in the flow 
chart for the calculation of the estimated heading EH is to calculate the 
heading H.sub.C from the compass (block 8A). The heading H.sub.C from the 
compass corresponds to the directional component of the output of the 
compass. The calculation of the heading H.sub.C is set out in FIG. 8A. 
The next step involves calculation of the heading H.sub.W from the wheels, 
that is the calculation of the direction signal from the differential 
odometer on the wheels (block 8B). The calculation of the heading H.sub.W 
from the wheels is shown in FIG. 8B. 
The next step involves the calculation of the compass errors bounds E.sub.C 
(block 8C). Compass error bounds are calculated as shown in flowchart of 
FIG. 8C. 
The next step involves the calculation of the wheel sensor error bounds 
E.sub.W (block 8D). The calculation of the wheel error bounds E.sub.W is 
shown in FIG. 8D. 
The next step in the overall flowchart of FIG. 8 is to calculate the 
combined error signal DELTA from H.sub.C and H.sub.W (block 5). DELTA is 
equal to H.sub.C -H.sub.W. 
In the next step the software determines whether the vehicle has traveled 
over a threshold distance (block 6). The threshold distance will be 
determined by the type of sensors used, the average velocity of the 
vehicle, and other factors to optimize the calculation of the estimated 
heading. 
If the vehicle has traveled over the threshold distance, then a filter time 
constant factor is calculated (block 8E). The filter time constant factor 
is utilized in the calculation of the filter time constant T.sub.C 
discussed above. The calculation of the filter time constant factor F is 
shown in the flow chart FIG. 8E. If the vehicle has not traveled over the 
threshold distance then the time constant factor is left alone. 
The next step involves determining whether to select the absolute direction 
signal from the heading H.sub.C or from the map data base. If the heading 
is selected from the map data base, then DELTA is recomputed (block 8F). 
FIG. 8F shows the algorithm for selecting the map base or the heading 
H.sub.C. 
In the next step the F-DELTA is calculated utilizing the filter time 
constant factor F to calculated the filter time constant T.sub.C (block 
8G). The flowchart for calculation of F-DELTA is shown in FIG. 8G. 
In the last step, the estimated heading EH is calculated from the wheels 
heading H.sub.W and F-DELTA. The algorithm for calculating the estimated 
heading EH is shown in FIG. 8H. 
FIG. 8A shows the algorithm for the calculation of the heading from the 
compass H.sub.C. In the first step, the outputs from the flux gate compass 
X1 and Y1 are read (block 1). In the next step, the compass offsets are 
compensated for by generating X2 equal to X1-X0 and Y2 equal to Y1-Y0; 
where X0 and Y0 are the compass offsets (block 2). In the next step, the 
heading component of the output from the compass is calculated (block 3). 
The heading component designated A is equal to arctangent (Y2,X2). In the 
next step, the compass deviation is compensated for in the heading A 
(block 4). This is accomplished by calculating B=A plus the deviation for 
the heading A. The deviation comes from a table created during 
calibration. In the final step, the compass rotation and magnetic 
variation are compensated for (block 5). This is accomplished by 
calculating H.sub.C =B-R+V, where R is equal to the rotation of the 
compass and V is equal to the magnetic variation. The rotation term R is 
calculated during calibration and the magnetic variation term V is stored 
as part of the map data base. 
FIG. 8B shows a flowchart for calculating a heading from the wheels 
H.sub.W. The first step involves reading wheel pulses from the left and 
right wheels to determine the distance travelled by the left and right 
wheels respectively l, r (block 1). In the next step, the velocity V is 
calculated by adding l and r and dividing it by 2 (block 2). In the next 
step, the ratio R equal to (L-R)/V is calculated (block 3). Next, the 
effective wheel track T is determined from a look-up table based on the 
ratio R and velocity V (block 4). The lookup table is computed during 
calibration. The angle of the turn .alpha. is then calculated by 
multiplying (L-R).times.K.sub.D and dividing the product by T, where 
K.sub.D is equal to a calibration factor for the wheel sensors (block 5). 
Finally, the wheel heading H.sub.W is set equal to the previous wheel 
heading plus .alpha. (block 6). 
FIG. 8C is a flowchart showing the calculation of the compass error bounds 
E.sub.C. In the first step, the outputs X1 and Y1 from the flux gate 
compass are read (block 1). In the next step, the compass offsets are 
compensated for (block 2). Next the magnetic field strength B.sub.M is 
calculated by taking the square root of (x2.sup.2 +y2.sup.2) (block 3). 
The magnetic field strength corresponds to the magnitude component of the 
output of the compass means. In the next step, factor D is calculated by 
taking the absolute value of (D.sub.M -B.sub.E)/B.sub.E ; where B.sub.E is 
equal to the magnetic field strength due to the earth from a look-up table 
(block 4). Finally, the compass error bounds E.sub.C is set equal to 
D.times.60.degree. (block 5). FIG. 8D shows the calculation of the wheel 
sensor error bounds E.sub.W. In the first step the heading change .alpha. 
is calculated from the wheels (block 1). Next the wheel sensor incremental 
error E.sub.WI is calculated equal to the absolute value of 
.alpha..times.K; where K is equal to a constant about equal to 0.1 (block 
2). Next step, the accumulated wheel sensor error E.sub.WA is set equal to 
E.sub.W +E.sub.WI (block 3). Next a filter constant F.sub.E is set equal 
to D.sub.N /D.sub.T ; where D.sub.N is equal to a nominal distance 
constant and D.sub.T is equal to the distance traveled by the vehicle 
since the last calculation (block 4). Last, the wheel sensor error bounds 
E.sub.W is set equal to E.sub.WA .times.(F.sub.E -1)/F.sub.E (block 5). 
FIG. 8E shows the calculation of the filter time constant factor F used in 
calculating the filter time constant T.sub.C. In the first step the time 
weighted standard deviation SDD of DELTA is calculated (block A). The 
algorithm for the calculation of the time weighted standard deviation of 
DELTA SDD is set in FIG. 8E/A. In the next step the heading error is 
calculated E.sub.h =SDD.times.K.times.(E.sub.W -E.sub.C) where K is equal 
to a constant set by trial and error to maximize the accuracy of the 
apparatus (block 2). In the next step, E.sub.h is compared with zero 
(block 3). If E.sub.h is greater than zero, then the error is primarily 
due to the wheels of the differential odometer so the filter time constant 
factor F is calculated to equal (E.sub.h +K.sub.1)/K.sub.1 ; where K.sub.1 
is equal to a constant (block 4). If E.sub.h is less than or equal to 
zero, then the error is primarily due to the output from the compass. Thus 
the filter time constant factor F is set equal to K.sub.2 /(E.sub. h 
+K.sub.2); where K.sub.2 is equal to a constant (block 5). 
FIG. 8E/A shows the flowchart for the calculation for the time weighted 
standard deviation SDD. In the first step, the standard deviation of the 
three previous DELTA measurements SD.sub.N is calculated (block 1). In the 
next step the time weighted standard deviation SDD is calculated to equal 
(1/T).times.SD.sub.N +(T-1)/T.times.SDD.sub.O ; where T is about equal to 
6 and SDD.sub.O is equal to the previously calculated SDD (block 2). In 
the next step, SD.sub.N is compared with SDD (block 3). If SD.sub.N is 
greater than SDD, then SDD is set equal to SD.sub.N (block 4). Otherwise 
SDD is left as calculated in block 2. 
FIG. 8F shows the algorithm for determining whether to select the ADS 
signal from the compass or the map data base. In the first step, the 
software determines where the vehicle was on the map at the last update of 
the navigation algorithm (block 1). If the vehicle was not located on a 
particular street, then the heading is selected from the compass. However, 
if the vehicle was updated to the map, then the software determines 
whether a special map data base bit is set (block 2). The special map data 
base bit is set when the map indicates tha the vehicle is in an area where 
the heading signal H.sub.C from the compass is expected to be inaccurate. 
If the special map data base bit is not set then the heading is selected 
from the compass. If the special data base bit is set then the software 
determines whether the heading of the map agrees with the heading of the 
compass within a threshold (block 3). If the headings disagree, then the 
heading is selected from the compass. If they agree, then the heading is 
selected from the map data base and DELTA is recalculated to equal H.sub.M 
-H.sub.W ; where H.sub.M is equal to the heading from the map and H.sub.W 
is equal to the heading from the wheels (block 4). 
FIG. 8G shows the algorithm for the calculation of F-DELTA. In the first 
step the filter constant T.sub.C is calculated by setting it equal to 
D.sub.N /(D.sub.T .times.F); where D.sub.N is equal to a nominal distance 
constant, D.sub.T is equal to the distance travelled and F is equal to the 
filter time constant factor (block 1). In the next step, F-DELTA is 
calculated to equal (DELTA.sub.new /T.sub.C)+((T.sub.C 
-1)/T.sub.C).times.F-DELTA.sub.old as described above in the specification 
(block 2). 
FIG. 8H shows the calculation of heading from the wheels and F-DELTA. The 
estimated heading EH is set equal to H.sub.W +F-DELTA (block 1). 
Appendix A copyright 1985, ETAK, Inc. to the present application is a 
printout of a source code language program for carrying out the present 
invention which is provided for the purposes of providing an example of 
one embodiment of the present invention. The software in Appendix A 
includes the following subroutine modules: 
(1) COUR MOD. This module determines the coefficient for the low pass 
filter which calculates FDELTA. 
(2) SDEV. This module calculates standard deviation. 
(3) STDEV. This module calculates standard deviation. 
(4) DEVCORR. This module corrects the compass reading for elliptical 
deviation. 
(5) DR. This module is the main dead reckoning program. 
(6) ERRFLTR. This module implements a fast attack, slow decay filter. 
(7) LFILTER. This module implements a single pole infinite impulse response 
digital filter. 
(8) RDSENSOR. This module reads the magnetic field sensor and the wheel 
sensors. 
(9) TRACK. This module calculates the Ackerman steering wheel track given 
left and right wheel distance. 
(10) DRPUPDT. This module updates the dead reckoning position given the 
incremental change in vehicle position. 
(11) DRCALC. This module calculates the incremental distance traveled and 
the incremental heading change given left and right wheel sensor readings. 
IV. Conclusion 
Apparatus 10 according to the present invention overcomes the problems of 
prior art sensors for generating accurate data regarding the heading of a 
land vehicle by eliminating errors in the signals generated in direction 
sensors. According to this apparatus and method, errors reflected in the 
absolute direction signal and the relative direction signal are minimized. 
Because the errors in the relative direction sensor are for the most part 
probabilistically independent and spectrally separated from magnetic 
anomaly-induced errors reflected in the absolute direction signal, the 
present invention is able to combine the signals to isolate and minimize 
the effects of the errors in generating accurate data regarding the 
heading of the vehicle. 
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, and obviously many modifications and variations are possible in 
light of the above teaching. The embodiment was chosen and described in 
order to best explain the principles of the invention and its practical 
application to thereby enable others skilled in the art to best utilize 
the invention in various embodiments and with various modifications as are 
suited to the particular use contemplated. It is intended that the scope 
of the invention be defined by the claims appended hereto. 
Accordingly, further aspects and advantages of the present invention can be 
determined by a study of the specification, the appendix, the claims and 
the drawings.