Abstract:
GPS satellites broadcast GPS signals with low power transmitters less than 50 watts. Although the GPS broadcast signals are encoded using spread spectrum technology which decreases the effect noise has on the reception of the signal, jamming signals can adversely affect GPS receiver performance. Jamming signals can cause position and velocity indication within the system to be erroneous. These errors can build up within the system and the errors may take a significant time to dissipate even after the jamming signal has gone. These errors can manifest themselves as errors in velocity and errors in position on the order of tens of miles. Methods of detection of the presence of the jamming signal including observing the output of a correlator chain in which the PN code being correlated is delayed in each link in the chain are presented in this disclosure. The present disclosure also proposes countermeasures for dealing with the jamming signal. These methods include shutting off the receiver, and computing the position by alternate methods, such as dead reckoning, during periods in which the jamming signal persists.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is related to the following co-pending and commonly-assigned patent application Ser. No. 09/244,696, entitled “SPREAD SPECTRUM RECEIVER PERFORMANCE IMPROVEMENT” filed on Feb. 4, 1999 by KUDHRETHAYA A. SHRIDHARA and PAUL A. UNDERBRINK, which is incorporated by reference herein. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates generally to spread spectrum communications and Global Positioning Systems and, in particular embodiments, to systems, processes and devices which improve the performance of Global Positioning Systems in the presence of jamming signals. 
     DESCRIPTION OF THE RELATED ART 
     It is likely that the first navigational system used by man was the sun. It rose in the east and set in the west and as long as travel occurred in daylight hours general direction could be obtained from the sun&#39;s position in the sky. With the advent of commerce on the seas it became necessary to ascertain direction at night, and so stellar navigation was born. In order to increase their accuracy, stellar and solar navigation techniques were improved and augmented through the use of maps, charts, and instruments such as the astrolabe and compass. Even augmented by such instruments, stellar and solar navigation was error prone and getting from point A to point B was still, to some extent, a matter of trial and error. 
     With the advent of radio, and particularly powerful commercial radio stations land based radio direction finding (RDF) came into being. The principle behind RDF is relatively simple. A navigator can tune to a radio station using a directional antenna to find the directional bearing of the radio station. The navigator can then could tune to a second radio station and find the bearing of that station. By knowing the bearing and map location of both stations the navigator&#39;s position can be calculated. 
     Continuing advances in long distance air travel necessitated the ability to guide aircraft accurately. RDF was used to satisfy this requirement and land based beacons were established for the purpose of navigation. These beacons quickly became indispensable to all aviation and to ships as well. 
     The Global Positioning System (GPS) is also based on radio navigation, a difference being that the beacons are no longer stationary and are no longer land based. The GPS system is a satellite based navigation system having a network of 24 satellites, plus on orbit spares, orbiting the earth 11,000 nautical miles in space, in six evenly distributed orbits. Each satellite orbits the earth every twelve hours. 
     A prime function of the GPS satellites is to serve as a clock. Each satellite derives its signals from an on board 10.23 MHz Cesium atomic clock. Each satellite transmits a spread spectrum signal with its own individual pseudo noise (PN) code. By transmitting several signals over the same spectrum using distinctly different PN coding sequences the satellites may share the same bandwidth without interfering with each other. The code used in the GPS system is 1023 bits long and is sent at a rate of 1.023 megabits per second, yielding a time mark, sometimes called a “chip” approximately once every micro-second. The sequence repeats once every millisecond and is called the course acquisition code (C/A code). Every 20th cycle the code can change phase and is used to encode a 1500 bit long message which contains an “almanac” containing data on all the other satellites. 
     There are 32 PN codes designated by the GPS authority. Twenty four of them belong to current satellites in orbit, the 25th PN code is designated as not being assigned to any satellite. The remaining codes are spare codes which may be used in new satellites to replace old or failing units. A GPS receiver may, using the different PN sequences, search the signal spectrum looking for a match. If the GPS receiver finds a match, then it has identified the satellite which has generated the signal. 
     Ground based GPS receivers may use a variant of radio direction finding (RDF) methodology, called triangulation, in order to determine the position of the ground based GPS receiver. The GPS position determination is different from the RDF technology in that the radio beacons are no longer stationary, they are satellites moving through space at a speed of about 1.8 miles per second as they orbit the earth. By being space based, the GPS system can be used to establish the position of virtually any point on Earth using methods such as triangulation. 
     The triangulation method depends on the GPS receiving unit obtaining a time signal from a satellite. By knowing the actual time and comparing it to the time that is received from the satellite the receiver, the distance to the satellite can be calculated. If, for example, the GPS satellite is 12,000 miles from the receiver then the receiver must be somewhere on the location sphere defined by the radius of 12,000 miles from that satellite. If the GPS receiver then ascertains the position of a second satellite it can calculate the receiver&#39;s location based on a location sphere around the second satellite. The two sphere&#39;s intersect and form a circle, and so the GPS receiver must be located somewhere within that location circle. By ascertaining the distance to a third satellite the GPS receiver can project a location sphere around the third satellite. The third satellite&#39;s location sphere will then intersect the location circle produced by the intersection of the location spheres of the first two satellites at just two points. By determining the location sphere of one more satellite, whose location sphere will intersect one of the two possible location points, the precise position of the GPS receiver is determined. As a consequence, the exact time may also be determined, because there is only one time offset that can account for the positions of all the satellites. The triangulation method may yield positional accuracy on the order of 30 meters, however the accuracy of GPS position determination may be degraded due to signal strength and multipath reflections. 
     As many as 11 satellites may be received by a GPS receiver at one time. In certain environments such as a canyon, some satellites may be blocked out, and the GPS position determining system may depend for position information on satellites that have weaker signal strengths, such as satellites near the horizon. In other cases overhead foliage may reduce the signal strength that is received by the GPS receiver unit. In either case the signal strength may be reduced. 
     There are multiple ways of using radio spectrum to communicate. For example in frequency division multiple access (FDMA) systems, the frequency band is divided into a series of frequency slots and different transmitters are allotted different frequency slots. 
     In time division multiple access (TDMA) systems, the time that each transmitter may broadcast is limited to a time slot, such that transmitters transmit their messages one after another, only transmitting during their allotted period. With TDMA, the frequency upon which each transmitter transmits may be a constant frequency or may be continuously changing (frequency hopping). 
     A third way of allotting the radio spectrum to multiple users is through the use of code division multiple access (CDMA) also known as spread spectrum. In CDMA all the users transmit on the same frequency band all of the time. Each user has a dedicated code that is used to separate that user&#39;s transmission from all others. This code is commonly referred to as a spreading code, because it spreads the information across the band. The code is also commonly referred to as a Pseudo Noise or PN code. In a CDMA transmission, each bit of transmitted data is replaced by that particular user&#39;s spreading code if the data to be transmitted is a “1”, and is replaced by the inverse of the spreading, code if the data to be transmitted is “0”. 
     To decode the transmission at the receiver it is necessary to “despread” the code. The despreading process takes the incoming signal and multiplies it by the spreading code and sums the result. This process is commonly known as correlation, and it is commonly said that the signal is correlated with the PN code. The result of the despreading process is that the original data may be separated from all the other transmissions, and the original signal may be recovered. A property of the PN codes that are used in CDMA systems is that the presence of one spread spectrum code does not change the result of the decoding of another code. The property that one code does not interfere with the presence of another code is often referred to as orthogonality, and codes which possess this property are said to be orthogonal. 
     The process of extracting data from a spread spectrum signal is commonly known by many terms such as correlating, decoding, and despreading. Those terms will be used interchangeably herein. 
     The codes used by a spread spectrum system are commonly referred to by a variety of terms including, but not limited to, PN (Pseudo Noise) codes, PRC (Pseudo Random Codes), spreading code, despreading code, and orthogonal code. Those terms will also be used interchangeably herein. 
     It is because CDMA spreads the data across the broadcast spectrum that CDMA is often referred to as spread spectrum. Spread spectrum has a number of benefits. One benefit being that because the data transmitted is spread across the spectrum, spread spectrum can tolerate interference better than some other protocols. Another benefit is that messages can be transmitted with low power and still be decoded, and yet another benefit is that several signals can be received simultaneously with one receiver. 
     The Global Positioning System (GPS) uses spread spectrum technology to convey its data to ground units. The use of spread spectrum is especially advantageous in the GPS systems. Spread spectrum technology enables GPS receivers to operate on a single frequency, thus saving the additional electronics that would be needed to switch and tune other bands if multiple frequencies were used. Spread Spectrum also minimize power consumption requirements. GPS transmitters for example require 50 watts or less and tolerate substantial interference. 
     Although the GPS system is available widely, there are conditions which can degrade its performance or block its use. Improvements in the reception of GPS signals are constantly being sought. There is a need for greater sensitivity in receiving GPS signals to improve the performance of ground based receivers. 
     SUMMARY OF THE DISCLOSURE 
     Accordingly, preferred embodiments of the present invention are directed to GPS receivers, which employ spread spectrum technology, and systems which employ GPS receivers. 
     To receive the data a spread spectrum receiver must determine that a PN code is present within the spread spectrum signal. To determine that a PN code is present in a received signal, the received spread spectrum signal must be compared, bit by bit, to the PN code. This process of comparing a signal bit by bit to a PN code is commonly known as correlation. Typically correlators within a GPS unit compare known GPS codes to the received spread spectrum signal to determine the presence of a given GPS signal. The GPS system will look for high outputs from the correlators as an indication that the signal containing a particular PN code (i.e. a signal from a particular GPS satellite) has been found. 
     Jamming interference from a variety of sources can disrupt the process of finding and decoding GPS signals. When the process of finding and decoding GPS signals is disrupted, errors can occur. These errors may build up if jamming continues. As a result of these, jamming induced, built up errors significant errors in position may occur. These jamming induced errors may persist for long periods of time, up to hours, even after the jamming has ceased. 
     Several of the preferred embodiments of the disclosure seek to prevent errors in GPS systems related to jamming. These embodiments detect indications that a jamming signal is present and then apply countermeasures to remediate its effects. 
     There are several methods of detecting that a jamming signal may be present. By applying these methods, alone or together, indications of jamming may be detected. A first method of detecting jamming comprises detecting a rise in the output from a correlator chain within a GPS unit. Normally, if a correlator chain is used to detect a GPS signal, the output of one or more correlators will increase in value indicating that a signal has been detected. A rise in the value of all of the correlators in a chain, however, will indicate the possible existence of a jamming signal. If the rise in the value of all of the correlators in a chain is sudden, that too can indicate the presence of a jamming signal. Another artifact of jamming is that it will appear as a clock drift within the GPS circuit. Clock drift can also be due to temperature. If clock drift is present, and there is not a corresponding increase in temperature, this is an indication that jamming may be present. The signal to noise ratio of the spread spectrum signal received by the GPS system may also be used to help detect jamming. Changes in the signal to noise ratio of the GPS signal are normal occurrences within a GPS system as the system and the GPS satellites being received by the system change position. Changes in signal to noise ratio that are sudden, however, can indicate that a jamming signal is present. Coincidence of more than one indication of jamming also makes it more likely that a jamming signal is present. 
     After jamming has been detected countermeasures may be applied. These countermeasures may include turning the receiver off until the jamming has ceased. Countermeasures to jamming may also include notifying the user that jamming is present and the readings of the GPS are being supressed by the GPS system or that the position determined may no longer may be reliable. Upon detection of a jamming signal dead reckoning methods may also be applied, in lieu of GPS position determination. GPS positioning may then be restored after the jamming has ceased. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG.  1 . is an illustration of a GPS receiver concurrently receiving signals from four GPS satellites; 
     FIG. 2 a block diagram representation of a portion of a GPS satellite; 
     FIG. 3 is a generalized block diagram representation of a portion of an example GPS receiver; 
     FIG. 4 is a tabular representation of the spreading and despreading process illustrated with a spreading code of length  8 ; 
     FIG. 5 is a block diagram of a detailed representation of an example GPS receiver according to an embodiment of the present invention; 
     FIG. 6 is a graphical representation of portions of two synchronized spread spectrum signals and their additive result; 
     FIG. 7 is a graphical representation of portions of two spread spectrum signals which have a phase displacement with respect to each other, and their additive result. 
     FIG. 8 is a block diagram of a string of correlator circuits of the type that is found within a preferred embodiment of the invention. 
     FIG. 9 of the drawings is a flow diagram of a method of minimizing error within a GPS receiver caused by the presence of a jamming signal. 
     FIG. 10 of the drawings is a flow diagram of a dead reckoning method. 
     FIG. 11 of the drawings is a flow diagram of methods for determining velocity of the GPS receiver. 
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     The first example of a preferred embodiment is one that might be found within a GPS receiver. 
     FIG. 1 is an illustration of a GPS receiver  103  on earth  101  concurrently receiving signals from four GPS satellites  105 ,  107 ,  109 , and  111  in space. The four GPS satellites  105 ,  107 ,  109  and  111  continually broadcast a high accuracy time signal which is received by GPS receiver  103 . The signal from each of the GPS satellites  105 ,  107 ,  109 , and  111  must respectively travel different paths  113 ,  115 ,  117  and  119 . The time signal from each satellite is received includes the time that the time necessary for signals from the satellites need to travel the different paths to the receiver. The satellites also broadcast data about their position as well as a time signal. By knowing the positions of the satellites and using the time signals to compute the distance of the receiver from the satellites the receiver can accurately determine its position. 
     FIG. 2 is a block diagram of a portion of a GPS satellite  201  for spread spectrum encoding and the transmission of data. Block  203  represents satellite data that will be encoded for transmission. This data includes location information for the satellite, as well as delay and error information. Block  205  represents what is commonly referred to as almanac data, which is data on all of the GPS satellites. Block  207  represents the current time which is generated by the high accuracy atomic time standard within the satellite. The information from blocks  203 ,  205 , and  207  are encoded in the proper format by the data encoder  209 . The encoded data is then sent to the spreading unit  211 , which multiplies the encoded data by one of 24 spreading codes, each code representing a particular satellite on orbit. The resulting data stream  215  has a chip rate of 1.023 megabits per second. The chip rate is the data rate (1000 bits per second) multiplied time the length of the spreading code (in this case 1023 bits). The data stream is then sent to the modulator  219  where the carrier frequency 1.57542 GHz is modulated by it. The resulting signal is sent to the antenna  221  of the satellite for broadcast. 
     FIG. 3 is a generalized block diagram representation of a receiving portion  300  of an example GPS receiver. The antenna  303  receive signals from one or more GPS satellites. The received signals are provided to a demodulator  305 , which demodulates the signals using a carrier frequency, for example 1.57542 GHz, as represented by block  307 . The resulting data signal  309  corresponds to the signal of the satellite data stream  215 . The spread spectrum signal  309  is then despread in the correlator  311  using PN code  313 . The data decoder  315  can then decode the data that would be needed to triangulate the position of the receiving unit. 
     FIG. 4 shows a tabular representation of a spectrum spreading and despreading, or correlating process illustrated with a spreading code of length  8 . Three 8 bit spreading codes are illustrated. Spreading code  1 ,  401 , is 11000011, Spreading code  2 ,  403 , is 00110011, Spreading code  4 ,  401 , is 10010110. To spread data using spreading code  1  for example, if a data “1” is to be sent, a copy of the code as in column  407 , 11000011, is sent in its place. If a data “0” is to be sent, the inverse code, with each bit inverted, as shown in column  409 , 00111100 is sent in its place. In other words if spreading code  1  is used and data representing a “1” is to be sent then the code 11000011 is sent. Similarly data representing a “0” would be sent as code 00111100. 
     The despreading process involves a mathematical manipulation, i.e. correlation with the received data. For example if data is to be received from a sender who is using spreading code  1  in order to despread the data all the “0”s of the received code are replaced by −1 for computational purposes, therefore if 11000011 (code  1 &#39;s representation of a “1”) is received it is replaced by 1 1−1−1−1−1 1 1 as shown in line  411 . The received code is then multiplied bit is by bit by the computational representation of the spreading code, i.e. 1 1−1−1−1−1 1 1 as shown in line  413 . The bitwise product of the spreading code and the data received is shown in line  415  as 1+1+1+1+1+1+1+1=+8, the product of the correlation is +8 and thus a binary “1” is detected. If 00111100 (code  1 &#39;s representation of a “0” as shown in column  409 ) is received it&#39;s replaced by −1−11 1 1−1−1 1 as shown in line  419 . The received code is then multiplied bit by bit by the computational representation of the spreading code, i.e. 1 1−1−1−1−1 1 1, as shown in line  419 . The bitwise product as shown in line  421  is −1−1−1−1−1−1−1=8, the product of the correlation is −8 and a binary “0” is detected. If the signal had been correlated with the inverse of the spreading code, the product would have been a +8. The methods are equivalent and the selection can be made based on the particular implementation used. 
     The situation where the data transmitted by a signal spread with code  1  is despreaded by spreading code  2  is illustrated in lines  423 ,  425 , and  427 . As an example, a spreading code  1  data bit of “1”, i.e. 11000011, is received. As shown in line  423  the 0 bits are replaced by −1 for computational purposes. Then the received code 11−1−1−1−111 is multiplied bit by bit with the spreading code  2 , e.g. −1−111−1−111 as shown in line  425 . The product of multiplying a spreading code  1  data “1” with spreading code  2  is shown in line  427  as −1−1−1−1+1+1+1+1=0. That is, when a spreading code  1  representation of a data “1” is multiplied bit by bit and summed with spreading code  2 , i.e. data spread with code  1  is correlated with code  3 , the result is 0. In other words, no data is detected. Therefore, a transmission of a binary  1  using spreading code # 1  will not interfere with data interpretation using spreading code  2 . 
     The situation where the data transmitted by a signal spread with code  1  and despread using spreading code  3  is illustrated in lines  429 ,  431 , and  433 . As an example, a spreading code  1  data bit of “1”, i.e. 11000011, is received. As shown in line  423  the 0 bits are replaced by −1 for computational purposes. Then the received code 11−1−1−1−111 is multiplied bit by bit with the spreading code  3 , e.g. 1−1−11−111−1 as shown in line  431 . The product of multiplying a spreading code  1  data “1” is shown in line  427  as 1−1+1−1+1−1+1−1=0. That is when a spreading code  1  representation of a data “1” is multiplied bit by bit and summed with spreading code  3 , i.e. data spread with code  1  is correlated with code  3 , the result is 0, in such case no data is detected. Therefore the transmission of a binary 1 using spreading code  1  will not interfere with data interpretation using spreading code  3 . 
     The above examples illustrate that data transmitted with one code does not interfere with data transmitted with another code. This property, whereby transmission of data by one code does not mask the data transmitted by another code, is commonly referred to orthogonality, and codes having such properties are said to be orthogonal. 
     The previous illustrations were performed with a class of codes known as Walsh codes, which are perfectly orthogonal. The number of Walsh codes, however, is limited. The number of Walsh codes that exist is the number of bits in the spreading code. Because this situation is restrictive, a family of codes known as pseudo noise (PN) codes, which are nearly orthogonal, have been developed. PN codes are codes that repeat periodically and have the property that if they are multiplied by themselves and the bits summed the result is a number that is the same as the length of the sequence. That is under ideal conditions the correlation product of a PN code of length N with a signal containing that code will be the value N. For example the GPS PN code length is 1023, so that if the GPS signal is correlated with a code which is contained in the signal the output of the correlator will be 1023, if the signal is not present then the value will be −1. 
     PN codes also have the property that if they are correlated with the signal containing that particular PN code which is shifted in time by any number of bits then the result is a −1. This means that the correlation must be synchronized in time with the spread spectrum signal bearing the code in order to produce an output equal to the length of the code. 
     An advantage of a spread spectrum system is a greater toleration of noise mixed with a low power signal. Signals in a spread spectrum system can be very low and this can lead to difficulty in acquiring a signal, and identifying that the signal is present. 
     FIG. 5 is a block diagram of detailed representation of a preferred embodiment of an example GPS receiver. System  501  represents the decoding of signals from multiple satellites. The GPS receiver receives the satellite signals through its antenna  503 . The demodulator  507  mixes the signal with the carrier frequency  505  and the resultant signal  508  is reduced to base band frequencies. The resultant signal  508  is a composite of all the satellite signals that the GPS receiver unit  501  can receive. To decode an individual satellites data stream the composite signal  508  must be correlated with the correct PN code. If the composite signal is correlated with an incorrect code, no data will be decoded. There are 32 PN codes that are designated by the GPS authority for use within the GPS system. Twenty four of these PN codes will be used by active satellites for the purpose of encoding their data. Each of the 24 active satellites in the GPS system has its own individual PN code. 
     A GPS receiver must extract data from several satellites in order to determine the position of the receiver, and it must extract the data from the satellites simultaneously. This situation is represented in the example embodiment shown in FIG.  5 . In the embodiment shown the GPS receiver unit represented can extract data from 12 satellites simultaneously. Codes are obtained from the code table  517  which contains all 32 GPS PN spreading codes, sometimes these codes are referred to as GPS “gold” codes. PN code # 1 ,  515 , which has been obtained from the code table  517  is used in the correlator  509  to extract the data from the signal. The resulting data is then decoded in the data decoder  511 . The output of the data decoder  511  contains information  513  from a first satellite, which can then be used to ascertain the distance of that first satellite from the receiver  501 . 
     A second correlating and data decoding unit  519  is illustrated similar to the first  518 . The second unit takes a second PN code  525  and multiplies it with the incoming signal in the correlator  521  to despread it. The data thus despread is decoded in the data decoder  523 , the output of which  527  is used to ascertain a second distance of the satellite from the receiver  501 . As will be explained later, the GPS receiver of FIG. 5 also includes various status circuitry, including temperature sensor  530 , means for calculating an expected clock drift from the sensed temperature change  531 , means for comparing the expected clock drift and actual clock drift experienced by the GPS receiver  532 , signal-to-noise ratio determining circuit  533 , and received signal strength detector  534 . The outputs of these status circuits are processed toward determining whether the presence of a jamming signal is likely. Such processing may be performed by a general purpose microprocessor, digital signal processor, or specialized circuitry. Upon determining the likely presence of a jamming signal, various countermeasures can be implemented. For instance, a visual indication of the existence of a jamming signal may be provided. The GPS receiver may also be disabled until the jamming signal dissipates. In addition, an alternate approach to determining location may be implemented,  550 . 
     In an ideal spread spectrum communications system all the signals would arrive at a receiver synchronously, that is with the signal transitions in all the received signals occurring at the same time. In that case we would have the situation shown in FIG.  6 . 
     In FIG. 6 spread spectrum waveform  601 , is synchronized with spread spectrum waveform  603 . The waveform resulting from adding waveform  601  and  603  is waveform  605 . If the resulting waveform  605 , is sampled at times t 0 , t 1 , t 2 , t 3 , and t 4  the results are as shown in the table  607 . That is waveform  605  is 0 at t 0 , is 2 at t 1 , is 1 at t 2 , is 1 at t 3  and is 1 at t 4 . These are the correct values for the addition of signals  601  and  603  and the correlators will have no trouble in interpreting these values. The situation where the spread spectrum signals synchronously arrive at a receiver is rare and the more common situation is as seen in FIG.  7 . 
     In FIG. 7 spread spectrum waveform  701 , is the exact same as spread spectrum waveform  601  of FIG.  6 . In FIG. 7 spread spectrum waveform  705 , is the exact same as spread spectrum waveform  603  of FIG. 6 except that it is delayed by a period Δt 1  so that the first rising edge of the waveform  705  is delayed from  703  to  707 . Waveform  705  is the identical waveform to  603  otherwise. The addition of waveforms  701  and  705  produces waveform  709 . If the resultant waveform  709  is sampled at times t 0 , t 1 , t 2 , t 3 , and t 4  the results are as shown in the table  715 . That is waveform  709  is 0 at t 0 , is 1 at t 1 , is 2 at t 2 , is 2 at t 3  and is 0 at t 4 . This means that the waveform  709  if sampled at times t 0 , t 1 , t 2 , t 3 , and t 4 , will provide different results than those obtained if waveform  605  is sampled at t 0 , t 1 , t 2 , t 3 , and t 4 . This difference is solely due to the delay Δt 1  of signal  705 . 
     However if waveform  709  is sampled at times s t 0A , t 1A , t 2A , t 3A , and t 4A  The results will be as in table  717 , that is the same as the results in table  607 , which is the correct sum of the  601  and  603  waveforms. 
     An example of a circuit for correcting the situation where the spread spectrum signals do not arrive simultaneously is shown in FIG.  8 . In FIG. 8 the received signal  803  is correlated in correlator C 1 ,  807 , to a PN code  805 . The result of the correlation is output  1 ,  809 . In addition the received signal  803  is correlated in correlator C 2 ,  815 , to the PN code  805  which has been delayed in delay element D 1 ,  811 . The delayed PN code  813  is then correlated with the received signal  803  with the in correlator C 2 ,  815  and the result is output  2 , at  817 . The PN code is then delayed a second time in delay element D 2 ,  819  and then correlated in correlator C 3 ,  823  the result is coupled to output  3 ,  825 . The delayed PN code,  821  can be put through a number of additional delays D m ,  827 , the delayed PN code can be then correlated in a number of additional correlators C n ,  831  and the results output in the additional outputs N,  823 . One skilled in the art will recognize that the delay can be applied to either the received signal or the PN code with equivalent results. Equivalent outputs can be achieved and the delaying of one or the other, and the decision of which to delay is a implementation detail. 
     The expected delay between spread spectrum signals arriving at a GPS receiver can come from several sources. A primary source of delay between signals is the fact that in a GPS receiver the signals come from satellites that are different distances from the receiver. Since the satellites are moving the amount of delay between the signals can be constantly changing. The GPS receiver determines the position of the satellites, which is encoded in their signals, and as a consequence the GPS receiver can calculate the delay between signals and how much of a delay will be needed in the multiple correlating mechanism of FIG. 8 in order to extract the signal. 
     If the delay does not match the expectation of the GPS system several factors can be responsible. A first factor that might be present is that the unit may have a temperature change and the clock crystal within the unit can be drifting. The crystals supplied with typical GPS units can drift with temperature. A method of addressing this drift is to provide a temperature sensor in the GPS unit to ascertain whether the temperature of the crystal has changed and a clock drift is to be expected. If the drift due to temperature change is known, appropriate corrections can be applied. A second factor that can be responsible for the drift is that the receiver unit may have moved and so the unexpected delay needed to properly correlate the signal may be due to the receiver&#39;s new position with respect to the satellite. 
     When the delay between received signals changes so that the signal is no longer being properly decoded, the output of the correlator drops. The GPS system may then adjust the delay until the correlator output rises to an expected value indicating that the PN code is in synchronism with the signal, or if a scheme such as illustrated in FIG. 8 is used the output can be taken from a correlator either further up or further down the delay chain. If the delay is more than expected, the GPS receiver may interpret the additional delay to a change in receiver position, i.e. a velocity. 
     This mechanism by which the receiver compares the expected delay and the actual delay needed can be an effective method in ascertaining the speed at which the GPS receiver is traveling. As the correlator value begins to drop the GPS system can advance or retard the delay of the PN code (or the incoming signal if the GPS receiver is implemented in that manner) until the value seen out of the correlator increases to either its expected value (1023 in a 100% correlated GPS signal), or some intermediate value. A correlation with a PN code that is not present, or a PN code that is delayed so that it is no longer synchronous with the code within the signal will give a value of −1 from a correlator, and in a normally operating delay chain as in FIG. 8, the majority of the correlators can have a low (i.e. −1 or near −1 but substantially less than 1023) output. A means for detecting the outputs of the various correlators,  802 , is shown. This circuit may indicate—by way of a sudden change in the output of the “synchronized” and “unsynchronized” correlators the presence of the jamming signal. 
     A jamming signal is a spurious signal that disrupts another signal, making it difficult or even impossible to interpret the original signal especially if the jamming signal is strong. Jamming is a common phenomenon. Spurious signals abound from many sources, high frequency digital circuits can generate spurious noise, electric motors can generate a great amount of wide spectrum noise as they make and break contacts, car ignition systems can broadcast noise, even natural phenomenon such as lightning can be responsible for generating a jamming signal. 
     In addition to these sources of noise, GPS receivers are particularly susceptible to noise generated by mobile GSM telephones. The side bands of these phones can fall within the frequency range in which the GPS system operates and can frequently deliver spurious energy on frequencies which can interfere with the reception of GPS signals. 
     In addition the GPS transmitters are of such low energy (50 watts maximum on the current GPS satellites) that even a fairly low energy jamming signal at the right frequency can disrupt the operation of a GPS receiver. 
     The presence of a jamming signal in a GPS receiver can have detrimental effects beyond merely disrupting of the current positioning information. It can introduce errors into the system that will not immediately disappear upon cessation of the jamming signal. For instance, as an example, assume that the GPS receiver is in a state where two signals are perfectly synchronized as in FIG. 6 with signals  601  and  603 . A jamming signal then interrupts signal  603 . The GPS receiver then begins to change the sampling of the signal. The signal was originally sampled at times t 0 , t 1 , t 2 , t 3 , and t 4 . The delay between the signals increases to the point where the situation is as shown in FIG.  7 . The actual delay between the signals is a Δt 1  as shown in FIG. 7, and the leading edge of signal  705  has moved from where it was,  703 , when the jamming started to  707  a distance of Δt 1 . The GPS system however has continued to adjust the delay at which it samples the signal  705  in an effort to acquire the signal. When the delay has been adjusted to Δt 2  ( 611 ) and the receiver is sampling the signal at times t 0B , t 1B , t 2B , t 3B , and t 4B  the jamming ceases and the GPS system has acquired the signal. Only an adjustment of Δt 3  is actually necessary to resynchronize the signal and so the output would still be correct if the signal were sampled at t 0A , t 1A , t 2A , t 3A , and t 4A . The GPS system however has added a delay of Δt 2  and, by sampling at t 0B , t 1B , t 2B , t 3B , and t 4B , the GPS system has reacquired the signal after an adjustment of Δt 2 . As seen in table  719  the outputs are now correct and are in fact the same as those of table  717 , where the signal was sampled with a delay of Δt 3  instead of the longer Δt 2 . The GPS system has increased the delay more than necessary to achieve the resynchronization. Because the GPS system now has erroneously determined that a delay of Δt 2  is necessary to acquire the signal, it now computes a new position which is based on that delay. This situation may continue for a long period of time, it may continue even after the satellite providing the signal  705  is no longer being received. 
     Another scenario can be envisioned by reference to FIG.  8 . Assume that correlator C 1 ,  807 , is producing an output of −1 and correlator C 2 ,  815 , is producing an output of 1023. The jamming signal then interrupts and the output of correlator C 2 ,  815 , drops, before the normal time that it would drop given the natural movement of the satellites. The GPS system interprets this as a velocity and begins searching for the correct correlator further down the chain. The system continually tries to reacquire the signal and searches successive correlators, adding the expected delay to satellite movement to the velocity that it thinks it is seeing. This error can continue to build. In GPS receivers employing Kalman filtering this type of error will accumulate and even after the jamming ceases, and the error will persist for a time period while the erroneous readings gradually dissipates. 
     Therefore, there is a need in the art of detecting jamming signals and dealing with the results of the presence of jamming signals in order to improve the performance of GPS receivers. FIG. 9 of the drawings shows the present inventive approach to such jamming signal detection and minimization of resultant error. 
     After receiving a GPS signal (step  900 ), a first step toward avoiding adverse effects of jamming is to detect the presence of a jamming signal,  901 . There are several indications that a jamming signal is present. 
     One of the ways that jamming can be detected is to detect a high rate of clock drift without a corresponding change in temperature, branch  902 . If the GPS receiver must increase the delay used to decode all its signals, then we have a situation where the clock drift is high. If there is a corresponding change in temperature, the drift can be due to the unit&#39;s changed temperature. However, if a drift that is high with little temperature change or a clock drift that experiences a sudden jump can be indictors of the presence of a jamming signal. Thus the detection of those events may effect a detection of a jamming signal. 
     Another way to detect jamming is to examine the signal to noise ratio of the incoming GPS signal, branch  903 . If this ratio quickly drops by greater than a pre-established amount, for example 3 dB, it is an indication that a jamming signal is present, because there is a large sudden increase in noise. 
     A third way to detect jamming is by using a mechanism such as the correlator chain in FIG. 8, branch  904 . If a signal is being received by the chain and the correct PN code is being used to decode it, the expected output of the correlators will be −1 where the code is not synchronized with the incoming GPS signal. When the delay in the chain is correct to decode the signal, the output of the correlators will increase and in the case where the signal matches the code and the signal is strong enough the output will be 1023. After that point in the chain the correlator output will again decrease to −1. How many correlators will show a correlation output of greater than −1 will depend on several factors. It will depend on the total number of correlators, the strength of the signal, and the amount of delay between stages of the correlator chain. 
     In the presence of jamming however, the value of all the correlators in the chain which had low values indicating no correlation signal will rise, and the values of those that showed good correlation, i.e. high output, will fall. This situation may be difficult to detect though because the GPS signal can constantly change due to changes in position, cover, and obstacles coming in and out of the signal path. 
     Another way to detect the presence of jamming using a correlator chain is to correlate the incoming signal with a PN code not being received by the GPS receiver. The code may be one that is not one of the designated 32 GPS codes, it may be the 25 th  GPS code which is guaranteed by the GPS authority not to be used in a GPS satellite, or it may be a code of one of the satellites that is not in a position to be received by the GPS system. Because each satellite delivers as part of its data an almanac containing information on the positions of all the satellites in the system, the GPS system can select a satellite that is not within its reception range, and use its PN code. Under non jamming conditions with adequate signal strength all the correlators in this chain in which the non received PN code is present will show a low value (−1 if the signal strength is adequate). When jamming is present all correlators in the chain will show a higher output. The more correlators that exhibit this rise in value, the more likely it is that jamming is present. Therefore, if the correlator chain has a large number of correlators (such as correlator 100) in the chain and the outputs of all the correlators rise, it will be more likely that a jamming signal is present than if there are just 3 correlators in the chain and the values rise. However, even with a minimal number of correlators, or even one, when there is this type of rise in output of the correlators it is an indication that jamming may be present. 
     There are other ways to detect jamming, such as monitoring the signal strength of the signal being received with signal strength indicators well known in the art, branch  905 . A sudden increase in signal strength or a indication that the signal strength at the GPS frequency is higher than can be accounted for by GPS signals will also indicate a spurious signal and a source of jamming. 
     Of course the methods of detecting jamming may be combined and in general having two or more indications of jamming is a greater indication that a jamming signal exists than only one. Those skilled in the art will recognize that combinations and variations of the above embodiments are possible, they will also recognize that the principles demonstrated in the above embodiments can be used in a variety of ways to accomplish the purpose without departing from the inventive concepts within this disclosure. 
     If jamming is detected, there are countermeasures which may be taken. A simple countermeasure is to simply shut the GPS system off until the jamming signal is no longer present. In this manner no erroneous jumps in position or erroneous velocities are seen, and no errors can be built up. The display of the unit can provide a message indicating that a jamming signal has been detected and may indicate what the last valid position was. It may also indicate simply that no valid position is available. 
     The GPS unit may also utilize a dead reckoning mode (see FIG. 10) in which a position which is a product of the last known valid position, the last known direction traveled and the last known velocity is displayed. Velocity can be determined using the methods discussed above, which may be understood further with reference to FIG.  11 . 
     In more elaborate implementations the GPS unit may revert to other navigation systems built into the unit. 
     Those skilled in the art will recognize that various jamming countermeasures may be applied depending on the application in which the GPS receiver is embedded. For example a vehicle might fall back on the last known valid GPS position and a compass reading and speed indication, an airplane might fall back on navigational beacons. The types of countermeasures that can be applied are numerous and many variations are possible without departing from the spirit of the invention and the inventive concepts herein.