Method and device for tracking direct sequence spread spectrum signal

By working together between the CPU device and the GPU device, using the advantages of multi-threaded parallel computing of the GPU device, parallel tracking operations are performed on the direct sequence spread spectrum signal, solving the problem of low real-time demodulation efficiency of spread spectrum signals in the prior art, and fast and real-time signal tracking and demodulation are achieved.

CN120017092AActive Publication Date: 2025-05-16PLA PEOPLES LIBERATION ARMY OF CHINA STRATEGIC SUPPORT FORCE AEROSPACE ENG UNIV
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202510458816.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-14
Publication Date
2025-05-16
Estimated Expiration
2045-04-14

AI Technical Summary

Technical Problem

The existing software demodulation technology cannot meet the real-time demodulation requirements of direct sequence spread spectrum signals, especially in the serial processing mode of CPU devices, the processing efficiency is low and stable demodulation cannot be achieved.

Method used

By working together between the CPU device and the GPU device, the multi-threaded parallel computing advantages of the GPU device are used to track the spread spectrum signals in parallel, call the GPU device for incoherent accumulation, improve processing efficiency, and realize real-time demodulation.

Benefits of technology

It effectively solves the problem of low real-time demodulation efficiency of spread spectrum signals in the prior art, realizes fast, real-time tracking and demodulation of direct sequence spread spectrum signals, and meets the requirements of real-time demodulation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120017092A_ABST
    Figure CN120017092A_ABST
Patent Text Reader

Abstract

The invention provides a tracking method and device for a direct sequence spread spectrum signal, which can be used in the technical field of signal processing and comprises the following steps: initializing loop parameters of a tracking loop by using a capture result; receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU, so that the GPU performs parallel tracking operation on the spread spectrum signal to obtain a target loop parameter and sends the target loop parameter to the CPU; updating the loop parameters of the tracking loop every time the target loop parameters are received; calling the GPU to perform incoherent accumulation based on the target loop parameter to obtain an energy accumulation value; and performing locking state judgment on the tracking loop based on the energy accumulated value, and when the tracking loop is stably locked, determining that spread spectrum signal tracking is completed. According to the scheme, signal tracking is completed through cooperation of the CPU and the GPU, the multi-thread parallel computing advantage of the GPU is utilized, the GPU is called for operation for the steps with the large operand in the tracking process, and the problem that real-time demodulation of spread spectrum signals cannot be achieved through an existing software demodulation technology is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of signal processing, and in particular to a tracking method and device for a direct sequence spread spectrum signal. Background Art

[0002] The direct sequence spread spectrum system is a communication technology with the advantages of anti-interference and low intercept probability. It uses a specific spread spectrum code to broaden the signal band, so that the signal has excellent anti-point interference ability during the propagation process. It is widely used in military communications, satellite communications, underwater acoustic communications and other fields. In the demodulation process of spread spectrum signals, how to demodulate spread spectrum signals quickly, in real time and accurately is a key problem to be solved in the design of spread spectrum demodulation equipment at the receiving end. At the receiving end, it is first necessary to complete signal capture, complete preliminary carrier synchronization and pseudo code synchronization, but the capture accuracy is low. At this time, the carrier Doppler error is about a few hundred Hz, and the code phase error is within half a code chip, but this accuracy is still not enough for stable demodulation of spread spectrum signals. The next step of signal tracking must be carried out, and tracking is a relatively time-consuming process.

[0003] In the existing technology, although the real-time demodulation rate is achieved based on peripheral boards such as DSP and FPGA, it cannot adapt to the current development trend of software-based signal demodulation, and has problems such as high development difficulty, difficult upgrade, and limited usage scenarios. Since the current software-based demodulation equipment is often developed based on multi-core CPUs, the tracking and processing of direct sequence spread spectrum signals involves a large number of related operations, and each code chip requires the calculation of multiple correlators. Due to its serial processing method, the CPU device has low processing efficiency and cannot meet the requirements of real-time demodulation. Summary of the invention

[0004] In view of this, an embodiment of the present invention provides a method and device for tracking a direct sequence spread spectrum signal to solve the problem that the existing software demodulation technology cannot meet the real-time demodulation requirement.

[0005] To achieve the above objectives, the embodiments of the present invention provide the following technical solutions:

[0006] A first aspect of an embodiment of the present invention discloses a direct sequence spread spectrum signal tracking method, which is applied to a CPU device, wherein the CPU device is connected to a GPU device, and the method includes:

[0007] Initializing loop parameters of a tracking loop using a capture result obtained by capturing a spread spectrum signal; the capture result includes: a carrier frequency range and a pseudo code phase range; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of a local carrier and the phase of a local pseudo code output by the tracking loop;

[0008] receiving the spread spectrum signal in real time, and sending the spread spectrum signal to the GPU device, so that the GPU device performs parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters and sends the target loop parameters to the CPU device;

[0009] whenever the target loop parameters are received, updating the loop parameters of the tracking loop based on the target loop parameters;

[0010] Calling the GPU device to perform non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value sent by the GPU device;

[0011] The locking state of the tracking loop is judged based on the energy accumulation value, and when the judgment result indicates that the tracking loop is stably locked, it is determined that the spread spectrum signal tracking is completed.

[0012] Preferably, before receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU device, the method further includes:

[0013] The memory of the GPU device is allocated to obtain operation memory for performing parallel tracking operations.

[0014] Preferably, the receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU device includes:

[0015] receiving the spread spectrum signal in real time;

[0016] The cudaMemcpy function is called to send the spread spectrum signal to the GPU device.

[0017] Preferably, the step of determining a locking state of the tracking loop based on the energy accumulation value, and determining that the spread spectrum signal tracking is completed when the determination result indicates that the tracking loop is stably locked, comprises:

[0018] Whenever the loop parameters of the tracking loop are updated, a frequency error is calculated based on the spread spectrum signal and a local carrier output by the tracking loop to obtain a plurality of frequency error values; if the number of the frequency error values ​​less than the frequency threshold exceeds a first preset number, it is determined that the carrier frequency is locked;

[0019] In the energy accumulated values ​​corresponding to the target loop parameters received after determining the carrier frequency lock, if the number of the energy accumulated values ​​that meet the carrier phase lock requirement exceeds the second preset number, the carrier phase lock is determined; the energy accumulated value that meets the carrier phase lock requirement indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches the first preset multiple;

[0020] Among the energy accumulation values ​​corresponding to the target loop parameters received after determining the carrier phase lock, if the number of the energy accumulation values ​​that meet the loop stability lock requirement exceeds a third preset number, it is determined that the tracking loop is stably locked and the spread spectrum signal tracking is completed; the energy accumulation value that meets the loop stability lock requirement indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches a second preset multiple; the second preset multiple is greater than the first preset multiple.

[0021] A second aspect of an embodiment of the present invention discloses a direct sequence spread spectrum signal tracking method, which is applied to a GPU device, wherein the GPU device is connected to a CPU device, and the method comprises:

[0022] Receiving a spread spectrum signal sent by the CPU device;

[0023] Based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, a parallel tracking operation is performed on the spread spectrum signal to obtain a target loop parameter and send the target loop parameter to the CPU device, so that the CPU device updates the loop parameter of the tracking loop based on the target loop parameter; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop;

[0024] In response to the call of the CPU device, performing non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value;

[0025] The energy accumulation value is sent to the CPU device.

[0026] Preferably, the tracking loop outputs a local carrier and a local pseudo code based on the current loop parameter control, performs parallel tracking operation on the spread spectrum signal, obtains the target loop parameter and sends the target loop parameter to the CPU device, including:

[0027] Acquire the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters; the local pseudo code includes: an advance code, an immediate code and a lag code; the phase of the advance code is half a chip ahead of the immediate code, and the phase of the lag code is half a chip behind the immediate code;

[0028] Generate multiple down-conversion calculation tasks according to each frequency point in the spread spectrum signal and the local carrier, and assign each of the down-conversion calculation tasks to each thread in the thread block for parallel calculation to obtain a spread spectrum signal after down-conversion;

[0029] For each sampling point in the spread spectrum signal after down-conversion, a despreading calculation task is generated in which the sampling point is multiplied by the leading code, the prompt code and the lagging code respectively, so as to obtain a plurality of the despreading calculation tasks;

[0030] Allocating each of the despreading calculation tasks to each thread in the thread block for parallel calculation to obtain a first despreading signal corresponding to the advanced code, a second despreading signal corresponding to the prompt code, and a third despreading signal corresponding to the delayed code;

[0031] The down-converted spread spectrum signal, the first despread signal, the second despread signal and the third despread signal are used as target loop parameters, and the cudaMemcpy function is called to send the target loop parameters to the CPU device.

[0032] Preferably, in response to the call of the CPU device, performing non-coherent accumulation based on the target loop parameter to obtain the energy accumulation value includes:

[0033] In response to the call of the CPU device, non-coherent accumulation is performed using a preset reduction algorithm and the target loop parameters to obtain an energy accumulation value.

[0034] Preferably, sending the energy accumulated value to the CPU device comprises:

[0035] The cudaMemcpy function is called to send the energy accumulation value to the CPU device.

[0036] A third aspect of an embodiment of the present invention discloses a tracking device for a direct sequence spread spectrum signal, which is applied to a CPU device, wherein the CPU device is connected to a GPU device, and the device comprises:

[0037] An initialization unit is used to initialize loop parameters of a tracking loop using a capture result obtained by capturing a spread spectrum signal; the capture result includes: a carrier frequency range and a pseudo code phase range; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of a local carrier and the phase of a local pseudo code output by the tracking loop;

[0038] a tracking operation initiating unit, configured to receive the spread spectrum signal in real time, and send the spread spectrum signal to the GPU device, so that the GPU device performs parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters, and sends the target loop parameters to the CPU device;

[0039] an updating unit, configured to update the loop parameters of the tracking loop based on the target loop parameters whenever the target loop parameters are received;

[0040] An accumulation calling unit, used for calling the GPU device to perform non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value sent by the GPU device;

[0041] The determination unit is used to determine the locking state of the tracking loop based on the energy accumulation value, and when the determination result indicates that the tracking loop is stably locked, determine that the spread spectrum signal tracking is completed.

[0042] A fourth aspect of an embodiment of the present invention discloses a tracking device for a direct sequence spread spectrum signal, which is applied to a GPU device, wherein the GPU device is connected to a CPU device, and the device comprises:

[0043] A receiving unit, used for receiving a spread spectrum signal sent by the CPU device;

[0044] A parallel tracking operation unit, configured to perform parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtain target loop parameters and send the target loop parameters to the CPU device, so that the CPU device updates the loop parameters of the tracking loop based on the target loop parameters; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop;

[0045] An accumulation response unit, configured to respond to a call of the CPU device and perform non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value;

[0046] A sending unit is used to send the energy accumulation value to the CPU device.

[0047] A tracking method and device for a direct sequence spread spectrum signal provided by the above-mentioned embodiment of the present invention uses a capture result obtained by capturing the spread spectrum signal to initialize loop parameters of a tracking loop; the capture result includes: a carrier frequency range and a pseudo code phase range; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of a local carrier and the phase of a local pseudo code output by the tracking loop; the spread spectrum signal is received in real time, and the spread spectrum signal is sent to the GPU device, so that the GPU device controls the tracking loop based on the current loop parameters. The local carrier and local pseudo code output by the loop are used to perform parallel tracking operations on the spread spectrum signal, obtain target loop parameters and send the target loop parameters to the CPU device; whenever the target loop parameters are received, the loop parameters of the tracking loop are updated based on the target loop parameters; the GPU device is called to perform non-coherent accumulation based on the target loop parameters to obtain the energy accumulation value sent by the GPU device; the locking state of the tracking loop is judged based on the energy accumulation value, and when the judgment result indicates that the tracking loop is stably locked, it is determined that the tracking of the spread spectrum signal is completed. In this solution, the CPU device and the GPU device are used to collaboratively complete signal tracking, and the multi-threaded parallel computing advantage of the GPU device is used. The GPU device is called to perform calculations for the steps with large computational complexity in the tracking process, which solves the problem that the existing software demodulation technology cannot achieve real-time demodulation of spread spectrum signals. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without paying creative work.

[0049] Figure 1 A direct sequence spread spectrum system anti-interference principle diagram disclosed in an embodiment of the present invention;

[0050] Figure 2 A structural diagram of a direct sequence spread spectrum system disclosed in an embodiment of the present invention;

[0051] Figure 3 A block diagram of a tracking loop disclosed in an embodiment of the present invention;

[0052] Figure 4 A block diagram of a third-order phase-locked loop assisted by a second-order frequency-locked loop disclosed in an embodiment of the present invention;

[0053] Figure 5A flowchart based on CPU device serial tracking disclosed in an embodiment of the present invention;

[0054] Figure 6 An interactive diagram of a direct sequence spread spectrum signal tracking system disclosed in an embodiment of the present invention;

[0055] Figure 7 A flow chart of a direct sequence spread spectrum signal tracking method disclosed in an embodiment of the present invention;

[0056] Figure 8 A flowchart of another direct sequence spread spectrum signal tracking method disclosed in an embodiment of the present invention;

[0057] Fig. 9 A schematic diagram of a parallel down-conversion algorithm disclosed in an embodiment of the present invention;

[0058] Fig.10 A schematic diagram of a parallel despreading calculation disclosed in an embodiment of the present invention;

[0059] Fig.11 A schematic diagram of summing a reduction algorithm disclosed in an embodiment of the present invention;

[0060] Fig.12 A structural diagram of a direct sequence spread spectrum signal tracking device disclosed in an embodiment of the present invention;

[0061] Fig.13 It is a structural diagram of another direct sequence spread spectrum signal tracking device disclosed in an embodiment of the present invention. DETAILED DESCRIPTION

[0062] The following will be combined with the drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0063] In this application, the terms "comprises", "comprising" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, an element defined by the sentence "comprising a ..." does not exclude the presence of other identical elements in the process, method, article or device comprising the element.

[0064] As can be seen from the background technology, the direct sequence spread spectrum system is a communication technology with advantages such as anti-interference and low intercept probability.

[0065] like Figure 1 FIG. 1 is a schematic diagram of anti-interference principle of a direct sequence spread spectrum system disclosed in an embodiment of the present invention. The specific anti-interference principle is as follows:

[0066] During the transmission process, point interference only occupies a small part of the entire bandwidth for the spread spectrum signal. After despreading at the receiving end, the original signal is restored, and the original point interference is equivalent to spread spectrum. After low-pass filtering, most of the interference is filtered out. This is the principle of anti-interference in spread spectrum communication.

[0067] like Figure 2 As shown, it is a structural diagram of a direct sequence spread spectrum system disclosed in an embodiment of the present invention.

[0068] The left half is the transmitter and the right half is the receiver. In the overall design of the spread spectrum system, how the signal receiver can quickly, in real time and accurately demodulate the spread spectrum signal is a key problem to be solved in the design of the spread spectrum demodulation equipment at the receiving end. In the demodulation process of the spread spectrum signal at the receiving end, the more time-consuming part is the capture and tracking of the signal. This application mainly focuses on the tracking part.

[0069] At the receiving end, the signal must be captured first, and the preliminary carrier synchronization and pseudo-code synchronization must be completed. However, the capture accuracy is low. At this time, the carrier Doppler error is around several hundred Hz, and the code phase error is within half a code chip. However, this accuracy is still not enough for stable demodulation of the spread spectrum signal, and the next step of signal tracking must be performed.

[0070] The tracking process of modern direct sequence spread spectrum signals mostly relies on the feedback and parameter adjustment of loop equipment, such as Figure 3 , which is a block diagram of a tracking loop disclosed in an embodiment of the present invention. The tracking loop is composed of a frequency locked loop, a phase locked loop and a delay locked loop.

[0071] based on Figure 3 The tracking loop shown is Figure 4 , which is a block diagram of a third-order phase-locked loop assisted by a second-order frequency-locked loop disclosed in an embodiment of the present invention.

[0072] Among them, for the locking of carrier frequency, the method of frequency-locked loop assisted phase-locked loop is mostly used. After completing the capture of carrier and pseudo code, the intermediate frequency digital signal is mixed and low-pass filtered with the orthogonal carrier signal generated locally to obtain two baseband signals. Carrier frequency discrimination is performed according to the two baseband signals. The obtained discrimination error signal is filtered through the discrimination loop filter. The filtered signal is sent to the carrier NCO to control the generation of local carrier and complete the carrier frequency-locked loop tracking. After the frequency-locked loop tracking, the frequency difference between the locally generated carrier signal and the received intermediate frequency signal is within a very small range. At this time, the carrier tracking loop starts to work. The A / D sampling signal is first mixed and low-pass filtered with the I, Q orthogonal local oscillator to complete the down-conversion. The intermediate frequency signal obtained by down-conversion is XORed with the local pseudo code to complete the despreading of the spread spectrum signal. The two orthogonal signals after despreading are multiplied to complete the phase discrimination. After filtering the phase discrimination result, the frequency of the local carrier is controlled to realize the closed loop of the Costas loop.

[0073] For pseudo code phase locking, a digital delay locked loop is often used, such as Figure 3 As shown, the dynamic information of the carrier loop is used to assist the code loop in controlling the output code rate of the pseudo-code numerically controlled oscillator. This can basically completely eliminate the dynamic stress borne by the pseudo-code, and the only thing left for the code loop itself is the slowly changing initial tracking error of the code loop. In this way, the baseband equipment can use a narrower code loop bandwidth to reduce the amount of loop noise and improve the ranging accuracy.

[0074] In the prior art, tracking of direct sequence spread spectrum signals is a subsequent operation of capture. Similar to capture, the tracking operation is also performed in both the frequency domain and the pseudo code domain. The tracking of the carrier frequency and the tracking of the pseudo code phase are coupled to each other, and the two processes are performed in parallel to assist each other.

[0075] like Figure 5 As shown, it is a flowchart based on CPU device serial tracking disclosed in an embodiment of the present invention, and the specific process is as follows:

[0076] 1. After completing the capture of the spread spectrum signal, the tracking loop will update the loop parameters based on the capture results.

[0077] 2. It is necessary to multiply the spread spectrum signal with the local pseudo code and then integrate or accumulate to obtain the correlation value.

[0078] 3. Output the obtained data to the tracking loop to determine whether the tracking loop lock is stable.

[0079] 4. When the loop lock state is stable, it means that stable tracking has been achieved. When the loop lock state is unstable, the spread spectrum signal is captured again.

[0080] It can be seen that when tracking spread spectrum signals, CPU devices are used for calculations, and the overall calculation process is serial. Spread spectrum signal tracking involves a large number of basic correlation operations. Each code chip needs to perform multiple correlator calculations, such as the advance code, immediate code, and delayed code involved in the delay lock loop for locking the code phase. The amount of calculation is large, which may cause speed bottlenecks on CPU devices due to serial processing. At the same time, steps such as loop filtering and NCO control may require frequent iterative calculations, and the single-threaded nature of the CPU also greatly limits its rate.

[0081] In summary, since current software-based demodulation equipment is often developed based on multi-core CPUs, the tracking and processing of direct sequence spread spectrum signals involves a large number of correlation operations, and each code chip requires the calculation of multiple correlators. Due to its serial processing method, the CPU device has low processing efficiency and cannot meet the requirements of real-time demodulation.

[0082] Therefore, an embodiment of the present invention discloses a method and device for tracking a direct sequence spread spectrum signal. In this solution, a CPU device and a GPU device are used to collaboratively complete signal tracking, and the multi-threaded parallel computing advantage of the GPU device is utilized. The GPU device is called to perform calculations for steps with large computational complexity during the tracking process, thereby solving the problem that existing software demodulation technology cannot achieve real-time demodulation of spread spectrum signals.

[0083] like Figure 6 FIG. 1 is an interactive diagram of a tracking system for a direct sequence spread spectrum signal disclosed in an embodiment of the present invention. The tracking system includes a CPU device and a GPU device, and the CPU device and the GPU device are connected via a PCIe bus.

[0084] It should be noted that GPU devices are naturally good at processing large-scale, simple repetitive calculations, and unlike hardware peripherals such as DSP and FPGA, the programming model of GPU devices is similar to that of CPU devices. The capture program is simple to adjust, which is in line with the development trend of signal processing software.

[0085] The tracking system is composed of CPU devices and GPU devices. It is a typical heterogeneous architecture. The CPU device is responsible for the logical processing of the entire operation. The CPU device transmits the spread spectrum signal to the GPU device through the PCIe bus. The GPU device is responsible for taking advantage of large-scale parallel computing. The CPU device first transmits instructions to the GPU device to allocate memory for various calculations. The GPU device takes advantage of multi-threaded parallel computing and is responsible for calculations with large computational workloads such as Doppler frequency shift, loop parameter calculation, and cumulative calculation. The specific interaction process is as follows:

[0086] 1. Allocate GPU memory for tracking operations.

[0087] Specifically, the video memory required for each parallel tracking operation step is allocated in the GPU device to provide corresponding storage space.

[0088] 2. Use cudaMemcpy to transfer the captured results to the memory used for tracing processing.

[0089] The capture result refers to the previous step tracked during the demodulation of the spread spectrum signal, and the capture result includes: carrier frequency range and pseudo code phase range. cudaMemcpy is a function used to transfer data between CPU memory and GPU memory.

[0090] 3. When enough data is accumulated, start tracking the signal.

[0091] Specifically, when the capture result is obtained and enough spread spectrum signals are accumulated, the tracking process of the spread spectrum signals is started.

[0092] 4. Calculate the sampling time and update the status.

[0093] This step is mainly to calculate the sampling time. Tracking is the subsequent stage of capture. After accumulating enough spread spectrum signals, the capture state is transferred to the tracking state for the first time. At this time, the sampling time is not calculated, and only the state is updated. For example, setting state 1 at this time means entering the tracking state for the first time, and then setting state 2 means entering the normal tracking state. At this time, the GetTime function is called to calculate the sampling time. In state 1, the tracking uses the spread spectrum signal used during capture, which can be understood as the spread spectrum signal received by the receiving end of the direct sequence spread spectrum system during the capture stage. In state 2, the tracking uses the spread spectrum signal subsequent to the spread spectrum signal used during capture, which can be understood as the spread spectrum signal received by the receiving end in real time.

[0094] 5. Use GPU devices to perform parallel tracking operations to obtain target loop parameters.

[0095] Specifically, the spread spectrum signal is received in real time and sent to the GPU device, so that the GPU device performs parallel tracking operations on the spread spectrum signal based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters and sends the target loop parameters to the CPU device.

[0096] It should be noted that the real-time reception of spread spectrum signals here refers to the CPU device in the tracking process. The spread spectrum signals received in real time by the CPU device in the tracking process include: the spread spectrum signals received by the receiving end in the capture phase and the spread spectrum signals received by the receiving end in real time.

[0097] When initiating parallel tracking operations on the GPU device, the CPU device first copies data from the CPU device memory to the GPU device memory through cudaMemcpy, then initiates instruction calls and functions to perform down-conversion, despreading, and subsequent accumulation operations, and then returns the results to the CPU device for related loop processing.

[0098] It should be noted that in the specific process of parallel tracking calculations on GPU devices, telemetry bit synchronization is one of the steps in spread spectrum signal demodulation. The steps of spread spectrum signal demodulation include: capture, tracking, bit synchronization, frame synchronization, and bit synchronization is the next stage of tracking. The purpose of tracking is to obtain more accurate estimates of carrier frequency and pseudo code phase, and to better remove the influence of Doppler frequency shift and pseudo code phase delay compared to capture. The despread signal after the tracking stage can already meet the signal bit synchronization. Accumulating telemetry bit synchronization data means that after the successful completion of tracking, the next step of bit synchronization is performed.

[0099] The index means that each local spreading code (local pseudo code) used for despreading corresponds to a thread index in the GPU device. When the most accurate pseudo code phase offset is obtained after despreading, the index corresponding to the local spreading code used for despreading is obtained to ensure stable tracking for the next bit synchronization operation.

[0100] 6. Update loop parameters such as carrier phase and pseudo code phase.

[0101] Specifically, whenever the CPU device receives the target loop parameters, it updates the loop parameters of the tracking loop based on the target loop parameters. Figure 3 As shown, it is used to track the spread spectrum signal, and the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop.

[0102] 7. Accumulate data and output related data.

[0103] Specifically, the GPU device is called to perform incoherent accumulation based on the target loop parameters to obtain the energy accumulation value sent by the GPU device.

[0104] The GPU device uses a preset reduction algorithm to perform incoherent accumulation based on target loop parameters.

[0105] 8. Calculate the errors of the phase-locked loop, code loop, and frequency-locked loop, and determine the locking status of the tracking loop.

[0106] Specifically, the locking state of the tracking loop is determined based on the energy accumulation value. When the determination result indicates that the tracking loop is stably locked, it is determined that the spread spectrum signal tracking is completed. For more specific locking state determination process, please refer to the following embodiment of the present invention.

[0107] Based on the interactive process of a tracking system disclosed in the above embodiment of the present invention, Figure 7 FIG. 1 is a flow chart of a direct sequence spread spectrum signal tracking method disclosed in an embodiment of the present invention. The tracking method is applied to a CPU device, and the CPU device is connected to a GPU device, and includes the following steps:

[0108] Step S101: Initializing loop parameters of a tracking loop using a capture result obtained by capturing a spread spectrum signal.

[0109] The capture result includes: a carrier frequency range and a pseudo code phase range; a tracking loop is used to track the spread spectrum signal; and loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop.

[0110] Step S102: receiving the spread spectrum signal in real time, and sending the spread spectrum signal to the GPU device, so that the GPU device performs parallel tracking operation on the spread spectrum signal based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters and sends the target loop parameters to the CPU device.

[0111] In step S102, when initiating the parallel tracking operation of the GPU device, the CPU device first copies the spread spectrum signal from the CPU device memory to the GPU device memory through cudaMemcpy, and then initiates instruction calls and functions to perform down-conversion, despreading and other operations, and then returns the target loop parameters to the CPU device for related loop processing.

[0112] The target loop parameters include: the spread spectrum signal after down-conversion, the signal after despreading, and other parameters used to adjust the phase of the local carrier and the local pseudo code output by the tracking loop.

[0113] Step S103: Whenever a target loop parameter is received, the loop parameter of the tracking loop is updated based on the target loop parameter.

[0114] In step S103, after the GPU device completes a parallel tracking operation, it transmits the target loop parameters back to the CPU device through the cudaMemcpy function. The CPU device performs loop filtering based on the target loop parameters to update the loop parameters of the tracking loop. Since the computationally intensive part is borne by the GPU device, the loop update rate is guaranteed and low-latency feedback can be achieved.

[0115] It should be noted that tracking is carried out through tracking loop feedback. The carrier loop tracking uses second-order frequency locking assisted by third-order phase locking. The locking of the pseudo-code phase relies on the delay locking loop. The loop parameters are first updated according to the capture results, and multiple feedback adjustments are made. That is, the loop parameters of the tracking loop are updated based on the target loop parameters. When the error is controlled to the point where the carrier frequency error is close to 0 and the pseudo-code phase error is between 0.01 and 0.1 chips, stable tracking can be achieved.

[0116] Step S104: calling the GPU device to perform incoherent accumulation based on the target loop parameters to obtain the energy accumulation value sent by the GPU device.

[0117] In step S104, the GPU device is called to perform non-coherent accumulation on the despread signal in the target loop parameter to suppress noise.

[0118] Step S105: the locking state of the tracking loop is determined based on the energy accumulation value. When the determination result indicates that the tracking loop is stably locked, it is determined that the spread spectrum signal tracking is completed.

[0119] In step S105, the lock state determination includes: initial frequency convergence determination (FLL dominated), carrier phase lock verification (PLL dominated), and stable tracking state determination. When the current step is completed, the next state determination will be entered.

[0120] Specifically, each time the loop parameters of the tracking loop are updated, the frequency error is calculated based on the spread spectrum signal and the local carrier output by the tracking loop to obtain multiple frequency error values; if the number of frequency error values ​​less than the frequency threshold exceeds a first preset number, the carrier frequency is determined to be locked (initial frequency convergence).

[0121] Among the energy accumulation values ​​corresponding to each target loop parameter received after determining that the carrier frequency is locked, if the number of energy accumulation values ​​that meet the carrier phase locking requirements exceeds a second preset number, the carrier phase is determined to be locked; the energy accumulation value that meets the carrier phase locking requirements indicates that in the corresponding spread spectrum signal, the energy of the I-path signal is greater than the energy of the Q-path signal and reaches a first preset multiple.

[0122] Among the energy accumulation values ​​corresponding to each target loop parameter received after determining the carrier phase lock, if the number of energy accumulation values ​​that meet the loop stability lock requirements exceeds a third preset number, it is determined that the tracking loop is stably locked and the spread spectrum signal tracking is completed; the energy accumulation value that meets the loop stability lock requirements indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches a second preset multiple; the second preset multiple is greater than the first preset multiple.

[0123] Exemplarily, in the first step, in 15 verifications, is the frequency error less than 3000 Hz for at least 10 times? If so, it is considered that the frequency lock is successful and the next stage is entered; if not, recapture is triggered.

[0124] The second step is to determine whether there are 75 times in the 100 verifications that the I-channel signal energy of the spread spectrum signal is greater than 1.14 times the Q-channel signal energy. If so, it is considered that the carrier phase is successfully locked and the next stage is entered; if not, recapture is triggered.

[0125] It should be noted that the I-channel signal is greater than the Q-channel signal, which is the two signals obtained after down-converting the spread spectrum signal. In BPSK (Binary Phase Shift Keying) modulation, the I-channel signal carries a valid signal, and the Q-channel signal carries a small amount of energy due to noise and residual phase error, so it can be determined whether the carrier phase is stably locked by judging whether the I-channel signal strength is greater than the Q-channel signal strength.

[0126] The third step is similar to the second step, but the threshold is stricter. In 100 verifications, it is determined whether the I-channel signal energy of the spread spectrum signal is greater than 1.2 times the Q-channel signal strength for 75 times. If it can be achieved, it is considered that both the carrier phase and the pseudo code phase have reached a stable tracking state, and the next step of bit synchronization can be performed; if it cannot be achieved, recapture is triggered.

[0127] Based on the tracking method of a direct sequence spread spectrum signal disclosed in the above embodiment of the present invention, the traditional software spread spectrum signal tracking device is replaced by a GPU device from a CPU device, and the parallelization improvement suitable for GPU devices is performed for the spread spectrum signal loop tracking method. The steps with large computational complexity in loop tracking are all calculated by the GPU device, and the multi-threaded parallel computing advantage of the GPU device is utilized to solve the problem that the traditional software demodulation technology cannot realize real-time demodulation of the spread spectrum signal.

[0128] Based on the interactive process of a tracking system disclosed in the above embodiment of the present invention, Figure 8 FIG. 1 is a flow chart of another direct sequence spread spectrum signal tracking method disclosed in an embodiment of the present invention. The tracking method is applied to a GPU device, and the GPU device is connected to a CPU device. The method includes the following steps:

[0129] Step S201: receiving a spread spectrum signal sent by a CPU device.

[0130] Step S202: Based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, a parallel tracking operation is performed on the spread spectrum signal to obtain the target loop parameters and send the target loop parameters to the CPU device, so that the CPU device updates the loop parameters of the tracking loop based on the target loop parameters.

[0131] The tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop.

[0132] In step S202, the parallel tracking operation includes: down-conversion and despreading. Specifically, the following steps are included:

[0133] Step S301: obtaining the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters.

[0134] The local pseudo code includes: an advance code, an on-time code and a lag code; the phase of the advance code is half a chip ahead of the on-time code, and the phase of the lag code is half a chip behind the on-time code.

[0135] Step S302: Generate multiple down-conversion calculation tasks according to each frequency point and local carrier in the spread spectrum signal, and distribute each down-conversion calculation task to each thread in the thread block for parallel calculation to obtain a spread spectrum signal after down-conversion.

[0136] like Fig. 9 , which is a schematic diagram of a parallel down-conversion algorithm disclosed in an embodiment of the present invention.

[0137] Among them, Block0, Block1, Block2, ..., Block i , ..., represents multiple thread blocks in the GPU device. Each thread block contains multiple threads (Thread), marked as Th0, Th1, Th2, ..., Th k .

[0138] The carrier NCO generates the in-phase component I of the local carrier NCO and the quadrature component Q NCO Used to mix with the intermediate frequency signal to complete the down-conversion operation.

[0139] Specifically, down-conversion includes analog down-conversion and digital down-conversion. The spread spectrum signal is analog down-converted to obtain an intermediate frequency signal, and the intermediate frequency signal is digitally down-converted, that is, based on each frequency point, in-phase component and orthogonal component in the intermediate frequency signal, multiple down-conversion calculation tasks are generated, and each down-conversion calculation task is used to calculate the product of the frequency point and the in-phase component, and the product of the frequency point and the orthogonal component to obtain the spread spectrum signal after down-conversion.

[0140] Among them, the spread spectrum signal after down conversion includes two signals Q L and I L , namely the I signal and the Q signal, which will be despread separately later.

[0141] Each down-conversion calculation task is assigned to each thread in the thread block for parallel calculation, so that each thread processes a down-conversion calculation task correspondingly, and the entire operation is executed concurrently, thereby improving the efficiency of digital down-conversion.

[0142] Step S303: for each sampling point in the spread spectrum signal after down-conversion, generate a despreading calculation task in which the sampling point is multiplied by the leading code, the immediate code and the lagging code respectively, and obtain multiple despreading calculation tasks. Allocate each despreading calculation task to each thread in the thread block for parallel calculation, and obtain a first despreading signal corresponding to the leading code, a second despreading signal corresponding to the immediate code and a third despreading signal corresponding to the lagging code.

[0143] like Fig.10 , which is a schematic diagram of a parallel despreading calculation disclosed in an embodiment of the present invention.

[0144] Among them, Block0, Block1, Block2, ..., Block i , ..., represents multiple thread blocks in the GPU device. Each thread block contains multiple threads (Thread), marked as Th0, Th1, Th2, ..., Th k .

[0145] After completing the digital down-conversion, according to the principle of the delay locked loop for code phase tracking, the correlation values ​​between the spread spectrum signal after the down-conversion and the advance code, the immediate code and the lagging code are respectively calculated for de-spreading. This is the most computationally intensive step in the tracking process. By taking advantage of the parallel computing of GPU devices, the de-spreading calculation tasks are distributed to different threads. Each thread is independently responsible for the correlation operation of a sampling point of the spread spectrum signal after the down-conversion and the advance code, the immediate code and the lagging code. The computing efficiency is greatly improved by parallelizing the correlation values.

[0146] The correlation value is the multiplication value of the spread spectrum signal after down-conversion and the leading code, the prompt code and the lagging code.

[0147] Step S304: taking the down-converted spread spectrum signal, the first despread signal, the second despread signal and the third despread signal as target loop parameters, and calling the cudaMemcpy function to send the target loop parameters to the CPU device.

[0148] Step S203: in response to the call of the CPU device, non-coherent accumulation is performed based on the target loop parameters to obtain an energy accumulation value.

[0149] In step S203, in response to the call of the CPU device, incoherent accumulation is performed using a preset reduction algorithm and target loop parameters to obtain an energy accumulation value.

[0150] Specifically, for the first despread signal, the second despread signal and the third despread signal in the target loop parameters, after the single frequency point energy calculation is completed, the energy values ​​of the single frequency points of the first despread signal, the second despread signal and the third despread signal are accumulated.

[0151] In the accumulation phase, the reduction algorithm is used to speed up the accumulation calculation rate. The reduction algorithm is an operation in GPU programming, which is used to merge a data set into a single value through specific operations (such as summation, maximum value, etc.). The reduction algorithm has natural data parallelism.

[0152] like Fig.11 FIG. 1 is a schematic diagram of a reduction algorithm for summing disclosed in an embodiment of the present invention. In the reduction algorithm, each thread block processes a portion of the data, merges adjacent elements through iteration, and gradually reduces the data size. This greatly improves the processing rate when performing incoherent accumulation. The specific principles are as follows:

[0153] 1. Initial data layer (Index1)

[0154] Contains 1024 data items, from a1 to a 1024 It is equivalent to the energy value of each frequency point in the first despread signal, the second despread signal and the third despread signal.

[0155] 2. The first accumulation layer (Index2)

[0156] Contains 512 data items, from b1 to b 512 .

[0157] Each data item is obtained by adding two adjacent data items in the initial data layer. For example, b1=a1+a2, b2=a3+a4, and so on.

[0158] 3. Subsequent accumulation layers (Index3 to Index10)

[0159] Continue aggregating the data as described above, halving the number of data items each time.

[0160] 4. Accumulated result layer (Index11)

[0161] Contains 1 data item, d1. This is the final result (energy accumulation value) obtained by adding the two data items in Index10.

[0162] Step S204: Send the energy accumulation value to the CPU device.

[0163] In step S204, the cudaMemcpy function is called to send the energy accumulation value to the CPU device.

[0164] Based on the tracking method of a direct sequence spread spectrum signal disclosed in the above embodiment of the present invention, in the whole parallel tracking operation process, the steps with large computational load such as down-conversion of the spread spectrum signal, correlation despreading of the spread spectrum signal after down-conversion with the leading code, the prompt code and the lagging code, and accumulation of the correlation despreading results are all performed by the GPU device. After completing this part of the operation, the obtained data is sent back to the CPU device for loop parameter update and lock state judgment, which greatly improves the efficiency of loop update feedback.

[0165] like Fig.12 As shown, it is a structural diagram of a tracking device for a direct sequence spread spectrum signal disclosed in an embodiment of the present invention, which is applied to a GPU device, and the GPU device is connected to a CPU device. The tracking device includes: an initialization unit 1201, a tracking operation initiating unit 1202, an updating unit 1203, an accumulation calling unit 1204, and a distinguishing unit 1205.

[0166] The initialization unit 1201 is used to initialize the loop parameters of the tracking loop using the capture result obtained by capturing the spread spectrum signal; the capture result includes: carrier frequency range and pseudo code phase range; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop.

[0167] The tracking operation initiating unit 1202 is used to receive the spread spectrum signal in real time and send the spread spectrum signal to the GPU device, so that the GPU device performs parallel tracking operation on the spread spectrum signal based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters and sends the target loop parameters to the CPU device.

[0168] In one embodiment, the tracking operation initiating unit 1202 for receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU device is specifically used for:

[0169] Receive the spread spectrum signal in real time; call the cudaMemcpy function to send the spread spectrum signal to the GPU device.

[0170] In one embodiment, the tracking device further comprises:

[0171] The allocation unit is used to allocate the memory of the GPU device before receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU device to obtain the operation memory for parallel tracking operation. The updating unit 1203 is used to update the loop parameters of the tracking loop based on the target loop parameters whenever the target loop parameters are received.

[0172] The accumulation calling unit 1204 is used to call the GPU device to perform non-coherent accumulation based on the target loop parameters to obtain the energy accumulation value sent by the GPU device.

[0173] The determination unit 1205 is used to determine the locking state of the tracking loop based on the energy accumulation value, and when the determination result indicates that the tracking loop is stably locked, it is determined that the spread spectrum signal tracking is completed.

[0174] In one embodiment, the determination unit 1205 is specifically configured to:

[0175] Whenever the loop parameters of the tracking loop are updated, a frequency error is calculated based on the spread spectrum signal and the local carrier output by the tracking loop to obtain a plurality of frequency error values; if the number of frequency error values ​​less than the frequency threshold exceeds a first preset number, it is determined that the carrier frequency is locked;

[0176] In the energy accumulation values ​​corresponding to the target loop parameters received after determining the carrier frequency lock, if the number of energy accumulation values ​​that meet the carrier phase lock requirement exceeds the second preset number, the carrier phase lock is determined; the energy accumulation value that meets the carrier phase lock requirement indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches the first preset multiple;

[0177] Among the energy accumulation values ​​corresponding to each target loop parameter received after determining the carrier phase lock, if the number of energy accumulation values ​​that meet the loop stability lock requirements exceeds a third preset number, it is determined that the tracking loop is stably locked and the spread spectrum signal tracking is completed; the energy accumulation value that meets the loop stability lock requirements indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches a second preset multiple; the second preset multiple is greater than the first preset multiple.

[0178] Based on the tracking device of a direct sequence spread spectrum signal disclosed in the above embodiment of the present invention, the traditional software spread spectrum signal tracking device is replaced by a GPU device from a CPU device, and the spread spectrum signal loop tracking method is improved to be parallelized and suitable for GPU devices. The steps with large computational complexity in loop tracking are all calculated by the GPU device, and the multi-threaded parallel computing advantage of the GPU device is utilized to solve the problem that the traditional software demodulation technology cannot realize real-time demodulation of the spread spectrum signal.

[0179] like Fig.13 As shown, it is a structural diagram of another direct sequence spread spectrum signal tracking device disclosed in an embodiment of the present invention, which is applied to a GPU device, and the GPU device is connected to a CPU device. The tracking device includes: a receiving unit 1301, a parallel tracking operation unit 1302, an accumulation response unit 1303 and a sending unit 1304.

[0180] The receiving unit 1301 is used to receive a spread spectrum signal sent by a CPU device.

[0181] The parallel tracking operation unit 1302 is used to perform parallel tracking operation on the spread spectrum signal based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, obtain the target loop parameters and send the target loop parameters to the CPU device, so that the CPU device updates the loop parameters of the tracking loop based on the target loop parameters; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop.

[0182] In one embodiment, the parallel tracking operation unit 1302 is specifically configured to:

[0183] Obtain the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters; the local pseudo code includes: an advance code, an immediate code and a lag code; the phase of the advance code is half a chip ahead of the immediate code, and the phase of the lag code is half a chip behind the immediate code;

[0184] According to each frequency point and local carrier in the spread spectrum signal, multiple down-conversion calculation tasks are generated, and each down-conversion calculation task is assigned to each thread in the thread block for parallel calculation to obtain the spread spectrum signal after down-conversion;

[0185] For each sampling point in the spread spectrum signal after down-conversion, a despreading calculation task is generated in which the sampling point is multiplied by the advance code, the prompt code and the lag code respectively, so as to obtain multiple despreading calculation tasks;

[0186] Allocating each despreading calculation task to each thread in the thread block for parallel calculation to obtain a first despreading signal corresponding to the advanced code, a second despreading signal corresponding to the prompt code, and a third despreading signal corresponding to the delayed code;

[0187] The down-converted spread spectrum signal, the first despread signal, the second despread signal and the third despread signal are used as target loop parameters, and the cudaMemcpy function is called to send the target loop parameters to the CPU device.

[0188] The accumulation response unit 1303 is used to respond to the call of the CPU device and perform non-coherent accumulation based on the target loop parameters to obtain an energy accumulation value.

[0189] In one embodiment, the cumulative response unit 1303 is specifically configured to:

[0190] In response to the call of the CPU device, non-coherent accumulation is performed using a preset reduction algorithm and target loop parameters to obtain an energy accumulation value.

[0191] The sending unit 1304 is used to send the energy accumulation value to the CPU device.

[0192] In one embodiment, the sending unit 1304 is specifically configured to:

[0193] Call the cudaMemcpy function to send the energy accumulation value to the CPU device.

[0194] Based on the tracking device of a direct sequence spread spectrum signal disclosed in the above embodiment of the present invention, in the whole parallel tracking operation process, the steps with large computational load such as down-conversion of the spread spectrum signal, correlation despreading of the spread spectrum signal after down-conversion with the leading code, the prompt code and the lagging code, and accumulation of the correlation despreading results are all performed by the GPU device. After completing this part of the operation, the obtained data is transmitted back to the CPU device for loop parameter update and lock state judgment, which greatly improves the efficiency of loop update feedback.

[0195] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can refer to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system or system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can refer to the partial description of the method embodiment. The system and system embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without creative work.

[0196] Professionals may further appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of the two. In order to clearly illustrate the interchangeability of hardware and software, the composition and steps of each example have been generally described in the above description according to function. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians may use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of the present invention.

[0197] The above description of the disclosed embodiments enables one skilled in the art to implement or use the present invention. Various modifications to these embodiments will be apparent to one skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present invention. Therefore, the present invention will not be limited to the embodiments shown herein, but rather to the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A direct sequence spread spectrum signal tracking method, characterized in that: Applied to a CPU device, the CPU device is connected to a GPU device, and the method includes: Initializing loop parameters of a tracking loop using a capture result obtained by capturing a spread spectrum signal; the capture result includes: a carrier frequency range and a pseudo code phase range; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of a local carrier and the phase of a local pseudo code output by the tracking loop; receiving the spread spectrum signal in real time, and sending the spread spectrum signal to the GPU device, so that the GPU device performs parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters and sends the target loop parameters to the CPU device; whenever the target loop parameters are received, updating the loop parameters of the tracking loop based on the target loop parameters; Calling the GPU device to perform non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value sent by the GPU device; The locking state of the tracking loop is judged based on the energy accumulation value, and when the judgment result indicates that the tracking loop is stably locked, it is determined that the spread spectrum signal tracking is completed.

2. The method according to claim 1, characterized in that Before receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU device, the method further includes: The memory of the GPU device is allocated to obtain operation memory for performing parallel tracking operations.

3. The method according to claim 1, characterized in that The step of receiving the spread spectrum signal in real time and sending the spread spectrum signal to the GPU device includes: receiving the spread spectrum signal in real time; The cudaMemcpy function is called to send the spread spectrum signal to the GPU device.

4. The method according to any one of claims 1 to 3, characterized in that: The step of determining a locking state of the tracking loop based on the energy accumulation value, and determining that the spread spectrum signal tracking is completed when a determination result indicates that the tracking loop is stably locked, comprises: Whenever the loop parameters of the tracking loop are updated, a frequency error is calculated based on the spread spectrum signal and a local carrier output by the tracking loop to obtain a plurality of frequency error values; if the number of the frequency error values ​​less than the frequency threshold exceeds a first preset number, it is determined that the carrier frequency is locked; In the energy accumulated values ​​corresponding to the target loop parameters received after determining the carrier frequency lock, if the number of the energy accumulated values ​​that meet the carrier phase lock requirement exceeds the second preset number, the carrier phase lock is determined; the energy accumulated value that meets the carrier phase lock requirement indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches the first preset multiple; Among the energy accumulation values ​​corresponding to the target loop parameters received after determining the carrier phase lock, if the number of the energy accumulation values ​​that meet the loop stability lock requirement exceeds a third preset number, it is determined that the tracking loop is stably locked and the spread spectrum signal tracking is completed; the energy accumulation value that meets the loop stability lock requirement indicates that in the corresponding spread spectrum signal, the I-path signal energy is greater than the Q-path signal energy and reaches a second preset multiple; the second preset multiple is greater than the first preset multiple.

5. A direct sequence spread spectrum signal tracking method, characterized in that: Applied to a GPU device, the GPU device is connected to a CPU device, and the method includes: Receiving a spread spectrum signal sent by the CPU device; Based on the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters, a parallel tracking operation is performed on the spread spectrum signal to obtain a target loop parameter and send the target loop parameter to the CPU device, so that the CPU device updates the loop parameter of the tracking loop based on the target loop parameter; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop; In response to the call of the CPU device, performing non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value; The energy accumulation value is sent to the CPU device.

6. The method according to claim 5, characterized in that The method of performing parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtaining the target loop parameters and sending the target loop parameters to the CPU device includes: Acquire the local carrier and local pseudo code output by the tracking loop under the control of the current loop parameters; the local pseudo code includes: an advance code, an immediate code and a lag code; the phase of the advance code is half a chip ahead of the immediate code, and the phase of the lag code is half a chip behind the immediate code; Generate multiple down-conversion calculation tasks according to each frequency point in the spread spectrum signal and the local carrier, and assign each of the down-conversion calculation tasks to each thread in the thread block for parallel calculation to obtain a spread spectrum signal after down-conversion; For each sampling point in the spread spectrum signal after down-conversion, a despreading calculation task is generated in which the sampling point is multiplied by the leading code, the prompt code and the lagging code respectively, so as to obtain a plurality of the despreading calculation tasks; Allocating each of the despreading calculation tasks to each thread in the thread block for parallel calculation to obtain a first despreading signal corresponding to the advanced code, a second despreading signal corresponding to the prompt code, and a third despreading signal corresponding to the delayed code; The down-converted spread spectrum signal, the first despread signal, the second despread signal and the third despread signal are used as target loop parameters, and the cudaMemcpy function is called to send the target loop parameters to the CPU device.

7. The method according to claim 5, characterized in that In response to the call of the CPU device, performing non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value includes: In response to the call of the CPU device, non-coherent accumulation is performed using a preset reduction algorithm and the target loop parameters to obtain an energy accumulation value.

8. The method according to any one of claims 5 to 7, characterized in that: The step of sending the energy accumulated value to the CPU device comprises: The cudaMemcpy function is called to send the energy accumulation value to the CPU device.

9. A tracking device for a direct sequence spread spectrum signal, characterized in that: Applied to a CPU device, the CPU device is connected to a GPU device, and the device comprises: An initialization unit is used to initialize loop parameters of a tracking loop using a capture result obtained by capturing a spread spectrum signal; the capture result includes: a carrier frequency range and a pseudo code phase range; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of a local carrier and the phase of a local pseudo code output by the tracking loop; a tracking operation initiating unit, configured to receive the spread spectrum signal in real time, and send the spread spectrum signal to the GPU device, so that the GPU device performs parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtains the target loop parameters, and sends the target loop parameters to the CPU device; an updating unit, configured to update the loop parameters of the tracking loop based on the target loop parameters whenever the target loop parameters are received; An accumulation calling unit, used for calling the GPU device to perform non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value sent by the GPU device; The determination unit is used to determine the locking state of the tracking loop based on the energy accumulation value, and when the determination result indicates that the tracking loop is stably locked, determine that the spread spectrum signal tracking is completed.

10. A tracking device for a direct sequence spread spectrum signal, characterized in that: Applied to a GPU device, the GPU device is connected to a CPU device, and the device comprises: A receiving unit, used for receiving a spread spectrum signal sent by the CPU device; A parallel tracking operation unit, configured to perform parallel tracking operation on the spread spectrum signal based on the local carrier and the local pseudo code output by the tracking loop under the control of the current loop parameters, obtain target loop parameters and send the target loop parameters to the CPU device, so that the CPU device updates the loop parameters of the tracking loop based on the target loop parameters; the tracking loop is used to track the spread spectrum signal; the loop parameters are used to control the frequency of the local carrier and the phase of the local pseudo code output by the tracking loop; An accumulation response unit, configured to respond to a call of the CPU device and perform non-coherent accumulation based on the target loop parameter to obtain an energy accumulation value; A sending unit is used to send the energy accumulation value to the CPU device.

Citation Information

Patent Citations

  • CPU-assisted GPU spread spectrum signal fast acquisition realization method

    CN105577229A

  • A BeiDou navigation hard loop tracking processing method and system

    CN114935771A

  • Non-integer periodic spread spectrum communication tracking and de-spreading method

    CN117498889A

  • Frequency offset tracking method, device, equipment and medium

    CN117640318A

  • Residual carrier direct spread waveform design and capture method for measuring radar

    CN117706503A