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.
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.