CN110531385B - Multichannel parallel tracking engine and tracking method - Google Patents

Multichannel parallel tracking engine and tracking method Download PDF

Info

Publication number
CN110531385B
CN110531385B CN201910912501.XA CN201910912501A CN110531385B CN 110531385 B CN110531385 B CN 110531385B CN 201910912501 A CN201910912501 A CN 201910912501A CN 110531385 B CN110531385 B CN 110531385B
Authority
CN
China
Prior art keywords
code
code phase
updated
channel
logical channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910912501.XA
Other languages
Chinese (zh)
Other versions
CN110531385A (en
Inventor
陈俊林
贾志科
黄磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hexin Xingtong Technology Usa Co ltd
Unicorecomm Shanghai Technology Co ltd
Hexin Xingtong Technology Beijing Co ltd
Original Assignee
Hexin Xingtong Technology Usa Co ltd
Unicorecomm Shanghai Technology Co ltd
Hexin Xingtong Technology Beijing Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hexin Xingtong Technology Usa Co ltd, Unicorecomm Shanghai Technology Co ltd, Hexin Xingtong Technology Beijing Co ltd filed Critical Hexin Xingtong Technology Usa Co ltd
Priority to CN201910912501.XA priority Critical patent/CN110531385B/en
Publication of CN110531385A publication Critical patent/CN110531385A/en
Application granted granted Critical
Publication of CN110531385B publication Critical patent/CN110531385B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/30Acquisition or tracking or demodulation of signals transmitted by the system code related

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)

Abstract

The application discloses a multi-channel parallel tracking engine and a tracking method, wherein the tracking engine comprises a channel configuration unit and one or more logic channels connected with the channel configuration unit, the channel configuration unit comprises a detection module, a replication module and a first code generator, the logic channels comprise a second code generator, the detection module detects whether each logic channel is initially configured or updates a code phase, and if so, initially configured or updated code phase information is input into the first code generator; the first code generator generates a code corresponding to the code phase according to the input code phase information; the copy module copies the state of the first code generator and the generated code to the second code generator. According to the method and the device, the channel configuration unit comprising the detection module, the copying module and the first code generator is arranged, so that code phase generation and correlation operation are separated from each other, each logic channel is guaranteed to have enough time for correlation operation, the hardware utilization rate is increased, and the number of parallel channels is maximized.

Description

Multichannel parallel tracking engine and tracking method
Technical Field
The present application relates to, but not limited to, the field of satellite navigation technologies, and in particular, to a multi-channel parallel tracking engine and a tracking method.
Background
A Global Navigation Satellite System (GNSS) is a Satellite System with multiple satellites that transmits signals containing position and time information to a terrestrial GNSS receiver, by which the receiver can perform positioning. Currently, the main GNSS systems include the european union Galileo (Galileo) satellite navigation System, the united states Global Positioning System (GPS), the russian GLONASS (GLONASS) satellite navigation System, and the chinese beidou navigation System. As shown in fig. 1, the receiver mainly includes a radio frequency front end, a digital front end, an acquisition engine, a tracking engine, and a Position Velocity and Time (PVT) calculation, wherein the acquisition engine mainly detects, searches, and calculates a code phase and a carrier doppler value of a pseudo-random code in a signal sampled by the receiver, and once the search is successful, the receiver performs acquisition, tracking, and enters the tracking engine, and the receiver performs accurate calculation of Position Velocity and Time through loop tracking, bit decoding, and ephemeris extraction, thereby achieving positioning.
With the continuous development and improvement of each satellite navigation system, the number of satellites visible in the sky at the same time is increased, and the number of satellites capable of being tracked by a receiver at the same time is also increased, which is beneficial to improving the positioning performance. In order to simultaneously track a plurality of satellite signals and reduce the hardware cost of the receiver, the related art uses one physical channel to track a plurality of logical channels by means of time division multiplexing. Generally speaking, in order to ensure real-time performance, pseudo-random code stripping, correlation operation and the like on 1 millisecond data processed by a digital front end need to be completed within 1 millisecond; then in the time division multiplexing system, the time left for each logical channel is shorter, which is 1/R ms, where R is the number of logical channels multiplexed in one physical channel. In a time-division-multiplexed tracking engine, each logical channel is processed in time sequence, and the two most time-consuming tasks in each logical channel are configuration of code phase and stripping and correlation of code, respectively.
In the tracking engine, each channel generates a pseudo-random code according to a specified code phase, and the pseudo-random code is generated by adopting a linear feedback shift register, so the method has the advantages of simple implementation and low hardware cost, and has the disadvantage that the code generating any one phase needs to be generated by shifting from the phase 0, so the time complexity is in direct proportion to the length of the code. For modern satellite signals (e.g., L5, E5, B2a, etc.), the code rate is 10.23Mcps, and the length of the code is 10230, so that in the worst case the maximum number of clocks required to produce a given starting code phase is 10229. If a plurality of logical channels multiplexed in one physical channel are simultaneously assigned with new code phases, the time left for each channel is almost occupied by the generation of pseudo random codes, and no extra time is left for performing correlation operation, thereby causing operation errors or being forced to reduce the number of parallel channels.
Disclosure of Invention
The application provides a multi-channel parallel tracking engine and a tracking method, which can ensure that each logic channel has enough time for correlation operation.
In a first aspect, an embodiment of the present invention provides a multi-channel parallel tracking engine, including a channel configuration unit and one or more logical channels connected to the channel configuration unit, where the channel configuration unit includes a detection module, a first code generator, and a replication module, and the logical channels include a second code generator, where:
the detection module is used for detecting whether each logic channel is initially configured or updates the code phase, and if the code phase is initially configured or updated, the initially configured or updated code phase information is input into the first code generator;
the first code generator is used for generating a code corresponding to the code phase according to the input code phase information;
the copying module is used for copying the state of the first code generator and the generated code to the second code generator.
In an exemplary embodiment, when the input code phase information is an initially configured code phase, the code phase of the code generated by the first code generator is N;
when the input code phase information is an updated code phase, the code phase of the code generated by the first code generator is N-N;
wherein, N is the code phase of the initial configuration or update, and N is a preset code phase margin.
In an exemplary embodiment, the logical channel further comprises a numerically controlled oscillator, wherein:
the numerically controlled oscillator is configured to continuously calculate and count the number of overflows when the first code generator generates a code corresponding to the updated code phase, and calculate a variation Δ N of the updated code phase according to the number of overflows;
and the first code generator or the second code generator is further configured to generate a code corresponding to the final updated code phase according to the variation Δ N of the updated code phase and the code phase margin N.
In an exemplary embodiment, before the detection module inputs the updated code phase information to the first code generator, the detection module is further configured to:
comparing the updated code phase of the logical channel with the currently configured code phase of the logical channel;
if the updated code phase of the logical channel is smaller than the currently configured code phase of the logical channel, triggering the operation of inputting the updated code phase information into a first code generator;
if the updated code phase of the logical channel is larger than the currently configured code phase of the logical channel, calculating a difference value between the updated code phase of the logical channel and the currently configured code phase of the logical channel, and comparing the difference value with a preset code phase threshold value;
and if the difference value is larger than a preset code phase threshold value, triggering the operation of inputting the updated code phase information into the first code generator.
In an exemplary embodiment, the logical channels further include a correlator, and the detecting module detects whether each logical channel updates a code phase, including:
detecting whether the logical channel reconfigures the number of correlators;
detecting whether the logical channel reconfigures a correlator interval;
detecting whether the logical channel reconfigures a code phase.
In a second aspect, an embodiment of the present invention further provides a multi-channel parallel tracking method, including:
detecting whether each logic channel is initially configured or updates a code phase;
if the code phase is initially configured or updated, inputting the initially configured or updated code phase information into a first code generator so that the first code generator generates a code corresponding to the code phase according to the input code phase information;
copying the state of the first code generator and the generated code to the second code generator.
In an exemplary embodiment, when the input code phase information is an initially configured code phase, the code phase of the code generated by the first code generator is N;
when the input code phase information is an updated code phase, the code phase of the code generated by the first code generator is N-N;
wherein, N is the code phase of the initial configuration or update, and N is a preset code phase margin.
In an exemplary embodiment, the logical channel further includes a numerically controlled oscillator, and the multi-channel parallel tracking method further includes:
when the first code generator generates a code corresponding to the updated code phase, the numerical control oscillator continuously calculates and counts overflow times, and calculates the variation quantity delta N of the updated code phase according to the overflow times;
and the first code generator or the second code generator generates a code corresponding to the final updated code phase according to the variation quantity delta N of the updated code phase and the code phase margin N.
In an exemplary embodiment, before the inputting the updated code phase information into the first code generator, the multi-channel parallel tracking method further comprises:
comparing the updated code phase of the logical channel with the currently configured code phase of the logical channel;
if the updated code phase of the logical channel is smaller than the currently configured code phase of the logical channel, triggering the operation of inputting the updated code phase information into a first code generator;
if the updated code phase of the logical channel is larger than the currently configured code phase of the logical channel, calculating a difference value between the updated code phase of the logical channel and the currently configured code phase of the logical channel, and comparing the difference value with a preset code phase threshold value;
and if the difference value is larger than a preset code phase threshold value, triggering the operation of inputting the updated code phase information into the first code generator.
In an exemplary embodiment, the logical channels further include a correlator, and the detecting whether each logical channel updates a code phase includes:
detecting whether the logical channel reconfigures the number of correlators;
detecting whether the logical channel reconfigures a correlator interval;
detecting whether the logical channel reconfigures a code phase.
According to the multichannel parallel tracking engine and the multichannel parallel tracking method, the code corresponding to the code phase is generated through the first code generator according to the input code phase information, and the state of the first code generator and the generated code are copied to the second code generator, so that the generation and the correlation operation of the code phase of the logic channel are separated from each other, the sufficient time of each logic channel is ensured for the correlation operation, the hardware utilization rate is increased, and the number of parallel channels is maximized.
Additional features and advantages of the application will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the application. Other advantages of the application may be realized and attained by the instrumentalities and combinations particularly pointed out in the specification, claims, and drawings.
Drawings
The accompanying drawings are included to provide an understanding of the present disclosure and are incorporated in and constitute a part of this specification, illustrate embodiments of the disclosure and together with the examples serve to explain the principles of the disclosure and not to limit the disclosure.
FIG. 1 is a schematic diagram of a GNSS receiver in the related art;
FIG. 2 is a schematic diagram of time allocation of logical channels in a related art time division multiplexed tracking engine;
FIG. 3 is a schematic structural diagram of a multi-channel parallel trace engine according to an embodiment of the present invention;
FIG. 4 is a flowchart illustrating a process of generating an updated code phase according to an embodiment of the present invention;
FIG. 5 is a schematic diagram illustrating the principle of code phase update caused by reconfiguring the number of correlators according to the embodiment of the present invention;
fig. 6 is a flowchart illustrating a multi-channel parallel tracking method according to an embodiment of the present invention.
Detailed Description
The present application describes embodiments, but the description is illustrative rather than limiting and it will be apparent to those of ordinary skill in the art that many more embodiments and implementations are possible within the scope of the embodiments described herein. Although many possible combinations of features are shown in the drawings and discussed in the detailed description, many other combinations of the disclosed features are possible. Any feature or element of any embodiment may be used in combination with or instead of any other feature or element in any other embodiment, unless expressly limited otherwise.
The present application includes and contemplates combinations of features and elements known to those of ordinary skill in the art. The embodiments, features and elements disclosed in this application may also be combined with any conventional features or elements to form a unique inventive concept as defined by the claims. Any feature or element of any embodiment may also be combined with features or elements from other inventive aspects to form yet another unique inventive aspect, as defined by the claims. Thus, it should be understood that any of the features shown and/or discussed in this application may be implemented alone or in any suitable combination. Accordingly, the embodiments are not limited except as by the appended claims and their equivalents. Furthermore, various modifications and changes may be made within the scope of the appended claims.
Further, in describing representative embodiments, the specification may have presented the method and/or process as a particular sequence of steps. However, to the extent that the method or process does not rely on the particular order of steps set forth herein, the method or process should not be limited to the particular sequence of steps described. Other orders of steps are possible as will be understood by those of ordinary skill in the art. Therefore, the particular order of the steps set forth in the specification should not be construed as limitations on the claims. Further, the claims directed to the method and/or process should not be limited to the performance of their steps in the order written, and one skilled in the art can readily appreciate that the sequences may be varied and still remain within the spirit and scope of the embodiments of the present application.
Fig. 2 is a schematic diagram of time allocation of logical channels in a time-division multiplexing tracking engine, where R is the number of logical channels multiplexed in a physical channel, each logical channel is processed in time sequence, and two tasks that are most time-consuming in each logical channel are configuration of code phase and stripping and correlation of code, respectively. If a plurality of logical channels multiplexed in one physical channel are simultaneously assigned with new code phases, the time left for each channel is almost occupied by the generation of codes, and no extra time is left for carrying out correlation operation, thereby causing operation errors or being forced to reduce the number of parallel channels.
As shown in fig. 3, a multi-channel parallel tracking engine according to an embodiment of the present invention includes a channel configuration unit 10 and one or more logical channels 20 connected to the channel configuration unit 10, the channel configuration unit 10 includes a detection module 101, a first code generator 102 and a replication module 103, the logical channels 20 include a second code generator 201, where:
a detecting module 101, configured to detect whether each logical channel 20 is initially configured or updates a code phase, and if the code phase is initially configured or updated, input code phase information of the initial configuration or the update to the first code generator 102;
a first code generator 102 for generating a code corresponding to a code phase according to input code phase information;
a copying module 103, configured to copy the state of the first code generator 102 and the generated code to the second code generator 201.
In the embodiment of the present invention, the channel configuration unit 10 shared by the logical channels 20 is provided, and the detection module 101, the copy module 103 and the first code generator 102 are provided in the channel configuration unit 10 to accelerate the generation of the initially configured or updated code phase, so that the generation of the code phase and the use of the code are separated and are not blocked from each other, and the logical channels are ensured to have enough time for correlation operation. The embodiment of the present invention describes multi-channel parallelism, i.e. multiple logical channels 20 are parallel.
In an exemplary embodiment, the logical channel 20 further includes a Numerically Controlled Oscillator (NCO), wherein:
the NCO is used for continuously calculating and counting the overflow times when the first code generator 102 generates the code corresponding to the updated code phase, and calculating the variation quantity delta N of the updated code phase according to the overflow times;
the first code generator 102 or the second code generator 201 is further configured to generate a code corresponding to the final updated code phase according to the amount of change Δ N of the updated code phase and the code phase margin N.
When the multi-channel parallel tracking engine of the embodiment of the present invention is applied, the detection module 101 checks the logic channel 20 requiring initial configuration or code phase update, and enables the first code generator 102 to generate a corresponding code phase; meanwhile, the NCO in each logical channel 20 can continuously and normally operate according to the configuration value set by the software to maintain the continuity of each logical channel 20. After the first code generator 102 generates the code corresponding to the code phase, the internal state of the first code generator 102 and the generated code are copied to the second code generator 201 corresponding to the logic channel 20, and the code corresponding to the final updated code phase is generated according to the change quantity Δ N of the updated code phase calculated by the NCO.
In an exemplary embodiment, the first code generator 102 and/or the second code generator 201 are linear feedback shift registers.
The pseudo-random code is generated by the linear feedback shift register, and the pseudo-random code has the advantages of simple realization and low hardware cost, and has the defects that the code of any phase needs to be generated by shifting from the phase 0, so the time complexity is in direct proportion to the length of the code. The method and the device have the advantages that the generation of the code phase is separated from the use of the code, mutual blocking is avoided, and the fact that each logic channel has enough time for correlation operation is guaranteed.
In an exemplary embodiment, when the input code phase information is the initially configured code phase, the code phase of the code generated by the first code generator 102 is N;
when the input code phase information is the updated code phase, the code phase of the code generated by the first code generator 102 is N-N;
wherein, N is the initial configuration or updated code phase, and N is the preset code phase margin.
The multi-channel parallel tracking engine of the embodiment of the invention comprises two use scenes: initially configuring a logic channel and a code phase; modifying the configuration during operation results in the need to update the code phase. When initially configuring the logical channel and the code phase, a code corresponding to the initially configured code phase may be directly generated by the first code generator 102.
For the usage scenario of initially configuring the code phase, the code phase generation process of the multi-channel parallel tracking engine provided in the embodiment of the present invention includes:
(1) at the time of N ms, the detection module 101 detects whether there is an initial channel configuration, and sends the code phase of the initial configuration to the first code generator 102 to queue up and generate a code with a required code phase, it should be noted that the new channel cannot be configured into the logical channel 20 at this time even if the new channel can be operated in parallel;
(2) queuing and generating codes with required code phases in the first code generator 102 in N ms to N +1ms, and copying and storing the state of the codes generated in the first code generator 102 to a second code generator 201 corresponding to the logical channel 20 by the copying module 103;
(3) at time N +1ms, the state of the second code generator 201 in the logical channel 20 is ready and adjusted to the corresponding code phase position, at which time the logical channel 20 may be directly enabled, the pseudo random code stripped and normal operation started.
As can be seen from the above, the code phase generation process of the embodiment of the present invention introduces 1ms of delay enable sum operation.
The process of updating the code phase resulting from real-time modification of the configuration or adjustment of the code phase during channel operation can be somewhat complicated. In order to ensure that each logical channel 20 continuously calculates and count cannot be started until the code phase is updated, the update of the code phase and the correlation operation of the logical channel 20 need to be processed in parallel; meanwhile, since code phase generation requires a delay of at least 1ms, the updated code phase may be increased or decreased by 1ms due to doppler effect, such as: at the beginning of N ms, the pseudorandom code phase to be updated is 1000, and after 1ms, the value becomes 999 or 1001; if the directly generated code phase is 1000, and the value becomes 999 after 1ms, the code generator needs to be shifted 999 times again to obtain the directly generated code phase, i.e. the first generated code is invalid, and more time is wasted. Therefore, when the pseudo random code is updated in real time, the required code phase value cannot be directly generated, and a code phase margin with a preset value needs to be reserved.
For a usage scenario of updating a code phase in an operation process, as shown in fig. 4, a code phase generation process of a multi-channel parallel tracking engine provided by the embodiment of the present invention includes:
(I) at the time of N ms, the detection module 101 detects whether there is a code phase that needs to be updated, and sends the updated code phase information to the first code generator 102 to queue up to generate a code of the required code phase;
(II) queuing and generating codes of a required code phase in the first code generator 102 in N ms to N +1ms, and the copying module 103 copying and storing the state of the codes generated in the first code generator 102 to the second code generator 201 corresponding to the logical channel 20. Compared with the code phase generation process in the use scene of the initial configuration code phase, all the required code phase values cannot be directly generated at this time, and a certain amount of code phase margin needs to be reserved, for example, if the updated code phase is 1000, only 995 code phases in 1000 are generated at this time, and the remaining 5 code phases are used for preventing the problem that the generated code fails when the code phase generated by shifting is larger than the code phase finally updated due to the doppler effect. These 5 code phases will be filled in subsequent operations;
meanwhile, in the range from N ms to N +1ms, the NCO in the tracking channel still continuously operates, and the number of NCO overflow times in the 1ms is counted, so as to calculate and judge whether the pseudo-random code phase configured in the 1ms changes, and there are three possible situations: plus 1, minus 1 or remain unchanged. It should be emphasized that, within this 1ms, since the newly configured pseudo random code is still queued to be generated and cannot be used for the correlation operation of the logical channel 20, the correlation result is in error; however, the NCO needs to keep continuous operation to maintain continuous time and result output;
(III) at the moment of N +1ms, calculating the value of the pseudo-random code phase at the moment according to the counted NCO overflow times, and subtracting the partial code phase value generated from the moment of N ms to N +1ms to obtain the residual code phase. This residual code phase, which is usually a single bit number, can be shifted directly in the second code generator 201 of the logical channel 20. Still taking the example where the code phase margin is equal to 5, the residual code phase may be any of three possible values, 5+1, 5-1, 5. A final updated code phase is generated from the residual code phase.
In an exemplary embodiment, before the detection module 101 inputs the updated code phase information into the first code generator 102, the detection module 101 is further configured to:
comparing the updated code phase of the logical channel 20 with the currently configured code phase of the logical channel 20;
if the updated code phase of the logical channel 20 is smaller than the currently configured code phase of the logical channel 20, triggering an operation of inputting the updated code phase information into the first code generator 102;
if the updated code phase of the logical channel 20 is greater than the currently configured code phase of the logical channel 20, calculating a difference value between the updated code phase of the logical channel 20 and the currently configured code phase of the logical channel 20, and comparing the difference value with a preset code phase threshold value;
if the difference is greater than the predetermined code phase threshold, the operation of inputting the updated code phase information into the first code generator 102 is triggered.
Normally, the code generator formed by the linear feedback shift register only generates the code of the next adjacent phase in each processing clock, and in this embodiment, if the code phase to be updated is different from the currently used code phase by hundreds or thousands, or the updated code phase needs to be adjusted in the direction of decreasing the currently used code phase, the first code generator 102 needs to be used to generate the code phase to be updated.
In an exemplary embodiment, the logical channels 20 further include correlators, and the detecting module 101 detects whether each logical channel 20 updates the code phase, including:
detecting whether the logical channel 20 reconfigures the number of correlators;
detecting whether the logical channel 20 reconfigures a correlator interval;
it is detected whether the logical channel 20 reconfigures the code phase.
The situations that the configuration is modified during the operation to cause the code phase to need to be updated include the following situations: reconfiguring the number of correlators, reconfiguring the correlator spacing, decreasing the value of the currently used code phase, increasing the value of the currently used code phase, etc.
As shown in fig. 5, taking the number of the reconfigured correlators as an example, the code phase of the immediate (Prompt, P) correlator before configuration is 1000, the number of the correlators is 9, and the inter-symbol interval of each correlator is 0.5 chips, then the code phases of the Late (Late, L) correlator and the Early (Early, E) correlator are 1002(1000+ (9-1)/2 x 0.5) and 998(1000- (9-1)/2.5). If the number of the reconfigured correlators is 5 at this time, in order to ensure the tracking continuity, the code phase of the P correlator needs to be kept unchanged when any new configuration is updated, so the code phase of the configured P/L/E correlator is 1000/1001/999, wherein 1001 is 1000+ (5-1)/2 x 0.5, and 999 is 1000- (5-1)/2 x 0.5, respectively. Therefore, at this time, it is necessary to reset the phase of the code generator from 1002 to 1001, that is: the code generator needs to be adjusted in the direction of phase reduction. At this time, if the tracking engine in the related art is used, it is necessary to reset the code generator to phase 0, and then shift it 1001 times to obtain the required phase, which greatly takes time for operation. If the multi-channel parallel tracking engine provided by the embodiment of the invention is used, a code of a required code phase can be generated through the first code generator 102, meanwhile, the NCO in the logic channel 20 can keep continuous operation to judge whether the updated code phase changes, the continuity of operation is ensured by mutually separating the reconfiguration of the code phase and the stripping of the code, the limited time allocated to each channel is used for related operation, the hardware utilization rate is increased, the number of parallel channels is maximized, and the parallelism is improved.
On the other hand, as shown in fig. 6, an embodiment of the present invention further provides a multi-channel parallel tracking method, including the following steps:
step 601: detecting whether each logic channel is initially configured or updates a code phase;
in an exemplary embodiment, the logical channels further include a correlator, and the detecting whether each logical channel updates a code phase includes:
detecting whether the logical channel reconfigures the number of correlators;
detecting whether the logical channel reconfigures a correlator interval;
detecting whether the logical channel reconfigures a code phase.
The situations that the configuration is modified during the operation to cause the code phase to need to be updated include the following situations: reconfiguring the number of correlators, reconfiguring the correlator spacing, decreasing the value of the currently used code phase, increasing the value of the currently used code phase, etc.
As shown in fig. 5, taking the number of reconfigured correlators as an example, the code phase of P correlator before configuration is 1000, the number of correlators is 9, and the inter-code interval of each correlator is 0.5 chips, then the code phases of L correlator and E correlator are 1002(1000+ (9-1)/2 x 0.5) and 998(1000- (9-1)/2 x 0.5). If the number of the reconfigured correlators is 5 at this time, in order to ensure the tracking continuity, the code phase of the P correlator needs to be kept unchanged when any new configuration is updated, so the code phase of the configured P/L/E correlator is 1000/1001/999, wherein 1001 is 1000+ (5-1)/2 x 0.5, and 999 is 1000- (5-1)/2 x 0.5, respectively. Therefore, at this time, it is necessary to reset the phase of the code generator from 1002 to 1001, that is: the code generator needs to be adjusted in the direction of phase reduction. At this time, if the tracking method in the related art is used, it is necessary to reset the code generator to phase 0, and then shift it 1001 times to obtain the required phase, which greatly takes time for operation. If the multi-channel parallel tracking method provided by the embodiment of the invention is used, codes of required code phases can be generated through the first code generator, meanwhile, NCO in the logic channel can keep continuous operation to judge whether the updated code phases change, the continuity of operation is ensured by mutually separating the reconfiguration of the code phases and the stripping of the codes, the limited time allocated to each channel is used for related operation, the hardware utilization rate is increased, the number of parallel channels is maximized, and the parallelism is improved.
Step 602: if the code phase is initially configured or updated, inputting the initially configured or updated code phase information into a first code generator so that the first code generator generates a code corresponding to the code phase according to the input code phase information;
in an exemplary embodiment, when the input code phase information is an initially configured code phase, the code phase of the code generated by the first code generator is N;
when the input code phase information is an updated code phase, the code phase of the code generated by the first code generator is N-N;
wherein, N is the code phase of the initial configuration or update, and N is a preset code phase margin.
In an exemplary embodiment, the logical channel further comprises an NCO, the method further comprising:
when the NCO generates a code corresponding to the updated code phase in the first code generator, continuous operation is carried out, the overflow times are counted, and the variable quantity delta N of the updated code phase is calculated according to the overflow times;
the first code generator or the second code generator generates a code corresponding to the final updated code phase based on the amount of change Δ N in the updated code phase and the code phase margin N.
When the multi-channel parallel tracking method provided by the embodiment of the invention is applied, the NCO in each logic channel can continuously and normally operate according to the configuration value set by software while the first code generator generates the corresponding code phase, so as to keep the continuity of each logic channel. After the first code generator generates the code corresponding to the code phase, copying the state of the first code generator and the generated code to the second code generator corresponding to the logic channel, and generating the code corresponding to the final updated code phase according to the variable quantity delta N of the updated code phase calculated by the NCO.
In an exemplary embodiment, before inputting the updated code phase information into the first code generator, the method further comprises:
comparing the updated code phase of the logical channel with the currently configured code phase of the logical channel;
if the updated code phase of the logical channel is smaller than the currently configured code phase of the logical channel, triggering the operation of inputting the updated code phase information into a first code generator;
if the updated code phase of the logical channel is larger than the currently configured code phase of the logical channel, calculating a difference value between the updated code phase of the logical channel and the currently configured code phase of the logical channel, and comparing the difference value with a preset code phase threshold value;
and if the difference value is larger than a preset code phase threshold value, triggering the operation of inputting the updated code phase information into the first code generator.
Normally, the code generator formed by the linear feedback shift register only generates the code of the next adjacent phase in each processing clock, and in this embodiment, if the code phase to be updated is different from the currently used code phase by hundreds or thousands, or the updated code phase needs to be adjusted in the direction of decreasing the currently used code phase, the first code generator needs to be used to generate the code phase to be updated.
Step 603: copying the state of the first code generator and the generated code to the second code generator.
The multi-channel parallel tracking method provided by the embodiment of the invention comprises two use scenes: initially configuring a logic channel and a code phase; modifying the configuration during operation results in the need to update the code phase. When initially configuring the logical channel and the code phase, a code corresponding to the initially configured code phase may be directly generated by the first code generator.
For a usage scenario of initially configuring a code phase, a code phase generation process of the multi-channel parallel tracking method provided by the embodiment of the present invention includes:
(1) detecting whether an initial channel configuration exists at the moment of N ms, and sending the code phase of the initial configuration into a first code generator to queue and generate a code with a required code phase, wherein it needs to be noted that a new channel cannot be immediately combined for operation, and other configurations of the new channel cannot be configured into a logic channel at the moment;
(2) queuing and generating codes of a required code phase in a first code generator in N ms to N +1ms, and copying and storing the state of the codes generated in the first code generator into a second code generator corresponding to a logical channel;
(3) at time N +1ms, the state of the second code generator in the logic channel is ready and adjusted to the corresponding code phase position, at which time the logic channel can be directly enabled, the pseudo-random code is stripped and normal operation is started.
As can be seen from the above, the code phase generation process of the embodiment of the present invention introduces 1ms of delay enable sum operation.
The process of updating the code phase resulting from real-time modification of the configuration or adjustment of the code phase during channel operation can be somewhat complicated. In order to ensure that each logic channel is continuously calculated and counting can not be started until the code phase is updated, the updating of the code phase and the correlation operation of the logic channel need to be processed in parallel; meanwhile, since code phase generation requires a delay of at least 1ms, the updated code phase may be increased or decreased by 1ms due to doppler effect, such as: at the beginning of N ms, the pseudorandom code phase to be updated is 1000, and after 1ms, the value becomes 999 or 1001; if the directly generated code phase is 1000, and the value becomes 999 after 1ms, the code generator needs to be shifted 999 times again to obtain the directly generated code phase, i.e. the first generated code is invalid, and more time is wasted. Therefore, when the pseudo random code is updated in real time, the required code phase value cannot be directly generated, and a code phase margin with a preset value needs to be reserved.
For a usage scenario in which a code phase is updated in an operation process, as shown in fig. 4, a code phase generating process of the multi-channel parallel tracking method provided by the embodiment of the present invention includes:
(I) detecting whether a code phase needs to be updated at the time of N ms, and sending updated code phase information to a first code generator to queue and generate a code of the required code phase;
and (II) queuing and generating codes of required code phases in a first code generator in the range of N ms to N +1ms, and copying and storing the state of the codes generated in the first code generator into a second code generator corresponding to the logical channel. Compared with the code phase generation process in the use scene of the initial configuration code phase, all the required code phase values cannot be directly generated at this time, and a certain amount of code phase margin needs to be reserved, for example, if the updated code phase is 1000, only 995 code phases in 1000 are generated at this time, and the remaining 5 code phases are used for preventing the problem that the generated code fails when the code phase generated by shifting is larger than the code phase finally updated due to the doppler effect. These 5 code phases will be filled in subsequent operations;
meanwhile, in the range from N ms to N +1ms, the NCO in the tracking channel still continuously operates, and the number of NCO overflow times in the 1ms is counted, so as to calculate and judge whether the pseudo-random code phase configured in the 1ms changes, and there are three possible situations: plus 1, minus 1 or remain unchanged. It should be emphasized that, in this 1ms, since the newly configured pseudo random code is still generated in the queue and cannot be used for the correlation operation of the logical channel, the correlation result is in error; however, the NCO needs to keep continuous operation to maintain continuous time and result output;
(III) at the moment of N +1ms, calculating the value of the pseudo-random code phase at the moment according to the counted NCO overflow times, and subtracting the partial code phase value generated from the moment of N ms to N +1ms to obtain the residual code phase. This residual code phase, usually a single bit number, can be shifted directly in the second code generator of the logical channel. Still taking the example where the code phase margin is equal to 5, the residual code phase may be any of three possible values, 5+1, 5-1, 5. A final updated code phase is generated from the residual code phase.
It will be understood by those of ordinary skill in the art that all or some of the steps of the methods, systems, functional modules/units in the devices disclosed above may be implemented as software, firmware, hardware, and suitable combinations thereof. In a hardware implementation, the division between functional modules/units mentioned in the above description does not necessarily correspond to the division of physical components; for example, one physical component may have multiple functions, or one function or step may be performed by several physical components in cooperation. Some or all of the components may be implemented as software executed by a processor, such as a digital signal processor or microprocessor, or as hardware, or as an integrated circuit, such as an application specific integrated circuit. Such software may be distributed on computer readable media, which may include computer storage media (or non-transitory media) and communication media (or transitory media). The term computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, as is well known to those of ordinary skill in the art. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can accessed by a computer. In addition, communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media as known to those skilled in the art.

Claims (10)

1. A multi-channel parallel trace engine, comprising a channel configuration unit and one or more logical channels connected to the channel configuration unit, wherein the channel configuration unit comprises a detection module, a first code generator and a replication module, and the logical channels comprise a second code generator, wherein:
the detection module is used for detecting whether each logic channel is initially configured or updates the code phase, and if the code phase is initially configured or updated, the initially configured or updated code phase information is input into the first code generator;
the first code generator is used for generating a code corresponding to the code phase according to the input code phase information;
the copying module is used for copying the state of the first code generator and the generated code to the second code generator.
2. The multi-channel parallel trace engine of claim 1,
when the input code phase information is the code phase of the initial configuration, the code phase of the code generated by the first code generator is N;
when the input code phase information is an updated code phase, the code phase of the code generated by the first code generator is N-N;
wherein, N is the code phase of the initial configuration or update, and N is a preset code phase margin.
3. The multi-channel parallel tracking engine of claim 2, wherein the logical channel further comprises a numerically controlled oscillator, wherein:
the numerically controlled oscillator is configured to continuously calculate and count the number of overflows when the first code generator generates a code corresponding to the updated code phase, and calculate a variation Δ N of the updated code phase according to the number of overflows;
and the second code generator is further configured to generate a code corresponding to the final updated code phase according to the updated code phase variation Δ N and the code phase margin N.
4. The multi-channel parallel trace engine of claim 1, wherein before the detection module inputs the updated code phase information to the first code generator, the detection module is further configured to:
comparing the updated code phase of the logical channel with the currently configured code phase of the logical channel;
if the updated code phase of the logical channel is smaller than the currently configured code phase of the logical channel, triggering the operation of inputting the updated code phase information into a first code generator;
if the updated code phase of the logical channel is larger than the currently configured code phase of the logical channel, calculating a difference value between the updated code phase of the logical channel and the currently configured code phase of the logical channel, and comparing the difference value with a preset code phase threshold value;
and if the difference value is larger than a preset code phase threshold value, triggering the operation of inputting the updated code phase information into the first code generator.
5. The multi-channel parallel tracking engine of claim 1, wherein the logical channels further comprise correlators, and wherein the detecting module detects whether each logical channel updates a code phase comprises:
detecting whether the logical channel reconfigures the number of correlators;
detecting whether the logical channel reconfigures a correlator interval;
detecting whether the logical channel reconfigures a code phase.
6. A multi-channel parallel tracking method, comprising:
detecting whether each logic channel is initially configured or updates a code phase;
if the code phase is initially configured or updated, inputting the initially configured or updated code phase information into a first code generator so that the first code generator generates a code corresponding to the code phase according to the input code phase information;
copying the state of the first code generator and the generated code to a second code generator;
the channel configuration unit is connected with one or more logic channels, the channel configuration unit comprises a detection module, a first code generator and a replication module, and the logic channels comprise a second code generator.
7. Multi-channel parallel tracking method according to claim 6,
when the input code phase information is the code phase of the initial configuration, the code phase of the code generated by the first code generator is N;
when the input code phase information is an updated code phase, the code phase of the code generated by the first code generator is N-N;
wherein, N is the code phase of the initial configuration or update, and N is a preset code phase margin.
8. The multi-channel parallel tracking method of claim 7, wherein the logical channel further comprises a numerically controlled oscillator, the method further comprising:
when the first code generator generates a code corresponding to the updated code phase, the numerical control oscillator continuously calculates and counts overflow times, and calculates the variation quantity delta N of the updated code phase according to the overflow times;
and the second code generator generates a code corresponding to the final updated code phase according to the variation quantity delta N of the updated code phase and the code phase margin N.
9. The multi-channel parallel tracking method of claim 6, wherein before the inputting the updated code phase information into the first code generator, the method further comprises:
comparing the updated code phase of the logical channel with the currently configured code phase of the logical channel;
if the updated code phase of the logical channel is smaller than the currently configured code phase of the logical channel, triggering the operation of inputting the updated code phase information into a first code generator;
if the updated code phase of the logical channel is larger than the currently configured code phase of the logical channel, calculating a difference value between the updated code phase of the logical channel and the currently configured code phase of the logical channel, and comparing the difference value with a preset code phase threshold value;
and if the difference value is larger than a preset code phase threshold value, triggering the operation of inputting the updated code phase information into the first code generator.
10. The multi-channel parallel tracking method according to claim 6, wherein the logical channels further comprise correlators, and the detecting whether each logical channel updates the code phase comprises:
detecting whether the logical channel reconfigures the number of correlators;
detecting whether the logical channel reconfigures a correlator interval;
detecting whether the logical channel reconfigures a code phase.
CN201910912501.XA 2019-09-25 2019-09-25 Multichannel parallel tracking engine and tracking method Active CN110531385B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910912501.XA CN110531385B (en) 2019-09-25 2019-09-25 Multichannel parallel tracking engine and tracking method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910912501.XA CN110531385B (en) 2019-09-25 2019-09-25 Multichannel parallel tracking engine and tracking method

Publications (2)

Publication Number Publication Date
CN110531385A CN110531385A (en) 2019-12-03
CN110531385B true CN110531385B (en) 2021-05-28

Family

ID=68670164

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910912501.XA Active CN110531385B (en) 2019-09-25 2019-09-25 Multichannel parallel tracking engine and tracking method

Country Status (1)

Country Link
CN (1) CN110531385B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302234A (en) * 1991-03-29 1992-10-26 Nippondenso Co Ltd Spread spectrum signal demodulator
EP1482651A1 (en) * 2003-05-27 2004-12-01 Telefonaktiebolaget LM Ericsson (publ) Averaging a delay profile in a limited delay range
CN101068115A (en) * 2007-06-15 2007-11-07 西安华迅微电子有限公司 Multistellar satellite signal mixed serial and parallel correlation capturing method
CN101251591A (en) * 2007-12-20 2008-08-27 上海伽利略导航有限公司 Indoor positioning global positioning system receiver and correlator channel design method thereof
CN102023302A (en) * 2010-12-17 2011-04-20 浙江大学 Multichannel cooperative control method and device in satellite navigation receiver
US20110241938A1 (en) * 2010-04-05 2011-10-06 Accord Software and Systems Pvt., Ltd. Sequential Chip Correlation Array
CN102621562A (en) * 2012-03-20 2012-08-01 东南大学 Field programmable gate array (FPGA)-based multi-channel real-time global position system (GPS) tracking method and system
CN101738624B (en) * 2009-12-15 2013-04-10 和芯星通科技(北京)有限公司 Signal acquisition system and method for satellite navigation receiver
CN103760577A (en) * 2014-02-12 2014-04-30 深圳市峰华经纬科技有限公司 GNSS satellite tracking method
CN104062667A (en) * 2014-07-03 2014-09-24 哈尔滨工程大学 GPS weak signal tracking system based on I/Q branch correlation integral observation filtering
CN104880715A (en) * 2015-06-03 2015-09-02 刘哲 Unambiguous receiving method for BOC (n, n) signals
CN110196435A (en) * 2018-02-27 2019-09-03 中国科学院微电子研究所 Processing method, device, storage medium and the processor of signal

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101625404B (en) * 2008-07-09 2012-02-29 杭州中科微电子有限公司 GPS signal large-scale parallel quick capturing method and module thereof
CN101865991B (en) * 2009-04-17 2012-07-25 杭州中科微电子有限公司 Layered GPS (Global Positioning System) signal parallel capturing method and module thereof
CN102508269B (en) * 2011-09-30 2013-07-10 和芯星通科技(北京)有限公司 Satellite navigation pilot signal acquisition method, pseudo random sequence stripping method and device
CN105607076B (en) * 2015-12-23 2018-01-19 北京时代民芯科技有限公司 A kind of Beidou II B1 and B3 dual-frequency receivers

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04302234A (en) * 1991-03-29 1992-10-26 Nippondenso Co Ltd Spread spectrum signal demodulator
EP1482651A1 (en) * 2003-05-27 2004-12-01 Telefonaktiebolaget LM Ericsson (publ) Averaging a delay profile in a limited delay range
CN101068115A (en) * 2007-06-15 2007-11-07 西安华迅微电子有限公司 Multistellar satellite signal mixed serial and parallel correlation capturing method
CN101251591A (en) * 2007-12-20 2008-08-27 上海伽利略导航有限公司 Indoor positioning global positioning system receiver and correlator channel design method thereof
CN101738624B (en) * 2009-12-15 2013-04-10 和芯星通科技(北京)有限公司 Signal acquisition system and method for satellite navigation receiver
US20110241938A1 (en) * 2010-04-05 2011-10-06 Accord Software and Systems Pvt., Ltd. Sequential Chip Correlation Array
CN102023302A (en) * 2010-12-17 2011-04-20 浙江大学 Multichannel cooperative control method and device in satellite navigation receiver
CN102621562A (en) * 2012-03-20 2012-08-01 东南大学 Field programmable gate array (FPGA)-based multi-channel real-time global position system (GPS) tracking method and system
CN103760577A (en) * 2014-02-12 2014-04-30 深圳市峰华经纬科技有限公司 GNSS satellite tracking method
CN104062667A (en) * 2014-07-03 2014-09-24 哈尔滨工程大学 GPS weak signal tracking system based on I/Q branch correlation integral observation filtering
CN104880715A (en) * 2015-06-03 2015-09-02 刘哲 Unambiguous receiving method for BOC (n, n) signals
CN110196435A (en) * 2018-02-27 2019-09-03 中国科学院微电子研究所 Processing method, device, storage medium and the processor of signal

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Handling of the generation of primary events in Gauss, the LHCb simulation framework;I. Beiyaev 等;《 IEEE Nuclear Science Symposuim & Medical Imaging Conference》;20110613;第1155-1161页 *
卫星导航系统接收机原理与设计_之八;刘天雄;《卫星与网络》;20160625;第56-64页 *
基于FPGA的北斗信号捕获方法研究与实现;罗慕尧;《中国优秀硕士学位论文全文数据库 信息科技辑》;20170315;第1-62页 *

Also Published As

Publication number Publication date
CN110531385A (en) 2019-12-03

Similar Documents

Publication Publication Date Title
RU2438145C2 (en) Receiver and transmitter to be used in satellite navigation system
US10564296B2 (en) Distributed kalman filter architecture for carrier range ambiguity estimation
CN100586215C (en) System and method for relieving CDMA cross correlation interference and promoting TDMA position network SNR
EP2745141A1 (en) A navigation system using spreading codes based on pseudo-random noise sequences
US8810450B2 (en) Global positioning system receiver timeline management
US8106824B2 (en) Tracking satellite signal
US7706431B2 (en) System and method for providing optimized receiver architectures for combined pilot and data signal tracking
CN114019782B (en) Method and device for taming navigation satellite clock of automatic driving domain controller
CN211577433U (en) Global navigation satellite system receiver device
CN110531385B (en) Multichannel parallel tracking engine and tracking method
US11397265B2 (en) Universal multi-channel GNSS signal receiver
US7546423B2 (en) Signal processing system control method and apparatus
JP2002290154A (en) Numerically controlled oscillator in particular for radio-frequency signal receiver
US5068872A (en) Apparatus and method for short cycling sequences of a p-code generator
EP3415953A1 (en) Side peak tracking detection
CN114594504A (en) double-PVT (virtual reality) calculation method for mutual redundant backup of Beidou B1I and B3I signals
US20240069215A1 (en) Method and apparatus for lowering processor loading
KR20200083030A (en) System for syncronizing satellite time and ground time and the operation method thereof
US20080008278A1 (en) Frequency generation and adjustment
CN113311455B (en) Satellite signal analysis method and system
US20090100283A1 (en) Method for switching between two redundant oscillator signals within an alignment element
JP2023055213A (en) Secondary code determination in snapshot receiver based upon transmission time alignment
CN113311455A (en) Satellite signal analysis method and system
JP2022119752A (en) Bit transition enhanced direct position estimation in global satellite system positioning
Giles et al. A complete GPS time solution or precision GPS, in 1¼" cu in.

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant