Navigation signal real-time generation method and system based on SSE assembly instruction set on universal CPU platform

By using SSE assembled instruction set on a general CPU platform, real-time generation of navigation signals is achieved, and the problem of high-performance hardware in the existing technology is solved, reducing system costs and meeting real-time requirements.

CN119986727APending Publication Date: 2025-05-13BEIHANG UNIV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510281056.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-11
Publication Date
2025-05-13

AI Technical Summary

Technical Problem

The prior art is difficult to achieve real-time generation of navigation signals on a general-purpose CPU platform, and requires high-performance hardware support, resulting in high system costs and unsuitable for resource-constrained or low-power environments.

Method used

Using the method of compiling the instruction set based on SSE, the trajectory coordinates of the carrier within the preset time period, the initial ephemeris information is read, the real-time status of the satellite, the navigation message information is extracted, the observation calculation is carried out, the carrier and pseudo-code information of the signal is calculated, and the navigation signal is encoded into the navigation signal is realized, and the navigation signal is generated in real time.

Benefits of technology

It significantly reduces system costs, meets real-time requirements, simplifies programming processes, enhances system flexibility and adaptability, and promotes the popularization and application of real-time navigation signal generation technology.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119986727A_ABST
    Figure CN119986727A_ABST
Patent Text Reader

Abstract

The invention discloses a navigation signal real-time generation method and system based on an SSE assembly instruction set on a universal CPU platform. The method comprises the steps that track coordinates of a carrier in a preset time period are calculated; loading the initial ephemeris information, and calculating the real-time state of the satellite by using a satellite orbit prediction algorithm based on the current simulation time and the initial ephemeris information; based on the real-time state of the satellite, calculating navigation data emitted by the satellite, and extracting navigation message information from the navigation data by using an SSE instruction set; based on the extracted navigation message information and the existing track coordinates in the preset time period, an SSE instruction set is used for calculation of observed quantity; calculating carrier information and pseudo code information required by signal modulation in the simulation time period based on the calculation result of the observed quantity; and coding the carrier information and the pseudo code information into a navigation signal, and generating the navigation signal accelerated based on the SSE assembly instruction set in real time on a CPU platform.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of navigation signal processing, and in particular to a method and system for real-time generation of navigation signals based on an SSE assembly instruction set on a general CPU platform. Background Art

[0002] At present, the real-time generation technology of navigation signals mainly relies on high-performance hardware platforms, such as DSP (digital signal processing) computing units and FPGA (field programmable gate array) parallel computing units, which are widely used in embedded systems. The DSP computing unit is mainly responsible for the calculation of navigation messages and observation signal quantities, while the FPGA is used to realize the modulation of multi-channel signals. On the software platform, the real-time generation of multi-channel navigation signals is usually achieved with the help of GPU (graphics processing unit) computing units, which utilizes its powerful parallel computing capabilities. However, these solutions all require high-performance hardware support, such as high-performance DSP, FPGA or high-end graphics cards, which leads to high system costs and is not conducive to application in resource-constrained or low-power environments.

[0003] How to achieve real-time generation of navigation signals without relying on high-performance hardware, especially on general-purpose CPU platforms, is a current technical challenge. Although general-purpose CPU platforms have a wide range of applications, their computing power is relatively limited and it is difficult to meet the high-performance requirements of real-time generation of navigation signals. Therefore, it is necessary to develop an efficient and low-cost solution to achieve real-time generation of navigation signals on general-purpose CPU platforms. Summary of the invention

[0004] In order to solve the above technical problems, the present invention provides a method and system for real-time generation of navigation signals based on an SSE assembly instruction set on a general CPU platform, the method comprising:

[0005] Step S1, calculating the trajectory coordinates of the carrier within a preset time period;

[0006] Step S2, reading the initial ephemeris information, and using the satellite orbit prediction algorithm to calculate the real-time state of the satellite based on the current simulation time and the initial ephemeris information;

[0007] Step S3, based on the real-time status of the satellite, calculating the navigation data transmitted by the satellite, and extracting navigation message information from the navigation data using the SSE instruction set;

[0008] Step S4, based on the extracted navigation message information and the trajectory coordinates of the carrier within a preset time period, using the SSE instruction set to calculate the observation amount;

[0009] Step S5, based on the calculation result of the observed quantity, calculating the carrier information and pseudo code information used for signal modulation in the simulation time period;

[0010] Step S6: Based on the carrier information and pseudo code information encoded into the navigation signal, a navigation signal based on the SSE assembly instruction set is generated in real time on the CPU platform.

[0011] Optionally, the process of calculating the trajectory coordinates of the carrier within a preset time period in step S1 specifically includes:

[0012] According to the preset time and trajectory type, a mathematical algorithm is used to calculate all trajectory coordinates within the preset time, and the trajectory type includes a straight line, a circle, an ellipse or a complex trajectory.

[0013] Optionally, in step S2, the initial ephemeris information specifically includes the position, speed, and orbital parameters of the satellite.

[0014] Optionally, in step S6, the carrier information includes the frequency and phase of the carrier, and the pseudocode information includes the code type and code rate of the pseudocode.

[0015] The present invention also discloses a real-time navigation signal generation system based on an SSE assembly instruction set on a general CPU platform, the system comprising:

[0016] An initial trajectory calculation module is used to calculate the trajectory coordinates of the carrier within a preset time period;

[0017] A satellite state calculation module is used to read the initial ephemeris information and calculate the real-time state of the satellite using a satellite orbit prediction algorithm based on the current simulation time and the initial ephemeris information;

[0018] A message extraction module, used to calculate the navigation data transmitted by the satellite based on the real-time status of the satellite, and extract navigation message information from the navigation data using the SSE instruction set;

[0019] An observation amount calculation module, used to calculate the observation amount using an SSE instruction set based on the extracted navigation message information and the trajectory coordinates of the carrier within a preset time period;

[0020] A modulation data calculation module, used for calculating the carrier information and pseudo code information of the simulated time information signal modulation based on the calculation result of the observed quantity;

[0021] The navigation signal generating module is used to generate a navigation signal based on the SSE assembly instruction set in real time on the CPU platform based on the carrier information and the pseudo code information encoded into the navigation signal.

[0022] Optionally, in the initial trajectory calculation module, the process of calculating the trajectory coordinates of the carrier within a preset time period specifically includes:

[0023] According to the preset time and trajectory type, a mathematical algorithm is used to calculate all trajectory coordinates within the preset time, and the trajectory type includes a straight line, a circle, an ellipse or a complex trajectory.

[0024] Optionally, in the satellite status calculation module, the initial ephemeris information specifically includes the satellite's position, velocity, and orbital parameters.

[0025] Optionally, in the modulation data calculation module, the carrier information includes the frequency and phase of the carrier, and the pseudocode information includes the code type and code rate of the pseudocode.

[0026] Compared with the prior art, the present invention has the following beneficial effects:

[0027] 1. Significantly reduce system cost: a) The present invention does not need to rely on high-performance hardware platforms, such as DSP (digital signal processing), FPGA (field programmable gate array) or high-end graphics cards. b) Real-time generation of navigation signals can be achieved using only a general-purpose CPU platform, thereby significantly reducing the cost of system construction and maintenance.

[0028] 2. Efficiently meet real-time requirements: a) By fully utilizing the parallel computing characteristics of the SSE (Streaming SIMD Extensions) instruction set. b) The present invention realizes efficient navigation signal generation on a general-purpose CPU platform, ensuring that real-time requirements are met.

[0029] 3. Simplify the programming process: a) The present invention does not involve complex hardware programming, and encapsulates the common processing modules. b) This makes the modification of the core algorithm very friendly, and also makes the algorithm simulation more convenient, reducing the difficulty of development.

[0030] 4. Enhance system flexibility and adaptability: a) The present invention is based on software implementation, which has high flexibility and adaptability. b) It is easy to transplant and deploy between different platforms, which makes it possible for the system to be widely used.

[0031] 5. Promote the popularization and application of technology: a) Due to the reduced hardware dependence and cost, the present invention is expected to promote the application and popularization of real-time navigation signal generation technology in more fields. b) This will promote the rapid development and widespread application of technology, bringing greater economic and social benefits to society. BRIEF DESCRIPTION OF THE DRAWINGS

[0032] In order to more clearly illustrate the technical solution of the present invention, the following briefly introduces the drawings required for use in the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0033] Figure 1 The present invention is a method and process diagram of a method and system for real-time generation of navigation signals based on an SSE assembly instruction set on a general CPU platform according to an embodiment of the present invention. DETAILED DESCRIPTION

[0034] 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.

[0035] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, the present invention is further described in detail below with reference to the accompanying drawings and specific embodiments.

[0036] Embodiment 1

[0037] The present invention proposes a method for real-time generation of navigation signals based on the SSE assembly instruction set on a general-purpose CPU platform. The SSE instruction set began with the Intel Pentium MMX processor, and the processor newly added the SIMD (Single Instruction Multiple Data) multimedia instruction set. This instruction set can edit multiple batches of instruction groups into a single instruction, thereby improving the data processing capability. This method makes full use of the parallel computing characteristics of the SSE (Streaming SIMD Extensions) assembly instruction set, and realizes the real-time generation of navigation signals on a general-purpose CPU platform by optimizing the algorithm design and code implementation. , such as Figure 1 As shown, the method includes:

[0038] Step S1, calculating the trajectory coordinates of the carrier within a preset time period. In the present invention, the preset time is set to 0s to 59s.

[0039] First, according to the predetermined simulation time point and trajectory type (such as straight line, circle, ellipse or other complex trajectory), the vehicle trajectory coordinates at each simulation time point are calculated by mathematical algorithms. These coordinates are used for observation calculation and signal modulation in subsequent steps.

[0040] The method for obtaining the vehicle trajectory coordinates at the simulation time point is quantified using known kinematic laws, specifically:

[0041] (1)Station or uniform linear motion:

[0042] Assume that the initial state of the stationary or uniformly moving car is:

[0043] c = c 0, , a = a0, v = v0, x = x0;

[0044] After a time interval of Δt, the motion state is uniquely determined as:

[0045] c = c0 + Δt, a = 0, v = v0, x = x0 + v0·Δt;

[0046] (2) Variable acceleration curvilinear motion:

[0047] For a variable acceleration curvilinear motion in a plane, the curve can be differentiated. In a very short time interval, it can be considered that the carrier is performing a uniformly accelerated linear motion. Under the condition of establishing a mechanical model, assuming that the value of the variable acceleration is known:

[0048] a = f(t)

[0049] Then, by integrating the entire curve, the velocity and position information can be obtained:

[0050]

[0051] Obviously, the fidelity of the three-dimensional position and velocity is directly related to the fidelity of the acceleration, and the acceleration change can be selected from rectangular, linear, and trapezoidal models.

[0052] Step S2: Read the initial ephemeris information. Based on the current simulation time and the initial ephemeris information, use the satellite orbit prediction algorithm to calculate the real-time state of the satellite. Among them, the satellite orbit prediction algorithm adopts the Kepler orbit parameter calculation method, specifically:

[0053] Semi-major axis (a): The semi-major axis of the orbital ellipse, which is a measure of the orbit size. It can be calculated by the law of conservation of energy:

[0054]

[0055] Among them, E is the total mechanical energy, and μ is the standard gravitational parameter.

[0056] Eccentricity (e): A parameter describing the orbit shape, with a value range of 0 ≤ e ≤ 1. The eccentricity can be calculated by the magnitude of the eccentricity vector:

[0057]

[0058] Among them, h is the angular momentum vector.

[0059] Orbital inclination (i): The angle between the orbital plane and the reference plane (such as the Earth's equatorial plane or the ecliptic plane), with a range of 0° < i ≤ 180°. The orbital inclination can be determined by the direction of the angular momentum vector:

[0060]

[0061] Among them, h z is the z component of the angular momentum vector.

[0062] Ascending node right ascension (Ω): The azimuth of the intersection of the orbital plane and the reference plane (ascending node) on the reference plane. The calculation formula is:

[0063]

[0064] Among them, h x and h y is the projection of the angular momentum vector onto the reference plane.

[0065] Argument of perigee (w): The angle from the ascending node to the orbital perigee, ranging from 0°≤w<360°. The argument of perigee can be calculated from the position vector and the velocity vector;

[0066] Mean anomaly (M): describes the position of a celestial body in its orbit as a function of time. The mean anomaly can be solved using Kepler's equations to relate time to orbital position.

[0067] There are two calculation methods:

[0068] Finding the position with known orbital elements: If the Kepler orbital elements are known, the mean anomaly angle M can be solved by Kepler equations and Newton iteration method, and then the specific position of the celestial body in the orbit can be calculated.

[0069] Reverse inferring orbital elements from observational data: If the position and velocity vector of a celestial body are known, orbital elements such as the semi-major axis, eccentricity, and orbital inclination can be reversed using the above formula.

[0070] Before the simulation begins, the initial ephemeris information of the satellite is obtained from an external data source (such as the official website of the satellite navigation system or a professional database), including the satellite's position, speed, orbit parameters, etc. During the simulation, the satellite orbit prediction algorithm is used to calculate the current state of the satellite (such as position, speed, etc.) in real time based on the current simulation time and the initial ephemeris information.

[0071] Step S3: based on the real-time status of the satellite, calculate the navigation data transmitted by the satellite, and use the SSE instruction set to extract the navigation message information from the navigation data.

[0072] The received navigation data usually contains a large amount of coded information. The present invention uses the SSE (Streaming SIMD Extensions) instruction set to quickly parse and extract navigation data. The SSE instruction set allows multiple data items to be processed simultaneously in a single CPU instruction, thereby significantly improving the speed of parsing and extracting navigation message information. The extracted navigation message information and current chip information are used for observation calculation in subsequent steps. In the process of navigation information being transmitted from the satellite to the ground, it passes through the delay of the ionosphere and the current layer space, as well as the Doppler effect between the carrier and the satellite. The addition of these three situations will cause the signal reception to advance or lag. The present invention uses the SSE instruction set to parallelly calculate the delay of the ionosphere, the delay of the current layer, and the calculation of the Doppler effect, thereby improving the speed and accuracy of accurate reception of navigation information.

[0073] Step S4: Based on the extracted navigation message information and the trajectory coordinates of the carrier within a preset time period, the SSE instruction set is used to calculate the observation amount.

[0074] Based on the extracted navigation message information, the delay of the ionosphere and the current layer and the Doppler effect are obtained as error terms for the next calculation. The SSE instruction set is used for efficient observation calculation. This includes calculating the geometric distance between the user receiver and the satellite plus some error terms. By processing multiple data points in parallel, the SSE instruction set can significantly reduce the calculation time and improve the real-time performance of the system.

[0075] Step S5: Calculate the carrier information and pseudo code information of the simulated time information signal modulation based on the calculation result of the observed quantity.

[0076] During the simulation process, the carrier information and pseudo code information used for signal modulation are calculated in real time based on the simulation time information. The carrier information includes the frequency and phase of the carrier, while the pseudo code information includes the code type and code rate of the pseudo code. These parameters are used for signal modulation in subsequent steps.

[0077] Step S6: Based on the carrier information and pseudo code information encoded into the navigation signal, a navigation signal based on the SSE assembly instruction set is generated in real time on the CPU platform.

[0078] Based on the observation calculation, the parallel computing capability of the SSE instruction set is used to simultaneously modulate multiple navigation signal source channels. This includes encoding observation information (such as pseudorange, carrier phase, etc.) into the navigation signal, and modulating the signal according to a specific modulation method (such as BPSK, QPSK, etc.). By processing multiple channels in parallel, the system can generate multiple navigation signals in real time, thus meeting the needs of multi-user, multi-frequency navigation applications.

[0079] By using the method of the present invention, the calculation and modulation of 12 navigation signal source channels can be realized on a general-purpose CPU platform. Compared with the traditional solution based on dedicated hardware, the method of the present invention has higher flexibility and scalability, while reducing the cost and complexity of the system. In addition, by utilizing the parallel computing capability of the SSE instruction set, the method of the present invention can significantly increase the generation speed of the navigation signal and meet the needs of real-time navigation applications.

[0080] In summary, the present invention proposes an efficient multi-channel navigation signal generation method, which realizes the function of generating multiple navigation signals in real time on a general CPU platform by combining multiple steps such as trajectory point generation, satellite ephemeris reading, navigation message extraction, observation quantity calculation, local pseudo code and carrier generation, and signal modulation.

[0081] In the process of satellite navigation signal generation, it is usually necessary to perform complex mathematical operations on a large amount of data, including time calculation, phase adjustment, pseudo code modulation, etc. These operations usually rely on element-by-element loop processing in traditional implementations, resulting in low computational efficiency and difficulty in meeting real-time requirements.

[0082] Starting from this embodiment, in order to improve the computing efficiency, the present invention proposes an optimization method based on the SSE (Streaming SIMD Extensions) instruction set. The SSE instruction set is a single instruction multiple data (SIMD) technology that can process multiple data simultaneously in one instruction cycle, significantly improving the computing speed. The SSE instruction set supports parallel operations on multiple data through a 128-bit register (such as __m128 or __m128d). In the generation of satellite navigation signals, operations such as navigation time, phase calculation, and pseudo-code modulation can be processed in parallel. For example, for the calculation of navigation time, multiple time values ​​can be packed into one register, and the calculation of multiple time values ​​can be completed by a single instruction. In order to give full play to the performance advantages of the SSE instruction set, it is necessary to ensure that the data is aligned with 16 bytes in the memory. This can be achieved by using the __declspec (align (16)) keyword or the _aligned_malloc function. In the generation of navigation signals, arrays such as navigation message data and pseudo-code tables are required to be 16-byte aligned to avoid the performance bottleneck of memory access. Through the SSE instruction set, complex mathematical operations (such as phase calculation and pseudo-code modulation) can be converted into efficient SIMD instructions. For example, floating-point multiplication and addition in phase calculation can be implemented by mulpd and addpd instructions, significantly reducing the number of instructions. In addition, by using cvtpd2pi and cvtpi2pd instructions, the conversion between floating-point numbers and integers can be completed efficiently. In the loop of satellite navigation signal generation, the SSE instruction set can process multiple data points at the same time, thereby reducing the number of loop iterations. For example, by merging the calculation of two navigation signals into one loop, the calculation efficiency can be further improved.

[0083] The present invention is implemented by converting the core calculation part (such as navigation time calculation, phase adjustment, and pseudo code modulation) of satellite navigation signal generation into an SSE instruction set. The specific implementation steps are as follows:

[0084] Data alignment and loading: Ensure that all data involved in the calculation (such as navigation time array, phase delay array, navigation message array, etc.) are aligned with 16 bytes in memory and loaded into SSE registers through movaps or movapd instructions.

[0085] Navigation time calculation: Convert operations such as navigation time calculation and phase adjustment into SIMD operations supported by the SSE instruction set, calculate two navigation time values ​​in parallel, and store the calculation results in SSE registers to avoid element-by-element access and reduce the number of loop iterations.

[0086] Phase adjustment and phase index calculation: Use SSE instructions to perform multiplication in parallel, accelerate the calculation of phase adjustment and calculate the index of the phase table, and use the table lookup method to read the phase value.

[0087] Signal modulation calculation: Use SSE instructions to multiply the navigation message, carrier and phase table values. After completing a loop iteration, update the pointer and index to enter the next iteration.

[0088] Loop calculation: Through loop unrolling and batch processing technology, the number of loop iterations can be reduced to further improve calculation efficiency.

[0089] Result storage: The calculation result is stored back to the memory through the movaps or movapd instruction.

[0090] In terms of the specific performance improvement path, compared with the C language implementation, the following performance improvements are achieved:

[0091] Data alignment and memory management: Data in C language is not aligned, resulting in high memory access latency. The present invention uses SSE acceleration technology to use __declspec(align(16)) or _aligned_malloc to ensure 16-byte alignment of data. This operation can reduce memory access latency, improve cache utilization, and improve performance by about 10%-20%.

[0092] Data loading and packing: In C language, data is loaded element by element, which is inefficient. The present invention uses SSE instructions (such as movaps, movapd) to load and pack data. This operation can reduce the number of memory accesses and improve performance by about 15%-25%.

[0093] Parallel calculation of navigation time: The C language calculates navigation time element by element, which is inefficient. The present invention uses SSE instructions (such as subpd, addpd) to calculate two navigation time values ​​in parallel. This operation can reduce the number of loop iterations and improve performance by about 30%-40%.

[0094] Parallel calculation of phase adjustment: The C language calculates phase adjustment element by element, which is inefficient. The present invention uses SSE instructions (such as mulpd, subpd) to calculate two phase adjustment values ​​in parallel. This operation can reduce the number of floating point operations and improve performance by about 35%-45%.

[0095] Parallel calculation of pseudo-code modulation: The C language calculates pseudo-code modulation element by element, which is inefficient. The present invention uses SSE instructions (such as cvtpd2pi, cvtpi2pd) to calculate two pseudo-code modulation values ​​in parallel. This operation can reduce integer index calculation and memory access times, and improve performance by about 25%-35%.

[0096] Parallel calculation of phase table index: The C language calculates the phase table index element by element, which is inefficient. The present invention uses SSE instructions (such as cvtpd2pi, mulpd) to calculate two phase table index values ​​in parallel. This operation can reduce the number of floating point operations and memory accesses, and improve performance by about 30%-40%.

[0097] Parallel calculation of the final signal: The final signal is calculated element by element in C language, which is inefficient. The present invention uses SSE instructions (such as mulpd, unpcklpd) to calculate two signal values ​​in parallel. This operation can reduce the number of loop iterations and floating-point multiplications, and improve performance by about 40%-50%.

[0098] The performance of satellite navigation signal generation has been significantly improved through the SIMD characteristics of the SSE instruction set. The overall performance improvement is mainly reflected in reducing memory access latency, reducing the number of floating-point operations, and reducing the number of loop iterations. Compared with the traditional C language implementation, the optimized code performance is improved by about 30%-50%, which significantly meets the real-time requirements.

[0099] Through the above optimization method based on the SSE instruction set, the computational efficiency of the satellite navigation signal generation process is significantly improved, as shown in the following:

[0100] Improved computing efficiency: Through parallel processing, the computing speed is significantly accelerated to meet real-time requirements.

[0101] Memory access optimization: Reduce memory access latency through 16-byte alignment and efficient data loading.

[0102] Instruction-level optimization: Reduce the number of instructions through efficient floating-point and integer operation instructions of the SSE instruction set.

[0103] Strong compatibility: The optimization solution based on the SSE instruction set is compatible with mainstream x86 architecture processors and does not require hardware upgrades.

[0104] The present invention optimizes the satellite navigation signal generation process through the SSE instruction set, significantly improves the computing efficiency and real-time performance, and has important application value and innovative significance.

[0105] Embodiment 2

[0106] The initial trajectory calculation module is used to calculate the trajectory coordinates of the carrier within a preset time period.

[0107] First, according to the predetermined simulation time point and trajectory type (such as straight line, circle, ellipse or other complex trajectory), the trajectory coordinates of each simulation time point are calculated by mathematical algorithm. These coordinates are used for observation calculation and signal modulation in subsequent steps.

[0108] The satellite status calculation module is used to read the initial ephemeris information and calculate the real-time status of the satellite using a satellite orbit prediction algorithm based on the current simulation time and the initial ephemeris information.

[0109] Before the simulation begins, the initial ephemeris information of the satellite is obtained from an external data source (such as the official website of the satellite navigation system or a professional database), including the satellite's position, speed, orbit parameters, etc. During the simulation, the satellite orbit prediction algorithm is used to calculate the current state of the satellite (such as position, speed, etc.) in real time based on the current simulation time and the initial ephemeris information.

[0110] The message extraction module is used to calculate the navigation data transmitted by the satellite based on the real-time status of the satellite, and extract the navigation message information from the navigation data using the SSE instruction set.

[0111] The received navigation data usually contains a large amount of coded information. The present invention uses the SSE (Streaming SIMD Extensions) instruction set to quickly parse and extract the navigation data. The SSE instruction set allows multiple data items to be processed simultaneously in a single CPU instruction, thereby significantly improving the speed of parsing and extracting navigation message information. The extracted navigation message information and current chip information are used for observation calculation in subsequent steps.

[0112] The observation quantity calculation module is used to calculate the observation quantity based on the extracted navigation message information and the trajectory coordinates of the carrier within a preset time period using the SSE instruction set.

[0113] Based on the extracted navigation message information, the SSE instruction set is used to perform efficient observation calculations. This includes calculating key parameters such as pseudorange (the geometric distance between the user receiver and the satellite plus some error terms) and carrier phase. By processing multiple data points in parallel, the SSE instruction set can significantly reduce calculation time and improve the real-time performance of the system.

[0114] The modulation data calculation module is used to calculate the carrier information and pseudo code information of the simulated time information signal modulation based on the calculation result of the observation quantity.

[0115] During the simulation process, the carrier information and pseudo code information used for signal modulation are calculated in real time based on the simulation time information. The carrier information includes the frequency and phase of the carrier, while the pseudo code information includes the code type and code rate of the pseudo code. These parameters are used for signal modulation in subsequent steps.

[0116] The navigation signal generating module is used to generate a navigation signal based on the SSE assembly instruction set in real time on the CPU platform based on the carrier information and the pseudo code information encoded into the navigation signal.

[0117] Based on the observation calculation, the parallel computing capability of the SSE instruction set is used to simultaneously modulate multiple navigation signal source channels. This includes encoding observation information (such as pseudorange, carrier phase, etc.) into the navigation signal, and modulating the signal according to a specific modulation method (such as BPSK, QPSK, etc.). By processing multiple channels in parallel, the system can generate multiple navigation signals in real time, thus meeting the needs of multi-user, multi-frequency navigation applications.

[0118] By using the method of the present invention, the calculation and modulation of 12 navigation signal source channels can be realized on a general-purpose CPU platform. Compared with the traditional solution based on dedicated hardware, the method of the present invention has higher flexibility and scalability, while reducing the cost and complexity of the system. In addition, by utilizing the parallel computing capability of the SSE instruction set, the method of the present invention can significantly increase the generation speed of the navigation signal and meet the needs of real-time navigation applications.

[0119] In summary, the present invention proposes an efficient multi-channel navigation signal generation method, which realizes the function of generating multiple navigation signals in real time on a general CPU platform by combining multiple steps such as trajectory point generation, satellite ephemeris reading, navigation message extraction, observation quantity calculation, local pseudo code and carrier generation, and signal modulation.

[0120] The embodiments described above are only descriptions of the preferred embodiments of the present invention and are not intended to limit the scope of the present invention. Without departing from the design spirit of the present invention, various modifications and improvements made to the technical solutions of the present invention by ordinary technicians in this field should all fall within the protection scope determined by the claims of the present invention.

Claims

1. A method for real-time generation of navigation signals based on SSE assembly instruction set on a general CPU platform, characterized in that: The method comprises: Step S1, calculating the trajectory coordinates of the carrier within a preset time period; Step S2, reading the initial ephemeris information, and using the satellite orbit prediction algorithm to calculate the real-time state of the satellite based on the current simulation time and the initial ephemeris information; Step S3, based on the real-time status of the satellite, calculating the navigation data transmitted by the satellite, and extracting navigation message information from the navigation data using the SSE instruction set; Step S4, based on the extracted navigation message information and the trajectory coordinates of the carrier within a preset time period, using the SSE instruction set to calculate the observation amount; Step S5, based on the calculation result of the observed quantity, calculating the carrier information and pseudo code information required for signal modulation within the simulation time period; Step S6: Based on the carrier information and pseudo code information encoded into the navigation signal, a navigation signal based on the SSE assembly instruction set is generated in real time on the CPU platform.

2. The method for real-time generation of navigation signals based on the SSE assembly instruction set on a general CPU platform according to claim 1, characterized in that: Step S1, the process of calculating the trajectory coordinates of the carrier within a preset time period specifically includes: According to the preset time and trajectory type, a mathematical algorithm is used to calculate all trajectory coordinates within the preset time, and the trajectory type includes a straight line, a circle, an ellipse or a complex trajectory.

3. The method for real-time generation of navigation signals based on the SSE assembly instruction set on a general CPU platform according to claim 1, characterized in that: In step S2, the initial ephemeris information specifically includes the position, velocity, and orbital parameters of the satellite.

4. The method for real-time generation of navigation signals based on the SSE assembly instruction set on a general CPU platform according to claim 1, characterized in that: In step S6, the carrier information includes the frequency and phase of the carrier, and the pseudo code information includes the code type and code rate of the pseudo code.

5. A navigation signal real-time generation system based on SSE assembly instruction set on a general CPU platform, the system is used to implement the method according to any one of claims 1 to 4, characterized in that the system include: An initial trajectory calculation module is used to calculate the trajectory coordinates of the carrier within a preset time period; A satellite state calculation module is used to read the initial ephemeris information and calculate the real-time state of the satellite using a satellite orbit prediction algorithm based on the current simulation time and the initial ephemeris information; A message extraction module, used to calculate the navigation data transmitted by the satellite based on the real-time status of the satellite, and extract navigation message information from the navigation data using the SSE instruction set; An observation amount calculation module, used to calculate the observation amount using an SSE instruction set based on the extracted navigation message information and the trajectory coordinates of the carrier within a preset time period; A modulation data calculation module, used to calculate the carrier information and pseudo code information used for signal modulation within a simulation time period based on the calculation results of the observed quantity; The navigation signal generating module is used to generate a navigation signal based on the SSE assembly instruction set in real time on the CPU platform based on the carrier information and the pseudo code information encoded into the navigation signal.

6. The real-time navigation signal generation system based on the SSE assembly instruction set on a general CPU platform according to claim 5 is characterized in that: In the initial trajectory calculation module, the process of calculating the trajectory coordinates of the carrier within a preset time period specifically includes: According to the preset time and trajectory type, a mathematical algorithm is used to calculate all trajectory coordinates within the preset time, and the trajectory type includes a straight line, a circle, an ellipse or a complex trajectory.

7. The real-time navigation signal generation system based on the SSE assembly instruction set on a general CPU platform according to claim 5 is characterized in that: In the satellite status calculation module, the initial ephemeris information specifically includes the position, speed, and orbital parameters of the satellite.

8. The real-time navigation signal generation system based on the SSE assembly instruction set on a general CPU platform according to claim 5 is characterized in that: In the modulation data calculation module, the carrier information includes the frequency and phase of the carrier, and the pseudo code information includes the code type and code rate of the pseudo code.