US20100008382A1 - Method to improve sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio - Google Patents
Method to improve sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio Download PDFInfo
- Publication number
- US20100008382A1 US20100008382A1 US12/168,901 US16890108A US2010008382A1 US 20100008382 A1 US20100008382 A1 US 20100008382A1 US 16890108 A US16890108 A US 16890108A US 2010008382 A1 US2010008382 A1 US 2010008382A1
- Authority
- US
- United States
- Prior art keywords
- time counter
- value
- incremental
- time
- bit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01S—RADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
- G01S19/00—Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
- G01S19/01—Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
- G01S19/13—Receivers
- G01S19/24—Acquisition or tracking or demodulation of signals transmitted by the system
- G01S19/27—Acquisition or tracking or demodulation of signals transmitted by the system creating, predicting or correcting ephemeris or almanac data within the receiver
Definitions
- This disclosure relates generally to an enterprise method, a technical field of software and/or hardware technology and, in one example embodiment, a method to improve sensitivity of decoding time of a Global Positioning System (GPS) receiver at low signal-to-noise ratio (SNR).
- GPS Global Positioning System
- a receiver may obtain a signal from a satellite constellation (e.g. a plurality of electronic satellites working in concert, a Global'naya Navigatsionnaya Sputnikovaya Sistema (GLONASS) satellite system, a Galileo satellite system, etc.).
- the signal may enable the receiver to determine a positional information (e.g. a location, a speed, a direction of travel, etc.).
- the satellite signal may be composed of an ephemeris data (e.g. a set of values that provides the positions of an astronomical object at a given time) and/or a time counter value (e.g. a time of the week value, a time stamp that may be a may be present in a time interval of the satellite signal that provides a seventeen-bit counter time value reset each week).
- the time counter may increment by a specified time interval.
- the time counter value may be a time of the week value.
- the time of the week value may be a seventeen-bit counter that may increment by one in a sub-frame (e.g. a time interval of a TOW signal).
- a process of decoding the time of the week value may be a method of decoding time.
- the time interval may be a sub-frame.
- the method of decoding time may be unreliable at a signal-to-noise ratio (e.g. a ratio of a signal power to a noise power corrupting the signal) that is lower than a threshold value.
- a signal-to-noise ratio e.g. a ratio of a signal power to a noise power corrupting the signal
- the signal-to-noise ratio may decrease.
- the object may obscure the signal from a satellite.
- the SPS receiver may not have a sufficient amount of signal data to determine its position.
- the method of decoding time may use the SPS receiver to compare an estimated time counter value of a different value of satellites associated with the receiver.
- the receiver may observe the estimated time counter value received from each of the different satellites in a current time interval. If the receiver is unable to confirm that the estimated time counter value is correct, the receiver may discard the estimated values for the current time interval, and observe estimated time interval values in the next interval. It may take many different time intervals before the time interval value is decoded. As a result, a user of the receiver may have to wait for the receiver to confirm the estimated time interval value for an extended period of time. Valuable time may be lost, making the receiver slow, cumbersome, and difficult to use in many time sensitive environments.
- a method and an apparatus to improve sensitivity of decoding time of a global positioning system (GPS) receiver at low signal to noise ratio is disclosed.
- a GPS receiver may be a satellite positioning system receiver.
- a method includes detecting a signal comprised of a plurality of data bits, arranging several data bits according to a specified property of an incremental mathematical table (e.g., may be an incremental bit-counter table), storing several data bits when arranging several data bits according to the specified property of the incremental mathematical table as a time counter table, algorithmically determining a value of an unknown data bit of the time counter table according to the specified property of the incremental mathematical table observed in the time counter table to generate a time counter value, and applying the time counter value to decode the signal.
- an incremental mathematical table e.g., may be an incremental bit-counter table
- the method may include observing different data bits of different signals received in adjacent time intervals to determine whether they share the specified property of the incremental mathematical table when algorithmically determining the value of the unknown data bit of the time counter table.
- the time counter table may begin at a zero value and/or incrementally increases by a value of one every six seconds for a duration of a calendar week and then resets to the zero value.
- the algorithmically determining the value of the unknown data bit of the time counter table according to the specified property of the incremental mathematical table may include observing that a higher place data bit value of the time counter table switches from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state.
- a differential demodulation may be used by the receiver.
- a plurality of resolving bits of the differential time counter table may include determining that bits of a higher place data bit value switches from one state to an other state ‘T’ time instants after an adjacent lower bit place value switches from an off state to an on state, where ‘T’ is quarter the period of the column corresponding to the lower bit place.
- the algorithmically determining the value of the unknown data bit of the time counter table according to the specified property of the incremental mathematical table may include an observation that a period of alternation between bit states observed in a vertical arrangement of the time counter table increases by a factor of two at each higher bit place in each column of the time counter table.
- the signal may be a Global Positioning System (GPS) satellite signal received from a satellite.
- GPS Global Positioning System
- the other signals of at least four satellites may be concurrently processed when decoding the signal.
- a method of decoding a signal includes determining that a time counter value is not determinable in a current time interval, storing estimates of the time week value received in the current time interval and a number of additional time intervals in a time counter table, determining that the time counter table having values of the current time interval and the number of additional time intervals share a property with an incremental mathematical table (e.g., may be an incremental bit-counter table), resolving bits of the time counter table using the property shared with the incremental mathematical table, and determining the time counter value based on the resolving bits of the time counter table using the property shared with the incremental mathematical table.
- an incremental mathematical table e.g., may be an incremental bit-counter table
- the method may include applying the time counter value and an ephemeris value to determine a global position of a receiver.
- the method may also include observing different time counter values of different signals received in adjacent time intervals to determine whether they share a property of the incremental mathematical table when resolving bits of the time counter table.
- the time counter table begins at a zero value and incrementally increases by a value of one every six seconds for a duration of a calendar week and then resets to the zero value.
- the resolving bits of the time counter table may include determining that bits of a higher place data bit value of the time counter table switch from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state.
- the resolving bits of the time counter table may include an observation that a period of alternation between bit states observed in a vertical arrangement of the time counter table may increase by a factor of two at each higher bit place in each column of the time counter table.
- the signal may be a Global Positioning System (GPS) satellite signal received from a satellite.
- GPS Global Positioning System
- an integrated circuit includes a time counter detector module to detect a signal comprised of several of data bits, a table arrange module to arrange several data bits according to a specified property of an incremental mathematical table, a time counter table to store several data bits when arranging several data bits according to the specified property of the incremental mathematical table, a comparison module to algorithmically determine a value of an unknown data bit of the time counter table according to the specified property of the incremental mathematical table observed in the time counter table to generate a time counter value, and a processor to apply the time counter value to decode the signal.
- the integrated circuit may be an application specific integrated circuit designed for communication across different communication protocols including Bluetooth, Global Positioning System (GPS), and/or WiFi.
- the method may include a multiple time interval module to observe different data bits of different signals received in adjacent time intervals to determine whether they share the specified property of the incremental mathematical table when algorithmically determining the value of the unknown data bit of the time counter table.
- FIG. 1 is a system view of a receiver receiving global positioning signal that includes time counter data, according to one embodiment.
- FIG. 2A is an exploded view of a GPS receiver, according to one embodiment.
- FIG. 2B is a system view illustrating a portion of the GPS receiver which may be used to calculate the receiver position, according to one embodiment.
- FIG. 2C is a system view illustrating a portion of the GPS receiver including the confidence value estimator module 230 , according to one embodiment.
- FIG. 2D is an exploded view of the TOW estimator module 224 of FIG. 2B which may use a switch property and a period property to estimate the value of TOW, according to one embodiment.
- FIG. 2E is an exploded view of confidence value estimator module 230 of FIG. 2D , according to one embodiment.
- FIG. 3A is a table view of a time counter illustrating successive values of a 17 bit time counter according to one embodiment.
- FIG. 3B is a table view of arrangement of soft data values in the time counter table 210 , according to one embodiment.
- FIG. 3C is a table view of arrangement of soft data values in the time counter table 210 , according to one embodiment.
- FIG. 3D is a table view of contents of HOW word, according to one embodiment.
- FIG. 3E is a table view of a differential time counter (such as TOW) where the adjacent bits have been logically combined (e.g., may be by using an XOR operation), according to one embodiment.
- a differential time counter such as TOW
- FIG. 4 is a diagrammatic view illustrating wave forms along with period property and switch property, according to one embodiment.
- FIG. 5 is a table view illustrating period fields that illustrate improving accuracy over time intervals, according to one embodiment.
- FIG. 6 is a flow diagram illustrating process of decoding a signal, according to one embodiment.
- FIG. 7 is a graphical view illustrating performance improvement over prior art, according to one embodiment.
- FIG. 8 is a process flow of detecting a signal comprised of data bits, according to one embodiment.
- FIG. 9 is a process flow of observing different time counter values of different signals received in adjacent time intervals, according to one embodiment.
- FIG. 10 is a flow chart illustrating processing for current sub-frame, according to one embodiment.
- a method includes detecting a signal (e.g., may be a global positioning satellite signal) comprised of a data bits (e.g., the global positioning signal composed of data), arranging the data bits according to a specified property of an incremental mathematical table (e.g., the incremental mathematical table 218 of FIG. 2A ) (e.g., may be an incremental bit-counter table), storing the data bits (e.g., may be in the time counter table) when arranging the data bits according to the specified property of the incremental mathematical table 218 (e.g., using the table arrange module 212 of FIG. 2A ) as a time counter table (e.g., the time counter table 210 of FIG.
- a signal e.g., may be a global positioning satellite signal
- a data bits e.g., the global positioning signal composed of data
- a specified property of an incremental mathematical table e.g., the incremental mathematical table 218 of FIG. 2A
- storing the data bits e.g., may be
- a method of decoding a signal includes determining that a time counter value (e.g., the time counter value 220 of FIG. 2A ) is not determinable in a current time interval, storing estimates of the time counter value 220 received in the current time interval and a number of additional time intervals in a time counter table (e.g., the time counter table 210 of FIG. 2A ), determining that the time counter table 210 having values of the current time interval and the number of additional time intervals share a property with an incremental mathematical table (e.g., the incremental mathematical table 218 of FIG.
- the time counter table 210 (e.g., is an incremental bit-counter table), resolving bits of the time counter table 210 using the property shared with the incremental mathematical table 218 (e.g., as illustrated in FIG. 2A ) and determining the time counter value 220 based on the resolving bits of the time counter table 210 using the property shared with the incremental mathematical table 218 .
- an integrated circuit includes a time counter detector module (e.g., the time counter detector module 202 of FIG. 2A , a time of the week detector module) to detect a signal (e.g., may be a global positioning signal) comprised of a data bits (e.g., global positioning signal composed of data bits), a table arrange module (e.g., the table arrange module 212 of FIG. 2A ) to arrange the data bits according to a specified property of an incremental mathematical table (e.g., the incremental mathematical table 218 of FIG. 2A ), a time counter table (e.g., the time counter table 210 of FIG.
- a time counter detector module e.g., the time counter detector module 202 of FIG. 2A , a time of the week detector module
- a signal e.g., may be a global positioning signal
- a table arrange module e.g., the table arrange module 212 of FIG. 2A
- a time counter table e.g., the time counter table
- a comparison module e.g., the comparison module 204 of FIG. 2A
- a processor e.g., the processor 222 of FIG. 2A
- FIG. 1 is a system view of a receiver receiving a global positioning signal that includes time counter data, according to one embodiment. Particularly, FIG. 1 illustrates satellite systems 100 -N, a time counter data 102 A-N 0-N , a receiver 104 , and a global positioning signal composed of data bits 106 A 0-n -N 0-n , according to one embodiment.
- the satellite systems 100 A-N may be a man made earth orbiting device used for receiving and/or transmitting signals (e.g., may include global positioning satellite signal) through its transponders.
- the time counter data 102 A-N 0-n may be a time stamp that may be present in every time interval (e.g., 17 bit counter) of the GPS navigation data that may indicate the time passed from the last change of GPS week.
- the receiver 104 may receive the information (e.g., global positioning signal) to decode the time counter data to compute an estimate the global position of a receiver's position.
- the global positioning signal composed of data bits 106 A-N 0-n may be the signal (e.g., low power radio signals that may be designated as L1 or L2) from multiple satellites which may be received by the receiver 104 that may contain a pseudorandom code, ephemeris data and/or almanac data along with the time counter data 102 A 0-N -N 0-N .
- FIG. 1 illustrates the satellite systems 100 A-N transmitting the global positioning signal composed of data bits 106 A 0-N -N 0-N which may include time counter data 102 A 0-N -N 0-N .
- the receiver 104 may receive the signal (e.g., the global positioning satellite signal) and processes (e.g., decodes) it by applying the time counter value.
- the signal may be a Global Positioning System (GPS) satellite signal received from a satellite (e.g., as illustrated in FIG. 1 ).
- GPS Global Positioning System
- the other signals of other satellites e.g., may be at least four
- the time counter value 220 and an ephemeris value may be applied to determine a global position of the receiver 104 .
- the signal may be a Global Positioning System (GPS) satellite signal received from a satellite (e.g., as illustrated in FIG. 1 ).
- GPS Global Positioning System
- FIG. 2A is an exploded view of a receiver 104 , according to one embodiment. Particularly, FIG. 2A illustrates a time counter detector module 202 , a comparison module 204 , an incremental property detector module 206 , a multiple time interval module 208 , a time counter table 210 , a table arrange module 212 , a switch module 214 , a period module 216 , an incremental mathematical table 218 , a time counter value 220 , and a processor 222 , according to one embodiment.
- the time counter detector module 202 may detect global positioning signals (e.g., that may be transmitted from the satellite systems 100 A-N) along with time counter data 102 A 0-N -N 0-N bits.
- the comparison module 204 may algorithmically compare a value of an unknown data bit of the time counter table 210 in relation to the specified property (e.g., may be the period property 306 and/or the switch property 308 ) of the incremental mathematical table 218 .
- the incremental property detector module 206 may detect the increments in the incremental mathematical table 218 (e.g., which may be a bit-counter table).
- the multiple time interval module 208 may observe the received different data bits which may have different signals in adjacent time intervals.
- the time counter table 210 may store the data bits when arranging the data bits according to a specified property of the incremental mathematical table 218 .
- the table arrange module 212 may arrange the data bits according to specified property of an incremental mathematical table 218 .
- the switch module 214 may detect switching in time counter data 102 A 0-N from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state in the time counter table 210 (e.g., as illustrated in FIG. 3 and as detection of falling edge in FIG. 4 ).
- the period module 216 may detect/observe the period of alternation between the data bit states observed in a vertical arrangement of the time counter table increases by a factor of two at each higher bit place in each column of the time counter table.
- the incremental mathematical table 218 may be a table which may be an incremental bit-counter table which may increment the 17 bit counter in every time interval (e.g. sub-frame of a TOW signal).
- the time counter value 220 may be the value of the counter data bits which may be determined algorithmically from the time counter table.
- the processor 222 may decode the signal by applying the time counter value.
- FIG. 2A illustrates the time counter detector module 202 communicating with the multiple time interval module 208 .
- the multiple time interval module 208 may communicate with the comparison module 204 .
- the comparison module 204 may communicate with the time counter table 210 .
- the time counter table 210 may communicate with the incremental property detector module 206 the incremental mathematical table 218 , the time counter value 220 , and/or the table arrange module 212 .
- the incremental property detector module 206 may include the switch module 214 and the period module 216 communicating with each other.
- the incremental property detector module 206 may also communicate with the comparison module 204 .
- the processor 222 may communicate with the time counter value 220 .
- a signal comprised of data bits may be detected (e.g., using the time counter detector module 202 of FIG. 2A ).
- the data bits may be arranged (e.g., using the table arrange module 212 of FIG. 2A ) according to a specified property of the incremental mathematical table 218 .
- the data bits may be stored (e.g., may be in time of week table) when arranging the data bits according to the specified property of the incremental mathematical table 218 as the time counter table 210 .
- the value of an unknown data bit of the time counter table 210 may be algorithmically determined (e.g., using the comparison module 204 of FIG. 2A ) according to the specified property of the incremental mathematical table 218 observed (e.g., using the multiple time interval module 208 of FIG. 2A ) in the time counter table 210 to generate the time counter value 220 .
- the time counter value 220 may be applied to decode the signal (e.g., using the processor 222 of FIG. 2A ). Different data bits of different signals received in adjacent time intervals may be observed (e.g., using the multiple time interval module 208 of FIG. 2A ) to determine whether they share the specified property of the incremental mathematical table 218 (e.g., using the multiple time interval module 208 of FIG. 2A ) when algorithmically determining the value of the unknown data bit of the time counter table 210 .
- the incremental mathematical table 218 may be an incremental bit-counter table.
- the time counter table 210 may begin at a zero value and incrementally increases by a value of one every six seconds for a duration of a calendar week and then resets to the zero value.
- the value of the unknown data bit of the time counter table 210 may be algorithmically determined (e.g., using the comparison module 204 of FIG. 2A ) according to the specified property may include observing that a higher place data bit value of the time counter table 210 may switch from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state (e.g., using the switch module 214 of the incremental property detector module 206 of FIG. 2A ).
- the value of the unknown data bit of the time counter table 210 may be algorithmically determined according to the specified property of a mathematical table (e.g., using the incremental property detector module 206 of FIG. 2A ) and may include an observation that a period of alternation between bit states observed (e.g., using the multiple time interval module 208 of FIG. 2A ) in a vertical arrangement of the time counter table 210 may increase by a factor of two at each higher bit place in each column of the time counter table 210 . It may be determined that the time counter value 220 may not be determinable in a current time interval. Estimates of the time counter value 220 received in the current time interval and/or a number of additional time intervals may be stored in the time counter table 210 . It may be determined that the time counter table 220 having values of the current time interval and the number of additional time intervals may share a property with an incremental mathematical table 218 (e.g., using the incremental property detector module 206 of FIG. 2A ).
- a bit of the time counter table 210 may be resolved using the property shared with the incremental mathematical table 218 .
- the time counter value 220 based on the resolving bits of the time counter table 210 may be determined using the property shared with the incremental mathematical table 218 .
- Different time counter values of different signals received in adjacent time intervals may be observed (e.g., using the multiple time interval module 208 of FIG. 2A ) to determine whether they share a property of the incremental mathematical table 218 when resolving bits of the time counter table 210 (e.g., using the multiple time interval module 208 of FIG. 2A ).
- the incremental mathematical table 218 may be an incremental bit-counter table.
- the time counter table 210 may begin at a zero value and may incrementally increase by a value of one every six seconds for a duration of a calendar week and then reset to the zero value.
- the resolving of a bit of the time counter table 210 may include determining that the bit of a higher place data bit value of the time counter table 210 switch from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state (e.g., using the switch module 214 of incremental property detector module 206 of FIG. 2A ).
- the resolving of a bit of the time counter table 210 may include an observation that a period of alternation between observed bit states (e.g., using the multiple time interval module 208 of FIG. 2A ) in a vertical arrangement of the time counter table 210 increases by a factor of two at each higher bit place in each column of the time counter table 220 .
- the time counter detector module 202 may detect a signal comprised of data bits.
- the table arrange module 212 may arrange the data bits according to a specified property of the incremental mathematical table 218 .
- the time counter table 210 may store the data bits when arranging the data bits according to the specified property of the incremental mathematical table 218 .
- the comparison module 204 may algorithmically determine a value of an unknown data bit of the time counter table 210 according to the specified property of the incremental mathematical table 218 observed (e.g., using the multiple time interval module 208 of FIG. 2A ) in the time counter table 210 to generate the time counter value 220 .
- the processor 222 may apply the time counter value 220 to decode the signal.
- the integrated circuit may be an application specific integrated circuit designed for communication across different communication protocols may include Bluetooth, Global Positioning System (GPS), and/or WiFi.
- the multiple time interval module 208 may observe (e.g., using the multiple time interval module 208 of FIG. 2A ) different data bits of different signals received in adjacent time intervals to determine whether they share the specified property of the incremental mathematical table 218 when algorithmically determining the value of the unknown data bit of the time counter table 210 .
- FIG. 2B is a system view illustrating a portion of the GPS receiver which may be used to calculate the receiver position, according to one embodiment. Particularly, FIG. 2B illustrates the front end preprocessor 226 , multiple satellite combiner module 228 , table arrange module 212 , time counter table 210 , a TOW estimator module 224 , a time counter value 220 and a processor 222 , according to one embodiment.
- the front end preprocessor 226 may communicate with the multiple satellite combiner module 228 .
- the multiple satellite combiner module 228 may communicate with the table arrange module 212 .
- the table arrange module 212 may communicate with the time counter table 210 .
- the time counter table 210 may communicate with the TOW estimator module 224 .
- the TOW estimator module 224 outputs the time counter value 220 .
- the time counter value 220 is used by the processor 222 .
- the receiver may observe the satellite signals from one or more satellites that are visible to the receiver.
- Each received satellite signal may be preprocessed by the front end preprocessor 226 .
- the preprocessing may include down converting each satellite signal to baseband, correlating with the PN sequence to despread the signal and then demodulating the signal (e.g., that may include GPS data).
- the signal samples may be quantized (e.g., converting the signal to digital signal taking the closest approximate DC value) to multiple levels that may yield a signal sample commonly referred to as a ‘soft decision value’ or a ‘soft decision bit’.
- the front end preprocessor 226 may produce a single soft decision value for each 20 ms data bit transmitted by each satellite.
- the 17 soft decision values corresponding to the time counter value 220 in each sub-frame are sent to the multiple satellite combiner module 228 (e.g. S n (t, 0), S n (t, 1), . . . , S n (t, 16) may refer to the 17 soft decision values corresponding to the TOW from the n th satellite for the t th consecutive sub-frame received).
- the soft decision values from all the satellites for a specific bit place of the TOW may be summed up to obtain one soft decision data value per TOW bit place of the TOW. This may be illustrated in the following equation.
- the combined soft decision values [S(t,0), S(t,1) . . . S(t,16)] may then be sent to the table arrange module 212 .
- the table arrange module 212 from each sub-frame may pick up the 17 soft decision data values corresponding to TOW in that particular sub-frame.
- the table arrange module 212 may also store this data in a time counter table 210 (e.g., may be s(0,0) s(0,1), . . . s(0,16) refers to the 17 soft decision data values from the first sub-frame received).
- s(t,0) . . . s(t,17) would refer to the 17 soft decision data values from the t th consecutive sub-frame received (e.g., as illustrated in FIG. 3B ).
- Each place of the 17 bit counter may be stored in one column (e.g., may be the least significant bit to the most significant bit moving from right to left).
- the TOW estimator module 224 may observe the soft decision values in the time counter table 210 and in conjunction with the two properties of a counter table may estimate the value of the TOW.
- the TOW estimator module 224 may output the estimated the time counter value 220 which may then be used by the processor 222 to calculate the receiver's position.
- FIG. 2C is a system view illustrating a portion of the GPS receiver including the confidence value estimator module 230 , according to one embodiment. Particularly, FIG. 2C illustrates the front end preprocessor 226 , the multiple satellite combiner module 228 , table arrange module 212 , HOW table 234 , the TOW estimator module 224 , a time counter value 220 , a confidence value estimator module 230 , a confidence value 232 and a processor 222 .
- the confidence value estimator module 230 may estimate the confidence value required for determination of the estimated time counter value.
- the confidence value 232 may be used to determine if the estimated time counter value may have sufficient accuracy for computation of the position.
- the HOW table 234 (e.g., hand over word) may be a table that stores the soft decision bits corresponding to the HOW word in successive frames.
- the front end preprocessor 226 may communicate with the multiple satellite combiner module 228 .
- the multiple satellite combiner module 228 may communicate with the table arrange module 212 .
- the table arrange module 212 may communicate with the HOW table 234 .
- the HOW table 234 may communicate with the TOW estimator module 224 .
- the confidence value estimator module 230 may communicate with the confidence value 232 , and the time counter value 220 .
- the confidence value 232 may communicate with the time counter value 220 , and the processor 222 .
- the receiver 104 may include a method to determine the confidence value in the TOW estimated by the TOW estimator.
- Such the receiver 104 may include a confidence value estimator module 230 .
- the TOW table from FIG. 2B has been replaced by a HOW table 234 in FIG. 2C .
- the HOW word may be a 30 bit word transmitted by GPS satellites in every sub-frame, which may include in addition to the 17 bit TOW, 13 other bits including a 3 bit sub-frame id and/or a 6 parity bits.
- the multiple satellite combiner module 228 may provide the table arrange module with 30 soft decision values [S(t,0), S(t,1) . . . S(t,29)] per sub-frame, corresponding to the 30 place values of the HOW word.
- the table arrange module 212 may arrange these soft decision values (e.g., as illustrated in FIG. 3C ).
- the TOW Estimator module may work as before utilizing just the TOW part of the HOW table 234 .
- the confidence value estimator module 230 may use the HOW table 234 and/or the time counter value estimated by the TOW estimator module 224 to compute a confidence value 232 .
- the confidence value may be used by the processor module to determine if the time counter value 220 that may be of sufficient accuracy to be used in computation of the position.
- FIG. 2D is an exploded view of the TOW estimator module 224 of FIG. 2B which may use a switch property and a period property to estimate the value of TOW, according to one embodiment.
- FIG. 2B illustrates the comparison module 204 , the incremental property detector module 206 , which includes the switch module 214 and the period module 216 , according to one embodiment.
- the TOW estimator module may estimate the TOW bits sequentially starting from the least significant bit and working its way to the most significant bit.
- the switch module 214 and the period module 216 together may compute the two possible waveforms (e.g., as illustrated in 308 B and 308 C of FIG. 3 ) for the next adjacent column.
- the comparison module 204 may then correlate the soft decision data stored in the next adjacent column with both the waveforms 308 B and 308 C to decide which is the right waveform. Since the two possible waveforms for the next adjacent column may be always complements of each other, the correct waveform for the next adjacent column may be determined.
- FIG. 2E is an exploded view of confidence value estimator module 230 of FIG. 2C , according to one embodiment. Particularly, FIG. 2E illustrates the time counter value 220 , the HOW table 227 , a HOW table predictor 233 , a predicted HOW table 231 , a column correlator 235 and a confidence value calculator 237 according to one embodiment.
- the time counter value 220 may be the value of the TOW estimated by the TOW Estimator module.
- the HOW table 227 may store the soft decision values of the HOW word received from successive sub-frames.
- the HOW table predictor 233 may predict the ideal values of the successive columns of the HOW table 227 using the time counter value 220 .
- the predicted HOW table 231 may store the ideal values generated by the HOW table predictor 233 .
- the column correlator 235 may correlate the values from each column of the HOW table 227 with the corresponding column of the predicted HOW table 231 .
- the confidence value calculator 237 may use the correlation values output by the column correlator 235 to estimate whether the time counter value 220 is right
- the HOW Table Predictor 233 may predict the ideal values of the successive columns of the HOW table 227 (e.g., under the assumption that the TOW value is correct) and place the ideal values (‘0’ or ‘1’ for element in the table) in the predicted HOW table 231 .
- the TOW values placed in columns C 1 to C 17 of the predicted HOW table 231 may be the consecutive values starting from the time counter value 220 .
- the columns C 18 and C 19 can be assumed to be constant bit values and may be estimated by summing the soft decision values of the corresponding columns in the HOW table 227 and hard limiting these sums.
- the columns C 20 -C 22 may contain the sub-frame id of the GPS sub-frame.
- the parity bits C 23 -C 28 may be computed from the bits in C 1 -C 22 as per the GPS specification.
- the last two bits C 29 and C 30 may be set to zero as per the GPS specification.
- the soft decision values from each column of the HOW Table 227 may be compared with the corresponding column of the predicted HOW table 231 with a closer match between the two indicating greater confidence in the estimated time counter value.
- this comparison between the tables may be achieved by the column correlator 235 by correlating the values from each column of the HOW Table 227 with the corresponding column of the predicted HOW table 231 . For the k th column, this correlation may be computed as:
- corr ⁇ ( k ) ⁇ j ⁇ C ⁇ ( j , k ) ⁇ s ⁇ ( j , k ) ,
- C(j,k) refers to the values in the j th row and k th column of the predicted HOW table 231 .
- a ‘0’ value in the HOW table 227 may be interpreted as ⁇ 1 and a ‘1’ value may be interpreted as ‘1’.).
- the confidence value calculator 237 calculate the correlation values ([corr(0) corr(1) . . . corr(29)], for each of the columns of the HOW table, to estimate if the TOW value is correct. If the TOW value is correct, the confidence value calculator 244 may output a ‘1’, otherwise a ‘0’.
- Various metrics may be used by the confidence value calculator 237 to estimate if the time counter value 220 is correct.
- the Confidence value calculator 237 may declare a ‘1’ if corr(k) is greater than some threshold T for each column.
- the confidence value calculator 237 may declare a ‘1’ if the variance of [corr(0), corr(1) . . . corr(29)] is greater than another threshold ‘T’.
- the values of the thresholds may be calculated by simulation and/or theoretical calculation and/or may vary depending on the integrity needs of each application.
- FIG. 3A is a table view of a time counter illustrating successive values of a 17 bit time counter according to one embodiment. Particularly, FIG. 3A illustrates the time counter data 102 A O-N , a time counter 302 , the time counter value 304 , a period property 306 , and a switch property 308 , according to one embodiment.
- the switch property and the period property may be used by the TOW estimator module 224 to estimate the value of the TOW.
- the period property 306 and the switch property 308 may be explained using FIG. 3A as reference.
- Each column may have a fixed number of 1's followed by the same number of 0's and this property may be referred to as the period of the column. It may be noted that the period increases by a factor two in each higher bit place (i.e., column) of the table.
- the switch property 308 may refer to the property where a higher place data bit value of the counter switches from one state to another whenever an adjacent lower place bit value switches from an on state (‘1’) to an off state (‘0’).
- the time counter table of FIG. 3A may refer to the TOW values.
- 102 A 0-N may refer to the values of the TOW in successive sub-frames with the values incrementing by one in every successive sub-frame.
- FIG. 3B is a table view of arrangement of soft data values in the time counter table 210 , according to one embodiment.
- the each rows of the soft data values of the time counter table 210 illustrates 17 soft decision data values in each row from S(0,0) S(0,1), . . . S(0,16) to S(T,16), S(T,15) . . . S(T,0) stored in a decreasing order.
- FIG. 3C is a table view of arrangement of soft data values in the time counter table 210 , according to one embodiment.
- the first row denotes the arrangement of soft data values from S(0,29) to S(0,0) in decreasing order.
- the second row of the table denotes the arrangement of soft data values from S(1,29) to S(1,0) in the decreasing order and so on the arrangement may be till S(T, 29) to S(T,0), according to one embodiment.
- FIG. 3D is a table view of contents of HOW word, according to one embodiment.
- the first column denotes TOW counter that includes 1 to 17 bits
- the second column illustrates the alter flag that may require 1 bit (e.g., 18 th bit)
- the third column denotes anti spoof flag that may require 1 bit (e.g., 19 th bit)
- the fourth column denotes sub frame ID that may require 3 bit (e.g., 20 th to 23 rd bits)
- the fifth column denotes party bits that may require 6 bits (e.g., 23 rd to 28 th bits) and last two bits may be reserved.
- FIG. 3E is a table view of a differential time counter (e.g., such as the TOW) where the adjacent bits have been logically combined (e.g., may be by using an XOR operation), according to one embodiment.
- a differential time counter e.g., such as the TOW
- the adjacent bits have been logically combined (e.g., may be by using an XOR operation), according to one embodiment.
- FIG. 3E illustrates example of receivers that may differentially demodulate data in compared to coherently demodulating data.
- the differential demodulation scheme may be typically used to ease the synchronization constraints at the receiver 104 .
- the processor 222 e.g., in the FIGS. 2A , 2 B and 2 C
- a given soft decision symbol obtained from a satellite signal may be multiplied by the complex conjugate of its preceding soft decision symbol and the inphase component taken to yield what can be referred to as a soft differential symbol or a soft differential bit.
- the modules associated to the processor 222 e.g., of FIGS. 2A , 2 B and 2 C
- such as the multiple satellite combiner module 228 , the table arrange module 212 , the TOW estimator module etc. may now work with the soft differential bits.
- the adjacent bits of the underlying information bits are logically combined according to some logical operation (e.g., the XOR operation).
- some logical operation e.g., the XOR operation.
- a sequence of information bits obtained after combining may be referred to as being in the ‘difference domain’.
- the original bit sequence (e.g., without ‘XOR’ing of adjacent bits) may be referred to as being in the ‘absolute domain’.
- the differential demodulation may be used by the receiver 104 .
- the resolving bits of the differential time counter table may include determining that bits of a higher place data bit value switches from one state to an other state ‘T’ time instants after an adjacent lower bit place value switches from an off state to an on state, where ‘T’ is quarter the period of the column corresponding to the lower bit place.
- FIG. 3E may be derived from FIG. 3 as follows.
- the second column from the left may be derived by logical operation (e.g., may be by XORing the corresponding bits in first and second columns (from the left) of FIG. 3 ).
- the k th column in FIG. 3E may be derived by using the logical operation (e.g., may be by XORing the k and (k1) th columns from FIG. 3 ).
- the first bit preceding the time counter may be assumed to be a constant as per the satellite signal specification, then the first column in FIG. 3E may be derived by the logical operation (e.g., XORing the 1 st column (left most) of FIG.
- FIG. 3E may be used to illustrate the switch property 310 and period property 306 modified to the context of differential demodulation at the receiver 104 .
- the period property 306 in FIG. 3E may be the same as in FIG. 3 (e.g., the period may increase by a factor of 2 each as we go from the left column to the right column).
- the switch property 310 may be modified as follows: The higher bit place value may switch from one state to another state, ‘T’ time instants after an adjacent lower bit place value switches from an off (‘0’) state to an on (‘1’) state, where ‘T’ may be quarter the period of the column corresponding to the lower bit place.
- the time instant ‘T’ varies based on factor of ‘2’ moving from lower bit place to higher ones (e.g., as illustrated in FIG. 3E ).
- the TOW estimator module 224 may use techniques described earlier in conjunction with the modified switch property to estimate the value of the TOW counter in the difference domain.
- the HOW estimator e.g., that may include the predicted HOW table 231 , the HOW table predictor 233 , the column correlator 235 , etc.
- the conversion from the difference domain to the absolute domain in the receiver 104 may be done using bits known a priori to the receiver 104 (e.g., such as the preamble).
- FIG. 4 is a diagrammatic view with an alternate depiction of the period property 306 and the switch property 308 according to one embodiment. Particularly, FIG. 4 illustrates the period property 306 , wave forms 306 A-D, the switch property 308 , and waveforms 308 A-C, according to one embodiment.
- the wave forms 306 A-D shows the period property 306 that may illustrate periods of bits, from a lower significant bit (e.g., 306 A) through a higher significant bit (e.g., 306 D), along with the rising edge and falling edge. Every successive higher significant bit may have twice the period of its preceding bit.
- the waveforms 306 A-D may also illustrate the switch property 308 with the rising or falling edge of every bit lining up with the falling edge of its preceding bit.
- the waveforms 308 A-C may illustrate that once the wave form corresponding to a specific bit place has been identified (e.g., 308 A), the period property 306 and switch property 308 may demand that the waveform corresponding to adjacent higher place value be one of two choices (e.g., the 308 B and/or its complement waveform 308 C).
- FIG. 5 is a table view illustrating period fields that illustrate improving accuracy over time intervals 550 , according to one embodiment. Particularly, FIG. 5 illustrates a satellite field 502 , a current field 504 , a +6 sec field 506 , a +12 sec field 508 , a +18 sec field 510 , and a +24 sec field 512 , according to one embodiment.
- the satellite field 502 may illustrate the multiple satellite systems which may be transmitting the global positioning signals to the receiver 104 .
- the current field 504 may illustrate the probability of correctly decoding the TOW after combining the time counter data 102 0-N (e.g. about 10% probability of correct decoding) in the current instant from the satellite systems 100 A-N.
- the +6 sec field 506 may illustrate the percentage of improved probability (e.g., increase to about 15%) after combining the time counter data 102 0-N obtained from the satellite systems 100 A-N across time period from the current field 504 instant to the +6 sec 506 instant.
- the +12 sec field 508 may illustrate the percentage of improved probability (e.g., to about 60%) by combining the time counter data 1020 -N obtained from the satellite systems 100 A-N across time period from the current field 504 instant to the +12 sec 508 instant.
- the +18 sec field 510 may illustrate the percentage of improved probability (e.g., to about 85%) by combining the time counter data 102 0-N obtained from the satellite systems 100 A-N across time period from the current field 504 instant to the +18 sec 510 instant.
- the +24 sec field 512 may illustrate the percentage of improved probability (e.g., to about 99.99%) by combining the time counter data 102 0-N obtained from the satellite systems 100 A-N across time period from the current field 504 instant to the +24 sec 510 instant.
- FIG. 5 illustrates the improving percentage of accuracy by combining the soft decision bits of the time counter across multiple consecutive time interval (e.g., sub-frame of a time of the week signal) obtained from the satellite systems 100 A-N.
- the satellite field 502 column may illustrate the satellite systems 100 A in the first row, the satellite system 100 B in the second row and so on.
- the current field 504 column may illustrate 10% probability of correct decoding by combining the soft decision bits of the time counter across consecutive time intervals (e.g., across time).
- the +6 sec field 506 may illustrate probability of correct decoding of 15% by combining the soft decision bits of time counter across consecutive time intervals (e.g., across time from the current field 504 instant until +5 sec 506 instant).
- +12 sec field 508 may illustrates probability of correct decoding of 60%
- +18 sec field 510 may illustrate probability of correct decoding of 85%
- +24 sec field 512 may illustrate probability of correct decoding of 99.99% by combining the soft decision bits of time counter across consecutive time intervals respectively.
- FIG. 6 is a flow diagram illustrating a process of decoding a signal (e.g., Global Positioning System (GPS) satellite signal), according to one embodiment.
- the bits may be detected (e.g., tracked).
- bits may be arranged according to property of incremental table (e.g., may be obtained from the incremental table 218 ).
- a value of unknown bit of time counter table 210 may be determined using property of incremental table 218 .
- a time counter value 220 may be generated.
- the time counter value 220 may be applied to decode the signal (e.g., Global Positioning System (GPS) satellite signal).
- GPS Global Positioning System
- FIG. 7 is a graphical view illustrating performance improvement over prior art, according to one embodiment. Particularly, FIG. 7 illustrates a performance improvement 700 , a satellite power (dBm) 702 , and a time to decode time counter values (Minutes) 704 , according to one embodiment.
- dBm satellite power
- Minutes time to decode time counter values
- the performance improvement 700 illustrates the improvement in performance (in terms of satellite power (dBm) 702 ) compared to the prior art.
- the satellite power (dBm) 702 may be the measurement of power density of satellite signal in dBm.
- the time to decode the time counter (e.g. minutes) 704 may be the time required to decode the time counter data 102 A 0-N -N 0-N .
- FIG. 7 illustrates the performance improvement 700 in satellite power for the same amount of time required as in prior art.
- FIG. 8 is a process flow of detecting a signal (e.g., Global Positioning System (GPS) satellite signal) comprised of data bits (e.g., the global positioning signal composed of data bits), according to one embodiment.
- a signal comprised of data bits e.g., may be global positioning signal composed of data bits
- the data bits may be arranged (e.g., using the table arrange module 212 of FIG. 2A according to a specified property of an incremental mathematical table (e.g., the incremental mathematical table 218 of FIG. 2A .
- the data bits may be stored (e.g., may be in time counter table 210 of FIG. 2A when arranging the data bits according to the specified property of the incremental mathematical table 218 as a time counter table (e.g., the time counter table 210 of FIG. 2A .
- a value of an unknown data bit of the time counter table 210 may be algorithmically determined (e.g., using the comparison module 204 of FIG. 2A according to the specified property of the incremental mathematical table 218 observed in the time counter table 210 to generate a time counter value (e.g., the time counter value 220 of FIG. 2A , the time of the week value).
- the time counter value 220 may be applied (e.g., using the processor 222 of FIG. 2A to decode the signal.
- different data bits of different signals received in adjacent time intervals may be observed (e.g., using the multiple time interval module 208 of FIG. 2A to determine whether they share the specified property of the incremental mathematical table 218 when algorithmically determining the value of the unknown data bit of the time counter table 210 .
- FIG. 9 is a process flow of observing different time counter values of different signals received in adjacent time intervals, according to one embodiment.
- a time counter value (e.g., the time counter value 220 of FIG. 2A may not be determinable in a current time interval.
- estimates of the time counter value 220 received in the current time interval and/or a number of additional time intervals (e.g., using the multiple time interval module 208 of FIG. 2A may be stored in a time counter table (e.g., the time counter 210 of FIG. 2A .
- the time counter table 210 may have values of the current time interval and the number of additional time intervals may share a property with an incremental mathematical table (e.g., the incremental mathematical table 218 of FIG. 2A .
- bits of the time counter table 210 may be resolved using the property shared with the incremental mathematical table 218 .
- the time counter value 220 based on the resolving bits of the time counter table 210 may be determined using the property shared with the incremental mathematical table 218 .
- the time counter value 220 and/or an ephemeris value may be applied to determine a global position of a receiver (e.g., the receiver 104 of FIG. 1 ).
- different time counter values of different signals received in adjacent time intervals may be observed to determine whether they share a property of the incremental mathematical table 218 when resolving bits of the time counter table 210 .
- FIG. 10 is a flow chart illustrating processing for current sub-frame, according to one embodiment.
- the current sub-frame may be preprocessed (e.g., using the processor 222 of FIG. 2A , 2 B and 2 C).
- the soft decision values received for current sub-frame from multiple satellites may be combined for each bit of the HOW/TOW.
- the combined soft decision values may be stored in TOW/HOW table along with soft decision values from previous sub-frames.
- the bits of the TOW may be determined using the properties shared with the counter table.
- the confidence value of the estimated TOW may be determined using the soft decision values in the HOW table.
- a condition may be determined to check whether the confidence value is equal to 1 (e.g., true or false), if the condition is false the operation 1002 is performed on the next sub-frame, if the condition is true, the operation 1014 is performed.
- TOW value and ephemeris for received satellites may be applied to determine global position of the receiver 104 .
- the various devices, modules, analyzers, generators, etc. described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software and/or any combination of hardware, firmware, and/or software (e.g., embodied in a machine readable medium).
- hardware circuitry e.g., CMOS based logic circuitry
- firmware e.g., software and/or any combination of hardware, firmware, and/or software (e.g., embodied in a machine readable medium).
- the various electrical structure and methods may be embodied using transistors, logic gates, and electrical circuits (e.g., application specific integrated (ASIC) circuitry and/or in Digital Signal Processor (DSP) circuitry).
- ASIC application specific integrated
- DSP Digital Signal Processor
- the time counter detector module 202 , the comparison module 204 , the incremental property detector module 206 , the multiple time interval module 208 , the table arrange module 212 , the switch module 214 , and/or the period module 216 of FIG. 1-13 may be enabled using software and/or using transistors, logic gates, and electrical circuits (e.g., application specific integrated ASIC circuitry) such as a the time counter detector circuit, a comparison circuit, a incremental property detector circuit, a multiple time interval circuit, a table arrange circuit, a switch circuit, and a period circuit and other circuits.
- transistors, logic gates, and electrical circuits e.g., application specific integrated ASIC circuitry
Abstract
Description
- This disclosure relates generally to an enterprise method, a technical field of software and/or hardware technology and, in one example embodiment, a method to improve sensitivity of decoding time of a Global Positioning System (GPS) receiver at low signal-to-noise ratio (SNR).
- A receiver (e.g., the GPS receiver, a Satellite Positioning System (SPS) receiver) may obtain a signal from a satellite constellation (e.g. a plurality of electronic satellites working in concert, a Global'naya Navigatsionnaya Sputnikovaya Sistema (GLONASS) satellite system, a Galileo satellite system, etc.). The signal may enable the receiver to determine a positional information (e.g. a location, a speed, a direction of travel, etc.). The satellite signal may be composed of an ephemeris data (e.g. a set of values that provides the positions of an astronomical object at a given time) and/or a time counter value (e.g. a time of the week value, a time stamp that may be a may be present in a time interval of the satellite signal that provides a seventeen-bit counter time value reset each week). The time counter may increment by a specified time interval.
- In a context of the GPS receiver, the time counter value may be a time of the week value. The time of the week value may be a seventeen-bit counter that may increment by one in a sub-frame (e.g. a time interval of a TOW signal). A process of decoding the time of the week value may be a method of decoding time. The time interval may be a sub-frame.
- The method of decoding time may be unreliable at a signal-to-noise ratio (e.g. a ratio of a signal power to a noise power corrupting the signal) that is lower than a threshold value. In an environment in which an object impedes a reception of the signal (e.g. a building, a valley wall, an underground location, etc.), the signal-to-noise ratio may decrease. The object may obscure the signal from a satellite. Thus, the SPS receiver may not have a sufficient amount of signal data to determine its position.
- Additionally, the method of decoding time may use the SPS receiver to compare an estimated time counter value of a different value of satellites associated with the receiver. The receiver may observe the estimated time counter value received from each of the different satellites in a current time interval. If the receiver is unable to confirm that the estimated time counter value is correct, the receiver may discard the estimated values for the current time interval, and observe estimated time interval values in the next interval. It may take many different time intervals before the time interval value is decoded. As a result, a user of the receiver may have to wait for the receiver to confirm the estimated time interval value for an extended period of time. Valuable time may be lost, making the receiver slow, cumbersome, and difficult to use in many time sensitive environments.
- A method and an apparatus to improve sensitivity of decoding time of a global positioning system (GPS) receiver at low signal to noise ratio is disclosed. A GPS receiver may be a satellite positioning system receiver. In one aspect, a method includes detecting a signal comprised of a plurality of data bits, arranging several data bits according to a specified property of an incremental mathematical table (e.g., may be an incremental bit-counter table), storing several data bits when arranging several data bits according to the specified property of the incremental mathematical table as a time counter table, algorithmically determining a value of an unknown data bit of the time counter table according to the specified property of the incremental mathematical table observed in the time counter table to generate a time counter value, and applying the time counter value to decode the signal.
- The method may include observing different data bits of different signals received in adjacent time intervals to determine whether they share the specified property of the incremental mathematical table when algorithmically determining the value of the unknown data bit of the time counter table.
- The time counter table may begin at a zero value and/or incrementally increases by a value of one every six seconds for a duration of a calendar week and then resets to the zero value. The algorithmically determining the value of the unknown data bit of the time counter table according to the specified property of the incremental mathematical table may include observing that a higher place data bit value of the time counter table switches from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state. A differential demodulation may be used by the receiver. A plurality of resolving bits of the differential time counter table may include determining that bits of a higher place data bit value switches from one state to an other state ‘T’ time instants after an adjacent lower bit place value switches from an off state to an on state, where ‘T’ is quarter the period of the column corresponding to the lower bit place.
- In addition, the algorithmically determining the value of the unknown data bit of the time counter table according to the specified property of the incremental mathematical table may include an observation that a period of alternation between bit states observed in a vertical arrangement of the time counter table increases by a factor of two at each higher bit place in each column of the time counter table. The signal may be a Global Positioning System (GPS) satellite signal received from a satellite. The other signals of at least four satellites may be concurrently processed when decoding the signal.
- In another aspect, a method of decoding a signal includes determining that a time counter value is not determinable in a current time interval, storing estimates of the time week value received in the current time interval and a number of additional time intervals in a time counter table, determining that the time counter table having values of the current time interval and the number of additional time intervals share a property with an incremental mathematical table (e.g., may be an incremental bit-counter table), resolving bits of the time counter table using the property shared with the incremental mathematical table, and determining the time counter value based on the resolving bits of the time counter table using the property shared with the incremental mathematical table.
- The method may include applying the time counter value and an ephemeris value to determine a global position of a receiver. The method may also include observing different time counter values of different signals received in adjacent time intervals to determine whether they share a property of the incremental mathematical table when resolving bits of the time counter table. The time counter table begins at a zero value and incrementally increases by a value of one every six seconds for a duration of a calendar week and then resets to the zero value.
- The resolving bits of the time counter table may include determining that bits of a higher place data bit value of the time counter table switch from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state. In addition, the resolving bits of the time counter table may include an observation that a period of alternation between bit states observed in a vertical arrangement of the time counter table may increase by a factor of two at each higher bit place in each column of the time counter table. The signal may be a Global Positioning System (GPS) satellite signal received from a satellite. The other signals of at least four satellites may be concurrently processed when decoding the signal.
- In yet another aspect, an integrated circuit includes a time counter detector module to detect a signal comprised of several of data bits, a table arrange module to arrange several data bits according to a specified property of an incremental mathematical table, a time counter table to store several data bits when arranging several data bits according to the specified property of the incremental mathematical table, a comparison module to algorithmically determine a value of an unknown data bit of the time counter table according to the specified property of the incremental mathematical table observed in the time counter table to generate a time counter value, and a processor to apply the time counter value to decode the signal.
- The integrated circuit may be an application specific integrated circuit designed for communication across different communication protocols including Bluetooth, Global Positioning System (GPS), and/or WiFi. The method may include a multiple time interval module to observe different data bits of different signals received in adjacent time intervals to determine whether they share the specified property of the incremental mathematical table when algorithmically determining the value of the unknown data bit of the time counter table.
- The methods, systems, and apparatuses disclosed herein may be implemented in any means for achieving various aspects, and may be executed in a form of a machine-readable medium embodying a set of instructions that, when executed by a machine, cause the machine to perform any of the operations disclosed herein. Other features will be apparent from the accompanying drawings and from the detailed description that follows.
- Example embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
-
FIG. 1 is a system view of a receiver receiving global positioning signal that includes time counter data, according to one embodiment. -
FIG. 2A is an exploded view of a GPS receiver, according to one embodiment. -
FIG. 2B is a system view illustrating a portion of the GPS receiver which may be used to calculate the receiver position, according to one embodiment. -
FIG. 2C is a system view illustrating a portion of the GPS receiver including the confidencevalue estimator module 230, according to one embodiment. -
FIG. 2D is an exploded view of theTOW estimator module 224 ofFIG. 2B which may use a switch property and a period property to estimate the value of TOW, according to one embodiment. -
FIG. 2E is an exploded view of confidencevalue estimator module 230 ofFIG. 2D , according to one embodiment. -
FIG. 3A is a table view of a time counter illustrating successive values of a 17 bit time counter according to one embodiment. -
FIG. 3B is a table view of arrangement of soft data values in the time counter table 210, according to one embodiment. -
FIG. 3C is a table view of arrangement of soft data values in the time counter table 210, according to one embodiment. -
FIG. 3D is a table view of contents of HOW word, according to one embodiment. -
FIG. 3E is a table view of a differential time counter (such as TOW) where the adjacent bits have been logically combined (e.g., may be by using an XOR operation), according to one embodiment. -
FIG. 4 is a diagrammatic view illustrating wave forms along with period property and switch property, according to one embodiment. -
FIG. 5 is a table view illustrating period fields that illustrate improving accuracy over time intervals, according to one embodiment. -
FIG. 6 is a flow diagram illustrating process of decoding a signal, according to one embodiment. -
FIG. 7 is a graphical view illustrating performance improvement over prior art, according to one embodiment. -
FIG. 8 is a process flow of detecting a signal comprised of data bits, according to one embodiment. -
FIG. 9 is a process flow of observing different time counter values of different signals received in adjacent time intervals, according to one embodiment. -
FIG. 10 is a flow chart illustrating processing for current sub-frame, according to one embodiment. - Other features of the present embodiments will be apparent from the accompanying drawings and from the detailed description that follows.
- A method to improve the sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio are disclosed. Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments.
- In one embodiment, a method includes detecting a signal (e.g., may be a global positioning satellite signal) comprised of a data bits (e.g., the global positioning signal composed of data), arranging the data bits according to a specified property of an incremental mathematical table (e.g., the incremental mathematical table 218 of
FIG. 2A ) (e.g., may be an incremental bit-counter table), storing the data bits (e.g., may be in the time counter table) when arranging the data bits according to the specified property of the incremental mathematical table 218 (e.g., using the table arrangemodule 212 ofFIG. 2A ) as a time counter table (e.g., the time counter table 210 ofFIG. 2A ), algorithmically determining (e.g., using thecomparison module 204 ofFIG. 2A ) a value of an unknown data bit of the time counter table 210 according to the specified property of the incremental mathematical table 218 observed in the time counter table 210 to generate a time counter value (e.g., thetime counter value 220 ofFIG. 2A ), and applying thetime counter value 220 to decode the signal. - In another embodiment, a method of decoding a signal (e.g., may be a global positioning signal) includes determining that a time counter value (e.g., the
time counter value 220 ofFIG. 2A ) is not determinable in a current time interval, storing estimates of thetime counter value 220 received in the current time interval and a number of additional time intervals in a time counter table (e.g., the time counter table 210 ofFIG. 2A ), determining that the time counter table 210 having values of the current time interval and the number of additional time intervals share a property with an incremental mathematical table (e.g., the incremental mathematical table 218 of FIG. 2A)(e.g., is an incremental bit-counter table), resolving bits of the time counter table 210 using the property shared with the incremental mathematical table 218 (e.g., as illustrated inFIG. 2A ) and determining thetime counter value 220 based on the resolving bits of the time counter table 210 using the property shared with the incremental mathematical table 218. - In yet another embodiment, an integrated circuit includes a time counter detector module (e.g., the time counter detector module 202 of
FIG. 2A , a time of the week detector module) to detect a signal (e.g., may be a global positioning signal) comprised of a data bits (e.g., global positioning signal composed of data bits), a table arrange module (e.g., the table arrangemodule 212 ofFIG. 2A ) to arrange the data bits according to a specified property of an incremental mathematical table (e.g., the incremental mathematical table 218 ofFIG. 2A ), a time counter table (e.g., the time counter table 210 ofFIG. 2A , a time of the week detector table) to store the data bits when arranging the data bits according to the specified property of the incremental mathematical table 218, a comparison module (e.g., thecomparison module 204 ofFIG. 2A ) to algorithmically determine a value of an unknown data bit of the time counter table 210 according to the specified property of the incremental mathematical table 218 observed in the time counter table 210 to generate a time counter value (e.g., thetime counter value 220 ofFIG. 2A , a time of the week detector value), and a processor (e.g., theprocessor 222 ofFIG. 2A ) to apply thetime counter value 220 to decode the signal. -
FIG. 1 is a system view of a receiver receiving a global positioning signal that includes time counter data, according to one embodiment. Particularly,FIG. 1 illustrates satellite systems 100-N, atime counter data 102A-N0-N, areceiver 104, and a global positioning signal composed of data bits 106A0-n-N0-n, according to one embodiment. - The
satellite systems 100A-N may be a man made earth orbiting device used for receiving and/or transmitting signals (e.g., may include global positioning satellite signal) through its transponders. Thetime counter data 102A-N0-n may be a time stamp that may be present in every time interval (e.g., 17 bit counter) of the GPS navigation data that may indicate the time passed from the last change of GPS week. Thereceiver 104 may receive the information (e.g., global positioning signal) to decode the time counter data to compute an estimate the global position of a receiver's position. The global positioning signal composed of data bits 106A-N0-n may be the signal (e.g., low power radio signals that may be designated as L1 or L2) from multiple satellites which may be received by thereceiver 104 that may contain a pseudorandom code, ephemeris data and/or almanac data along with thetime counter data 102A0-N-N0-N. - In example embodiment,
FIG. 1 illustrates thesatellite systems 100A-N transmitting the global positioning signal composed of data bits 106A0-N-N0-N which may includetime counter data 102A0-N-N0-N. Thereceiver 104 may receive the signal (e.g., the global positioning satellite signal) and processes (e.g., decodes) it by applying the time counter value. - In one embodiment, the signal may be a Global Positioning System (GPS) satellite signal received from a satellite (e.g., as illustrated in
FIG. 1 ). The other signals of other satellites (e.g., may be at least four) may be concurrently processed when decoding the signal (e.g., GPS signal). Thetime counter value 220 and an ephemeris value may be applied to determine a global position of thereceiver 104. The signal may be a Global Positioning System (GPS) satellite signal received from a satellite (e.g., as illustrated inFIG. 1 ). -
FIG. 2A is an exploded view of areceiver 104, according to one embodiment. Particularly,FIG. 2A illustrates a time counter detector module 202, acomparison module 204, an incremental property detector module 206, a multipletime interval module 208, a time counter table 210, a table arrangemodule 212, aswitch module 214, aperiod module 216, an incremental mathematical table 218, atime counter value 220, and aprocessor 222, according to one embodiment. - The time counter detector module 202 may detect global positioning signals (e.g., that may be transmitted from the
satellite systems 100A-N) along withtime counter data 102A0-N-N0-N bits. Thecomparison module 204 may algorithmically compare a value of an unknown data bit of the time counter table 210 in relation to the specified property (e.g., may be theperiod property 306 and/or the switch property 308) of the incremental mathematical table 218. The incremental property detector module 206 may detect the increments in the incremental mathematical table 218 (e.g., which may be a bit-counter table). The multipletime interval module 208 may observe the received different data bits which may have different signals in adjacent time intervals. The time counter table 210 may store the data bits when arranging the data bits according to a specified property of the incremental mathematical table 218. - The table arrange
module 212 may arrange the data bits according to specified property of an incremental mathematical table 218. Theswitch module 214 may detect switching intime counter data 102A0-N from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state in the time counter table 210 (e.g., as illustrated inFIG. 3 and as detection of falling edge inFIG. 4 ). Theperiod module 216 may detect/observe the period of alternation between the data bit states observed in a vertical arrangement of the time counter table increases by a factor of two at each higher bit place in each column of the time counter table. The incremental mathematical table 218 may be a table which may be an incremental bit-counter table which may increment the 17 bit counter in every time interval (e.g. sub-frame of a TOW signal). Thetime counter value 220 may be the value of the counter data bits which may be determined algorithmically from the time counter table. Theprocessor 222 may decode the signal by applying the time counter value. - In example embodiment,
FIG. 2A illustrates the time counter detector module 202 communicating with the multipletime interval module 208. The multipletime interval module 208 may communicate with thecomparison module 204. Thecomparison module 204 may communicate with the time counter table 210. The time counter table 210 may communicate with the incremental property detector module 206 the incremental mathematical table 218, thetime counter value 220, and/or the table arrangemodule 212. The incremental property detector module 206 may include theswitch module 214 and theperiod module 216 communicating with each other. The incremental property detector module 206 may also communicate with thecomparison module 204. Theprocessor 222 may communicate with thetime counter value 220. - In one embodiment, a signal comprised of data bits (e.g., the global positioning signal composed of data bits) may be detected (e.g., using the time counter detector module 202 of
FIG. 2A ). The data bits may be arranged (e.g., using the table arrangemodule 212 ofFIG. 2A ) according to a specified property of the incremental mathematical table 218. The data bits may be stored (e.g., may be in time of week table) when arranging the data bits according to the specified property of the incremental mathematical table 218 as the time counter table 210. - The value of an unknown data bit of the time counter table 210 may be algorithmically determined (e.g., using the
comparison module 204 ofFIG. 2A ) according to the specified property of the incremental mathematical table 218 observed (e.g., using the multipletime interval module 208 ofFIG. 2A ) in the time counter table 210 to generate thetime counter value 220. Thetime counter value 220 may be applied to decode the signal (e.g., using theprocessor 222 ofFIG. 2A ). Different data bits of different signals received in adjacent time intervals may be observed (e.g., using the multipletime interval module 208 ofFIG. 2A ) to determine whether they share the specified property of the incremental mathematical table 218 (e.g., using the multipletime interval module 208 ofFIG. 2A ) when algorithmically determining the value of the unknown data bit of the time counter table 210. - The incremental mathematical table 218 may be an incremental bit-counter table. The time counter table 210 may begin at a zero value and incrementally increases by a value of one every six seconds for a duration of a calendar week and then resets to the zero value. The value of the unknown data bit of the time counter table 210 may be algorithmically determined (e.g., using the
comparison module 204 ofFIG. 2A ) according to the specified property may include observing that a higher place data bit value of the time counter table 210 may switch from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state (e.g., using theswitch module 214 of the incremental property detector module 206 ofFIG. 2A ). - The value of the unknown data bit of the time counter table 210 may be algorithmically determined according to the specified property of a mathematical table (e.g., using the incremental property detector module 206 of
FIG. 2A ) and may include an observation that a period of alternation between bit states observed (e.g., using the multipletime interval module 208 ofFIG. 2A ) in a vertical arrangement of the time counter table 210 may increase by a factor of two at each higher bit place in each column of the time counter table 210. It may be determined that thetime counter value 220 may not be determinable in a current time interval. Estimates of thetime counter value 220 received in the current time interval and/or a number of additional time intervals may be stored in the time counter table 210. It may be determined that the time counter table 220 having values of the current time interval and the number of additional time intervals may share a property with an incremental mathematical table 218 (e.g., using the incremental property detector module 206 ofFIG. 2A ). - A bit of the time counter table 210 may be resolved using the property shared with the incremental mathematical table 218. The
time counter value 220 based on the resolving bits of the time counter table 210 may be determined using the property shared with the incremental mathematical table 218. Different time counter values of different signals received in adjacent time intervals may be observed (e.g., using the multipletime interval module 208 ofFIG. 2A ) to determine whether they share a property of the incremental mathematical table 218 when resolving bits of the time counter table 210 (e.g., using the multipletime interval module 208 ofFIG. 2A ). The incremental mathematical table 218 may be an incremental bit-counter table. - The time counter table 210 may begin at a zero value and may incrementally increase by a value of one every six seconds for a duration of a calendar week and then reset to the zero value. The resolving of a bit of the time counter table 210 may include determining that the bit of a higher place data bit value of the time counter table 210 switch from a state to another state when an adjacent lower place data bit value switches from an on-state to an off-state (e.g., using the
switch module 214 of incremental property detector module 206 ofFIG. 2A ). The resolving of a bit of the time counter table 210 may include an observation that a period of alternation between observed bit states (e.g., using the multipletime interval module 208 ofFIG. 2A ) in a vertical arrangement of the time counter table 210 increases by a factor of two at each higher bit place in each column of the time counter table 220. The time counter detector module 202 may detect a signal comprised of data bits. - The table arrange
module 212 may arrange the data bits according to a specified property of the incremental mathematical table 218. The time counter table 210 may store the data bits when arranging the data bits according to the specified property of the incremental mathematical table 218. Thecomparison module 204 may algorithmically determine a value of an unknown data bit of the time counter table 210 according to the specified property of the incremental mathematical table 218 observed (e.g., using the multipletime interval module 208 ofFIG. 2A ) in the time counter table 210 to generate thetime counter value 220. Theprocessor 222 may apply thetime counter value 220 to decode the signal. - The integrated circuit may be an application specific integrated circuit designed for communication across different communication protocols may include Bluetooth, Global Positioning System (GPS), and/or WiFi. The multiple
time interval module 208 may observe (e.g., using the multipletime interval module 208 ofFIG. 2A ) different data bits of different signals received in adjacent time intervals to determine whether they share the specified property of the incremental mathematical table 218 when algorithmically determining the value of the unknown data bit of the time counter table 210. -
FIG. 2B is a system view illustrating a portion of the GPS receiver which may be used to calculate the receiver position, according to one embodiment. Particularly,FIG. 2B illustrates thefront end preprocessor 226, multiple satellite combiner module 228, table arrangemodule 212, time counter table 210, aTOW estimator module 224, atime counter value 220 and aprocessor 222, according to one embodiment. - In the example embodiment, the
front end preprocessor 226 may communicate with the multiple satellite combiner module 228. The multiple satellite combiner module 228 may communicate with the table arrangemodule 212. The table arrangemodule 212 may communicate with the time counter table 210. The time counter table 210 may communicate with theTOW estimator module 224. TheTOW estimator module 224 outputs thetime counter value 220. Thetime counter value 220 is used by theprocessor 222. - In this embodiment, the receiver may observe the satellite signals from one or more satellites that are visible to the receiver. Each received satellite signal may be preprocessed by the
front end preprocessor 226. The preprocessing may include down converting each satellite signal to baseband, correlating with the PN sequence to despread the signal and then demodulating the signal (e.g., that may include GPS data). In addition, the signal samples may be quantized (e.g., converting the signal to digital signal taking the closest approximate DC value) to multiple levels that may yield a signal sample commonly referred to as a ‘soft decision value’ or a ‘soft decision bit’. - The
front end preprocessor 226 may produce a single soft decision value for each 20 ms data bit transmitted by each satellite. For each satellite, the 17 soft decision values corresponding to thetime counter value 220 in each sub-frame are sent to the multiple satellite combiner module 228 (e.g. Sn (t, 0), Sn (t, 1), . . . , Sn (t, 16) may refer to the 17 soft decision values corresponding to the TOW from the nth satellite for the tth consecutive sub-frame received). In the multiple satellite combiner module 228, in each sub-frame t, the soft decision values from all the satellites for a specific bit place of the TOW may be summed up to obtain one soft decision data value per TOW bit place of the TOW. This may be illustrated in the following equation. -
- The combined soft decision values [S(t,0), S(t,1) . . . S(t,16)] may then be sent to the table arrange
module 212. - The table arrange
module 212 from each sub-frame may pick up the 17 soft decision data values corresponding to TOW in that particular sub-frame. The table arrangemodule 212 may also store this data in a time counter table 210 (e.g., may be s(0,0) s(0,1), . . . s(0,16) refers to the 17 soft decision data values from the first sub-frame received). Similarly, s(t,0) . . . s(t,17) would refer to the 17 soft decision data values from the tth consecutive sub-frame received (e.g., as illustrated inFIG. 3B ). Each place of the 17 bit counter may be stored in one column (e.g., may be the least significant bit to the most significant bit moving from right to left). - The
TOW estimator module 224 may observe the soft decision values in the time counter table 210 and in conjunction with the two properties of a counter table may estimate the value of the TOW. TheTOW estimator module 224 may output the estimated thetime counter value 220 which may then be used by theprocessor 222 to calculate the receiver's position. -
FIG. 2C is a system view illustrating a portion of the GPS receiver including the confidencevalue estimator module 230, according to one embodiment. Particularly,FIG. 2C illustrates thefront end preprocessor 226, the multiple satellite combiner module 228, table arrangemodule 212, HOW table 234, theTOW estimator module 224, atime counter value 220, a confidencevalue estimator module 230, a confidence value 232 and aprocessor 222. - The confidence
value estimator module 230 may estimate the confidence value required for determination of the estimated time counter value. The confidence value 232 may be used to determine if the estimated time counter value may have sufficient accuracy for computation of the position. The HOW table 234 (e.g., hand over word) may be a table that stores the soft decision bits corresponding to the HOW word in successive frames. - In example embodiment, the
front end preprocessor 226 may communicate with the multiple satellite combiner module 228. The multiple satellite combiner module 228 may communicate with the table arrangemodule 212. The table arrangemodule 212 may communicate with the HOW table 234. The HOW table 234 may communicate with theTOW estimator module 224. The confidencevalue estimator module 230 may communicate with the confidence value 232, and thetime counter value 220. The confidence value 232 may communicate with thetime counter value 220, and theprocessor 222. - In this embodiment, the
receiver 104 may include a method to determine the confidence value in the TOW estimated by the TOW estimator. Such thereceiver 104 may include a confidencevalue estimator module 230. The TOW table fromFIG. 2B has been replaced by a HOW table 234 inFIG. 2C . The HOW word may be a 30 bit word transmitted by GPS satellites in every sub-frame, which may include in addition to the 17 bit TOW, 13 other bits including a 3 bit sub-frame id and/or a 6 parity bits. The multiple satellite combiner module 228 may provide the table arrange module with 30 soft decision values [S(t,0), S(t,1) . . . S(t,29)] per sub-frame, corresponding to the 30 place values of the HOW word. - The table arrange
module 212 may arrange these soft decision values (e.g., as illustrated inFIG. 3C ). The TOW Estimator module may work as before utilizing just the TOW part of the HOW table 234. The confidencevalue estimator module 230 may use the HOW table 234 and/or the time counter value estimated by theTOW estimator module 224 to compute a confidence value 232. The confidence value may be used by the processor module to determine if thetime counter value 220 that may be of sufficient accuracy to be used in computation of the position. -
FIG. 2D is an exploded view of theTOW estimator module 224 ofFIG. 2B which may use a switch property and a period property to estimate the value of TOW, according to one embodiment. Particularly,FIG. 2B illustrates thecomparison module 204, the incremental property detector module 206, which includes theswitch module 214 and theperiod module 216, according to one embodiment. - In this embodiment the TOW estimator module may estimate the TOW bits sequentially starting from the least significant bit and working its way to the most significant bit. In each stage, the
switch module 214 and theperiod module 216 together may compute the two possible waveforms (e.g., as illustrated in 308B and 308C ofFIG. 3 ) for the next adjacent column. Thecomparison module 204 may then correlate the soft decision data stored in the next adjacent column with both thewaveforms waveforms 308B otherwise. In the above equation, 308A may be a +1/−1 representation of the waveform in C308A. -
FIG. 2E is an exploded view of confidencevalue estimator module 230 ofFIG. 2C , according to one embodiment. Particularly,FIG. 2E illustrates thetime counter value 220, the HOW table 227, aHOW table predictor 233, a predicted HOW table 231, acolumn correlator 235 and aconfidence value calculator 237 according to one embodiment. - The
time counter value 220 may be the value of the TOW estimated by the TOW Estimator module. The HOW table 227 may store the soft decision values of the HOW word received from successive sub-frames. TheHOW table predictor 233 may predict the ideal values of the successive columns of the HOW table 227 using thetime counter value 220. The predicted HOW table 231 may store the ideal values generated by theHOW table predictor 233. Thecolumn correlator 235 may correlate the values from each column of the HOW table 227 with the corresponding column of the predicted HOW table 231. Theconfidence value calculator 237 may use the correlation values output by thecolumn correlator 235 to estimate whether thetime counter value 220 is right - In this example embodiment, the
HOW Table Predictor 233 may predict the ideal values of the successive columns of the HOW table 227 (e.g., under the assumption that the TOW value is correct) and place the ideal values (‘0’ or ‘1’ for element in the table) in the predicted HOW table 231. As an example, the TOW values placed in columns C1 to C17 of the predicted HOW table 231 may be the consecutive values starting from thetime counter value 220. The columns C18 and C19 can be assumed to be constant bit values and may be estimated by summing the soft decision values of the corresponding columns in the HOW table 227 and hard limiting these sums. The columns C20-C22 may contain the sub-frame id of the GPS sub-frame. These may be directly calculated using the values of the TOW (C1-C17). The parity bits C23-C28 may be computed from the bits in C1-C22 as per the GPS specification. In addition, the last two bits C29 and C30 may be set to zero as per the GPS specification. - The soft decision values from each column of the HOW Table 227 may be compared with the corresponding column of the predicted HOW table 231 with a closer match between the two indicating greater confidence in the estimated time counter value. In the embodiment this comparison between the tables may be achieved by the
column correlator 235 by correlating the values from each column of the HOW Table 227 with the corresponding column of the predicted HOW table 231. For the kth column, this correlation may be computed as: -
- where C(j,k) refers to the values in the jth row and kth column of the predicted HOW table 231. (Note: when computing the correlation a ‘0’ value in the HOW table 227 may be interpreted as −1 and a ‘1’ value may be interpreted as ‘1’.).
- The
confidence value calculator 237 calculate the correlation values ([corr(0) corr(1) . . . corr(29)], for each of the columns of the HOW table, to estimate if the TOW value is correct. If the TOW value is correct, the confidence value calculator 244 may output a ‘1’, otherwise a ‘0’. Various metrics may be used by theconfidence value calculator 237 to estimate if thetime counter value 220 is correct. In one embodiment theConfidence value calculator 237 may declare a ‘1’ if corr(k) is greater than some threshold T for each column. In another embodiment theconfidence value calculator 237 may declare a ‘1’ if the variance of [corr(0), corr(1) . . . corr(29)] is greater than another threshold ‘T’. The values of the thresholds may be calculated by simulation and/or theoretical calculation and/or may vary depending on the integrity needs of each application. -
FIG. 3A is a table view of a time counter illustrating successive values of a 17 bit time counter according to one embodiment. Particularly,FIG. 3A illustrates thetime counter data 102AO-N, atime counter 302, thetime counter value 304, aperiod property 306, and aswitch property 308, according to one embodiment. The switch property and the period property may be used by theTOW estimator module 224 to estimate the value of the TOW. - In this embodiment, the
period property 306 and theswitch property 308 may be explained usingFIG. 3A as reference. Each column may have a fixed number of 1's followed by the same number of 0's and this property may be referred to as the period of the column. It may be noted that the period increases by a factor two in each higher bit place (i.e., column) of the table. Theswitch property 308 may refer to the property where a higher place data bit value of the counter switches from one state to another whenever an adjacent lower place bit value switches from an on state (‘1’) to an off state (‘0’). - In one embodiment, the time counter table of
FIG. 3A may refer to the TOW values. Thus 102A0-N may refer to the values of the TOW in successive sub-frames with the values incrementing by one in every successive sub-frame. -
FIG. 3B is a table view of arrangement of soft data values in the time counter table 210, according to one embodiment. - In example embodiment, the each rows of the soft data values of the time counter table 210 illustrates 17 soft decision data values in each row from S(0,0) S(0,1), . . . S(0,16) to S(T,16), S(T,15) . . . S(T,0) stored in a decreasing order.
-
FIG. 3C is a table view of arrangement of soft data values in the time counter table 210, according to one embodiment. - In example embodiment, the first row denotes the arrangement of soft data values from S(0,29) to S(0,0) in decreasing order. The second row of the table denotes the arrangement of soft data values from S(1,29) to S(1,0) in the decreasing order and so on the arrangement may be till S(T, 29) to S(T,0), according to one embodiment.
-
FIG. 3D is a table view of contents of HOW word, according to one embodiment. - In example embodiment, the first column denotes TOW counter that includes 1 to 17 bits, the second column illustrates the alter flag that may require 1 bit (e.g., 18th bit), the third column denotes anti spoof flag that may require 1 bit (e.g., 19th bit), the fourth column denotes sub frame ID that may require 3 bit (e.g., 20th to 23rd bits), the fifth column denotes party bits that may require 6 bits (e.g., 23rd to 28th bits) and last two bits may be reserved.
-
FIG. 3E is a table view of a differential time counter (e.g., such as the TOW) where the adjacent bits have been logically combined (e.g., may be by using an XOR operation), according to one embodiment. - Particularly,
FIG. 3E illustrates example of receivers that may differentially demodulate data in compared to coherently demodulating data. The differential demodulation scheme may be typically used to ease the synchronization constraints at thereceiver 104. In one embodiment, the processor 222 (e.g., in theFIGS. 2A , 2B and 2C) may choose to output differentially demodulated symbols. In addition, in the differential demodulation, a given soft decision symbol obtained from a satellite signal may be multiplied by the complex conjugate of its preceding soft decision symbol and the inphase component taken to yield what can be referred to as a soft differential symbol or a soft differential bit. The modules associated to the processor 222 (e.g., ofFIGS. 2A , 2B and 2C) such as the multiple satellite combiner module 228, the table arrangemodule 212, the TOW estimator module etc. may now work with the soft differential bits. - When data may be differentially demodulated the adjacent bits of the underlying information bits (e.g., such bits in a time counter, TOW, HOW, etc.) are logically combined according to some logical operation (e.g., the XOR operation). A sequence of information bits obtained after combining may be referred to as being in the ‘difference domain’. The original bit sequence (e.g., without ‘XOR’ing of adjacent bits) may be referred to as being in the ‘absolute domain’.
- In one embodiment, the differential demodulation may be used by the
receiver 104. The resolving bits of the differential time counter table may include determining that bits of a higher place data bit value switches from one state to an other state ‘T’ time instants after an adjacent lower bit place value switches from an off state to an on state, where ‘T’ is quarter the period of the column corresponding to the lower bit place. - In example embodiment,
FIG. 3E may be derived fromFIG. 3 as follows. InFIG. 3E , the second column from the left may be derived by logical operation (e.g., may be by XORing the corresponding bits in first and second columns (from the left) ofFIG. 3 ). In general the kth column inFIG. 3E may be derived by using the logical operation (e.g., may be by XORing the k and (k1)th columns fromFIG. 3 ). Also if the first bit preceding the time counter may be assumed to be a constant as per the satellite signal specification, then the first column inFIG. 3E may be derived by the logical operation (e.g., XORing the 1st column (left most) ofFIG. 3 with this constant value (either ‘0’ or ‘1’)). As an example to obtain the 1st column (left most) ofFIG. 3E we may assume that the time counter (e.g., such as the TOW) is preceded by a constant with logical value ‘0’. - In the example embodiment,
FIG. 3E may be used to illustrate the switch property 310 andperiod property 306 modified to the context of differential demodulation at thereceiver 104. Theperiod property 306 inFIG. 3E may be the same as inFIG. 3 (e.g., the period may increase by a factor of 2 each as we go from the left column to the right column). However, the switch property 310 may be modified as follows: The higher bit place value may switch from one state to another state, ‘T’ time instants after an adjacent lower bit place value switches from an off (‘0’) state to an on (‘1’) state, where ‘T’ may be quarter the period of the column corresponding to the lower bit place. The time instant ‘T’ varies based on factor of ‘2’ moving from lower bit place to higher ones (e.g., as illustrated inFIG. 3E ). - The
TOW estimator module 224 may use techniques described earlier in conjunction with the modified switch property to estimate the value of the TOW counter in the difference domain. The HOW estimator (e.g., that may include the predicted HOW table 231, theHOW table predictor 233, thecolumn correlator 235, etc.) may also use the techniques described earlier with obvious modifications to accommodate the difference domain. The conversion from the difference domain to the absolute domain in thereceiver 104 may be done using bits known a priori to the receiver 104 (e.g., such as the preamble). -
FIG. 4 is a diagrammatic view with an alternate depiction of theperiod property 306 and theswitch property 308 according to one embodiment. Particularly,FIG. 4 illustrates theperiod property 306, wave forms 306A-D, theswitch property 308, andwaveforms 308A-C, according to one embodiment. - The wave forms 306A-D shows the
period property 306 that may illustrate periods of bits, from a lower significant bit (e.g., 306A) through a higher significant bit (e.g., 306D), along with the rising edge and falling edge. Every successive higher significant bit may have twice the period of its preceding bit. Thewaveforms 306A-D may also illustrate theswitch property 308 with the rising or falling edge of every bit lining up with the falling edge of its preceding bit. Thewaveforms 308A-C may illustrate that once the wave form corresponding to a specific bit place has been identified (e.g., 308A), theperiod property 306 and switchproperty 308 may demand that the waveform corresponding to adjacent higher place value be one of two choices (e.g., the 308B and/or itscomplement waveform 308C). -
FIG. 5 is a table view illustrating period fields that illustrate improving accuracy overtime intervals 550, according to one embodiment. Particularly,FIG. 5 illustrates asatellite field 502, acurrent field 504, a +6sec field 506, a +12sec field 508, a +18sec field 510, and a +24sec field 512, according to one embodiment. - The
satellite field 502 may illustrate the multiple satellite systems which may be transmitting the global positioning signals to thereceiver 104. Thecurrent field 504 may illustrate the probability of correctly decoding the TOW after combining the time counter data 102 0-N (e.g. about 10% probability of correct decoding) in the current instant from thesatellite systems 100A-N. The +6sec field 506 may illustrate the percentage of improved probability (e.g., increase to about 15%) after combining the time counter data 102 0-N obtained from thesatellite systems 100A-N across time period from thecurrent field 504 instant to the +6sec 506 instant. The +12sec field 508 may illustrate the percentage of improved probability (e.g., to about 60%) by combining the time counter data 1020-N obtained from thesatellite systems 100A-N across time period from thecurrent field 504 instant to the +12sec 508 instant. The +18sec field 510 may illustrate the percentage of improved probability (e.g., to about 85%) by combining the time counter data 102 0-N obtained from thesatellite systems 100A-N across time period from thecurrent field 504 instant to the +18sec 510 instant. The +24sec field 512 may illustrate the percentage of improved probability (e.g., to about 99.99%) by combining the time counter data 102 0-N obtained from thesatellite systems 100A-N across time period from thecurrent field 504 instant to the +24sec 510 instant. - In example embodiment,
FIG. 5 illustrates the improving percentage of accuracy by combining the soft decision bits of the time counter across multiple consecutive time interval (e.g., sub-frame of a time of the week signal) obtained from thesatellite systems 100A-N. Thesatellite field 502 column may illustrate thesatellite systems 100A in the first row, thesatellite system 100B in the second row and so on. Thecurrent field 504 column may illustrate 10% probability of correct decoding by combining the soft decision bits of the time counter across consecutive time intervals (e.g., across time). The +6sec field 506 may illustrate probability of correct decoding of 15% by combining the soft decision bits of time counter across consecutive time intervals (e.g., across time from thecurrent field 504 instant until +5sec 506 instant). Similarly, the +12sec field 508 may illustrates probability of correct decoding of 60%, +18sec field 510 may illustrate probability of correct decoding of 85%, +24sec field 512 may illustrate probability of correct decoding of 99.99% by combining the soft decision bits of time counter across consecutive time intervals respectively. -
FIG. 6 is a flow diagram illustrating a process of decoding a signal (e.g., Global Positioning System (GPS) satellite signal), according to one embodiment. Inoperation 602, the bits may be detected (e.g., tracked). Inoperation 604, bits may be arranged according to property of incremental table (e.g., may be obtained from the incremental table 218). In operation 608, a value of unknown bit of time counter table 210 may be determined using property of incremental table 218. Inoperation 610, atime counter value 220 may be generated. In operation 614, thetime counter value 220 may be applied to decode the signal (e.g., Global Positioning System (GPS) satellite signal). -
FIG. 7 is a graphical view illustrating performance improvement over prior art, according to one embodiment. Particularly,FIG. 7 illustrates aperformance improvement 700, a satellite power (dBm) 702, and a time to decode time counter values (Minutes) 704, according to one embodiment. - The
performance improvement 700 illustrates the improvement in performance (in terms of satellite power (dBm) 702) compared to the prior art. The satellite power (dBm) 702 may be the measurement of power density of satellite signal in dBm. The time to decode the time counter (e.g. minutes) 704 may be the time required to decode thetime counter data 102A0-N-N0-N. - In example embodiment,
FIG. 7 illustrates theperformance improvement 700 in satellite power for the same amount of time required as in prior art. -
FIG. 8 is a process flow of detecting a signal (e.g., Global Positioning System (GPS) satellite signal) comprised of data bits (e.g., the global positioning signal composed of data bits), according to one embodiment. Inoperation 802, a signal comprised of data bits (e.g., may be global positioning signal composed of data bits) may be detected (e.g., using the time counter detector module 202 ofFIG. 2A . Inoperation 804, the data bits may be arranged (e.g., using the table arrangemodule 212 ofFIG. 2A according to a specified property of an incremental mathematical table (e.g., the incremental mathematical table 218 ofFIG. 2A . Inoperation 806, the data bits may be stored (e.g., may be in time counter table 210 ofFIG. 2A when arranging the data bits according to the specified property of the incremental mathematical table 218 as a time counter table (e.g., the time counter table 210 ofFIG. 2A . - In
operation 808, a value of an unknown data bit of the time counter table 210 may be algorithmically determined (e.g., using thecomparison module 204 ofFIG. 2A according to the specified property of the incremental mathematical table 218 observed in the time counter table 210 to generate a time counter value (e.g., thetime counter value 220 ofFIG. 2A , the time of the week value). Inoperation 810, thetime counter value 220 may be applied (e.g., using theprocessor 222 ofFIG. 2A to decode the signal. Inoperation 812, different data bits of different signals received in adjacent time intervals may be observed (e.g., using the multipletime interval module 208 ofFIG. 2A to determine whether they share the specified property of the incremental mathematical table 218 when algorithmically determining the value of the unknown data bit of the time counter table 210. -
FIG. 9 is a process flow of observing different time counter values of different signals received in adjacent time intervals, according to one embodiment. - In
operation 902, it may be determined that a time counter value (e.g., thetime counter value 220 ofFIG. 2A may not be determinable in a current time interval. Inoperation 904, estimates of thetime counter value 220 received in the current time interval and/or a number of additional time intervals (e.g., using the multipletime interval module 208 ofFIG. 2A may be stored in a time counter table (e.g., thetime counter 210 ofFIG. 2A . Inoperation 906, it may be determined that the time counter table 210 may have values of the current time interval and the number of additional time intervals may share a property with an incremental mathematical table (e.g., the incremental mathematical table 218 ofFIG. 2A . - In
operation 908, bits of the time counter table 210 may be resolved using the property shared with the incremental mathematical table 218. Inoperation 910, thetime counter value 220 based on the resolving bits of the time counter table 210 may be determined using the property shared with the incremental mathematical table 218. Inoperation 912, thetime counter value 220 and/or an ephemeris value may be applied to determine a global position of a receiver (e.g., thereceiver 104 ofFIG. 1 ). Inoperation 914, different time counter values of different signals received in adjacent time intervals may be observed to determine whether they share a property of the incremental mathematical table 218 when resolving bits of the time counter table 210. -
FIG. 10 is a flow chart illustrating processing for current sub-frame, according to one embodiment. Inoperation 1002, the current sub-frame may be preprocessed (e.g., using theprocessor 222 ofFIG. 2A , 2B and 2C). Inoperation 1004, the soft decision values received for current sub-frame from multiple satellites may be combined for each bit of the HOW/TOW. Inoperation 1006, the combined soft decision values may be stored in TOW/HOW table along with soft decision values from previous sub-frames. Inoperation 1008, the bits of the TOW may be determined using the properties shared with the counter table. Inoperation 1010, the confidence value of the estimated TOW may be determined using the soft decision values in the HOW table. Inoperation 1012, a condition may be determined to check whether the confidence value is equal to 1 (e.g., true or false), if the condition is false theoperation 1002 is performed on the next sub-frame, if the condition is true, theoperation 1014 is performed. Inoperation 1014, TOW value and ephemeris for received satellites may be applied to determine global position of thereceiver 104. - Although the present embodiments have been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the various embodiments. For example, the various devices, modules, analyzers, generators, etc. described herein may be enabled and operated using hardware circuitry (e.g., CMOS based logic circuitry), firmware, software and/or any combination of hardware, firmware, and/or software (e.g., embodied in a machine readable medium). For example, the various electrical structure and methods may be embodied using transistors, logic gates, and electrical circuits (e.g., application specific integrated (ASIC) circuitry and/or in Digital Signal Processor (DSP) circuitry).
- Particularly, the time counter detector module 202, the
comparison module 204, the incremental property detector module 206, the multipletime interval module 208, the table arrangemodule 212, theswitch module 214, and/or theperiod module 216 ofFIG. 1-13 may be enabled using software and/or using transistors, logic gates, and electrical circuits (e.g., application specific integrated ASIC circuitry) such as a the time counter detector circuit, a comparison circuit, a incremental property detector circuit, a multiple time interval circuit, a table arrange circuit, a switch circuit, and a period circuit and other circuits. - In addition, it will be appreciated that the various operations, processes, and methods disclosed herein may be embodied in a machine-readable medium and/or a machine accessible medium compatible with a data processing system (e.g., a computer system), and may be performed in any order (e.g., including using means for achieving the various operations). Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Claims (20)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/168,901 US7720104B2 (en) | 2008-07-08 | 2008-07-08 | Method to improve sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/168,901 US7720104B2 (en) | 2008-07-08 | 2008-07-08 | Method to improve sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio |
Publications (2)
Publication Number | Publication Date |
---|---|
US20100008382A1 true US20100008382A1 (en) | 2010-01-14 |
US7720104B2 US7720104B2 (en) | 2010-05-18 |
Family
ID=41505131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/168,901 Active 2028-08-23 US7720104B2 (en) | 2008-07-08 | 2008-07-08 | Method to improve sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio |
Country Status (1)
Country | Link |
---|---|
US (1) | US7720104B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7936642B1 (en) * | 2008-01-02 | 2011-05-03 | Atheros Communications, Inc. | High sensitivity GPS-assisted time source |
KR101564938B1 (en) * | 2008-09-30 | 2015-11-02 | 삼성전자주식회사 | Method and apparatus for fast positioning using Global Positioning System |
US8151170B2 (en) * | 2008-12-02 | 2012-04-03 | Sirf Technology, Inc. | System and method for enhanced data decode in a GPS receiver |
FR2945400B1 (en) * | 2009-05-05 | 2012-02-17 | St Ericsson Sa St Ericsson Ltd | METHOD AND DEVICE FOR UPDATING THE DATE AND TIME OF AN ELECTRONIC SYSTEM, IN PARTICULAR A CELLULAR MOBILE TELEPHONE |
US8773304B2 (en) * | 2011-04-05 | 2014-07-08 | Texas Instruments Incorporated | Method and apparatus to improve sensitivity of decoding time of a global navigation satellite system receiver |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5945944A (en) * | 1996-03-08 | 1999-08-31 | Snaptrack, Inc. | Method and apparatus for determining time for GPS receivers |
US6272338B1 (en) * | 1995-11-30 | 2001-08-07 | Motient Services Inc. | Network control center for satellite communication system |
US6452961B1 (en) * | 2000-09-12 | 2002-09-17 | Interstate Electronics Corporation | Massively paralleled sequential test algorithm |
US20020136340A1 (en) * | 2000-06-02 | 2002-09-26 | Enam Syed K. | Two-stage multiplier circuit |
US20050162314A1 (en) * | 2001-07-18 | 2005-07-28 | Bromley Patrick G. | Method and system for processing positioning signals based on predetermined message data segment |
US7053824B2 (en) * | 2001-11-06 | 2006-05-30 | Global Locate, Inc. | Method and apparatus for receiving a global positioning system signal using a cellular acquisition signal |
US20060181453A1 (en) * | 2003-06-26 | 2006-08-17 | King Thomas M | Satellite positioning system receivers and methods |
US20070263735A1 (en) * | 2004-04-02 | 2007-11-15 | Nortel Networks Limited | Wireless Communication Methods, Systems, and Signal Structures |
US20080130796A1 (en) * | 2004-01-30 | 2008-06-05 | Wavecom | Multi-Modulation Reception Method Based On Demodulation Of Signals From Modulations Whose Symbols Are Included In A Main Constellation |
US20080192622A1 (en) * | 2007-02-09 | 2008-08-14 | Comsys Communication & Signal Processing Ltd. | Control channel signaling in a multiple access wireless communication system |
US20090046818A1 (en) * | 2005-05-25 | 2009-02-19 | Matsushita Electric Industrial Co., Ltd. | Reception device |
US20090146871A1 (en) * | 2007-12-07 | 2009-06-11 | Charles Abraham | Method and apparatus for managing time in a satellite positioning system |
US7609610B2 (en) * | 2002-12-04 | 2009-10-27 | Panasonic Corporation | Data transmission method, data reception method, transmission device and reception device using the same, and communication system using the same |
-
2008
- 2008-07-08 US US12/168,901 patent/US7720104B2/en active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6272338B1 (en) * | 1995-11-30 | 2001-08-07 | Motient Services Inc. | Network control center for satellite communication system |
US5945944A (en) * | 1996-03-08 | 1999-08-31 | Snaptrack, Inc. | Method and apparatus for determining time for GPS receivers |
US20020136340A1 (en) * | 2000-06-02 | 2002-09-26 | Enam Syed K. | Two-stage multiplier circuit |
US6452961B1 (en) * | 2000-09-12 | 2002-09-17 | Interstate Electronics Corporation | Massively paralleled sequential test algorithm |
US20060244658A1 (en) * | 2001-06-06 | 2006-11-02 | Global Locate Inc. | Method and apparatus for receiving a global positioning system signal using a cellular acquisition signal |
US20050162314A1 (en) * | 2001-07-18 | 2005-07-28 | Bromley Patrick G. | Method and system for processing positioning signals based on predetermined message data segment |
US7053824B2 (en) * | 2001-11-06 | 2006-05-30 | Global Locate, Inc. | Method and apparatus for receiving a global positioning system signal using a cellular acquisition signal |
US7609610B2 (en) * | 2002-12-04 | 2009-10-27 | Panasonic Corporation | Data transmission method, data reception method, transmission device and reception device using the same, and communication system using the same |
US20060181453A1 (en) * | 2003-06-26 | 2006-08-17 | King Thomas M | Satellite positioning system receivers and methods |
US20080130796A1 (en) * | 2004-01-30 | 2008-06-05 | Wavecom | Multi-Modulation Reception Method Based On Demodulation Of Signals From Modulations Whose Symbols Are Included In A Main Constellation |
US20070263735A1 (en) * | 2004-04-02 | 2007-11-15 | Nortel Networks Limited | Wireless Communication Methods, Systems, and Signal Structures |
US20090046818A1 (en) * | 2005-05-25 | 2009-02-19 | Matsushita Electric Industrial Co., Ltd. | Reception device |
US20080192622A1 (en) * | 2007-02-09 | 2008-08-14 | Comsys Communication & Signal Processing Ltd. | Control channel signaling in a multiple access wireless communication system |
US20090146871A1 (en) * | 2007-12-07 | 2009-06-11 | Charles Abraham | Method and apparatus for managing time in a satellite positioning system |
Also Published As
Publication number | Publication date |
---|---|
US7720104B2 (en) | 2010-05-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210382179A1 (en) | Detection and mitigation of satellite navigation spoofing | |
EP2485068B1 (en) | System and method for reducing ambiguities in received sps signals | |
US7095370B1 (en) | Method and apparatus for mitigating multipath effects at a satellite signal receiver using a sequential estimation filter | |
US7982668B2 (en) | Method for processing combined navigation signals | |
US20090309791A1 (en) | Sync detection device and method for gnss | |
US7920093B2 (en) | Methods for improving computational efficiency in a global positioning satellite receiver | |
US20200371249A1 (en) | Method and apparatus for improving gnss accuracy via path identification | |
US9000980B2 (en) | GNSS receiver correlating doppler derotation samples with code phases | |
US7720104B2 (en) | Method to improve sensitivity of decoding time of a global positioning system receiver at low signal to noise ratio | |
US8362953B2 (en) | Sequential chip correlation array | |
US8571089B2 (en) | Time-setting in satellite positioning system receivers | |
US7430196B2 (en) | Transmission systems | |
Pany et al. | On the state-of-the-art of real-time GNSS signal acquisition—A comparison of time and frequency domain methods | |
JP2007520100A (en) | GPS receiver using differential correlation | |
US20110050496A1 (en) | Energy Domain Based Peak Reconstruction Methods And Apparatuses | |
JP4777353B2 (en) | GPS positioning method and GPS positioning device | |
Andrianarison et al. | Efficient and innovative techniques for collective acquisition of weak GNSS signals | |
US9178561B2 (en) | Method and apparatus for correlating signals received from a navigation satellite system | |
US7395155B2 (en) | Global positioning system receiver and correlating circuit thereof | |
US8767891B2 (en) | Reception signal integrating method and receiver | |
EP3544248A1 (en) | Adaptive detection function based on statistical propagation channel estimation for gnss receivers | |
Ren et al. | Collective bit synchronization for weak GNSS signals using multiple satellites | |
Tahir et al. | A novel acquisition strategy for weak GNSS signals based on map criterion | |
US20240039772A1 (en) | Method and apparatus for performing efficient correlation computation between data sequence and both of in-phase code sequence and quadrature code sequence | |
Turunen | Weak signal acquisition in satellite positioning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TEXAS INSTRUMENTS INCOPORATED, TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAO, SANDEEP;REEL/FRAME:021259/0294 Effective date: 20080704 Owner name: TEXAS INSTRUMENTS INCOPORATED,TEXAS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAO, SANDEEP;REEL/FRAME:021259/0294 Effective date: 20080704 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
FPAY | Fee payment |
Year of fee payment: 4 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552) Year of fee payment: 8 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 12 |