Methods, devices, systems, media, and receivers for processing GNSS signals

CN114594501BActive Publication Date: 2026-10-20U-BLOX
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111175024.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-12-07
Filing Date
2021-10-09
Publication Date
2026-10-20
Estimated Expiration
2041-10-09

AI Technical Summary

Technical Problem

目前还没有基于GNSS接收器的商用CSK解码器

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114594501B_ABST
    Figure CN114594501B_ABST
Patent Text Reader

Abstract

Methods, devices, systems, media, and receivers for processing GNSS signals are described. One aspect of the disclosure provides a method for processing satellite signals of a global navigation satellite system (GNSS), the method comprising: receiving a first GNSS signal transmitted by a satellite of the GNSS in a first GNSS operating band and a second GNSS signal transmitted by the satellite in a second GNSS operating band; tracking the first GNSS signal; generating tracking parameters of the first GNSS signal in accordance with the tracking of the first GNSS signal; and decoding the second GNSS signal based at least on the tracking parameters of the first GNSS signal, wherein the first GNSS operating band is one of an L1 band, an L2 band, or an L5 band, and the second GNSS operating band is an L6 band.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to Global Navigation Satellite Systems (GNSS), and more specifically to methods, apparatus, systems, media, and receivers for processing GNSS signals. Background Technology

[0002] GNSS is becoming one of the world's key infrastructures. GNSS satellites are capable of transmitting multiple types of GNSS signals, each transmitted in its own frequency band. GNSS receivers can be designed to receive two or more types of GNSS signals. Typically, GNSS receivers may process the received two or more types of GNSS signals independently, especially during the acquisition, tracking, and decoding phases. This requires separate processing hardware / software / firmware for each type of received signal. Therefore, joint processing of two or more types of GNSS signals is desirable.

[0003] The joint processing of novel and conventional GNSS signals can be challenging. For example, signals transmitted in the L6 band are designed to use a Code Shift Keying (CSK) modulation scheme. CSK modulation differs from modulation schemes used for conventional signals transmitted in the L1, L2, or L5 bands. Conventional designs for acquiring, tracking, and decoding conventional GNSS signals may not be suitable for CSK-modulated signals. Currently, there are no commercially available CSK decoders based on GNSS receivers. Summary of the Invention

[0004] It describes the methods, equipment, systems, media, and receivers for processing GNSS signals.

[0005] One aspect of this disclosure provides a method for processing satellite signals from a Global Navigation Satellite System (GNSS), the method comprising: receiving a first GNSS signal transmitted by a satellite of the GNSS in a first GNSS operating frequency band and a second GNSS signal transmitted by the satellite in a second GNSS operating frequency band; tracking the first GNSS signal; generating tracking parameters of the first GNSS signal based on the tracking of the first GNSS signal; and decoding the second GNSS signal based at least on the tracking parameters of the first GNSS signal, wherein the first GNSS operating frequency band is one of an L1 band, an L2 band, or an L5 band, and the second GNSS operating frequency band is an L6 band.

[0006] Another aspect of this disclosure provides an apparatus for processing navigation satellite signals of a Global Navigation Satellite System (GNSS), the apparatus comprising: a receiver configured to receive a first GNSS signal transmitted by the satellite in a first GNSS operating frequency band and a second GNSS signal transmitted by the satellite in a second GNSS operating frequency band; a tracker configured to track the first GNSS signal and generate tracking parameters of the first GNSS signal based on the tracking of the first GNSS signal; and a decoder configured to decode the second GNSS signal based at least on the tracking parameters of the first GNSS signal; wherein the first GNSS operating frequency band is one of an L1 band, an L2 band, or an L5 band, and the second GNSS operating frequency band is an L6 band.

[0007] Another aspect of this disclosure provides an apparatus for processing satellite signals of a Global Navigation Satellite System (GNSS), the apparatus comprising: one or more processors; and at least one machine-readable medium including executable instructions that, when executed by one or more processors, cause one or more processors to perform any of the methods described herein.

[0008] Another aspect of this disclosure provides a machine-readable medium comprising executable instructions that, when executed by one or more processors, cause the one or more processors to perform any of the methods described herein.

[0009] Another aspect of this disclosure provides a receiver for a Global Navigation Satellite System (GNSS) that includes the device described herein. Attached Figure Description

[0010] The foregoing and other features, objects, and advantages of the invention will become apparent from the following description of embodiments of the invention as illustrated in the accompanying drawings. The drawings, which are incorporated herein and form a part of this specification, further serve to explain the principles of the invention and enable those skilled in the art to make and use the invention. The drawings are not drawn to scale.

[0011] Figure 1 An example GNSS according to the embodiments described herein is illustrated;

[0012] Figure 2A and Figure 2B The generation of an example L6 signal for a Quasi-Zenith Satellite System (QZSS) is illustrated;

[0013] Figure 3 An example CSK modulation scheme for the L6 signal of QZSS is illustrated;

[0014] Figure 4 This is a block diagram illustrating an example device for processing two different types of GNSS signals according to the embodiments described herein;

[0015] Figure 5 It is based on the implementation method described herein. Figure 4 A block diagram of a specific example of the device;

[0016] Figure 6 This is a block diagram illustrating another example device for simultaneously decoding multiple data streams according to the embodiments described herein;

[0017] Figure 7 This is a flowchart illustrating an example method for processing two different types of GNSS signals according to the embodiments described herein;

[0018] Figure 8 This is a block diagram illustrating a GNSS receiver that implements the technology according to the embodiments described herein;

[0019] Figure 9 This is a block diagram illustrating a computing device capable of implementing the techniques according to the embodiments described herein. Detailed Implementation

[0020] The following detailed description is exemplary in nature and is not intended to limit the invention or its application and use. Furthermore, it is not intended to be limited by any express or implied theory presented in the foregoing technical field, background art, summary of the invention, or the following detailed description.

[0021] The techniques described herein provide methods, apparatus, systems, media, and receivers for processing at least two different types of GNSS signals S1 and S2. In some embodiments, decoding of signal S2 does not require independent closed loops in each tracking channel of signal S2, by acquiring information from the tracking of signal S1. In some embodiments, only a group delay difference (GDD) tracking loop is provided, which acquires information from the decoding channel of signal S2 and provides control feedback to the decoding channel of signal S2. In some embodiments, GDD compensation of the GDD tracking loop is adaptively performed based on opportunity, depending on the detected CSK symbol. This saves on the design and manufacturing costs of dedicated CSK decoders, as the GNSS chip can be reused with only firmware changes, except for the SAW filter design in the RF front end. Furthermore, the GDD compensation method optimizes decoding conditions to achieve the lowest possible bit error rate.

[0022] Figure 1 An example GNSS 1000 according to an embodiment described herein is illustrated. The methods and apparatus described herein can be applied to GNSS 1000.

[0023] GNSS 1000 may include multiple satellites, such as satellites 1200-1 to 1200-N. Each of satellites 1200-1 to 1200-N is capable of simultaneously transmitting two or more types of GNSS signals, such as signal S1 and signal S2. Once transmitted by the satellites, signals S1 and S2 can travel through free space and be received by receiver 1100. Receiver 1100 may be located, for example, on the ground.

[0024] As satellite signals for GNSS 1000, signals S1 and S2 can be designed as Direct Sequence Spread Spectrum (DSSS) signals. PRN (Pseudo-Random Noise) codes are typically modulated into DSSS signals. Signals S1 and S2 can employ different signal structures. On one hand, they can use different PRN codes with different code lengths. On the other hand, they can use different modulation schemes. For example, signal S1 can use an XOR operation (modulo-2 addition) in the modulated PRN code, while signal S2 can use a CSK modulation scheme, which will be discussed below. The signal structure of GNSS signals is usually specified in the GNSS Interface Control Document (ICD) or Interface Specification Document (ISD). The ICD or ISD is usually publicly provided by the GNSS operator.

[0025] In one implementation, signals S1 and S2 can be transmitted in different frequency bands and provide different services. For example, signal S1 can be transmitted in a first GNSS operating frequency band, while signal S2 can be transmitted in a second GNSS operating frequency band different from the first GNSS operating frequency band. The operating frequency bands in which GNSS signals can be transmitted are also specified in the GNSS ICD or ISD.

[0026] Typically, signals S1 and S2 transmitted by the same satellite are strictly synchronized before transmission because the generation of signals S1 and S2 can utilize a common atomic clock on the satellite. For example, signals S1 and S2 transmitted by satellite 1200-1 can be synchronized with each other, and signals S1 and S2 transmitted by satellite 1200-N can also be synchronized with each other. Synchronization between signals S1 and S2 from the same satellite allows receiver 1100 to jointly process both signals or use one signal to aid in processing the other.

[0027] In one embodiment, receiver 1100 can process received signals S1 and S2 to determine position, navigation, and / or timing (PNT) information associated with receiver 1100. For example, receiver 1100 can acquire, track, and decode multiple signals S1 transmitted by multiple satellites 1200-1 to 1200-N. Measurements collected during tracking and messages decoded from signal S1 can be used to calculate PNT information. In one embodiment, measurements collected during tracking of signal S1 can be used for decoding signal S2. This will be discussed in more detail below.

[0028] According to this disclosure, signal S1 and signal S2 can be any two types of GNSS signals simultaneously transmitted by the same GNSS satellite. Table 1 shows various types of GNSS signals transmitted by the Quasi-Zenith Satellite System (QZSS) developed by Japan. For example, signal S1 and signal S2 can be selected from the listed signals.

[0029] Table 1

[0030]

[0031] In one implementation, signal S1 can be any signal transmitted on the L1, L2, or L5 frequency bands (hereinafter also referred to as "L1 signal," "L2 signal," or "L5 signal"). Note that an L1 signal includes either an L1C / A signal or an L1C signal, and an L1C signal can be a signal used for either L1CP or L1CD services. An L2 signal includes an L2C signal, and an L2C signal can be a signal used for either L2CL or L2CM services. An L5 signal can be a signal used for either I5 or Q5 services. The signal structure of any of the L1, L2, or L5 signals is specified in the ISD of the QZSS and is therefore well known to the public.

[0032] In one implementation, signal S2 may be a signal transmitted on the L6 band (hereinafter also referred to as "L6 signal"). Note that the L6 signal may include either the L61 signal or the L62 signal, and the L6 signal can be used for centimeter-level enhancement service (CLAS). Therefore, the L6 signal can also be referred to as a CLAS signal. The signal structure of the L6 signal is also specified in the ISD of QZSS and is therefore well known to the public.

[0033] The L6 signal is new compared to the L1, L2, or L5 signals. For example, when modulating the PRN code with a navigation message, the L6 signal uses a CSK modulation scheme instead of the conventional modulo-2 addition operation. When generating a conventional GNSS signal (e.g., an L1, L2, or L5 signal), a modulo-2 addition operation is performed on the navigation message and the PRN code to modulate them together. However, CSK modulation shifts the phase of the PRN code by the number of chips indicated by the navigation message.

[0034] Figure 2A and Figure 2B The generation of an example L6 signal for QZSS is illustrated. This generation can be performed on satellites (e.g., satellites 1200-1 to 1200-N).

[0035] Figure 2A The generation of the L61 signal for QZSS is illustrated. The L61 signal comprises two streams. The two streams are generated by... Figure 2A The first stream of the upper branch indicates that it contains a navigation message. The first stream includes a 4ms PRN short code, which is a navigation message encoded by Reed Solomon (RS) and modulated by CSK. Specifically, the navigation message is provided to an 8-bit / symbol RS encoder 2110. The RS encoder 2110 generates a corresponding 8-bit encoded navigation message symbol (CSK symbol). The CSK modulator 2120 receives the 8-bit encoded navigation message symbol generated by the RS encoder 2110 and the 4ms PRN code (code 1) generated by the code generator 2130. The CSK modulator 2120 shifts the phase of the PRN code by the number of chips indicated by the 8-bit encoded navigation message symbol. The second stream of the L61 signal is... Figure 2A The lower branch indication in the second stream includes a 410ms PRN long code (code 2), which is modulated by a square wave with a period of 820ms and starts from 0 ("010101...").

[0036] Figure 2B The generation of the L62 signal for QZSS is illustrated. The L62 signal comprises two streams: L6D and L6E. Streams L6D and L6E each contain their respective navigation messages. Both streams L6D and L6E are CSK modulated. Figure 2B As shown, the modulation of each of streams L6D and L6E is similar to the first-order modulation of the L61 signal. Therefore, a description of the modulation of each of L6D and L6E is omitted. Figure 2B The additional CSK modulator 2140 and the additional 8-bit / symbol RS encoder 2150 were used.

[0037] Figure 3An example CSK modulation scheme for the L6 signal of QZSS is illustrated. The illustrated CSK modulation can be achieved by... Figure 2A and Figure 2B The CSK modulator is executed. As one input to the CSK modulation, the original PRN code can be a sequence of PRN chip pieces generated by the code generator, as shown in the original PRN code pattern 3100. An 8-bit coded navigation message symbol can be provided as another input to the CSK modulation. The CSK modulation shifts the original PRN code by N chips, where N is the value indicated by the 8-bit coded navigation message symbol. For example, when N = 0, the original PRN code will not be shifted by the CSK modulation. When N = 1, the original PRN code will be shifted left by 1 chip, as shown in the CSK-modulated PRN code pattern 3200. That is, chip PRN(2) will become the first chip of the shifted PRN code, and chip PRN(1) will become the last chip. The shifted PRN code is output by the CSK modulation. The total number of possible shifts (hereinafter denoted as P) depends on the length of the coded navigation message symbol. For example, since an 8-bit coded navigation message symbol has 2^8 = 256 possible values, the shifted PRN code of the CSK modulation output will have 256 different shifted phases (P = 256).

[0038] It should be understood that the GNSS and signals S1 and S2 described herein are discussed by way of example and are not intended to be limiting. In one aspect, GNSS 1000 can be any system employing the concept of satellite navigation. For example, GNSS 1000 can be any of the global systems (including GPS, BeiDou, Galileo, and GLONASS) and / or regional navigation satellite systems (e.g., the Quasi-Zenith Satellite System (QZSS) developed by Japan). In one embodiment, GNSS 1000 can be a QZSS. In another embodiment, GNSS 1000 can be any other system different from a QZSS but also transmitting L1, L2, or L5 signals. In another aspect, signals S1 and S2 are not limited to the currently broadcast L1, L2, L5, and L6 signals, but include any other evolution of L1, L2, L5, and L6 signals. In one embodiment, the CSK modulation scheme of the QZSS can use different parameters. For example, the encoded navigation message symbols may have a length different than 8 bits, resulting in different P values. Note that signals S1 and S2 may be actual satellite signals transmitted from satellites in orbit.

[0039] Figure 4 This is a block diagram illustrating an example device for processing two different types of GNSS signals according to embodiments described herein. Device 4000 can... Figure 1 Implemented or implemented in receiver 1100 Figure 1 The receiver 1100. In one embodiment, the device 4000 may include a receiver 4100, a first processing module 4200, a second processing module 4300, and a PNT calculator 4400.

[0040] In one embodiment, receiver 4100 may be configured to receive a first GNSS signal (signal S1) transmitted by a GNSS satellite in a first GNSS operating frequency band, and to receive a second GNSS signal (signal S2) transmitted by the same satellite in a second GNSS operating frequency band.

[0041] In one embodiment, the first GNSS operating frequency band of the transmitted signal S1 can be one of the L1 frequency band, the L2 frequency band, or the L5 frequency band, and the second GNSS operating frequency band of the transmitted signal S2 can be the L6 frequency band.

[0042] In one embodiment, a first processing module 4200 may be configured to process signal S1. The first processing module 4200 may include an acquisition module 4210, a tracker 4220, and a first decoder 4230. The acquisition module 4210 may be configured to perform acquisition processing to determine which signal S1 is currently visible among the received signals. The acquisition module 4210 may provide information about the visible signal S1 to the tracker 4220. The tracker 4220 may be configured to perform tracking processing to track the signal S1 that has been determined to be visible. Based on the tracking of signal S1, the tracker 4220 may generate tracking parameters for signal S1. For example, the generated tracking parameters may include at least one of the Doppler frequency and code phase of signal S1. As signal S1 is tracked, the first decoder 4230 may be configured to perform decoding processing to decode navigation messages from signal S1. The decoded messages and measurements collected during the tracking of signal S1 may be provided to a PNT calculator 4400.

[0043] Note that the acquisition processing of the acquisition module 4210, the tracking processing of the tracker 4220, and the decoding processing of the first decoder 4230 are performed only for signal S1, not for signal S2. When signal S1 is one of L1, L2, or L5 signals, there are many known acquisition, tracking, and decoding processes for a specific type of signal S1. These known processes, as well as any other processes developed in the future, can be performed by the acquisition module 4210, tracker 4220, and first decoder 4230 without restriction. Therefore, the acquisition module 4210, tracker 4220, and first decoder 4230 can include the hardware / software / firmware required for a specific type of signal S1.

[0044] In one embodiment, the first processing module 4200 may be configured to provide the tracking parameters of the generated signal S1 to the second processing module 4300. The tracking parameters of signal S1 may be used by the second processing module 4300 to decode signal S2.

[0045] In one embodiment, the second processing module 4300 may be configured to process signal S2, including decoding signal S2 based at least on the tracking parameters of signal S1. The operation of the second processing module 4300 is discussed in more detail below.

[0046] In one embodiment, the second processing module 4300 may include a second decoder 4310. The second decoder 4310 may be configured to perform decoding processing of signal S2 based on the tracking parameters of signal S1. The decoding processing of signal S2 can be performed without the acquisition and / or tracking processing of signal S2. Advantageously, costs associated with the acquisition and / or tracking processing of signal S2 can be saved. For example, device 4000 may omit the hardware / software / firmware for acquiring and / or tracking signal S2.

[0047] In order to decode the navigation message from signal S2 based on the tracking parameters of signal S1, the second decoder 4310 may include a converter 4311, one or more local signal generators 4312, one or more correlators 4313, a symbol detector 4314, and an RS decoder 4315.

[0048] In one embodiment, converter 4311 can be configured to derive parameters for decoding signal S2 based on tracking parameters of signal S1. The derived parameters may include the Doppler frequency of signal S2 and one or more code phase assumptions for signal S2.

[0049] In one implementation, the local signal generator 4312 may be configured to generate one or more local copies of the signal S2 based on the derived Doppler frequency of the signal S2 and one or more code phase assumptions of the signal S2.

[0050] In one implementation, correlator 4313 may be configured to correlate signal S2 with one or more local copies generated by local signal generator 4312.

[0051] In one implementation, the symbol detector 4314 can be configured to detect one or more CSK symbols based on the correlation performed by the correlator 4313.

[0052] In one implementation, the RS decoder 4315 can be configured to detect and / or correct bit errors in one or more CSK symbols detected by the symbol detector 4314. The output of the RS decoder 4315 can be provided as part of the navigation message of the decoded signal S2. The navigation message of the decoded signal S2 can be provided to the PNT calculator 4400.

[0053] In one implementation, the PNT calculator 4400 can be configured to calculate position, navigation, and timing information associated with the device 4000 based on the measurements of the decoded navigation messages and signals S1 and / or S2.

[0054] As described above, device 4000 is capable of jointly processing L6 signals with conventional signals such as L1, L2, or L5 signals. Note that the decoding of the L6 signal is based on the tracking parameters of the conventional signal. Advantageously, L6 signals can be processed at a relatively low cost. Moreover, jointly processing two types of signals can provide better performance than processing a single type of signal, thereby providing higher accuracy (e.g., centimeter-level accuracy).

[0055] Note that signals S1 and S2 are transmitted in different GNSS operating frequency bands. A group delay difference (GDD) will exist between the received signals S1 and S2. The GDD between signals S1 and S2 may vary over time. Adaptive and dynamic compensation of the GDD during the decoding of signal S2 is beneficial.

[0056] In one embodiment, the second processing module 4300 may include a GDD compensator 4320. The GDD compensator 4320 may be configured to calculate the GDD between signals S1 and S2 based on the decoding of signal S2. The calculated GDD may represent the difference between the group delay of the received signal S1 and the group delay of the received signal S2. The GDD compensator 4320 may be configured to feed back the calculated GDD to decode signal S2. Therefore, GDD can be adaptively and dynamically compensated in real time.

[0057] In one implementation, the GDD compensator 4320 may include a trigger module 4321 and at least one pair of early-late (EL) gates 4322. The trigger module 4321 may be configured to trigger GDD computation in response to predefined conditions. The predefined conditions may include the detection of one or more specific CSK symbols. The EL gates 4322 may be configured to, once triggered, track the specific code phase corresponding to the detected CSK symbol.

[0058] To calculate GDD, in one embodiment, the GDD compensator 4320 may further include an early-late gate comparator 4323. The early-late gate comparator 4323 may be configured to determine the code phase delay correction based on the correlation results of the triggered early-late gate pairs.

[0059] In one embodiment, the GDD compensator 4320 may further include a gain component 4324. The gain component 4324 may be configured to apply a gain to the code phase delay correction output by the early-late gate comparator 4323. The output of the gain component may be determined as the calculated GDD.

[0060] In one implementation, the GDD compensator 4320 can be configured to update the code phase assumption of signal S2 based at least on the calculated GDD. As a result, the GDD contained in the original code phase assumption can be compensated. The updated code phase assumption will be more accurate compared to the original code phase assumption.

[0061] In one implementation, the GDD compensator 4320 can be configured to feed back an updated code phase hypothesis to the second decoder 4310. The second decoder 4310 can use the updated code phase hypothesis to decode the signal S2.

[0062] In one implementation, the GDD compensator 4320 can be configured to also feed back the updated code phase assumption to the early-late gate 4322, so that the local copy of the signal S2 used by the early-late gate 4322 can also be updated.

[0063] Using the GDD compensator 4320, the GDD between signals S1 and S2 will be compensated in the updated code phase assumption. Compared to those uncompensated assumptions, the updated code phase assumption for signal S2 is more accurate. This will provide better performance for decoding signal S2.

[0064] Furthermore, note that the GDD compensator 4320 can provide an updated code phase hypothesis for signal S2 each time a predefined condition (e.g., detection of one or more specific CSK symbols) occurs. Therefore, the updated code phase hypothesis is dynamically generated during the decoding of signal S2. The GDD compensator 4320 allows for adaptive and dynamic compensation of GDD between signal S2 (decoding) and signal S1 (tracking).

[0065] Figure 5 It is based on the implementation method described herein. Figure 4 A block diagram of a specific example of device 4000. For clarity and simplicity, Figure 5 Some components of device 4000 are omitted, such as the first decoder 4230 and the PNT calculator 4400.

[0066] In one implementation, receiver 4100 may be configured to receive satellite signals from a GNSS (e.g., GNSS 1000) navigation satellite. The received satellite signals may include at least two different types of GNSS signals (e.g., signal S1 and signal S2) transmitted in different GNSS operating frequency bands. For example, receiver 4100 may be configured to receive signal S1 transmitted in a first GNSS operating frequency band and signal S2 transmitted in a second GNSS operating frequency band. Signal S1 and signal S2 may originate from the same satellite (e.g., Figure 1 It was sent by any one of the satellites 1200-1 to 1200-N.

[0067] In one implementation, receiver 4100 may include the necessary elements to receive signals S1 and S2. In one example, receiver 4100 may include antenna elements for receiving signals in a first GNSS operating frequency and a second GNSS operating frequency band. Furthermore, receiver 4100 may also include elements for performing additional processing, such as low-noise amplifiers, filters, downconverters, and analog-to-digital converters. In another example where device 4000 is implemented as a chip / microprocessor, receiver 4100 may not include hardware such as antenna elements, but may include one or more interfaces for receiving digital signal data streams (e.g., intermediate frequency signal data streams) from other front-end elements. Receiver 4100 may include different and separate elements for receiving and processing signals S1 and S2, respectively.

[0068] In one embodiment, receiver 4100 may generate two sample streams representing the received signals S1 and S2. For example, the first sample stream may include a sequence of signal samples representing the received signal S1 and sampled from a first GNSS operating frequency band. The second sample stream may include a sequence of signal samples representing the received signal S2 and sampled from a second GNSS operating frequency band.

[0069] In one implementation, the acquisition module 4210 may be connected to the receiver 4100 and receive a first sample stream representing the received signal S1. The acquisition module 4210 may be configured to perform acquisition processing to determine which signals are currently visible in the first sample stream. Typically, at any given time, not all GNSS satellites are visible to the receiver. Therefore, the acquisition module 4210 may receive the first sample stream and identify which signals are currently visible in it. For example, the acquisition module 4210 may determine that both signal S1 transmitted by satellite 1200-1 and signal S1 transmitted by satellite 1200-2 are visible in the first sample stream, while another signal S1 transmitted by satellite 1200-N is not visible. The acquisition module 4210 may provide information about the visible signal S1 to the tracker 4220 so that the tracker 4220 can track the signal S1. For example, the information about the visible signal S1 may include an identifier and a coarse code phase of the signal S1. The coarse code phase generated by the acquisition module 4210 can indicate a coarse estimate of the code phase of the signal S1, which can provide an initial value of the code phase for the tracker 4220 to track.

[0070] In one embodiment, tracker 4220 may be connected to receiver 4100 and acquisition module 4210. Tracker 4220 may receive a first sample stream representing the received signal S1 from receiver 4100 and receive information about the visible signal S1 from acquisition module 4210.

[0071] Tracker 4220 can be configured to perform tracking processing to track a signal S1 that has been determined to be visible. Tracking processing may include: generating a local copy of the tracked signal S1; correlating the local copy with the signal S1; determining the deviation between the local copy and the tracked signal S1 based on the correlation result; and adjusting the local copy based on the determined deviation. Therefore, tracker 4220 may include, or may be connected to, a signal copy generator and a correlator (omitted here) for the signal S1.

[0072] Based on the tracking of signal S1, tracker 4220 can also generate tracking parameters for signal S1. For example, the generated tracking parameters include at least one of the Doppler frequency and code phase of signal S1.

[0073] The Doppler frequency of signal S1 refers to the frequency offset between the nominal carrier frequency of signal S1 and the actual center frequency of the received signal S1. The Doppler frequency is caused by the relative motion between the satellite transmitting signal S1 and the receiver receiving signal S1. The Doppler frequency is a function of the relative velocity and the nominal carrier frequency of signal S1. The generated Doppler frequency can be used to adjust the chip rate of the PRN code in the local copy, making the local copy as similar as possible to the received signal S1.

[0074] The code phase of signal S1 can refer to the phase of the received signal S1 relative to the PRN code of the local copy. For example, the received signal S1 may be ahead of or behind the local copy, both of which will cause a misalignment between the PRN code of the received signal S1 and the PRN code of the local copy. By determining the code phase of signal S1 and eliminating the corresponding misalignment, the local copy can be aligned with the received signal S1, thereby achieving better correlation performance.

[0075] In one implementation, tracker 4220 may provide tracking parameters of signal S1 to converter 4311 (including converter 4311-1 and converter 4311-2). Converter 4311 may be configured to derive parameters for decoding signal S2 based on the tracking parameters of signal S1.

[0076] exist Figure 5 In the illustrated embodiment, converter 4311 is divided into two converters 4311-1 and 4311-2. Converter 4311-1 can be configured to calculate the Doppler frequency of signal S2, while converter 4311-2 can be configured to generate one or more code phase hypotheses for signal S2.

[0077] In one embodiment, converter 4311-1 can receive tracking parameters of signal S1 from tracker 4220, the tracking parameters including at least the Doppler frequency of signal S1. The Doppler frequency of signal S2 can be derived by converter 4311-1 based on the Doppler frequency of signal S1. Since signals S1 and S2 are transmitted by the same satellite and received by the same receiver, the relative speed between the satellite and the receiver is the same for both signals S1 and S2. Therefore, there may be a fixed ratio between the Doppler frequencies of signal S1 and signal S2. The Doppler frequency of signal S2 can be derived based on the Doppler frequency of signal S1 and the nominal carrier frequencies of signals S1 and S2.

[0078] In one implementation, converter 4311-1 can calculate the Doppler frequency of signal S2 as follows:

[0079] f2=f1*(F2 / F1), (Formula 1)

[0080] Wherein, F1 represents the nominal carrier frequency of signal S1, f1 represents the Doppler frequency of signal S1, F2 represents the nominal carrier frequency of signal S2, and f2 represents the Doppler frequency of signal S2.

[0081] Note that the Doppler frequency (f1) of signal S1 can be generated and provided by tracker 4220. F1 and F2 are constants and known values. For example, if signal S2 is an L6 signal, then F2 is the corresponding nominal carrier frequency of 1278.75MHz. If signal S1 is an L1, L2, or L5 signal, then F1 is the corresponding nominal carrier frequency of 1575.42MHz, 1227.60MHz, or 1176.45MHz, respectively.

[0082] In one embodiment, converter 4311-2 may receive tracking parameters of signal S1 from tracker 4220, the tracking parameters including at least the code phase of signal S1. One or more code phase assumptions of signal S2 may be derived by converter 4311-2 based on the code phase of signal S1. Each of the one or more code phase assumptions corresponds to an assumption relating to where a particular PRN chip (e.g., PRN(1)) appears in the received signal S2. Each of the one or more code phase assumptions of signal S2 may include two parts: (1) the code phase of the entire PRN code in the received signal S2, and (2) the number of chips that may have been shifted within the PRN code during CSK modulation. The number of one or more code phase assumptions of signal S2 may be equal to the number of code phases that may have been shifted during CSK modulation (i.e., P).

[0083] Note that signals S1 and S2 are transmitted by the same satellite and are synchronized with each other. Therefore, it is feasible to generate one or more code phase hypotheses for signal S2 based on the code phase of signal S1 that has already been generated during the tracking of signal S1. For example, an initial code phase hypothesis can be generated by copying the code phase of signal S1 and adding an offset. Remaining code phase hypotheses can be generated by adding a corresponding number of code phase increments to the initial code phase hypothesis.

[0084] In one implementation, converter 4311-2 can generate one or more code phase assumptions for signal S2 as follows:

[0085] T2(0) = T1 + D, (Equation 2)

[0086] T2(k)=T2(0)+k*ΔT, k=0,…,P-1, (Formula 3)

[0087] Where: T1 represents the code phase of signal S1, which is one of the tracking parameters of signal S1 and can be generated and provided by the tracker 4220 of the first processing module 4200; D represents the code phase offset between signal S1 and signal S2, which can be a predetermined value based on the nominal characteristics of signal S1 and signal S2; k is the index of the code phase hypothesis, and T2(k) represents the k-th code phase hypothesis of signal S2; ΔT represents the code phase increment between two adjacent code phase hypotheses of signal S2, which can be a predetermined value based on CSK modulation (e.g., a predetermined number of chips); and P represents the total number of possible code phases used in the CSK modulation of signal S2. Figure 3 In the example CSK modulation shown, P is 256. P also indicates the total number of one or more code phase assumptions in the generated signal S2.

[0088] Converter 4311 can provide one or more derived parameters to local signal generator 4312. Specifically, converter 4311-1 can provide the local signal generator 4312 with the calculated Doppler frequency of signal S2, and converter 4311-2 can provide the local signal generator 4312 with one or more code phase assumptions of the generated signal S2.

[0089] In one implementation, the local signal generator 4312 can be configured to generate one or more local copies of signal S2 based on the Doppler frequency of signal S2 and one or more code phase assumptions of signal S2. The number of one or more local copies of signal S2 depends on the number of one or more code phase assumptions of signal S2. For example, the local signal generator 4312 can generate a total of P local copies, each local copy being generated under a corresponding code phase assumption of one or more code phase assumptions of signal S2. Furthermore, the Doppler frequency of signal S2 can be used to determine the chip rate of one or more local copies. The local signal generator 4312 can be configured to provide one or more local copies of signal S2 to the correlator 4313.

[0090] In one implementation, correlator 4313 may receive a second sample stream representing the received signal S2 from receiver 4100 and one or more local copies of signal S2 from local signal generator 4312. Correlator 4313 may be configured to correlate the second sample stream with each of the one or more local copies of signal S2. Each correlation result may be generated within a correlation period (e.g., 1 ms). For each of the one or more local copies of signal S2, there is a corresponding sequence of correlation results. Each sequence may also correspond to a corresponding code phase hypothesis in one or more code phase hypotheses of signal S2. Correlator 4313 may provide the sequence of correlation results to symbol detector 4314.

[0091] Symbol detector 4314 can be configured to perform detection processing to detect one or more CSK symbols. The symbol detector can also integrate the individual correlation result sequences generated by correlator 4313 into a CSK symbol length (e.g., 4 ms). The detection processing can be maximum likelihood (ML) detection, which selects the CSK symbol that displays the maximum energy after integration. For example, the integrated amplitudes can be compared in pairs to quickly find the maximum integrated amplitude. The detection processing can select the CSK symbol corresponding to the maximum integrated amplitude as the detected CSK symbol. Each CSK symbol corresponds to one of one or more code phase hypotheses for signal S2, thus the code phase hypothesis corresponding to the detected CSK symbol can also be determined. Symbol detector 4314 can provide the detected CSK symbols to RS decoder 4315.

[0092] The RS decoder 4315 can be configured to detect and / or correct bit errors in detected CSK symbols. The decoding algorithm employed by the RS decoder 4315 can correspond to the encoding algorithm employed by the satellite, for example, Figure 2A and Figure 2B The 8-bit / symbol RS encoding module is shown. One CSK symbol can be mapped to 8 channel bits, and the channel bit stream drives the standard RS decoder. The RS decoder 4315 can output decoded information bits as part of the navigation message. The decoded information bits can be provided to the PNT calculator 4400 ( Figure 5 (omitted), used to calculate the location, navigation, and timing information associated with device 4000.

[0093] Note that Equation 2 above describes a constant code phase offset D between signals S1 and S2. However, the actual code phase offset between signals S1 and S2 may not be constant due to various reasons. For example, signals S1 and S2 may each experience corresponding group delays as they travel from the satellite to the receiver. There may be a difference between the group delay of signal S1 and the group delay of signal S2. Furthermore, each group delay may vary due to environmental changes (e.g., changes in the ionosphere through which signals S1 and S2 travel). The assumption of a constant code phase offset D between signals S1 and S2 may not reflect the varying GDD between signals S1 and S2. It is advantageous to calculate the GDD in real time and adaptively perform decoding of signal S2 based on the calculated GDD.

[0094] In one embodiment, a trigger module 4321 is provided for receiving detected CSK symbols from a symbol detector 4314. The trigger module 4321 can be configured to determine whether the CSK symbol detected by the symbol detector 4313 corresponds to a specific code phase included in a predefined group code phase hypothesis in signal S2. In response to determining that the CSK symbol corresponds to a specific code phase included in the predefined group code phase hypothesis, the trigger module 4321 can be configured to send a trigger signal to an early / late gate 4322 to indicate that a specific CSK symbol and / or a specific code phase has been detected.

[0095] In one implementation, the early / late gate 4322 may include one or more pairs of early / late gates. The number of early / late gate pairs may depend on the size of a predefined group code phase hypothesis. Each pair of early / late gates may be used to track a corresponding code phase included in the predefined group code phase hypothesis. Once a trigger signal is received from the trigger module 4321, the early / late gate 4322 may trigger the pair of early / late gates corresponding to the detected CSK symbol / specific code phase to track the specific code phase.

[0096] Specifically, the triggered early-late gate pair may include an early correlation channel and a late correlation channel. The early correlation channel correlates the received signal S2 with an early local copy of signal S2, which is advanced by a certain amount of chips (e.g., half a chip) from a specific code phase. The late correlation channel correlates the received signal S2 with a late local copy of signal S2, which is delayed by the same amount of chips (e.g., half a chip) from the specific code phase. The early and late local copies can be generated based on the specific code phase and Doppler frequency of signal S2 received from converter 4311. The received signal S2 can be received from receiver 4100. The early and late correlation channels can generate early and late correlation results, respectively. Note that these channels are not used for CSK symbol detection, but only for slow code tracking.

[0097] In one implementation, the early-late gate comparator 4323 can receive the correlation results (i.e., the early correlation result and the late correlation result) of the early-late gate pair triggered in the early-late gate 4322. The early-late gate comparator 4323 can be configured to determine a code phase delay correction based on the early and late correlation results. For example, the early-late gate comparator 4323 can be configured to generate a cue code phase of the received signal S2 by comparing the early and late correlation results. The cue code phase can represent the actual code phase of the received signal S2. The code phase delay correction can be determined as the difference between the specific code phase tracked by the triggered early-late gate pair and the determined cue code phase of the received signal S2.

[0098] In one implementation, a gain component 4324 may be provided. The gain component 4324 may be connected to the output of the early-late gate 4323. The gain component 4324 may be configured to receive a determined code phase delay correction and apply a gain to that code phase delay correction. The applied gain can be any desired value and can be predetermined. Due to the slow-changing nature of ionospheric processes, GDD can be associated with a very small gain. In one example, the applied gain may be a small factor less than 1. In this case, the gain component 4324 may also be referred to as an attenuator. The output value of the gain component can be determined as the calculated GDD between signals S1 and S2.

[0099] In one implementation, the calculated GDD can be fed to converter 4311-2 to update one or more code phase assumptions of signal S2. For example, converter 4311-2 can add the calculated GDD to one or more code phase assumptions determined according to Equations 2 and 3.

[0100] In one implementation, converter 4311-2 can determine one or more updated code phase assumptions for signal S2 as follows:

[0101] T'2(0)=T1+D+GDD, (Equation 4)

[0102] T'2(k)=T'2(0)+k*ΔT, k=0,...,P-1, (Formula 5)

[0103] Where: T1 represents the code phase of signal S1, which is one of the tracking parameters of signal S1 and can be generated and provided by tracker 4220 of first processing module 4200; D represents the code phase offset between signal S1 and signal S2, which can be a predetermined value based on the nominal characteristics of signal S1 and signal S2; GDD represents the group delay difference between signal S1 and signal S2, which is calculated by GDD compensator 4320; T'2(k) represents the k-th updated code phase hypothesis of signal S2; ΔT represents the code phase increment between two adjacent code phase hypotheses of signal S2, which can be a predetermined value based on CSK modulation (e.g., a predetermined number of chips); and P represents the total number of possible code phases used in CSK modulation of signal S2. In the example CSK modulation, P will be 256, as... Figure 3 As shown.

[0104] In one implementation, converter 4311-2 can be configured to provide local signal generator 4312 with one or more updated code phase assumptions for signal S2. Local signal generator 4312 can be configured to generate one or more updated local copies of signal S2 based on the updated code phase assumptions for signal S2. The updated local copies of signal S2 can be further used by correlator 4313. By using the updated code phase assumptions for compensated GDD, better alignment between the updated local copies of signal S2 and the received signal S2 can be achieved, resulting in better decoding performance (e.g., better accuracy). In other words, GDD compensation optimizes the decoding conditions to obtain the lowest bit error rate.

[0105] In one implementation, converter 4311-2 can be configured to provide one or more updated code phase assumptions for signal S2 to early / late gate 4322, such that the local copy of signal S2 used by early / late gate 4322 can also be updated. For example, updated code phase assumptions can be provided to triggered early / late gate pairs in early / late gate 4322. The early local copy and late local copy used by the triggered early / late gate pair can be adjusted based on the updated code phase assumptions corresponding to the triggered early / late gate pair.

[0106] In one implementation, the predefined group code phase assumption used to determine the triggering condition can correspond to all P possible shift code phases in the CSK modulation of signal S2. In other words, the predefined group code phase assumption can include P code phases. In this case, regardless of which CSK symbol is detected, the trigger module 4321 will trigger the corresponding pair of early-late gates. This requires the early-late gates 4322 to include at least P pairs of early-late gates, which may not be necessary or economical.

[0107] In a preferred embodiment, the predefined group code phase assumptions may correspond only to a subset of the P possible shift code phases in the CSK modulation of signal S2. For example, the predefined group code phase assumptions may include only M selected code phase assumptions for signal S2, where M is a positive integer not greater than P. Therefore, the number of early-late gate pairs to be implemented can be reduced to M. The M selected code phase assumptions may represent M opportunistic code phase assumptions. For example, the M selected code phase assumptions may correspond to the M shift code phases with the M highest prior probabilities of occurrence out of the total P shift code phases used in the CSK modulation scheme from signal S2. Note that the M opportunistic code phase assumptions may be selected from the set of T2(k) (or T'2(k)), k = 0, ..., N-1 calculated above. Furthermore, the M opportunistic code phase assumptions are not necessarily consecutively and uniformly spaced in the set of T2(k) (or T'2(k)), k = 0, ..., N-1.

[0108] Note that since the M chosen code phase assumptions represent the shifted code phase with the highest prior probability of occurrence, the predefined group code phase assumptions will still have a high probability of including the code phase corresponding to the detected CSK symbol. As a result, in most cases, the early-late gate 4322 will still be triggered to provide code phase delay correction (or more specifically, the computed GDD). This provides acceptable performance and reduces the number of early-late gates.

[0109] The M code phases with the M highest prior occurrence probabilities can be determined in various ways. In a well-designed system, all CSK payload symbols should have a uniform distribution. However, there will always be preambles that occur periodically. In one implementation, a static method can be used by studying the frame structure in the CSK modulation standard. For example, the approximate occurrence probability of each CSK symbol can be determined by analyzing the specific coding and modulation schemes used in the satellite's RS encoder and / or CSK modulator. In another implementation, a dynamic method, either instantaneous or offline, can be employed, where the occurrence statistics of detected CSK symbols are collected, and the M code phases with the highest occurrence probabilities are calculated based on the collected CSK symbols. For example, the approximate occurrence probability of each CSK symbol can be determined by analyzing the statistics of CSK symbols detected by the receiver over a period of time (e.g., by calculating the number of times they occur in the received signal S2). The M code phases can be selected based on the determined approximate occurrence probabilities of the CSK symbols. Once the M code phases have been selected, the early-late gate 4322 can be configured to include corresponding early-late gate pairs for each of the M code phases.

[0110] Alternatively, the M code phases (and corresponding early / late gate pairs) can be determined statically or dynamically during runtime. In one implementation, the M code phases can be predetermined before operating device 4000. In another implementation, the M code phases can be determined and configured dynamically in real time. For example, during operation of device 4000, trigger module 4321 can periodically determine the M code phases with the highest prior probability of occurrence based on statistical information of CSK symbols detected by the receiver over a period of time.

[0111] Note that M can be any desired number. M can be determined based on the capabilities of device 4000, such as the available hardware / software resources of device 4000. A larger M can use more resources and provide a higher hit rate. A higher hit rate means a higher percentage of CSK symbols detected by symbol detector 4314 that correspond to the code phases included in the predefined group code phase hypothesis of signal S2. In one implementation, note that T2(0) has the highest probability because there are many frames with running zeros. In view of this, the M code phases can be selected as T2(0), T2(1), T2(2), T2(3), and T2(4), as calculated by Equations 2 and 3, where M = 5. In this case, if the detected CSK symbol corresponds to any of the first five code phase hypotheses, the calculation of GDD will be triggered. In an alternative implementation, other code phases can be specified, such as T2(0), T2(3), T2(7), T2(8), and T2(12).

[0112] Note that Device 4000 provides a group delay compensation loop filter, which is a simple first-order filter whose only state variable is the currently estimated group delay difference "GDD". The loop's noise bandwidth is not precisely defined because the loop updates irregularly, but the loop gain is set very low because it only tracks components that change very slowly. The loop's time constant can be on the order of tens of seconds rather than seconds. Note that receiver and clock dynamics are considered by tracking signal S1, while the loop for signal S2 will only see a very small residual.

[0113] It should be understood that Figure 5 The implementation of device 4000 shown is illustrative and not intended to be limiting. Many modifications may be applied within the spirit of this disclosure.

[0114] On the one hand, the boundaries between boxes are merely illustrative. A component can be divided into multiple sub-components. Multiple components can be combined into a single component. For example, converters 4311-1 and 4311-2 can be combined into a single converter 4311. Furthermore, early-late gate 4322, early-late gate comparator 4323, and / or gain unit 4324 can be combined into a single component. Other components can be divided or combined.

[0115] On the other hand, multiple components can be implemented in separate hardware devices or in a single hardware device. Note that tracker 4220, correlator 4313, and early / late gate 4322 each involve multiple correlation operations. In one example, these components can be implemented separately in different devices. In another example, these components can share a single hardware device that includes a large number of correlation channels.

[0116] On the other hand, an operation performed by one element can be performed by another element. For example, updating one or more code phase assumptions may not be performed at converter 4311-1. Instead, GDD compensator 4320 can directly provide the updated one or more code phase assumptions to local signal generator 4312 and / or early / late gate 4322. Alternatively, GDD compensator 4320 can provide the calculated GDD to local signal generator 4312 and / or early / late gate 4322, allowing local signal generator 4312 and / or early / late gate 4322 to update the code phase assumptions in use.

[0117] Figure 6 This is a block diagram illustrating another example device 4000A for simultaneously decoding multiple data streams according to an embodiment of this document. Figure 4 Compared to the example device 4000, device 4000A may include two sets of second decoders 4310 and GDD compensators 4320. A first set of second decoders 4310-1 and GDD compensators 4320-1 may be configured to process a first data stream, while a second set of second decoders 4310-2 and GDD compensators 4320-2 may be configured to process a second data stream. The second decoders 4310-1 and 4310-2 may have the same functionality as the second decoder 4310 of device 4000, and the GDD compensators 4320-1 and 4320-2 may have the same functionality as the GDD compensator 4320 of device 4000.

[0118] In one implementation, the first data stream and the second data stream can be decoded independently. That is, decoding and GDD compensation performed on the first stream can be performed independently of decoding and GDD compensation performed on the second stream, and vice versa.

[0119] In one implementation, the first data stream and the second data stream can be decoded simultaneously. That is, decoding and GDD compensation performed on the first stream can be performed concurrently with decoding and GDD compensation performed on the second stream.

[0120] In one implementation, the first data stream and the second data stream may correspond to two signals S2 transmitted by two satellites. For example, receiver 4100 may receive two satellite signals transmitted from satellites 1200-1 and 1200-2. Each satellite signal may include a corresponding signal S1 and a corresponding signal S2. First processing module 4200 may track signal S1 in each of the two satellite signals and generate tracking parameters for the corresponding signal S1. The generated tracking parameters for signal S1 may be provided to a corresponding set of second decoders 4310 and GDD compensators 4320 for decoding the corresponding signal S2. Specifically, the tracking parameters for signal S1 of satellite 1200-1 may be provided to a first set of second decoders 4310-1 and GDD compensators 4320-1 to decode the first data stream of signal S2 of satellite 1200-1. The tracking parameters for signal S1 of satellite 1200-2 may be provided to a second set of second decoders 4310-2 and GDD compensators 4320-2 to decode the second data stream of signal S2 of satellite 1200-2. Note that either the first set of second decoders 4310-1 and GDD compensator 4320-1 or the second set of second decoders 4310-2 and GDD compensator 4320-2 can each operate as described for the second decoder 4310 and GDD compensator 4320.

[0121] In a further embodiment, the first data stream and the second data stream may correspond to two data streams of the same type in two signals S2 transmitted by two satellites. The L62 signal is an example of signal S2 transmitted by the QZSS satellite. The L62 signal includes L6D and L6E data streams. In one example, the first data stream may correspond to the L6D data stream in signal S2 of the first satellite, and the second data stream may correspond to the L6D data stream in signal S2 of the second satellite. In another example, the first data stream may correspond to the L6E data stream in signal S2 of the first satellite, and the second data stream may correspond to the L6E data stream in signal S2 of the second satellite.

[0122] It should also be understood that device 4000A may include more than two sets of second decoders 4310 and GDD compensators 4320, thereby enabling the processing of more than two satellite signals. In one embodiment, the first processing module 4200 may also include a selector 4240. The selector 4240 may be configured to select signals that are expected to be processed by the second processing module 4300. For example, receiver 4100 may receive multiple satellite signals transmitted from multiple satellites. Each satellite signal includes a corresponding signal S1 and a corresponding signal S2. The selector 4240 may be configured to select only a subset of the multiple satellite signals. This selection may be based on the characteristics of the received satellite signals. For example, the selector 4240 may select satellite signals based on the signal-to-noise ratio (SNR) of the multiple satellite signals. The SNR may be the SNR of signal S1, which may be determined during tracking of signal S1. The satellite signal with the highest SNR (e.g., two satellite signals) will be determined and processed by the second processing module 4300, namely the first set of second decoders 4310-1 and GDD compensators 4320-1 and / or the second set of second decoders 4310-2 and GDD compensators 4320-2.

[0123] In one implementation, the first data stream and the second data stream may correspond to two data streams transmitted by a single satellite in the same signal S2. As an example of signal S2, the L62 signal includes an L6D data stream and an L6E data stream. The first data stream may correspond to the L6D data stream of the L62 signal, and the second data stream may correspond to the L6E data stream of the same L62 signal. Tracking parameters of signal S1 can be provided to decode the L6D and L6E data streams of the L62 signal separately. The decoding of the L6D and L6E data streams can be performed independently and simultaneously.

[0124] It should also be understood that the components of device 4000 or 4000A can be implemented as hardware, software, firmware, or any combination thereof. In one embodiment, all components can be implemented as software modules running on a general-purpose processor. In another embodiment, the components can be loaded onto hardware, allowing the hardware to function as a stand-alone GNSS chip / processor. In other embodiments, device 4000 or 4000A can be implemented as a combination of software and hardware.

[0125] It should also be understood that conventional hardware modules can be reused in devices 4000 or 4000A. For example, any conventional single satellite tracking channel can be used as a correlator in device 4000 or 4000A. A single satellite tracking channel may include one or more taps (e.g., X taps), each tap corresponding to a specific code phase and thus providing a corresponding correlation output. For correlator 4313, which requires P (e.g., 256) correlation results, the required number of single satellite tracking channels can be calculated as ceil(P / X), where ceil() is a function rounded up to the integer. For early-late gate 4322, which will be triggered under the assumption of M selected code phases of signal S2, the required number of single satellite tracking channels can be calculated as ceil(M / X / 2). Tracker 4220 may also require at least one single satellite tracking channel. Therefore, multiple single satellite tracking channels contained in a device can be divided into groups, each group for tracker 4220, converter 4313, or EL gate 4322. In other embodiments, other types of correlators may be used.

[0126] Figure 7 This is a flowchart illustrating an example method 7000 for processing two different types of GNSS signals according to embodiments herein. Method 7000 can be performed by device 4000 (or device 4000A). The two different types of GNSS signals may include signal S1 and signal S2.

[0127] Method 7000 may begin at step 7100, in which signal S1 transmitted by a GNSS satellite in a first GNSS operating frequency band and signal S2 transmitted by the same satellite in a second GNSS operating frequency band may be received. Step 7100 may be performed by receiver 4100 of device 4000. In one embodiment, the first GNSS operating frequency band may be one of L1, L2, or L5, and the second GNSS operating frequency band may be L6.

[0128] In one embodiment, method 7000 may further include steps 7200 and 7300. In step 7200, signal S1 may be tracked. In step 7300, tracking parameters for signal S1 may be generated based on the tracking of signal S1. Steps 7200 and 7300 may be performed by tracker 4220 of device 4000.

[0129] In one embodiment, method 7000 may further include step 7400, in which signal S2 is decoded based at least on the tracking parameters of signal S1. Step 7400 may be performed by decoder 4310 of device 4000.

[0130] In one implementation, signal S2 can be a Code Shift Keying (CSK) signal. For example, signal S2 can be... Figure 2A and Figure 2B One of the L61 or L62 signals described herein, wherein the signal S2 is subjected to the following: Figure 3 The CSK modulation described herein. It should be understood that signal S2 can have a different characteristic than that described above. Figure 3 Another CSK modulation for a specific CSK modulation. For example, different PRN codes can be used. Furthermore, navigation messages of different lengths (besides 8 bits) can be encoded.

[0131] In one embodiment, the tracking parameters of the signal S1 generated in step 7300 may include at least one of the Doppler frequency of the signal S1 and the code phase of the signal S1.

[0132] In one embodiment, decoding signal S2 may include deriving parameters for decoding signal S2 based on the tracking parameters of signal S1. The derived parameters may include the Doppler frequency of signal S2 and one or more code phase assumptions for signal S2. This operation may be performed by converter 4311 of device 4000.

[0133] In one implementation, deriving the parameters for decoding signal S2 may include calculating the Doppler frequency of signal S2 according to Equation 1:

[0134] f2 = f1 * (F2 / F1),

[0135] Where F1 is the nominal carrier frequency of signal S1, F2 represents the Doppler frequency of signal S2, and f2 represents the Doppler frequency of signal S2.

[0136] In one implementation, the parameters for decoding signal S2 can be derived by generating the code phase assumptions of signal S2 using Equations 2 and 3:

[0137] T2(0) = T1 + D,

[0138] T2(k)=T2(0)+k*ΔT, k=0,…,P-1,

[0139] Where T1 represents the code phase of signal S1, D represents the code phase offset between signal S1 and signal S2, T2(k) represents the k-th code phase hypothesis of signal S2, ΔT represents the code phase increment between two adjacent code phase hypotheses of signal S2, and P represents the total number of code phases used in the CSK modulation scheme of signal S2.

[0140] In one embodiment, decoding of signal S2 may further include: generating one or more local copies of signal S2 based on the Doppler frequency of signal S2 and one or more code phase assumptions of signal S2, which may be performed by a local signal generator 4312 of device 4000; correlating signal S2 with one or more local copies, which may be performed by a correlator 4313 of device 4000; detecting one or more CSK symbols based on the correlation, which may be performed by a symbol detector 4314 of device 4000; and detecting and / or correcting bit errors in one or more CSK symbols, which may be performed by an RS decoder 4315 of device 4000.

[0141] In one implementation, method 7000 may further include: calculating the GDD between signals S1 and S2 based on the decoding of signal S2; and feeding back the calculated GDD for decoding signal S2. These operations may be performed by the GDD compensator 4320 of device 4000.

[0142] In one implementation, calculating GDD includes: detecting at least one CSK symbol of signal S2; determining whether the at least one detected CSK symbol corresponds to a specific code phase included in a predefined group code phase hypothesis of signal S2; and in response to determining that the at least one detected CSK symbol corresponds to a specific code phase included in the predefined group code phase hypothesis, triggering a corresponding early-late gate pair to track the specific code phase to generate GDD.

[0143] In one implementation, the predefined group code phase assumptions may include M selected code phase assumptions for signal S2. The M selected code phase assumptions may correspond to the M code phases with the M highest prior occurrence probabilities out of the total P code phases used in CSK modulation of signal S2. M may be a positive integer not greater than P.

[0144] In one implementation, calculating GDD may include: applying an early-late gate comparator to the output of the corresponding early-late gate pair; and applying a gain to the output of the early-late gate comparator.

[0145] In one implementation, feeding back the calculated GDD for decoding may include: updating the code phase hypothesis of signal S2 based at least on the calculated GDD and the code phase of signal S1; providing the updated code phase hypothesis for detecting CSK symbols of signal S2; and providing the updated code phase hypothesis to the corresponding early-late gate pair.

[0146] In one embodiment, signal S2 may be a QZSS CLAS signal comprising an L6D data stream and an L6E data stream, and decoding includes decoding at least one of the L6D or L6E data streams. In other embodiments, decoding of signal S2 may include simultaneously decoding the L6D and L6E data streams.

[0147] In one embodiment, the satellite from which the received signals S1 and S2 originate is a first satellite, and the method 7000 further includes the following steps: receiving a third GNSS signal transmitted by a second satellite in a first GNSS operating frequency band and a fourth GNSS signal transmitted by the second satellite in a second GNSS operating frequency band; tracking the third GNSS signal; generating tracking parameters for the third GNSS signal based on the tracking of the third GNSS signal; and decoding the fourth GNSS signal based at least on the tracking parameters of the third GNSS signal.

[0148] In one implementation, the fourth GNSS signal may be of the same signal type as signal S2. Specifically, signal S2 and the fourth GNSS signal are each QZSS CLAS signals containing L6D and L6E data streams, and the method includes: simultaneously decoding the L6D data streams of both signal S2 and the fourth GNSS signal; or simultaneously decoding the L6E data streams of both signal S2 and the fourth GNSS signal.

[0149] The techniques disclosed herein provide an improved method for processing GNSS signals. Some implementations provide joint processing of the new L6 signal with conventional signals such as L1, L2, or L5 signals. By decoding the L6 signal according to the tracking parameters of the conventional signal, the processing of the L6 signal can be simplified. For example, acquisition and tracking processing can be omitted for the L6 signal. This is particularly advantageous when the L6 signal employs a new CSK modulation different from that of the conventional signal.

[0150] Additionally, in some implementations, the GDD between the L6 signal and the regular signal is adaptively calculated and compensated. This provides better accuracy compared to assuming the code phase offset between the L6 signal and the regular signal is a constant value. Furthermore, the adaptive calculation and compensation of GDD is triggered under predefined conditions, which allows for the implementation of adaptive calculation and compensation of GDD at a limited cost while achieving sufficiently good performance.

[0151] Note that although signal S1 can be one of L1, L2, or L5, using different signals as signal S1 can provide different performance. As shown in Table 1, the center carrier frequencies of L1, L2, L5, and L6 signals are 1575.42MHz, 1227.60MHz, 1176.45MHz, and 1278.75MHz, respectively. Therefore, the frequency difference between L2 and L6 signals is the smallest, while the frequency difference between L1 and L6 signals is the largest. Note that the GDD between two signals depends on the frequency difference between the two signals. Therefore, when L6 signal is signal S2, selecting L2 signal as signal S1 among L1, L2, and L5 signals will provide the smallest GDD, thus offering the best performance. Using L1 signal as signal S1 will provide a larger GDD, thus resulting in poorer performance. In one embodiment, signal S1 can be selected as L1 signal. In a preferred embodiment, signal S1 can be selected as L5 signal. In a best embodiment, signal S1 can be selected as L2 signal.

[0152] According to one embodiment, the techniques described herein are implemented by one or more dedicated computing devices. These dedicated computing devices may be hardwired to execute these techniques, or may include digital electronic devices (e.g., one or more application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or network processing units (NPUs) permanently programmed to execute these techniques), or may include one or more general-purpose hardware processors programmed to execute these techniques according to program instructions in firmware, memory, other storage devices, or a combination thereof. Such dedicated computing devices may also combine custom hardwired logic, ASICs, FPGAs, or NPUs with custom programming to implement these techniques. Dedicated computing devices may be desktop computer systems, portable computer systems, handheld devices, network devices, or any other device that combines hardwired and / or program logic to implement these techniques.

[0153] Figure 8 This is a block diagram illustrating a GNSS receiver 8000 that implements the technology according to embodiments herein. The GNSS receiver 8000 may be... Figure 1An example of receiver 1100. A GNSS receiver may include front-end circuitry 8100 and processor 8200. In one embodiment, front-end circuitry 8100 may be configured to receive satellite signals transmitted by a GNSS satellite from free space. For example, front-end circuitry 8100 may include an antenna array configured to operate in a first GNSS operating band and a second GNSS operating band. The antenna array may receive both signal S1 from the first GNSS operating band and signal S2 from the second GNSS operating band transmitted by the same satellite. The front-end device may also be configured to transmit the received signals to processor 8200. In one embodiment, processor 8200 may be configured to perform... Figure 7 Method 7000. For example, processor 8200 can be an example implementation of device 4000 (or 4000A) as described above. Processor 8200 can take the form of a GNSS processor / chip / module. Furthermore, processor 8200 can be configured to provide PNT information for display or to transmit PNT information to another device or application.

[0154] Figure 9 This is a block diagram illustrating a computing device capable of implementing the techniques according to the embodiments described herein.

[0155] The computing system 9000 includes a bus 9100 for transmitting information and a hardware processor 9200 connected to the bus 9100 to process information. The computing system 9000 also includes a main memory 9300, such as random access memory (RAM) or other dynamic storage device, connected to the bus 9100 to store information and instructions to be executed by the processor 9200. The main memory 9300 can also be used to store temporary variables or other intermediate information during the execution of instructions to be executed by the processor 9200. When these instructions are stored in a non-transitory storage medium accessible to the processor 9200, the computing system 9000 presents itself as a dedicated machine customized to perform the operations specified in the instructions.

[0156] The computing system 9000 also includes a storage device 9400 connected to a bus 9100 for storing static information and instructions for the processor 9200. The storage device 9400 (e.g., a disk or optical disk) is provided and connected to the bus 9100 to store information and instructions.

[0157] The computing system 9000 may include an I / O interface 9500. For example, the computing system may be connected via a bus 9100 to a display, such as a cathode ray tube (CRT), for displaying information to a computer user. Input devices, including alphanumeric keys and other keys, are connected to the bus 9100 to transmit information and command selections to the processor 9200. Another type of user input device is a cursor controller, such as a mouse, trackball, or arrow keys, for transmitting directional information and command selections to the processor 9200 and for controlling cursor movement on the display.

[0158] The computing system 9000 may implement the techniques described herein using custom hardwired logic, one or more ASICs or FPGAs, firmware, and / or program logic, which, in conjunction with a computer system, enable or program the computing system 9000 into a special-purpose machine. According to one embodiment, the techniques herein are executed by the computing system 9000 in response to processor 9200 executing one or more sequences of one or more instructions contained in main memory 9300. These instructions may be read into main memory 9300 from another storage medium (e.g., storage device 9400). Execution of the sequence of instructions contained in main memory 9300 causes processor 9200 to perform the processing steps described herein. In another embodiment, hardwired circuitry may be used in place of or in combination with software instructions.

[0159] As used herein, the term "storage medium" refers to any non-transitory medium that stores data and / or instructions that enable a machine to function in a particular manner. Such storage media can include non-volatile media and / or volatile media. For example, non-volatile media include optical discs or magnetic disks (e.g., storage device 810). Volatile media include dynamic memory (e.g., main memory 9300). Common forms of storage media include, for example, floppy disks, floppy hard disks, hard disks, solid-state drives, magnetic tape or any other magnetic data storage media, CD-ROMs, any other optical data storage media, any physical media with a perforated pattern, RAM, PROMs and EPROMs, Flash-EPROMs, NVRAMs, any other memory chips or tapes, content-addressable memory (CAM), and ternary content-addressable memory (TCAM).

[0160] The computing system 9000 may also include a communication interface 9600 connected to the bus 9100. The communication interface 9600 provides bidirectional data communication connectivity to external devices. For example, the communication interface 9600 may be an Integrated Services Digital Network (ISDN) card, a cable modem, a satellite modem, or a modem to provide data communication connectivity to a corresponding type of telephone line. As another example, the communication interface 9600 may be a Local Area Network (LAN) card to provide data communication connectivity to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface 9600 transmits and receives electrical, electromagnetic, or optical signals carrying digital data streams representing various types of information.

[0161] In the foregoing specification, embodiments of the invention have been described with reference to numerous specific details, which may vary depending on the embodiments. Therefore, the specification and drawings are to be considered illustrative rather than restrictive. The unique and exclusive reference to the scope of the invention, and the scope of the invention as desired by the applicant, is the literal and equivalent scope of the set of claims published in the specific form of the claims (including any subsequent amendments) according to this application.

Claims

1. A method for processing satellite signals from a Global Navigation Satellite System (GNSS), the method comprising the following steps: Receive a first GNSS signal transmitted by the GNSS satellite in a first GNSS operating frequency band and a second GNSS signal transmitted by the satellite in a second GNSS operating frequency band; Track the first GNSS signal; Generate tracking parameters for the first GNSS signal; as well as The second GNSS signal is decoded based at least on the tracking parameters of the first GNSS signal. The first GNSS operating frequency band is one of the L1, L2, and L5 frequency bands, and the second GNSS operating frequency band is the L6 frequency band. The method further includes the following steps: Based on the decoding results, the group delay difference (GDD) between the first GNSS signal and the second GNSS signal is calculated; and The calculated GDD is fed back to decode the second GNSS signal.

2. The method according to claim 1, wherein, The second GNSS signal is a Code Shift Keying (CSK) signal.

3. The method according to claim 1, wherein, The tracking parameters of the first GNSS signal include at least one of the following: The Doppler frequency of the first GNSS signal; or The code phase of the first GNSS signal.

4. The method according to claim 3, wherein, The steps for decoding the second GNSS signal include: Based on the tracking parameters of the first GNSS signal, parameters for decoding the second GNSS signal are derived, including the Doppler frequency of the second GNSS signal and one or more code phase assumptions of the second GNSS signal.

5. The method according to claim 4, wherein, The steps for deriving the parameters used to decode the second GNSS signal include: The Doppler frequency of the second GNSS signal is calculated using the following formula: f2=f1 (F2 / F1) Wherein, F1 is the nominal carrier frequency of the first GNSS signal, f1 represents the Doppler frequency of the first GNSS signal, F2 represents the nominal carrier frequency of the second GNSS signal, and f2 represents the Doppler frequency of the second GNSS signal; and The code phase assumption of the second GNSS signal is generated by the following formula: T2(0) = T1 + D, T2(k)=T2(0)+k ΔT,k=0,…,P-1, Wherein, T1 represents the code phase of the first GNSS signal, D represents the code phase offset between the first GNSS signal and the second GNSS signal, T2(k) represents the k-th code phase assumption of the second GNSS signal, ΔT represents the code phase increment between two adjacent code phase assumptions of the second GNSS signal, and P represents the total number of code phases used in the code shift keying (CSK) scheme of the second GNSS signal.

6. The method according to claim 1, wherein, The GNSS is a Quasi-Zenith Satellite System (QZSS), the second GNSS signal is a QZSS centimeter-level augmentation service (CLAS) signal including L6D and L6E data streams, and the steps for decoding the second GNSS signal include: Decode at least one of the L6D data stream and the L6E data stream; or Simultaneously decode the L6D data stream and the L6E data stream.

7. The method according to claim 1, wherein, The GNSS satellite is the first satellite, and the method further includes the following steps: Receive a third GNSS signal transmitted by the second satellite of the GNSS in the first GNSS operating frequency band and a fourth GNSS signal transmitted by the second satellite in the second GNSS operating frequency band; Track the third GNSS signal; The tracking parameters of the third GNSS signal are generated based on the tracking of the third GNSS signal; and The fourth GNSS signal is decoded based at least on the tracking parameters of the third GNSS signal.

8. The method according to claim 7, wherein, The GNSS is a Quasi-Zenith Satellite System (QZSS), and each of the second and fourth GNSS signals is a QZSS centimeter-level augmentation service (CLAS) signal including L6D and L6E data streams. The method includes the following steps: Simultaneously decode the L6D data streams of both the second GNSS signal and the fourth GNSS signal; or Simultaneously decode the L6E data streams of both the second GNSS signal and the fourth GNSS signal.

9. An apparatus for processing navigation satellite signals from a Global Navigation Satellite System (GNSS), the apparatus comprising: Receiver, the receiver being configured to: Receive the first GNSS signal transmitted by the GNSS satellite in the first GNSS operating frequency band; and Receive the second GNSS signal transmitted by the satellite in the second GNSS operating frequency band; Tracker, the tracker is configured to: Track the first GNSS signal; and The tracking parameters of the first GNSS signal are generated based on the tracking of the first GNSS signal; as well as Decoder, the decoder is configured to: The second GNSS signal is decoded based at least on the tracking parameters of the first GNSS signal. The first GNSS operating frequency band is one of L1, L2, and L5, and the second GNSS operating frequency band is L6. The device also includes a group delay difference (GDD) compensator, which is configured to: Based on the decoding of the second GNSS signal, the group delay difference (GDD) between the first GNSS signal and the second GNSS signal is calculated; and The calculated GDD is fed back to the decoder.

10. The device according to claim 9, wherein, The second GNSS signal is a Code Shift Keying (CSK) signal.

11. The device according to claim 9, wherein, The tracking parameters of the first GNSS signal include at least one of the following: The Doppler frequency of the first GNSS signal; or The code phase of the first GNSS signal.

12. The device according to claim 11, wherein, The decoder is also configured to: Based on the tracking parameters of the first GNSS signal, parameters for decoding the second GNSS signal are derived. The derived parameters include the Doppler frequency of the second GNSS signal and one or more code phase assumptions of the second GNSS signal.

13. The device according to claim 12, wherein, The decoder is also configured to: The Doppler frequency of the second GNSS signal is calculated using the following formula: f2=f1 (F2 / F1) Wherein, F1 is the nominal carrier frequency of the first GNSS signal, f1 represents the Doppler frequency of the first GNSS signal, F2 represents the nominal carrier frequency of the second GNSS signal, and f2 represents the Doppler frequency of the second GNSS signal; and The code phase assumption of the second GNSS signal is generated by the following formula: T2(0) = T1 + D, T2(k)=T2(0)+k ΔT,k=0,…,P-1, Wherein, T1 represents the code phase of the first GNSS signal, D represents the code phase offset between the first GNSS signal and the second GNSS signal, T2(k) represents the k-th code phase assumption of the second GNSS signal, ΔT represents the code phase increment between two adjacent code phase assumptions of the second GNSS signal, and P represents the total number of code phases used in the code shift keying (CSK) scheme of the second GNSS signal.

14. The device according to claim 9, wherein, The GNSS is a Quasi-Zenith Satellite System (QZSS), the second GNSS signal is a QZSS centimeter-level augmentation service (CLAS) signal including L6D and L6E data streams, and the decoder is configured to: Decode at least one of the L6D data stream and the L6E data stream; or Simultaneously decode the L6D data stream and the L6E data stream.

15. The device according to claim 9, wherein: The satellite mentioned in the GNSS is the first satellite; The receiver is also configured to receive a third GNSS signal transmitted by the second satellite of the GNSS in the first GNSS operating frequency band and a fourth GNSS signal transmitted by the second satellite in the second GNSS operating frequency band; The tracker is also configured to track the third GNSS signal and generate tracking parameters for the third GNSS signal based on the tracking of the third GNSS signal; and The decoder is also configured to decode the fourth GNSS signal based at least on the tracking parameters of the third GNSS signal.

16. The device according to claim 15, wherein, The GNSS is a Quasi-Zenith Satellite System (QZSS), and each of the second and fourth GNSS signals is a QZSS centimeter-level augmentation service (CLAS) signal including L6D and L6E data streams. The decoder is configured to: Simultaneously decode the L6D data streams of both the second GNSS signal and the fourth GNSS signal; or Simultaneously decode the L6E data streams of both the second GNSS signal and the fourth GNSS signal.

17. An apparatus for processing satellite signals from a Global Navigation Satellite System (GNSS), the apparatus comprising: One or more processors; as well as At least one machine-readable medium, the at least one machine-readable medium comprising executable instructions that, when executed by the one or more processors, cause the device to: Receive a first GNSS signal transmitted by the GNSS satellite in a first GNSS operating frequency band and a second GNSS signal transmitted by the satellite in a second GNSS operating frequency band; Track the first GNSS signal; Generate tracking parameters for the first GNSS signal; The second GNSS signal is decoded based at least on the tracking parameters of the first GNSS signal; The group delay difference (GDD) between the first GNSS signal and the second GNSS signal is calculated based on the decoding result. as well as Feedback is used to calculate GDD to decode the second GNSS signal. The first GNSS operating frequency band is one of L1, L2 and L5, and the second GNSS operating frequency band is L6.

18. The device according to claim 17, wherein, The second GNSS signal is a Code Shift Keying (CSK) signal.

Citation Information

Patent Citations

  • Satellite signal receiver

    JP2019074436A

  • Management of concurrent GNSS reception and wireless transmission

    US20210157014A1