CROSSREFERENCE TO RELATED APPLICATIONS

[0001]
This application is related to U.S. patent application Ser. No. 08/803,935, filed Feb. 21, 1997, entitled “Method And System For Determining A Position Of A Transceiver Unit Utilizing TwoWay Ranging in a Polystatic Satellite Configuration”.
TECHNICAL FIELD

[0002]
This invention relates to methods and systems for determining a position of a communication satellite utilizing twoway ranging through multiple transceivers.
BACKGROUND ART

[0003]
Current Automatic Dependent Surveillance (ADS) technology, such as Global Positioning System (GPS), Wide Area Augmentation System (WAAS) or GLONASS, provides positioning information utilizing satellite transmissions. For example, the GPS, developed and deployed by the U.S. Department of Defense, consists of 24 satellites orbiting the earth twice a day at an altitude of 12,000 miles, as well as five ground stations to monitor and manage the satellite constellation. Using atomic clocks and location data, GPS satellites transmit continuous time and position information 24 hours a day to a GPS receiver, which listens to four or more satellites at once to determine a user's position. By measuring the time interval between the transmission and the reception of a satellite signal, the GPS receiver calculates the distance between the user and each satellite, and then uses the distance measurements of at least four satellites to arrive at a position.

[0004]
Such systems, however, utilize oneway ranging in which an accurate, synchronized clock is required at each station. Any synchronization error or error regarding the location of one of the satellites results in an error in the determined position of the target vehicle.

[0005]
Any type of satellite based navigation system must determine the position and velocity of its ranging satellites to extremely high accuracy. Position and velocity determination are vital parts of the stationkeeping function for any satellite, even one which is not part of a navigation system.

[0006]
One known system requires the satellite to have simultaneous contact with all of its ground stations in order to obtain position information. This, however, may not always be possible for a satellite in a nongeostationary orbit which moves relative to the Earth and, therefore, periodically loses access to any given point on the Earth's surface.
DISCLOSURE OF THE INVENTION

[0007]
It is thus a general object of the present invention to provide a method and system for determining the position of a communication satellite utilizing twoway ranging.

[0008]
In carrying out the above object and other objects, features, and advantages of the present invention, a method is provided for determining a position of an orbiting transceiver in a communications network including at least a first and second transceiver at a first and second known location, respectively, on Earth. The first and second transceivers are adapted to transmit and receive communications signals to and from the orbiting transceiver. The method includes determining a first and second range measurement between each of the first and second transceivers and the orbiting transceiver, respectively. The method further includes determining a first and second range rate corresponding to a time rate of change of the first and second range measurements, respectively. The method also includes determining a circle of intersection representative of the set of possible positions for the orbiting transceiver based on the first range and the first range rate wherein the circle of intersection includes a specific orientation in space, a specific radius and a center in a specific, three dimensional position relative to the known position of the first transceiver. Still further, the method includes determining an angular position of the orbiting transceiver along the circle of intersection based on the known position of the second transceiver and the second range measurement. Finally, the method includes determining the position of the orbiting transceiver based on the circle of intersection and the angular position.

[0009]
In further carrying out the above object and other objects, features, and advantages of the present invention, a system is also provided for carrying out the steps of the above described method. The system includes at least a first and second transceiver at a first and second known location, respectively, on Earth. The first and second transceivers are adapted to transmit and receive communications signals to and from the orbiting transceiver. A processor coupled to one of the first and second transceivers is operative to determine a first and second range measurement between each of the first and second transceivers and the orbiting transceiver, respectively. The processor is further operative to determine a first and second range rate corresponding to a time rate of change of the first and second range measurements, respectively. Still further, the processor is operative to determine a circle of intersection representative of the set of possible positions for the orbiting transceiver based on the first range measurement and the first range rate wherein the circle of intersection includes a specific orientation in space, a specific radius, and a center in a specific, threedimensional position relative to the known position of the first transceiver. The processor further determines an angular position of the orbiting transceiver along the circle of intersection based on the known position of the second transceiver and the second range measurement. Finally, the processor determines the position of the orbiting transceiver based on the circle of intersection and the angular position.

[0010]
The above object and other objects, features and advantages of the present invention are readily apparent from the following detailed description of the best mode for carrying out the invention when taken in connection with the accompanying drawings.
BRIEF DESCRIPTION OF THE DRAWINGS

[0011]
[0011]FIG. 1 is a diagram illustrating a communication system employing the method and system of the present invention;

[0012]
[0012]FIG. 2 is a diagram illustrating the geometrical plane containing two ranging nodes of the present invention;

[0013]
[0013]FIG. 3 is a diagram illustrating an enlarged view of the plane of FIG. 2;

[0014]
[0014]FIG. 4 is a diagram illustrating a circle of intersection extending above and below the XY plane of FIG. 2; and

[0015]
[0015]FIG. 5 is a diagram similar to FIG. 3, but adding x and y unit vectors, and a point denoted Rq associated with a later step in the position determination.
BEST MODES FOR CARRYING OUT THE INVENTION

[0016]
[0016]FIG. 1 diagrammatically illustrates a communication system with a typical geometry for practicing the present invention. This system, denoted generally by reference numeral 10, includes a target communication satellite 12 whose position (denoted R_{0}) is to be determined. The system 10 in FIG. 1 also includes a primary ranging node (RN) 14—such as a satellite ground station—at the position denoted R_{1}, as well as secondary ranging nodes 11 at positions R_{2 }and R_{3}. There may be many other secondary RNs at positions R_{4}, R_{5}, etc. These additional RNs are not shown in FIG. 1; however, their modes of operation are identical to those described for the RNs at R_{2 }and R_{3}. A secondary RN may be any device that includes a transceiver such as, for example, automobiles, mobile telephones, aircraft, or the like, as long as they are stationary during operation of the present invention. As shown in FIG. 1, the distances between the satellite 12 at R_{0 }and all the RNs at R_{1}, R_{2}, R_{3}, etc. are denoted a_{i}=R_{i}−R_{0}, where i>0.

[0017]
For example, a parked commercial airliner can act as a secondary RN. When a commercial airliner is parked at an airport gate, its pilot enters the precise position of the aircraft into the onboard navigation system. This information allows the inertial navigation system to correct for drift and accumulated position error. As long as the aircraft is parked at the gate, its position is known to a high degree of accuracy. If it is equipped with an appropriate transceiver, then it can act as a secondary RN at position R_{2 }or R_{3}. If a large number of aircraft are thus equipped, and a significant percentage of them are parked at a gate at any given time, then the satellite 12 at R_{0 }can use these parked aircraft at R_{2 }and R_{3 }as RNs.

[0018]
The RNs at R_{1}, R_{2}, R_{3}, etc. communicate with each other by relaying messages through the satellite 12 at position R_{0}. In the course of operation of the present invention, the primary RN 14 receives two distinct kinds of signals: ranging codes broadcast by the satellite 12, and reply codes which also are relayed through the satellite 12, but originate at secondary RNs 11. A processor 16 located at the primary RN 14 at R_{1 }distinguishes the two types of signals, and makes the computations required for the determination of the position of the satellite 12.

[0019]
The position of the satellite 12 is determined according to the following sequence of steps. First, at a precisely measured time, and on a precisely measured carrier frequency, the primary RN 14 at R_{1 }transmits a ranging signal to the satellite 12 at R_{0}, which broadcasts it to all of the RNs, including the primary RN 14 at R_{1}, and secondary RNs 11 at R_{2}, R_{3}, etc. The secondary RNs 11 then transmit their distinctive reply code signals back to the satellite 12 for transmission back to primary RN 14. Immediately upon receiving the ranging and reply code signals, the processor 16 at the primary ranging node 14 (R_{1}) measures the carrier frequency and arrival time of the ranging signal. It then computes the difference between the ranging code's arrival time and the time of its original transmission from the primary ranging node 14. This time difference is a propagation time, denoted t_{p1}, and is associated with the distance of the transmission of ranging signals from the primary RN 14 at R_{1}, to the satellite 12 at R_{0}, and back to R_{1}. This distance, denoted D_{1}, is equal to 2a_{1}. The processor 16 also measures the difference in carrier frequency between the received reply code signal and that of the originally transmitted ranging code. From that frequency difference the processor computes the Doppler frequency shift, as described below.

[0020]
Before continuing with the description of the processor's computations, we describe the measurements made on signals passing through the secondary RNs 11. As mentioned above, immediately upon receiving a ranging code, the secondary RNs 11 at positions R_{2}, R_{3}, R_{4}, etc. each transmit a reply ranging signal to the primary RN 14 at R_{1 }via the satellite 12 at R_{0}. These reply signals are designed such that they uniquely identify the particular ranging code to which they are replying, and the secondary RN 11 from which they are transmitted. The processor 16 at R_{1 }can then determine the position R_{i }of the secondary RN 11 which initiated the particular reply code, where R_{i }is an element of the set of all known secondary RN positions {R_{2}, R_{3}, . . . }. The processor 16 also measures the arrival time of each reply signal, and computes the difference between that time and the time of original transmission from the primary ranging node 14 of the ranging code which elicited the reply signal. That difference is denoted as a propagation time, t_{pi}. Thus, the measured times for round trip communication with secondary RNs at R_{2}, R_{3}, etc. are denoted t_{p2}, t_{p3}, etc. respectively.

[0021]
Referring again to FIG. 1, we see that the paths associated with propagation times t_{pi }for i>1 are of a different shape than the path associated with t_{p1 }and D_{1}. For i>1, D_{i }is the path length from the primary ranging node 14 at R_{1}, to the satellite 12 at R_{0}, to the secondary ranging node 11 at R_{i}, then back to satellite 12 at R_{0}, and finally, back to primary ranging node 14 at R_{1}. To a first approximation, D_{i}=2(a_{i}+a_{1}) for i>1. This equality is only approximate because it neglects the fact that the satellite 12 moves during the time of the signal's trip from R_{0 }to R_{i }and back to R_{0}. In reality, the satellite 12 will be in a different place when relaying the initial ranging signal from R_{1 }to R_{i }than when relaying the reply signal from R_{i }back to R_{1}. We can correct for this effect, but in the interest of clarity, we neglect it in the present description of the system, but not in the final implementation.

[0022]
We now outline a computational procedure which transforms a set of frequency shifts and propagation time measurements first into a set of communication path lengths (D_{1}, D_{2}, D_{3}, etc.), then into a set of ranges (a_{1}, a_{2}, a_{3}, etc.), and finally, into a three dimensional, vector position of the satellite 12. The measurements of propagation time include time for an electromagnetic wave to travel the prescribed path, and also delay times associated with the electronic detection and retransmission of messages. These intervals are all measured with a single clock 18 at R_{1}; therefore, secondary RNs at R_{2}, R_{3}, etc. do not need clocks, and the system depicted in FIG. 1 does not have any clock bias errors such as those in The Global Positioning System (GPS).

[0023]
Signal Delay Times and Distances

[0024]
For the path corresponding to each measured propagation time t_{p1}, t_{p2}, t_{p3}, etc., the processor 16 at R_{1 }computes an estimate of the total time delay, t_{di}, for all transceivers as well as tropospheric and ionospheric propagation along that path. The corresponding delay times t_{d1}, t_{d2}, t_{d3}, etc. are then used in the computation of the corresponding distances between the transceivers.

[0025]
The ionosphere and atmosphere are two elements in the signal path that slow the signal to less than the vacuum speed of light, which is defined as c=299, 792, 458 meters/second. The delay time, t_{di}, is defined as the propagation time of a signal over the i^{th }path minus the time required for an electromagnetic wave to traverse a path of the same length in a perfect vacuum. Given that D_{i }is the length of the i^{th }communication path, D_{i}=c(t_{pi}−t_{di}). Delay time is the sum of many components, due to the ionosphere, atmosphere, transmitter, receiver, etc., and is never negative.

[0026]
The atmospheric and ionospheric signal delays have been thoroughly studied, and mathematical models have been constructed which can predict these components of delay time (for example: Black, H. D., “An Easily Implemented Algorithm for the Tropospheric Range Correction,” Journal of Geophysical Reserch, vol. 83, no. B4, p. 1825, (1978); and for the ionospheric effect: Klobuchar, J. A., “Design and Characteristics of the GPS Ionospheric Time Delay Algorithm for Single Frequency Users,” IEEE Puss '86: Position Location and Navigation Symposium, Las Vegas, Nev., Nov. 4, 1986, p. 280).

[0027]
The ionospheric delay is harder to predict with high accuracy than that of the troposphere because the ionosphere undergoes more radical variations over time. If a particular application demands the highest possible accuracy, then the system 10 will rely upon additional measurements rather than a fixed mathematical model in order to determine the ionospheric propagation delay. Because that delay is inversely proportional to the square of the radio carrier frequency, and because it varies with location and time, additional measurements of roundtrip signal propagation time through different ground reference points and/or at different carrier frequencies will provide the continuous measurements of the ionosphere which are needed for the highest accuracy range measurements. The availability of a large number of secondary RNs provides extra information which can be used to determine the characteristics of the ionosphere, the troposphere, and other sources of signal delay in the communication path. The present invention can compensate for the time varying tropospheric and ionospheric signal propagation delays more accurately than a system which contains a very small number of RNs or turnaround ranging stations.

[0028]
Other sources of delay involving the system's antennas, transmitters, and receivers (including multipath, etc.) are similarly estimated. All of the estimated time delays associated with the i^{th }communication path are estimated, and added together to produce the total estimated time delay, t_{di}. All such delay times t_{d1}, t_{d2}, t_{d3}, etc. are then used in the computation of the corresponding communication path lengths D_{1}, D_{2}, D_{3}, etc., via the formula

D _{i} =c(t _{pi} −t _{di})

[0029]
Based on D_{1}, D_{2}, D_{3}, etc., the system 10 computes the ranges a_{1}, a_{2}, a_{3}, etc., via formulas such as: a_{1}=D_{1}/2, and a_{i}=(D_{i}−D_{1})/2. As mentioned previously, the final implementation involves more complicated equations than these, due to the motion of the satellite 12 during the time interval between its broadcast of the ranging signal and its relay of the reply signal. The correction is omitted here to simplify the presentation. The processor 16 then uses those ranges and the known positions of the RNs 14, 11, (a_{i }and R_{i }for i>0) to compute the satellite's position R_{0 }by means of one of the two procedures described below.

[0030]
We derive two algorithms for determination of the (three dimensional) vector position of the satellite 12; a “Three Sphere Algorithm” which uses range measurements involving at least three ground transceivers, and a “Range and Range Rate Algorithm” which uses range measurements from only two ground transceivers. “Range Rate” refers to the time rate of change of range (da_{i}/dt), and is derived from a combination of the time sequence of range measurements and measurements of the Doppler frequency shift of the radio signal, which is described briefly below. The “Range and Range Rate Algorithm” applies only to satellites which are not in geostationary orbit; whereas, the “Three Range Algorithm” applies to geostationary or nongeostationary satellites.

[0031]
Doppler Frequency Shift

[0032]
If a transmitter at position R_{1 }sends a radio signal at carrier frequency f_{1 }to a receiver at position R_{0 }which is approaching or receding, then the receiver will detect the signal at a different frequency f_{0 }due to the Doppler effect. The size of the Doppler frequency shift depends on the radial velocity, which we denote as v_{r}, and which equals the time rate of change of the distance between the transmitter and receiver. If the velocity of the receiver relative to the transmitter is much smaller in magnitude than the speed of light, then (approximately),

f _{0} /f _{1}=1−v _{r} /c.

[0033]
If another signal is transmitted at frequency f_{0 }from R_{0 }back to R_{1}, then the Doppler shift is compounded, so that the frequency detected at R_{1 }is

f _{11} =f _{0}(1−v _{r} /c)=f(1−v _{r} /c)^{2},

[0034]
which is approximately

f _{11} =f _{1}(1−2v _{r} /c).

[0035]
The Doppler frequency shift (f_{d}) is the difference between the frequency f_{11 }received at point 1 after the roundtrip, and that of the signal initially transmitted from point 1, which is f_{1}; therefore,

f _{d} =f _{11} −f _{1}=−2f _{1} v _{r} /c.

[0036]
The Doppler shift measurement therefore yields a measurement of the radial velocity,

V _{r} =−cf _{d}/(2f _{1}),

[0037]
and this information contributes to the orbit determination, as described below.

[0038]
Geometry

[0039]
In this invention, we present two algorithms which may be used to convert a set of scalar measurements into the vector position of the satellite 12. The “Three Sphere” positioning algorithm employs round trip signal propagation between a transceiver at an unknown location (which we denote R_{0}) and a set of three or more RNs. The “Range and Range Rate” positioning algorithm requires round trip communication between the transceiver at R_{0 }and only two RNs, but also requires that R_{0 }be moving relative to the RNs. In both of these approaches, the round trip pattern of communication implies that all round trip propagation time intervals can be measured from a single clock located at the primary RN. There is no need for highly accurate or synchronized clocks at any other location in the system.

[0040]
In contrast, a typical GPS receiver requires measurements of signals from four different transmitters in order to solve for the receiver's position. Due to the one way nature of the communication, the GPS transmitters must have highly accurate and precisely synchronized clocks, and each GPS receiver must solve for the precise local time while determining its three dimensional position.

[0041]
An additional advantage of the present invention is that these two algorithms are direct, closed form solutions to the nonlinear system of equations which define the satellite's position; whereas, GPS uses an iterative solution to a linearized approximation of an intrinsically nonlinear problem. The direct solution is more computationally efficient, faster, and more accurate.

[0042]
“Three Sphere” Algorithm

[0043]
The three sphere algorithm transforms the ranges (a_{1}, a_{2}, a_{3}, etc.) computed above and the known positions of three or more RNs (R_{1}, R_{2}, R_{3 }etc.) into the three dimensional, vector position of the satellite 12 relative to the Earth. We use the following notation to aid in the concise expression of the algorithm.

[0044]
Vector Notation

[0045]
In all of the following equations, upper case letters denote three component vectors, and lower case letters denote scalar (nonvector) quantities.

[0046]
A×B=cross product (vector product) of vectors A and B, such that if C=A×B then the three components of C are:

c
_{x}
=a
_{y}
b
_{z}
−a
_{z}
b
_{ }

c
_{y}
=a
_{z}
b
_{x}
−a
_{x}
b
_{z }

c
_{z}
=a
_{x}
b
_{y}
−a
_{y}
b
_{x }

[0047]
Note that the resulting C is perpendicular to A and to B.

[0048]
A·B=a_{x}b_{x}+a_{y}b_{y}+a_{z}b_{z}=dot product (also known as the scalar product or inner product) of vectors A and B.

[0049]
A^{2}=A·A=square of the length of vector A which equals the sum of the squares of the three components (x, y, z) of the vector (as per the Pythagorean theorem in three dimensions).

[0050]
A=(A·A)^{½}=length of vector A.

[0051]
R_{j}=vector which points from the center of the Earth to the position of the j_{th }RN, where j=[1, 2, 3, . . . ].

[0052]
R_{0} 32 vector which points from the center of the Earth to the position of the satellite to be located.

[0053]
R_{jk}=R_{j}−R_{k}=vector from point k to point j.

[0054]
a_{j}=R_{0j}=distance measurement from the j^{th }RN to the satellite.

[0055]
Intersection of Two Spheres

[0056]
The satellite's position, R_{0}, will be determined relative to the RN positions (R_{1}, R_{2}, . . . )The following geometrical and mathematical derivation of R_{0 }is performed not directly in Earth centered coordinates, but rather, in a coordinate system defined by the positions of the RNs. This choice of coordinate system separates the vector R_{01 }(which points from the known R_{1 }to the unknown R_{0}) into three mutually perpendicular components (denoted R_{p1}, R_{qp}, R_{0q}) In this carefully selected coordinate system, each of these vector components can be computed directly (noniteratively) from the measurements (a_{1}, a_{2}, a_{3}). The sum of these three vectors and the position vector of the primary RN (R_{1}) is the desired location of the satellite (R_{0}) Symbolically:

R _{0} =R _{0q} +R _{qp} +R _{p1} +R _{1}.

[0057]
The following discussion describes the geometrical process of locating the intermediate points R_{p }and R_{q }in space, and then deriving algebraic formulas for those positions.

[0058]
[0058]FIG. 2 shows a plane containing the primary RN 14 at R_{1 }and the secondary RN at R_{2}. It also shows the vector R_{21}=R_{2}−R_{1}, which points from R_{1 }to R_{2}. The measurement a_{1 }limits the possible positions of R_{0 }to the points on a sphere of radius a_{1 }which is centered at R_{1}. The intersection of that sphere with the plane of FIG. 2 is a circle of radius a_{1}. That circle is labeled R_{01}=a_{1}. Although R_{0 }might lie on this circle, it is far more likely to lie above or below the plane depicted in FIG. 2.

[0059]
Similarly, the measurement a_{2 }limits the possible positions of R_{0 }to the points on a sphere of radius a_{2 }which is centered at R_{2}. The intersection of that sphere with the plane of FIG. 2 is the circle labeled R_{02}=a_{2}. Since R_{0 }must lie on both of these spheres, the only possible solution points for R_{0 }in the plane of FIG. 2 are the points labeled R_{b }and R_{c}, where the two circles intersect; however, there are other possible solution points above and below this plane.

[0060]
In order to visualize the location of all possible points which lie on both of the aforementioned spheres, one may slowly flip over the picture in FIG. 2, doing so in a way that does not move vector R_{21}. During this slow rotation of the picture, one sees that the circles in the plane trace out spheres in three dimensions, and that R_{b }and R_{c }trace out a circle of possible positions for R_{0}. That circle lies in another plane which is perpendicular to the vector R_{21}. In other words, the circle defined by the intersection of the two spheres sticks out at a right angle from the plane depicted in FIG. 2.

[0061]
Having considered the geometrical construction of the circle of intersection, we now develop equations which quantify the position of the structures discussed above. FIG. 3 is an enlargement of the central region of FIG. 2, with additional details added. The vector from R_{1 }to R_{b }is denoted R_{b1}=a_{1}, where al is its length. Similarly, the vector from R_{2 }to R_{b }is denoted R_{b2}=a_{2}, where a_{2 }is its length.

[0062]
The vector R_{bc }which points from R_{c }to R_{b }is perpendicular to the vector R_{21}. The point of intersection of R_{bc }with R_{21 }is denoted R_{p}. This definition of R_{p }allows us to break the triangle with vertices at R_{1}, R_{2}, R_{b }into one right triangle with vertices at R_{1}, R_{p}, R_{b }and another right triangle with vertices at R_{2}, R_{p}, R_{b}. The lengths of the sides of right triangles are related by the Pythagorean theorem: x^{2}+y^{2}=r^{2}, where x and y represent the lengths of the two perpendicular sides, and r represents the length of the third side. We now use this theorem to determine the position of R_{p }relative to R_{1 }and R_{2}.

a _{1} ^{2} =R _{b1} ^{2} =R _{bp} ^{2} +R _{p1} ^{2}.

a _{2} ^{2} =R _{b2} ^{2} =R _{bP} ^{2} +R _{p2} ^{2}.

[0063]
The difference of these two equations is

a _{1} ^{2} −a _{2} ^{2} =R _{p1} ^{2} −R _{p2} ^{2}.

[0064]
We note that R_{p2}=R_{p1}−R_{21}; therefore,

R _{p2} ^{2} =R _{p1} ^{2}−2R _{21} ·R _{p1} +R _{21} ^{2}.

[0065]
Combining these two equations gives:

a _{1} ^{2} −a _{2} ^{2}=2R _{21} ·R _{p1} −R _{21} ^{2}.

[0066]
or equivalently,

R _{21} ·R _{p1}=(R _{21} ^{2} +a _{1} ^{2} −a _{2} ^{2})/2.

[0067]
This means R_{21}·R_{p1 }can be either positive or negative, depending on the sign of R_{21} ^{2}+a_{1} ^{2}−a_{2} ^{2}. For example, if R_{1 }were inside the sphere denoted R_{02}=a_{2 }and a_{1 }were much less than a_{2}, then R_{21}·R_{p1}<0. Whether R_{21}·R_{p1 }is positive or negative, R_{21}×R_{p1}=0, meaning that the two vectors are always either parallel or antiparallel. In both cases, the vector extending from R_{1 }to the center of the circle of intersection is defined by the following equation:

R _{p1} =R _{21}(R _{21} ^{2} +a _{1} ^{2} −a _{2} ^{2})/(2R _{21} ^{2}).

[0068]
This equation defining R_{p1 }differs from those which preceded it. The earlier equations were general mathematical relationships and partial clues pointing toward a solution, but because this equation contains only known (measured or previously computed) quantities on the right hand side and a single variable on the left, it represents not just a mathematical relationship between a set of known and unknown quantities, but rather, an explicit procedure (neither implicit, recursive, nor iterative) for calculating the left hand unknown in terms of a set of known quantities. Explicit procedural equations such as this will be enclosed in boxes to distinguish them from other equations, which only describe how they are derived. The set of all these explicit, procedural equations evaluated in the specified order, constitute the procedure which determines the satellite position R_{0}. Now that we know R_{p1}, we may compute R_{bp} ^{2 }from the earlier equation for a_{1} ^{2}:

R _{bp} ^{2} =a _{1} ^{2} −R _{p1} ^{2}.

[0069]
As mentioned above, R_{b }is only one possible solution for R_{0}, but we have not yet included the a_{3 }data in our calculation. Without that additional information, we could not distinguish between R_{b }and any other point on the circle of intersection lying above or below the plane of FIG. 3. R_{bp} ^{2 }is the square of the radius of the circle of intersection, which is also equal to R_{0p} ^{2}.

R _{0p} ^{2} =a _{1} ^{2} −R _{p1} ^{2}.

[0070]
At this step of the calculation, we know three key things about the circle of intersection: first, the position of its center, R_{p}=R_{p1}+R_{1}; second, its radius, R_{0p}; and third, its orientation in three dimensional space, R_{21}·R_{0p}=0. We still must determine the angular position of R_{0 }on the circle of intersection in order to obtain the full vector solution: R_{0}=R_{0p}+R_{p}. Determining that angle requires a third measurement.

[0071]
Constructing the Coordinate System

[0072]
In order to define the angular position of R_{0}, we define a set of coordinate axes relative to which the angle is measured. We denote the line connecting R_{1 }and R_{2 }as the xaxis, and define the xdirected unit vector as

U _{x} =R _{21} /R _{21}.

[0073]
(Dividing any vector by its own length produces a unit vector, that is, a vector with length equal to one.) This x unit vector (U_{x}) is the “unit normal vector” of the circle of intersection, meaning that it is perpendicular to the plane containing that circle.

[0074]
The cross product of two parallel (or antiparallel) vectors is zero. If R_{3 }does not lie on the xaxis, then R_{31 }is not parallel (or antiparallel) to R_{21 }and U_{x}. In that case, R_{z1}=U_{x}×R_{31 }is nonzero and is normal to the plane containing the RNs. If R_{3 }lies on or very near to the xaxis, then R_{z1} is zero or very close to zero, and the position computation becomes inaccurate. This is true regardless of the computational algorithm used, but this algorithm detects this condition explicitly, so that appropriate action may be taken, and the results of the computation will not be misinterpreted.

[0075]
It is sometimes convenient to express R_{z1 }in reference to R_{p }rather than R_{1}. This can be done because

R
_{31}
=R
_{3p}
+R
_{p1 }

R
_{z1}
=U
_{x}
×R
_{3p}
+U
_{x}
×R
_{p1 }

[0076]
U_{x }is parallel to R_{21 }and R_{p1}; therefore, U_{x}R_{p1}=0. We define the remaining two orthonormal vectors (U_{y }and U_{z}) of this coordinate system as follows:

R
_{z1}
U
_{x}
×R
_{3p }

U _{1} =U _{z1} /R _{z1}.

U _{y} =U _{z} ×U _{x}.

[0077]
There is no need to divide U_{y }by its own length, as we did for U_{x }and U_{z}, because U_{x }and U_{z }are perpendicular, and both are of length one; therefore, their cross product will be of length one.

[0078]
Intersection with Sphere 3

[0079]
The measurement a_{3 }defines another sphere upon which R_{0 }must lie. If point 3 is not on the xaxis, then this sphere will cross the previously defined circle of intersection in two points, one above and one below the xy plane, as shown in FIG. 4. We denote these crossing points R_{d }and R_{e}, and note that R_{de }is parallel to U_{z}. Denote as R_{q }the point of intersection between R_{de }and the xy plane (which is the plane containing U_{x }and U_{y}, and also the plane depicted in FIGS. 2 and 3).

[0080]
We now develop a procedure for locating R_{d }and R_{e}. The satellite position R_{0 }is equal to either R_{d }or R_{e}. Since one of these will lie below the surface of the Earth, there is no difficulty in choosing the proper one as the last step of the computation.

[0081]
As shown in FIG. 4, the vector R_{dq }is parallel to U_{z}. FIG. 5, which is similar to FIG. 3, but with point R_{q }added, shows that R_{p1 }is parallel to U_{x}, and R_{qp }is parallel to U_{y}. The sum of these three vectors R_{d1}=R_{dq}+R_{qp}+R_{p1 }defines the position of point R_{d }relative to point R_{1}, and likewise for R_{e}.

[0082]
The Pythagorean theorem for the right triangle dpq decomposes R_{dp }into two components which are aligned so that R_{dq }is parallel to U_{z }(see FIG. 4), and R_{qp }is parallel to U_{y }(see FIG. 5).

R _{dp} ^{2} =R _{dq} ^{2} +R _{qp} ^{2}.

[0083]
The decomposition of R_{d3 }is similar; however, there is an added wrinkle. U_{z }is perpendicular to R_{q3}, as shown in FIG. 4; therefore, R_{q3 }has no z component; however, R_{q3 }may contain nonzero components in both the x and y directions. This is in contrast to R_{qp }which has only a y component, as shown in the previous paragraph.

a _{3} ^{2} =R _{d3} ^{2} =R _{dq} ^{2} +R _{q3} ^{2}.

[0084]
The difference of these two equations is

a _{3} ^{2} −R _{dp} ^{2} =R _{q3} ^{2} −R _{qp} ^{2}.

[0085]
We note that R_{q3}=R_{qp}+R_{p3}; therefore,

R _{q3} ^{2} =R _{qp} ^{2} +R _{p3} ^{2}+2R _{qp} ·R _{p3}.

[0086]
Combining these last two equations yields:

a _{3} ^{2} −R _{dp} ^{2} =R _{p3} ^{2}+2R _{qp} ·R _{p3}.

[0087]
Note that R_{d }is one of the possible solutions for R_{0}; therefore, R_{dp} ^{2}=R_{0p} ^{2}. This is the radius of the circle of intersection, which we calculated previously. Substituting this into the previous equation yields:

R _{qp} −R _{p3}=(a _{3} ^{2} −R _{0p} ^{2} −R _{p3} ^{2})/2.

[0088]
As in a similar equation in the two sphere intersection procedure, this dot product, R_{qp}·R_{p3 }can be either positive or negative. The same procedure applies to both:

R _{qp} =U _{y}(a _{3} ^{2} −R _{0p} ^{2} −R _{p3} _{2})/(2U _{y} ·R _{p3}).

[0089]
Note that U_{y}·R_{p3}=−U_{y}·R_{31}. This quantity appears in the denominator of the equation above; hence, if it is zero, the algorithm breaks down. This is not an artifact of this particular algebraic derivation, but a fundamental, geometrical constraint. If U_{y}·R_{31}=0 then point 3 lies on the xaxis. In that case we can determine only that R_{0 }lies on a circle whose unit normal vector is U_{x}. We can determine the radius of that circle, R_{0p}, and the position of its center, R_{p}, but not the angular position of R_{0 }around that circle.

[0090]
The third RN must lie far enough from the xaxis to break the cylindrical symmetry, and resolve the angular position of R_{d }and R_{e}, one of which is equal to R_{0}. The accuracy of the position computation degrades as the third RN approaches the xaxis. We have applied this analysis to actual orbital configurations of proposed systems in order to assess the accuracy of the algorithm in the face of measurement errors and suboptimal RN alignments. In almost all cases, U_{y}·R_{31 }is large enough, and the algorithm can continue as follows: The position of point q relative to the center of the Earth is

R _{q} =R _{qp} +R _{p1} +R _{1}.

[0091]
Knowing R_{qp}, we can use the Pythagorean theorem for triangle dpq (see FIG. 4) to obtain R_{dp} ^{2}=R_{dq} ^{2}+R_{qp} ^{2}, which leads to the two candidate solutions for the satellite position:

R_{dq}=(R _{dp} ^{2} −R _{qp} ^{2})^{½};

R _{d} =R _{q} +U _{z} R _{dq};

R _{e} =R _{q} −U _{z} R _{dq}.

[0092]
Notice that the two solutions are located symmetrically above and below the plane containing the RNs. Because the RNs are all on the surface of the Earth, one of these solutions will lie either inside, or on the opposite side of the Earth. In virtually all cases, only one of the solutions, R_{d }or R_{e}, will be within the field of view of all of the RNs which supplied the data; therefore, the algorithm can reject the spurious solution, and identify the other as R_{0}.

[0093]
Intersection of Sphere and Concentric Cone

[0094]
If only two RNs are in view of a satellite, and provided that the satellite is not stationary with respect to the Earth, then measurements of range and range rate from a single RN can localize the satellite's possible positions to a circle of intersection, just as does the two sphere intersection discussed above. In this case, the circle of intersection corresponds to the intersection of a sphere with a cone whose vertex is located at the center of the sphere. After this circle of intersection is defined by a new procedure, one can apply the same spherecircle intersection procedure as is used with the Three Sphere positioning algorithm to solve for the satellite's position.

[0095]
In the Sphere and Concentric Cone algorithm, the range measurement again constrains possible solution points to the surface of a sphere. The new facet is that the range rate measurement further limits solution points to a cone whose vertex lies at the center of that same sphere. Because the cone is concentric with the sphere, their curve of intersection is a circle. Such a circle is analogous to a line of constant latitude on a globe of the Earth; however, its orientation is defined by the motion of the satellite, and not fixed to the Earth.

[0096]
If the satellite were in uniform, linear motion relative to the RN, then the relative velocity vector (V_{01}) divided by its own length would define the axis of the cone (which is U_{x}), and the ratio of radial to total relative velocity would determine the cone s angle=arccos(v_{r}/V_{01}); however, the actual situation is a bit more complicated. The satellite of interest in the present invention, and also the RNs on the surface of the Earth are in nearly uniform, circular motion relative to inertial space.

[0097]
Despite the added complexity in this case, westill obtain a closed form solution. The generalization to elliptical satellite orbits is a trivial extension of this algorithm, and while not discussed in detail, should be considered included in the present invention. Both the satellite and the RNs are moving along trajectories of constant altitude. In the case of the RNs, this is due to the rotation of the surface of the Earth. One can express the velocity in any circular motion as V_{j}=W_{j}×R_{j}; therefore,

V _{01} =W _{0} ×R _{0} −W _{1} ×R _{1},

[0098]
where W_{j }is the vector angular velocity. For RNs fixed to the surface of the Earth, W_{1 }is identical to the Earth's angular velocity. If the satellite is not geostationary, but is moving in an orbit which is approximately circular, then on the time scale of the calculation process, we consider W_{0 }to be constant.

[0099]
As described above, the system measures the distance between the primary RN and the satellite (a_{1}) from the signal propagation time, and the radial velocity (v_{r}) from the time history of range measurements and from the Doppler shift. These scalar measurements are related to the satellite's vector position and velocity as follows:

V _{01} ·R _{01} =v _{r} a _{1}.

[0100]
The range and range rate measurements define V_{01}·R_{01}; however, since R_{0 }is unknown, and is involved in the definitions of both R_{01 }and V_{01}, we must do some vector algebra to disentangle R_{0 }from the cross product.

V _{01} ·R _{01}=(W _{0} ×R _{0}−(W _{0} −W _{01})×R_{1})·R_{01}=(W _{0} ×R _{01} +W _{01} ×R _{1})·R_{01}.

[0101]
Note that W_{0}×R_{01 }is perpendicular to R_{01}, while W_{01}×R_{1 }has components both perpendicular and parallel to R_{01}. The dot product (W_{0}×R_{1}). R_{01 }is zero; therefore,

V _{01} ·R _{01}=(W _{01} ×R _{1})·R _{01}.

[0102]
We assume that the satellite's angular velocity (W_{0}) is known to high accuracy, and that what is not known at the time of the measurement is its precise position (R_{0}). The angular velocity of the Earth (W_{1}) and the position of the primary RN (R_{1}) are assumed to be known. This implies that the vector W_{01}×R_{1 }is known, and we use it to define the x unit vector (U_{x}) in this Range and Range Rate algorithm. It plays the same role here that R_{21 }does in the Three Sphere algorithm.

U_{x} =W _{01} ×R _{1} /W _{01} ×R _{1}.

[0103]
The center of the circle of intersection is again denoted R_{p}, and in this algorithm,

R _{p1} =U _{x}(R _{01} ·U _{x})=U _{x} a _{1} v _{r} /W _{01} ×R _{1}.

[0104]
As in the Three Sphere algorithm,

R _{0p} ^{2} =a _{1} ^{2} −R _{p1} ^{2}.

[0105]
Via these equations, i.e., range plus range rate measurements from a single RN, the position, orientation, and radius of the circle of intersection are provided without using a second RN. Once one has the circle of intersection, either from Two Sphere or Sphere and Concentric Cone method, then one can use the same method to intersect that circle with the final sphere to get the satellite's position. In the Range and Range Rate method, all references to the “third RN” in the final sphere intersection method actually refer to the second RN, since no third RN is required. After the assignments R_{3}=R_{2 }and a_{3}=a_{2}, the Range and Range Rate algorithm proceeds in the same way as the Three Sphere algorithm.

[0106]
While the best modes for carrying out the invention have been described in detail, those familiar with the art to which this invention relates will recognize various alternative designs and embodiments for practicing the invention as defined by the following claims.