Radio communication synchronization system
The method synchronizes a GNSS receiver with a satellite by analyzing the secondary code sequence in GNSS signals to determine phase and frequency offsets, addressing synchronization challenges due to noise and frequency uncertainty and achieving accurate and efficient synchronization.
Patent Information
- Application Number
- DE102015004152
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2014-06-30
- Filing Date
- 2015-03-31
- Publication Date
- 2025-04-30
- Estimated Expiration
- 2035-03-31
AI Technical Summary
Global navigation satellite systems (GNSS) face challenges in synchronizing the receiver's time base with the satellite's time base due to noise and frequency uncertainty, affecting the accuracy of position, velocity, and time estimates.
A method and apparatus for synchronizing a GNSS receiver with a GNSS satellite by extracting and analyzing the secondary code sequence in received GNSS signals, identifying the phase offset, and using it to synchronize the receiver, while also calculating and using frequency offsets for accurate synchronization.
This approach enables accurate and computationally efficient code phase synchronization of GNSS signals, reducing processing power requirements and improving synchronization accuracy even in the presence of frequency uncertainty.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
Cross-reference to related patent applications
[0001] This patent application claims priority from U.S. Provisional Patent Application No. 61 / 975,309, filed April 4, 2014 Technical area
[0002] The present disclosure relates to radio code synchronization including radio code synchronization for global navigation satellite systems (GNSS).
[0003] US 8401546 B2 discloses a method and a detection and tracking device for tracking digitized spread spectrum navigation signals modulated with a spreading code, the device comprising a plurality of universal tracking channels, each coupled to an interrupt module, the universal tracking channel comprising modules for efficient use of the correlator resources.
[0004] EP 1724602 A1 discloses a system for processing a received signal to which at least one code is applied and the signal has a frequency, wherein a first correlation circuit correlates the signal with a first code and a second correlation circuit correlates the signal with a second code different from the second code, and processing means jointly processes the outputs of the first and second correlation circuits to compensate for the frequency.
[0005] US 6873664 B1 discloses a method and a digital receiver for detecting a coded signal. The receiver receives a long pseudo-noise code signal consisting of two shorter, interleaved codes. A correlator unit correlates the received signal with one or more reference codes, each corresponding to the two interleaved codes, and generates correlation signals. Even and odd code detectors detect codes from the correlation signals. A delay unit is coupled to the even and odd code detectors and delays the even or odd correlation signals to align the correlation signals.
[0006] US 5600670A discloses a GPS receiver system in which the channels are dynamically assigned in acquisition mode to hierarchically chain a slave channel module to a master channel. background
[0007] Typical digital communication systems involve using a transmitter to send a bitstream to a receiver. The bitstream contains digital information that the receiver decodes and uses. In some communication systems, the digital information is extracted by first converting the analog representation of the bitstream into digital samples. Each sample represents the signal at the time of sampling. Due to noise and other effects, signal transitions may not be represented cleanly.
[0008] Such digital communication can be used in various systems, such as a global navigation satellite system (GNSS). GNSS is a satellite system comprising a network of satellites in space. Each satellite wirelessly transmits coded signals at precise intervals. A receiver analyzes the signal information to determine a position, speed, and time estimates. The GNSS signal is used for various applications, such as determining the geographical location of a user's receiver anywhere in the world. Using the information in the transmitted signal, the receiver on or near the Earth's surface can calculate the exact position of the transmitting satellite and the distance (from the transmission time delay) between the satellite and the receiver.For accurate operation of a system based on the reception of GNSS signals, the transmitting satellite and the receiver are synchronized in time.
[0009] GNSS systems are particularly sensitive because GNSS signals are communicated between satellites above Earth's atmosphere and receivers on the Earth's surface. Furthermore, the signals transmitted to the receiver are generated by the transmitter and are therefore synchronized to the transmitter's time base. As a result, the signals are not synchronized to the receiver's time base, and therefore the position of the bit transitions in the receiver's time base cannot be adopted or estimated. Brief summary of the invention
[0010] In accordance with one aspect, a method comprises the following steps: Receiving, using circuitry at a global navigation satellite system (GNSS) receiver, a plurality of GNSS signals transmitted from a GNSS satellite, wherein a GNSS signal comprises a primary code sequence, a secondary code sequence, and a data portion; Extracting, using the circuitry, the secondary code sequence in each of the received GNSS signals; analyzing, using the circuit arrangement, the extracted secondary code sequence based on a plurality of reference secondary code sequences, the reference secondary code sequences comprising delayed versions of a predetermined secondary code sequence; Identifying, using the circuitry, based on the analysis, the delay associated with a reference secondary code sequence from the plurality of reference secondary code sequences as a phase offset to be used for synchronizing the GNSS receiver with the GNSS satellite; and Output, using the circuitry, the phase offset to be used for synchronizing the GNSS receiver with the GNSS satellite.
[0011] Advantageously, the plurality of received GNSS signals comprises a first GNSS signal and a second GNSS signal, and the method further comprises the following steps: Extracting, using the circuit arrangement, a first secondary code sequence from the first GNSS signal and a second secondary code sequence from the second GNSS signal; Generating, using the circuit arrangement, a complex conjugate (complex conjugate number) of the second secondary code sequence; and Calculating, using the circuit arrangement, a product of the first secondary code sequence and at least a portion of the generated complex conjugate of the second secondary code sequence.
[0012] Advantageously, the method further comprises the following step: Calculating, using the circuitry, a plurality of cross-correlations of the calculated product and each secondary code sequence from the plurality of reference secondary code sequences.
[0013] Advantageously, the method further comprises the following steps: Identifying, using the circuit arrangement, a cross-correlation having a maximum magnitude value from the calculated cross-correlations; and Identifying, using the circuitry, the reference secondary code sequence associated with the identified maximum magnitude cross-correlation.
[0014] Advantageously, the delay associated with the identified reference secondary code sequence is used as the phase offset to be used for synchronization.
[0015] Advantageously, the method further comprises the following steps: Determining, using the circuit arrangement, an angle associated with the resulting sequence of the calculated correlation with the maximum result; and Outputting, using the circuitry, the determined angle as the frequency offset to be used for synchronizing the GNSS receiver with the GNSS satellite.
[0016] Advantageously, the angle is determined by calculating an arctangent of the resulting sequence of the calculated correlation with the maximum magnitude value.
[0017] Advantageously, the angle is determined by calculating a weighted combination of a subset of the calculated cross-correlations, wherein the subset of the calculated cross-correlations contains the calculated cross-correlations with corresponding magnitudes above a predetermined threshold. Advantageously, the second GNSS signal is received after a predetermined delay since the reception of the first GNSS signal.
[0018] In accordance with one aspect, a radio signal receiver comprises: a circuit arrangement for receiving radio signals or wireless signals, each radio signal comprising a spread spectrum signal having a periodic extension of a primary code, a periodic extension of a secondary code and a data portion; a circuit arrangement for determining, from a first received radio signal, a first chip sequence representative of the secondary code by extracting the primary code and the data portion from the first received radio signal; a circuit arrangement for determining, from a second received radio signal, a second chip sequence representative of the secondary code by extracting the primary code and the data portion from the second received radio signal; circuitry for identifying a phase offset associated with the received radio signals by analyzing the first chip sequence and the second chip sequence; and a circuit arrangement for synchronizing the radio signal receiver with a transmitter of the received radio signals using the identified phase offset.
[0019] Advantageously, the radio signal receiver further comprises: a circuit arrangement for calculating a complex conjugate product of the first chip sequence and the second chip sequence; circuitry for calculating a plurality of cross-correlations of a reference chip sequence and a delayed version of the complex conjugate product, wherein the complex conjugate product is delayed by one of a plurality of predetermined delays; and circuitry for identifying a delay from the plurality of predetermined delays such that a magnitude of the cross-correlation calculated at the identified delay is the maximum among the magnitudes of the calculated cross-correlations.
[0020] Advantageously, the radio signal receiver further comprises circuitry for identifying the delay as the phase offset for synchronization.
[0021] Advantageously, the radio signal receiver further comprises a circuit arrangement for determining a frequency offset used in the synchronization of the radio signal receiver with the transmitter on the basis of the calculated cross-correlations.
[0022] Advantageously, the phase offset and the frequency offset for synchronizing the radio signal receiver with the transmitter are determined without a search over a set of frequency offsets.
[0023] Advantageously, the first received radio signal and the second received radio signal are received sequentially.
[0024] In accordance with one aspect, there is provided a non-transitory computer storage medium comprising instructions executable by one or more processors, the instructions comprising: Instructions for receiving a first signal and a second signal, each signal comprising at least one periodic extension of a primary code, a data portion, and one periodic extension of a secondary code; Instructions for identifying the secondary code sequence in the received first signal; Instructions for identifying the secondary code sequence in the received second signal; Instructions for determining an offset associated with the received signals based on the identified secondary code sequences; and Commands to synchronize a local clock source based on the offset.
[0025] Advantageously, the non-volatile computer storage medium further comprises: Instructions for calculating a complex conjugate product of the secondary code sequence in the received first signal and the secondary code sequence in the received second signal.
[0026] Advantageously, the complex conjugate product is coherently integrated into the epoch of the primary code.
[0027] Advantageously, the non-volatile computer storage medium further comprises: Instructions for calculating correlations of the complex conjugate product with each reference signal of a set of predetermined reference signals; Instructions for calculating a magnitude of each of the correlations and for determining, as a phase offset, a delay associated with a predetermined reference signal from the set of predetermined reference signals, the magnitude of the predetermined reference signal being the maximum among the calculated magnitudes; and Instructions for calculating the frequency offset based on a weighted combination of a subset of the correlations of the complex conjugate product with each reference signal of the set of predetermined reference signals, the subset having a predetermined number of correlations.
[0028] Advantageously, the real parts of the complex conjugate product are integrated into the epoch of the primary code. BRIEF DESCRIPTION OF THE DRAWINGS Fig. Figure 1 shows an exemplary communication system that benefits from radio code synchronization. Fig. Figure 2 illustrates a composition of an exemplary signal used during radio code synchronization. Fig. 3 illustrates an example signal receiver. Fig. 4 illustrates an exemplary flowchart including at least some of the steps involved in detecting a code phase offset. DETAILED DESCRIPTION
[0029] The discussion below refers to the accompanying drawings, which show, by way of illustration, specific embodiments described in the present document. Other embodiments may be utilized, and structural changes may be made without departing from the scope of the present document. Furthermore, embodiments are described in the context of a global navigation satellite system (GNSS), but the features described in the embodiments may also be applied to other areas of digital communications that use spread spectrum signals, such as wireless communications that use code division multiple access (CDMA).The embodiments may be advantageous for accurate and computationally efficient code phase synchronization of spread spectrum signals, such as GNSS signals, in the presence of frequency uncertainty. The presented techniques may be used, for example, during the synchronization of secondary codes, such as those present in modern GNSS constellations such as Beidou and Galileo. Because the described code phase synchronization is computationally efficient, less processing power is required in the system associated with receiving communications, and this can therefore be allocated to other functions. In the GNSS example, if the GNSS is implemented with application-specific integrated circuits on one or more microchip(s), for example, the communications portion of the GNSS may not only have less computational demand, but it also consumes fewer of the microchip(s)' resources.
[0030] Fig. 1 shows an exemplary communication system 100 in which a transmitter 110 transmits a signal 150 that is received by a receiver 120. Although Fig. While Figure 1 illustrates only a single transmitter 110 and a single receiver 120, more than one transmitter 110 may communicate with more than one receiver 150 in other examples. For illustrative purposes, the following description focuses on communication from a single transmitter to a single receiver. Fig. 1 further illustrates components of signal 150, including a primary code 160, a secondary code 170, and a data portion 180. In other examples, signal 150 may not include a data portion 180. Receiver 120 may receive a combination of signals such that some received signals include data, while some signals do not include a data portion. Each signal component may have a different periodicity, but they may have a phase relationship with each other.
[0031] The transmitter 110 may transmit the signal 150 at a fixed rate. The transmitter 110 may also transmit the signal 150 randomly based on a triggering event, such as receiving a command to transmit data. The transmitter 150 may be a satellite, or it may be located on a satellite, such as a global position satellite (GPS), in which case the transmitter 110 may continuously transmit the signal 150 at a predetermined rate. Alternatively, the signal 150 may be transmitted from a pseudolite or a pseudosatellite, such as a ground-based signal transmission system. The transmitter 110 may be stationary, or it may move when transmitting the signal 150.
[0032] The transmitter 110, such as a satellite, may be designed to transmit the radio signal 150 as a spread-spectrum radio signal. The examples described below use a satellite in the role of the transmitter 110, but the transmitter may be any other transmitting device, such as a radio signal tower or a repeater station that can repeat a received signal. The satellite may include a modulator that uses phase-shift keying (PSK) as a digital modulation method for transmitting the data 180 by changing or modulating the phase of a carrier wave. PSK uses a finite number of phases, each associated with a unique pattern of binary digits. Typically, each phase encodes an equal number of bits. Each pattern of bits forms a symbol represented by the particular phase.A demodulator, such as receiver 120, determines the phase of the received signal and maps it back to the symbol that represents it, thereby recovering the output data. Receiver 120 may be specifically designed for the symbol set used by the modulator. As a result, radio signal 150 may have at least three parts or components, which will be described later. In addition to the three components, examples of radio signal 150 may also include other components that benefit from the described embodiments.
[0033] The radio signal 150 may include a portion of data 180. The data 180 may contain information necessary for navigation, such as time and ephemeris data from the satellite. The data 180 may be a binary-coded message containing values referred to herein as "+A" and "-A." The message may be transmitted at a low frequency rate and may provide the navigation information. The value of +A may be 1, and the value of -A may be -1 or 0. The carrier wave may be modulated by the data portion 180 during the transmission of the signal 150.
[0034] The signal 150 may further include a primary code 160. The primary code 160 may be a ranging code containing a relatively long, known sequence of values, referred to herein as "+B" and "-B." The value of +B may be a value of 1, and -B may be a value of -1. The transmitter 110 may modulate the carrier wave using the primary code. The primary code 160 may be satellite-specific and may be transmitted at a higher rate than the data 180. The primary code 160, also called a PRN (Pseudo-Random Noise) code, allows for precise ranging, allowing multiple satellites or transmitters to broadcast signals at the same frequencies, which can be decoded using CDMA technology. Typically, the values of the PRN codes are called “chips” rather than “bits” to emphasize that, unlike the bits of data 180, they do not carry any information.
[0035] The radio signal 150 may further include a secondary code 170, which may also be a PRN code. The secondary code 170, as its name suggests, is a second code that multiplies the primary code 160 to form a longer code (called a stepped code). The chipping rate of the secondary code 170 is typically lower than that of the primary code 160. The secondary code values may also be referred to as "chips" because they do not carry any data. Fig. In Figure 1, the length of one chip of secondary code 170 is shown as equal to one period of primary code 160. However, any other relationship between the rates of primary code 160 and secondary code 170 is possible. For example, in another embodiment, one period of primary code 160 may correspond to two chips of secondary code 170. Secondary code 170 is typically used to detect very weak signals, such as in indoor or urban environments. Secondary code 170 may be a shorter code than primary code 160. The carrier wave is further modulated using secondary code 170 during transmission of signal 150.
[0036] Fig. Figure 2 illustrates an example composition of signal 150, such as a GNSS signal, received by a receiver 120, such as a GNSS receiver. A carrier wave 220, such as a 1575.42 MHz L1 carrier or a 1227.6 MHz L2 carrier, may be modulated using various components to obtain signal 150. For example, in an example GNSS, carrier wave 220 may be modulated using PSK based on data 180, primary code 160, and secondary code 170. For example, in one embodiment, primary code 160, also referred to as a C / A (Coarse Acquisition) code sequence, may have a transmit signal rate (or chip rate) of 1.023 MHz and a code length of 1023 (i.e., 1 period = 1 millisecond). The data bits may be 20 milliseconds long and synchronized to primary code 160.One of the 1 ms periods in each 20 ms period is selected by the transmitting satellite as the beginning of a data period. Furthermore, each 20 ms data bit may be additionally modulated by the secondary code 170. As shown, for example, in . Fig. 2, the secondary code 170 may be a Neimann-Hoffman code with 20 characters or symbols (or 20 chips) (0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0). The components may be used to modulate the carrier wave 220 using various combinations. For example, as shown in Fig. 2, the primary code 160 may be multiplied by the secondary code 170, and the resulting product (distance measurement code) and the data bits may be summed. The multiplication and addition may be performed using modulo-2 values. Alternatively, either multiplication or modulo-2 addition may be performed for the primary code 160. The result of the sum may then be modulated onto the carrier wave using binary phase shift keying (BPSK) to generate the signal 150, which may be transmitted. The signal 150 may include periodic extensions of the primary code sequence and the secondary code sequence along with the data. The code sequence may be a sequence of chips. The number of chips in the secondary code may be fewer than the number of chips in the primary code, and in some examples, considerably fewer.For example, the number of chips in a primary code sequence may be 1023, while the number of chips in a secondary code sequence may be 20.
[0037] Receiver 120 may search for the presence of signals, such as signal 150, traveling through space and attempt to synchronize with the signals identified by a corresponding transmitter. For example, a GNSS receiver may be a radio navigation user equipment that identifies and synchronizes with a satellite transmitting GNSS signals, thereby demodulating and extracting the measurements and navigation information in the received GNSS signals. Because signal 150 is out of phase, receiver 120 may reconstruct carrier wave 220 and extract the codes and navigation data 180 from the received signal 150. Receiver 120 is designed to detect a shift in the phase of the received signal 150 relative to the transmitted signal.Additionally, receiver 120 may detect and determine the phase offset in the presence of frequency uncertainty. In another example, receiver 120 may additionally or alternatively determine a frequency offset in received signal 150 relative to the transmitted signal. The phase offset and frequency offset may be used to synchronize the radio signal receiver with transmitter 110.
[0038] Fig. 3 illustrates an exemplary receiver 120. The receiver 120 may include electronic circuitry for performing various operations. The circuitry may include one or more processors 392, such as signal processors, a microprocessor, and other such processors. The one or more processors may be capable of executing one or more computer-executable instructions. The instructions may be stored in a memory 396 of the receiver 120 or may be accessible to the one or more processors 392 via a communications interface, such as a communications port (not shown).
[0039] The receiver 120 may further include an antenna 310, a front-end (frontend section) 320, an oscillator 350, a baseband processing unit 370, and an application processing unit 380. The antenna 310 may receive the signal 150 as an analog radio frequency signal. The received signal 150 may be input to the front-end 320. The analog signal may be downconverted, filtered, and digitized in the front-end section 320. The front-end 320 may include a downconverter 322, an amplifier unit 324, and an analog-to-digital converter (ADC) 328 for the operations. The components of the front-end 320 may be provided with a clock signal from the oscillator 350, which acts as a local clock source of the receiver 120.Front-end 320 generates a baseband representation of signal 150 in a desired spectrum, such as an intermediate frequency (IF) spectrum, in baseband, which includes real and imaginary parts, or complex parts, namely I (in-phase) and Q (quadrature) components. The baseband representation can be forwarded to baseband processing unit 370.
[0040] The baseband processing unit 370 is responsible for the signal processing tasks to be performed on the digital signal. The baseband processing unit may also be responsible for determining the code delay and carrier phase and frequency measurements to obtain the data 180 in the received signal 150. Accordingly, the baseband processing unit 370 may need to identify a starting point and / or an ending point of the components of the received radio signal 150. Although the primary code 160 and the secondary code 170 may have values known to the receiver 120, the codes may be continuously repeated during transmission. The received radio signal 150 may also be shifted in phase and / or frequency relative to the originally transmitted radio signal due to several factors.For example, the Doppler effect (relative motion of the receiver with respect to the transmitter), environmental influences, interference with other signals, and other such factors may introduce a delay or offset that, in turn, causes the radio signal 150 to be shifted relative to the transmitted signal. Furthermore, the oscillator 350 or clock source may not be precisely synchronized with a clock source used by the transmitter 110, which may cause a phase shift between the received signal and the generated local signals.
[0041] Once the baseband processing unit 370 determines the offsets, contents of the signal 150 may be forwarded to the application processing unit 380. The application processing unit 380 may use the data 180 to provide navigation-related information to a user or another system or device in communication with the receiver 120. For example, the data 180 may be used to provide a geographical location of the receiver 120, which may be displayed to the user via a display unit. Alternatively, or in addition, the geographical location may be transmitted to a separate system or device, such as a server computer, which may use the geographical location information to provide related information to the user. For example, the server computer may provide interesting details orProvide points of interest (POI) near the geographical position of the receiver 120. Various other applications of the navigation information contained in the data 180 are possible.
[0042] Therefore, the receiver 120, such as a GNSS receiver using the baseband processing unit 370, may perform a synchronization operation, which may be part of a signal acquisition operation. Fig. 3 further illustrates exemplary components of baseband processing unit 370, specifically a local signal generator 372, a primary code correlator 375, and a secondary code correlator 377. These components may be used for the synchronization process. The components of baseband processing unit 370 may operate using oscillator 350 as a clock source.
[0043] The baseband processing unit 370, using the primary code correlator 375, may correlate the incoming signal 150 in the baseband form provided by the front-end 320 with a copy of the expected signal to extract the primary code 160. The local signal generator 372 may generate the copies of the expected signal. The locally generated expected signal may include similar components as those described with reference to Fig. 1 and Fig. 2, such as a primary code and a secondary code, values that are known a priori. The primary code correlator 375 may synchronize the primary code 160 in the received signal and in a locally generated expected signal and extract information related to the primary code 160 using a despreading process. To extract valid significance or data from the correlation, the local copy generated in the receiver must take into account the signal carrier frequency, the code delay, the Doppler frequency, the PRN, or the primary code 160 (which is unique for each satellite / signal), and the secondary code 170. The secondary code 170 may be unique to a satellite. Alternatively, satellites in a particular constellation, such as Galileo or Beidou, may share a secondary code 170.
[0044] As part of the synchronization process, secondary code correlator 377 may determine offsets associated with received secondary code 170. Secondary code 170 may be associated with one or both of a frequency offset and a code offset. A "frequency offset" refers to the frequency difference between received secondary code 170 and a locally generated expected secondary code. A "code offset" or "phase offset" refers to the degree of time synchronization between received secondary code 170 and the locally generated secondary code.
[0045] Therefore, synchronization may further involve searching for the signal energy over a plurality of hypothesized secondary code offsets and a plurality of hypothesized frequency offsets applicable to the secondary code 170. This is typically thought of as a two-dimensional search, with one dimension being the frequency offset and the other dimension being the code offset. Traditional approaches for secondary code synchronization in the presence of large frequency uncertainty involve calculating the energy associated with coherently or non-coherently integrated versions of the prompt correlator, or the primary code correlator output. The energy can be calculated over a two-dimensional grid of secondary code phase offset and frequency offset hypotheses.The secondary code phase (offset) and frequency offset pair that results in the highest energy forms the basis for the secondary code phase offset and frequency offset estimates, respectively. A full two-dimensional search over both the secondary code phase offset and the frequency offset can potentially involve excessive computational complexity. Furthermore, unless some additional processing is performed, the quality of the frequency estimate is limited by frequency hypothesis bin spacing. Also, the secondary code phase estimate is degraded for frequency offsets that are relatively far from the nearest frequency bin hypotheses (for example, halfway between adjacent frequency bin hypotheses).
[0046] However, the receiver 120 can determine the code offset and the frequency offset by searching across a single dimension, such as the secondary code offsets, thereby determining the offsets in a computationally more efficient manner. The receiver 120 can achieve efficiency by searching for the secondary code phase offset in the secondary code chip transition region. Compared to conventional techniques, the techniques disclosed and described throughout this document and used by the exemplary receiver 120 can provide more accurate and resource-efficient secondary code phase synchronization and frequency estimation of signals, such as GNSS signals, in the presence of frequency uncertainty.
[0047] The output of the primary code correlator 375 at a k -ten The received C / A (Coarse Acquisition) epoch contains the following signal and noise components: yk=sk+nk k∈Z+ where Z + is the set of non-negative integers, s k the signal is and n k is the noise component.
[0048] The signal component can be further expressed as: Sk=Aej(ωk+θ)∑m=−∞∞bmpk+mN−ϕ bm∈{−1,1}Tb−spaced BPSK symbols pk={ckk∈{0,1,…N−1}0k∉{0,1,…N−1} ck∈{−1,1}TC / A secondary code chips N=TbTC / ANumber of secondary code chips per bit ϕ∈{0,1,…,N−1}Secondary code skew where A, ω, and θ are the signal amplitude, frequency (in radians per C / A epoch), and phase, respectively. In addition, T C / A and T b are the C / A epoch interval and the bit interval, respectively, while N is the number of C / A epochs that span one bit interval. Finally, b m the m -te transmitted BPS symbol, is p k the k -teSample value of a secondary code chip-modulated sequence with duration T b and φ is the bit phase offset.
[0049] The noise component of equation 1 can be further expressed as: nk∼IIDCN(0,σ2)σ2=E[|nk−E[nk]|2]=E[|nk|2] Modeled as a realization of an independent, identically distributed (uiv) sequence of circularly complex normal random variables with mean zero and variance δ 2 , where E[·] denotes the statistical expectation.
[0050] In view of the above mathematical expressions, determining the phase offset of the output of the primary code correlator 375 involves estimating the secondary code phase offset φ given a sequence {yk}k=0K−1 of length K.
[0051] A traditional two-dimensional search grid over N hypothesized secondary code phase offsets and Q hypothesized frequency offsets can be expressed as: ϕ¯∈Φ¯={ϕ¯0ϕ¯1…ϕ¯N−1}ϕ¯i=iω¯∈Ω¯={ω¯0ω¯1…ω¯Q−1}ω¯q∈[−π,π)
[0052] Assume that the received samples span an integer number of bits / secondary code repetitions: K = PN, where P is an integer greater than 1. Therefore, a merit function expressing the search that must be performed to determine the code phase offset of the traditional two-dimensional method is: Mϕ¯,ω¯=∑p=0P−2|∑i=0N−1ciyi+pN+ϕ¯e−jω¯i|2
[0053] The arguments ϕ, ω̂, which jointly maximize the merit function, are considered to be the detected secondary code phase offset and the estimated frequency offset, which is mathematically expressed as: ϕ^,ω^=arg_maxϕ¯∈Φ¯,ω¯∈Ω¯ {Mϕ¯,ω¯}
[0054] Receiver 120 can detect and determine the code phase offset and the estimated frequency offset in a more efficient manner by searching a single dimension, unlike the two-dimensional search expressed in the merit function of Equation 5. Receiver 120 can determine the code phase offset and the estimated frequency offset by operating in the secondary code chip transition region via complex conjugate products of the prompt correlator outputs, which are coherently integrated into the C / A epoch. The complex conjugate product can be correlated against delayed versions of an appropriately defined reference sequence that correspond to the expected complex conjugate products in the absence of noise and frequency errors.Alternatively, delayed versions of the complex conjugate product can be correlated against a reasonably defined reference sequence that corresponds to the expected complex conjugate products in the absence of noise and frequency errors. The complex conjugate products and / or the reference secondary code sequence can be delayed using delays corresponding to the different secondary code phase hypotheses. The correlation results are either a constructive summation or a deconstructive summation according to the sign of corresponding chip transitions. The correlations can also be referred to as cross-correlations.
[0055] A magnitude of the resulting correlations can be calculated. The magnitude can be the absolute value of the final chip junction region correlation operation. The delay corresponding to the largest correlation can be used to estimate the secondary code phase offset. The phase associated with the largest correlation can be used to estimate the frequency offset. Based on the identified cross-correlation, a one-dimensional search over secondary code phase offsets can provide the code phase offset and the frequency offset of the secondary code. Furthermore, frequency estimates can be generated with minimal additional computation and with accuracy.
[0056] Fig.Figure 4 illustrates an exemplary flowchart with at least some of the steps involved in detecting the code phase offset. The steps shown operate on the outputs of the prompt correlators of receiver 120 (402). For example, receiver 120, using baseband processing unit 377, may calculate (404) a complex conjugate product sequence with lag 1 of the secondary code component of received signal 150. Alternatively, a complex conjugate product sequence with lag p, such as lag 2 or lag 3, may be calculated. As a result, complex conjugate products of prompt correlator outputs coherently integrated into the C / A epoch or primary code epoch are formed. This can be expressed as follows: lk=yk+1yk∗k∈{0,1,…,K−2} where (.)* denotes the complex conjugation.
[0057] Alternatively, in cases where a residual frequency offset is small, the real parts of the prompt correlator outputs can be integrated into the C / A as shown in Equation 6A. lk=Re{yk+1yk∗}k∈{0,1,…,K−2}
[0058] Furthermore, the receiver 120 may calculate one or more reference secondary signal sequences (408). A reference secondary code sequence may be a lag-1 secondary code chip product sequence with N elements. An exemplary reference secondary code d k can be expressed as: dk=c(k+1) mod NCk∗k∈{0,1,…,N−1}.
[0059] The generated reference signals can be correlated with delayed versions of the complex conjugate product (410, 414). For example, based on different hypotheses of the code phase offsets ϕ, correlations of the generated reference signals and the delayed versions of the complex conjugates (complex conjugates) can be calculated. A one-dimensional merit function representative of the operation can be expressed as: Vϕ¯=∑i=0N−1di(∑p=0P−2li+pN+ϕ¯). Alternatively, the hypothesized code phase offsets can be used to generate delayed versions of the reference code sequences, which are represented by the kare shown (480), and the merit function may include correlations of the delayed versions of the reference secondary code sequence and the complex conjugate products of the prompt correlator outputs, which are coherently integrated into the primary code epoch (484). For lag-1 products, the value of p in 484 may be 1. However, the receiver may form the merit function based on some combination of complex conjugate products with lag p, where p ≥ 1.
[0060] A magnitude of the resulting correlations can be calculated. The correlation with the maximum magnitude can be identified (440). The delay associated with the correlation with the maximum magnitude can be used to determine the phase offset. The associated delay can be output, for example, as the secondary code phase offset (460). The detected secondary code phase offset ϕ can then be expressed as ϕ^=arg maxϕ¯∈Φ¯|Vϕ¯| and the frequency offset ω̂ can be estimated with almost no additional calculation based on the resulting correlations. The frequency offset can be calculated, for example, as the arctangent of the correlation with the maximum amplitude: ω^=L(Vϕ^). Alternatively or additionally, the frequency offset may be calculated based on a weighted combination of multiple high peak values to estimate the frequency at these delays. For example, a subset of the resulting correlations may be selected to calculate the frequency offset. The subset may comprise a predetermined number of correlations. The correlations selected in the subset may be based on a predetermined size threshold. For example, correlations above the predetermined size threshold may be selected as the subset for determining the frequency offset. Alternatively or additionally, other criteria may be used to select the subset of correlations.
[0061] In one example, the receiver 120 may excise the complex conjugate products spanning bit boundaries by using a variation of the merit function, such as: Vϕ¯=∑i=0N−2di(∑p=0P−2li+pN+ϕ¯). Excision can avoid the effect of data bit transitions on the true secondary code phase offset.
[0062] Thus, the receiver 120 may detect and determine the code phase offset and the frequency offset based on the complex conjugate product sequence and the one or more reference secondary code sequences using a one-dimensional search.
[0063] The methods, devices, and logic described above may be implemented in circuitry in many different ways and in many different combinations of hardware, or both hardware and software. For example, the entire system or portions of the system may comprise circuitry that includes a controller, a microprocessor, and / or an application-specific integrated circuit (ASIC), or circuitry may be implemented with discrete logic or discrete components, or with a combination of other types of analog or digital circuitry, combined on a single integrated circuit or distributed among multiple integrated circuits.All or part of the logic described above may be implemented as instructions for execution by circuitry, which may include a processor, controller, or other processing device, and may be stored in circuitry comprising a tangible or non-transitory machine-readable or computer-readable medium such as flash memory, random access memory (RAM) or read-only memory (ROM), erasable programmable read-only memory (EPROM) or other machine-readable medium such as compact disc read-only memory (CDROM) or a magnetic or optical disk.As a result, a product of manufacture, such as a computer program product, may be circuitry comprising a storage medium and computer-readable instructions stored on the medium that, when executed in an endpoint, computer system, or other apparatus or device, cause the apparatus or device to perform operations or acts in accordance with each of the above descriptions.
[0064] The circuitry may further include access instructions for execution by the circuitry. The instructions may be stored in a tangible storage medium that is not a volatile signal, such as flash memory, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM); or on a magnetic or optical disk such as compact disc read-only memory (CDROM), hard disk drive (HDD), or other magnetic or optical disk; or in or on another machine-readable medium.A product, such as a computer program product, may comprise a storage medium and instructions stored in or on the medium, and the instructions, when executed by circuitry in a device, may cause the device to implement any of the processing described above or illustrated in the drawings.
[0065] The implementations may be circuitry distributed among multiple system components, such as multiple processors and memories, and optionally including multiple distributed processing systems. Parameters, databases or data sets, and other data structures may be stored and managed separately, may be integrated into a single memory or database, may be logically and physically organized in many different ways, and may be implemented in many different ways, including as data structures, for example, linked lists, hash tables, arrays, records, objects, or implicit storage mechanisms. Programs may include parts (e.g.Subroutines) of a single program, of separate programs distributed across multiple memories and processors, or they may be implemented in many different ways, such as in a library, such as a shared library (e.g., a dynamic link library (DLL). The DLL may, for example, store instructions that, when executed by the circuitry, perform each of the processing described above or illustrated in the drawings.
Claims
[1] Procedure comprising the following steps: Receiving (402), at a receiver (120) of a global navigation satellite system, GNSS, (100), a plurality of GNSS signals (150) transmitted by a GNSS satellite (110), wherein a GNSS signal (150) comprises a primary code sequence (160), a secondary code sequence (170) and has a data portion (180); Extracting (408) the secondary code sequence (170) in each of the received GNSS signals (150); analyzing (410) the extracted secondary code sequence (170) based on a plurality of reference secondary code sequences, the reference secondary code sequences comprising delayed versions of a predetermined secondary code sequence (170); Identifying, based on the analysis, the delay associated with a reference secondary code sequence from the plurality of reference secondary code sequences as a phase offset to be used for synchronizing the GNSS receiver (120) with the GNSS satellite (110); and Outputting (460) the phase offset to be used for synchronizing the GNSS receiver (120) with the GNSS satellite (110). [2] The method of claim 1, wherein the plurality of received GNSS signals (150) comprises a first GNSS signal (150) and a second GNSS signal (150), and the method further comprises the steps of: Extracting a first secondary code sequence (170) from the first GNSS signal (150) and a second secondary code sequence (170) from the second GNSS signal (150); Generating (404) a complex conjugate (complex conjugate number) of the second secondary code sequence (170); and Calculating a product of the first secondary code sequence (170) and at least a part of the generated complex conjugates of the second secondary code sequence (170). [3] The method of claim 2, further comprising the step of: Calculating (414, 484) a plurality of cross-correlations of the calculated product and each secondary code sequence (170) of the plurality of reference secondary code sequences. [4] The method of claim 3, further comprising the steps of: Identifying (440) a cross-correlation with a maximum magnitude value from the calculated cross-correlations; and Identifying the reference secondary code sequence associated with the identified maximum magnitude cross-correlation. [5] The method of claim 4, wherein the delay associated with the identified reference secondary code sequence is used as the phase offset to be used for synchronization. [6] The method of claim 4, further comprising the steps of: Determining an angle associated with the resulting sequence of the calculated correlation with the maximum result; and Outputting the determined angle as the frequency offset to be used for synchronizing the GNSS receiver (120) with the GNSS satellite (110). [7] The method of claim 6, wherein the angle is determined by calculating an arctangent of the resulting sequence of the calculated correlation with the maximum magnitude value. [8] Radio signal receiver comprising: a circuit arrangement (310) for receiving radio signals or wireless signals (150), each radio signal (150) comprising a spread spectrum signal having a periodic extension of a primary code (160), a periodic extension of a secondary code (170), and a data portion (180); a circuit arrangement for determining, from a first received radio signal (150), a first chip sequence representative of the secondary code (170) by extracting the secondary code (170) and the data portion (180) from the first received radio signal (150); a circuit arrangement (320) for determining, from a second received radio signal (150), a second chip sequence representative of the secondary code (170) by extracting the secondary code (170) and the data portion (180) from the second received radio signal (150); circuitry (370) for identifying a phase offset associated with the received radio signals (150) by analyzing the first chip sequence and the second chip sequence; wherein Based on the analysis, identifying the delay associated with a reference secondary code from the plurality of reference secondary codes as a phase offset, wherein the reference secondary codes comprise delayed versions of a predetermined secondary code (170); and circuitry for synchronizing the radio signal receiver (120) with a transmitter (110) of the received radio signals (150) using the identified phase offset. [9] A radio signal receiver according to claim 8, further comprising: a circuit arrangement for calculating a complex conjugate product of the first chip sequence and the second chip sequence; circuitry (375, 377) for calculating a plurality of cross-correlations of a reference chip sequence and a delayed version of the complex conjugate product, wherein the complex conjugate product is delayed by one of a plurality of predetermined delays; and circuitry for identifying a delay from the plurality of predetermined delays such that a magnitude of the cross-correlation, calculated at the identified lag is the maximum among the magnitudes of the calculated cross-correlations. [10] A radio signal receiver according to claim 8, further comprising circuitry (377) for determining a frequency offset used in synchronizing the radio signal receiver (120) with the transmitter (110) based on the calculated cross-correlations. [11] A radio signal receiver according to claim 10, wherein the phase offset and the frequency offset for synchronizing the radio signal receiver (120) with the transmitter (110) are determined without a search over a set of frequency offsets. [12] A non-volatile computer storage medium comprising instructions executable by one or more processors, the instructions comprising: Commands for receiving a first signal (150) from a transmitter (110) and a second signal (150) from the transmitter (110), the first and second signals (150) each comprising at least one periodic extension of a primary code (160), a data portion (180), and a periodic extension of a secondary code (170); Instructions for identifying the secondary code sequence (170) in the received first signal (150); Instructions for identifying the secondary code sequence (170) in the received second signal (150); Instructions for determining a phase offset associated with the received signals (150) by analyzing the identified secondary code sequences (170); wherein based on the analysis, the delay associated with a reference secondary code sequence from a plurality of reference secondary code sequences is identified as a phase offset, the reference secondary code sequences comprising delayed versions of a predetermined secondary code sequence (170); and Commands to synchronize a local clock source based on the identified phase offset. [13] The non-volatile computer storage medium of claim 12, wherein the instructions further comprise: Instructions for calculating a complex conjugate product of the secondary code sequence (170) in the received first signal (150) and the secondary code sequence (170) in the received second signal (150). [14] The non-volatile computer storage medium of claim 12, wherein the instructions further comprise: Instructions for calculating correlations of the complex conjugate product with each reference signal of a set of predetermined reference signals; Commands to calculate a value for each of the correlations and to determine as a phase offset, a delay associated with a predetermined reference signal from the set of predetermined reference signals, the magnitude of the predetermined reference signal being the maximum among the calculated magnitudes; and Instructions for calculating the frequency offset based on a weighted combination of a subset of the correlations of the complex conjugate product with each reference signal of the set of predetermined reference signals, the subset having a predetermined number of correlations. [15] The non-volatile computer storage medium of claim 12, wherein: the conjugate complex product is coherently integrated into the epoch of the primary code (160); and the real parts of the conjugate complex product are integrated into the epoch of the primary code (160).
Citation Information
Patent Citations
A system and method for acquisition of signals
EP1724602A1
Dynamic channel allocation for GPS receivers
US5600670A
Method and apparatus for detecting an interleaved code
US6873664B1
Universal acquisition and tracking apparatus for global navigation satellite system (GNSS)
US8401546B2