FPGA-based GPS digital transmitting system and method

By using an FPGA-based GPS digital transmission system to generate high-precision GPS signals and perform RAIM correction, the problem of GPS receiver systems being easily spoofed is solved, improving the accuracy and reliability of positioning, and making it suitable for multiple application fields.

CN116819572BActive Publication Date: 2026-07-21FUZHOU UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
FUZHOU UNIV
Filing Date
2023-07-03
Publication Date
2026-07-21

Smart Images

  • Figure CN116819572B_ABST
    Figure CN116819572B_ABST
Patent Text Reader

Abstract

The application provides a GPS digital transmitting system and method based on FPGA, which generates a baseband signal, and sends the baseband signal to a radio frequency front end through an intermediate frequency amplifier, transmits the generated GPS signal, and forms positioning information protection for a selected area. Meanwhile, the system also comprises multiple modules, such as a data code generation module, a C / A code generation module, a convolution code encoding module, a time delay simulation module, a code phase simulation module, a Doppler simulation module, a RAIM correction module, a framing module, a power control module and a BPSK modulation module, and the modules cooperate with each other to make the GPS signal transmitting system have higher precision and reliability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of positioning information protection technology, and in particular to a GPS digital transmission system and method based on FPGA. Background Technology

[0002] A current problem with existing technologies is that GPS receiver systems are easily spoofed, which could severely impact applications such as vehicle navigation, aviation navigation, and drones. Methods of spoofing GPS systems include GPS signal forgery, GPS signal interference, and signal injection, which can lead to positioning errors, location deviations, and timing errors. Summary of the Invention

[0003] In view of this, the purpose of this invention is to provide a GPS digital transmission system and method based on FPGA, which can generate high-precision GPS signals with arbitrary latitude, longitude and time information, and to test existing GPS receiving systems to improve their accuracy and reliability.

[0004] To achieve the above objectives, the present invention adopts the following technical solution: a GPS digital transmission system based on FPGA, comprising a data code generation module, a C / A code generation module, a convolutional code encoding module, a data multiplexing module, a time delay simulation module, a code phase simulation module, a Doppler simulation module, a RAIM correction module, a framing module, a power control module, and a BPSK modulation module; the data code generation module generates corresponding GPS navigation messages according to preset positions and frame format requirements; the C / A code generation module generates corresponding C / A codes according to preset positions and GPS ranging theory to form subsequent transmission signals; the convolutional code encoding module performs convolutional encoding on the input GPS data codes and C / A codes; the time delay simulation module simulates the delays in the ionosphere and troposphere; and the code phase simulation module calculates the GPS signal based on the time delay information. The transmitting system should transmit the code phase information; the Doppler simulation module calculates the average Doppler frequency; the RAIM correction module performs RAIM algorithm detection on the GPS information at the preset location. If the no-alarm condition is met, the preset information is valid; otherwise, the information is corrected until the RAIM no-alarm detection condition is met; the data multiplexing module performs XOR addition on the generated data code and C / A code, and combines and multiplexes the two to form a new data stream; the framing module frames the signal data according to the six protocol formats and then transmits it; the power control module divides the transmission power into different levels through the function of registers and transmits the generated GPS signal at different powers according to the requirements; the BPSK modulation module performs BPSK constellation mapping and carrier modulation on the framed data and then transmits the signal.

[0005] This invention provides a GPS digital transmission method based on FPGA, which employs the aforementioned GPS digital transmission system based on FPGA.

[0006] In a preferred embodiment, the GPS navigation message is specifically a message broadcast by the navigation satellite to the user describing the operational status parameters of the navigation satellite, including system time, ephemeris, almanac, satellite clock correction parameters, navigation satellite health status, and ionospheric delay model parameters. The navigation message data is logically divided into different frames, each frame has 1500 bits and takes 30 seconds to transmit. Each frame is further divided into 5 subframes, each subframe has 300 bits and takes 6 seconds to transmit. Every 25 frames constitute a main frame, and transmitting a complete almanac requires one main frame, which is 12.5 minutes.

[0007] In a preferred embodiment, the satellite signal transmission time Tsend is analyzed. The transmission time is composed of multiple parameters, and its formula is as follows:

[0008]

[0009] In the above formula, TOW represents the GPS week, w represents the wth word that the receiver has received in the current subframe, b represents the bth bit in the wth word that the received signal is currently corresponding to; 0.02 represents that one message bit corresponds to 20ms; c is the number of C / A code cycles, CP represents the code phase measurement value, 1023 represents that there are 1023 chips in one C / A code cycle, and 0.001 represents that the time corresponding to one C / A code cycle is 1ms; according to formula (1), after setting the preset position, all parameters except the code phase measurement value CP can be obtained from the corresponding navigation message data, while the code phase measurement value CP needs to be obtained by relevant calculations of the local C / A code.

[0010] In a preferred embodiment, due to sunlight, the ionosphere becomes filled with electrons, causing a delay in GPS signal transmission. The formula for calculating the ionospheric delay over a 24-hour period is as follows:

[0011]

[0012] In the above formula, t represents the current time, A represents the maximum delay time in the ionospheric model, its value is determined by the amplitude parameter in the 4th subframe of the navigation message, and T represents the period of the ionospheric delay model, its value is determined by the period parameter in the 4th subframe of the navigation message. This formula is a delay simulation relative to the zenith direction. For the GPS signal transmission system, since it is assumed to be based on the Earth's surface, the above formula is corrected according to the relationship between the elevation angle θ between the received signal and the signal transmitter in its coverage area, as follows, to obtain the final ionospheric delay simulation formula:

[0013]

[0014] For tropospheric delay, the troposphere, located at the bottom of the atmosphere, is the main cloud layer where various meteorological phenomena occur. The various gases in the troposphere alter the refractive index, thus causing a delay in the propagation of electromagnetic waves within the troposphere. Tropospheric delay simulation commonly uses the following formula:

[0015]

[0016] In the above formula, θ is the altitude angle and c is the speed of light.

[0017] In a preferred embodiment, code phase simulation is used to reverse-engineer its corresponding position in the coordinate system at the time of transmission; first, an estimate of the satellite propagation time is calculated, assuming the satellite's position at the time of reception in the R coordinate system is (x... rr ,y rr ,z rr Since the location of the GPS signal transmitting system's transmission point is predetermined and therefore known, let's assume it's (x...). tt ,y tt ,z tt Therefore, the estimated value of the time delay t can be obtained. rr :

[0018]

[0019] Based on the time delay estimate t rr The estimated launch time t of the satellite was calculated. rs :

[0020] t rs =t r -t rr (6)

[0021] Based on the estimated satellite launch time t rs This allows us to calculate the estimated position of the satellite at the launch time in the S-coordinate system (x). ss ,y ss ,z ss );

[0022] Due to the Earth's rotation, there is actually a difference between the S-coordinate system and the R-coordinate system. Let's assume the Earth's rotational angular velocity is Ω. e Therefore, the Earth's rotation can be considered as the Earth rotating around the Z-axis of the WGS-84 coordinate system by Ω. e t rr Based on the coordinate transformation formula, the satellite position at the time of launch in the R coordinate system is obtained as follows:

[0023]

[0024] Calculate the time delay of the satellite signal propagating to the preset location using the satellite launch time and position calculated in the R coordinate system:

[0025]

[0026] via t rs To calculate the code phase information at the preset position, the accurate value of the satellite launch time is first calculated as follows:

[0027] t s =t r -t rs (9)

[0028] According to t s Calculate the weektime TOW of the preset location signal message:

[0029]

[0030] symbol To round down, use The launch time excluding weekdays is denoted as:

[0031]

[0032] Given that one navigation message bit corresponds to 20ms, the formula for calculating message bit B is:

[0033]

[0034] remember for:

[0035]

[0036] Since the duration of one C / A code cycle is 1ms, the code phase cycle number Cy is:

[0037]

[0038] The remaining delay is the code phase information, measured in seconds, and is calculated as follows:

[0039]

[0040] Let's assume f again C / A It is the frequency of the C / A code, and the code phase information P. h This includes the chip position of the corresponding C / A code within one period and the phase information corresponding to the current chip. The C / A code chip and phase are calculated according to the following formula:

[0041]

[0042]

[0043] Based on the code phase information calculated by the above formula, the chip information of the transmitted signal is corrected to complete the code phase simulation of the GPS signal transmission system.

[0044] In a preferred embodiment, since there is relative motion between the GPS satellite and the preset location, the satellite signal at the preset location experiences a Doppler frequency shift caused by this relative motion, which is calculated using the following formula:

[0045]

[0046] In the above formula, f d It is the Doppler frequency, f Car The GPS signal frequency is 1575.42 MHz, c is the speed of light, v is the relative velocity between the satellite signal transmitter and receiver, and θ is the angle between the satellite's direction of motion and the direction from the satellite signal to the receiver. Based on this formula, the instantaneous Doppler frequency f is to be calculated. d Calculating the velocity vectors of GPS satellites is necessary, but this calculation is extremely difficult because, in practice, the average Doppler frequency over a very short time interval λ is often used instead of calculating the instantaneous Doppler frequency f. d Assume the satellite moves from position A to position B within time λ, and the pseudorange ρ A It changed to ρ B The corresponding phase information are respectively and Since the integral of frequency equals phase, the following relationship exists:

[0047]

[0048] In the above formula, f d,m Let λ represent the average Doppler frequency over time λ. Then, the phase relationship during the satellite's motion is:

[0049]

[0050] In the above formula, f T The GPS signal frequency is 1575.42MHz. Combining the above two equations, we get:

[0051]

[0052] Since the code phase simulation module has already calculated the time delay information t of the satellite signal at the predetermined position, rs Let the time delay of the GPS satellite at location A be . The time delay after time λ is The above equation then becomes:

[0053]

[0054] Calculate the average Doppler frequency f during time λ. d,m .

[0055] In a preferred embodiment, the pseudorange observation model is assumed to be:

[0056] y=GX+ε (22)

[0057] In the above formula, y is the difference between the observed pseudorange and the approximate calculated pseudorange, n is the number of satellites, 4-dimensional vector, G is the observation matrix, X is the four-dimensional parameter vector to be solved, and ε is the n-dimensional observation pseudorange noise vector.

[0058] According to the least squares principle, the least squares solution for vector X is:

[0059]

[0060] The pseudo-range residual vector is:

[0061] w = yG(G T G) -1 G T y = [IG(G T G) -1 G T ]ε (24)

[0062] Let Q = IG(G) T G) -1 G T Then the above formula can be simplified to:

[0063] w=Qε (25)

[0064] As shown in the above equation, the vector w contains satellite pseudorange error information, which is used as a basis for determining whether there is a faulty satellite; let SSE = w T w represents the sum of squared pseudorange residuals for each satellite, using... As the decision statistic, it is assumed that the components of the observed pseudorange noise vector ε are independent of each other and follow a mean of zero and a variance of ε. The distribution follows a normal distribution; therefore, according to the theory of multivariate statistical distributions, we can deduce... Follows the χ² pattern with n-4 degrees of freedom 2 The distribution, if the mean of ε is not zero, then Obtain a non-centralized χ with n-4 degrees of freedom 2 The distribution is such that its non-centralization parameter is Therefore, hypothesis testing for RAIM detection falls into two categories:

[0065] (I) Fault-free assumption H0

[0066] E(ε)=0, then

[0067] (2) Faulty assumption H1

[0068] E(ε)≠0, then

[0069] When there are no faulty satellite signals, the system is in normal operation. If an alarm occurs, it is a false alarm. In this case, a false alarm probability P is given. fa And the following equation holds true:

[0070]

[0071] T is calculated using the above formula. 2 Then, the detection threshold is calculated. The real-time calculated judgment statistics T x With T D In comparison, if T x >T D If so, it indicates that a satellite signal failure has been detected;

[0072] Based on the detection principle of the RAIM algorithm, the main task of the RAIM correction module of the GPS signal transmission system is to perform RAIM algorithm detection on the GPS information of the preset location. If the no-alarm condition is met, the preset information is valid; otherwise, the information is corrected until the RAIM no-alarm detection condition is met.

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

[0074] 1. This system solves the problem of location information protection. Specifically, the system generates a baseband signal, which is then transmitted to the radio frequency front end via an intermediate frequency amplifier to emit the generated GPS signal, thereby protecting the location information of a selected area. Simultaneously, the system includes multiple modules, such as data code generation, C / A code generation, convolutional code encoding, time delay simulation, code phase simulation, Doppler simulation, RAIM correction, framing, power control, and BPSK modulation modules. These modules work together to give the GPS signal transmission system higher accuracy and reliability.

[0075] 2. This system boasts high accuracy. Through the collaboration of multiple modules, it generates high-precision GPS signals, resulting in more accurate positioning and strong reliability. The system incorporates various protection measures, such as RAIM algorithm detection and correction, effectively preventing the impact of satellite malfunctions on GPS positioning. It also offers flexibility; the FPGA-based implementation allows for greater flexibility, enabling expansion and adjustment as needed. It can be used in the military field, providing high-precision and highly reliable positioning services to the military during wartime. Furthermore, as a modern navigation tool, GPS is widely used in fields such as aviation, maritime navigation, land transportation, and surveying.

[0076] 3. Assemble all system modules and connect them to the antenna. Use modules such as the data code generation module, C / A code generation module, and convolutional code encoding module to generate baseband signals. Perform operations such as time delay simulation, code phase simulation, and Doppler simulation to form a simulated GPS signal for the selected area. At this time, the RAIM correction module can be used for correction to ensure signal reliability. The signal is sent to the RF front end via the intermediate frequency amplifier and then transmitted through the antenna. The receiver receives the transmitted GPS signal and determines its position through signal decoding and calculation. Attached Figure Description

[0077] Figure 1 This is a top-level architecture diagram of a GPS signal transmission system according to a preferred embodiment of the present invention. Detailed Implementation

[0078] The present invention will be further described below with reference to the accompanying drawings and embodiments.

[0079] It should be noted that the following detailed descriptions are illustrative and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.

[0080] It should be noted that the terminology used herein is for the purpose of describing particular implementations only and is not intended to limit the exemplary implementations according to this application; as used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise; furthermore, it should be understood that when the terms “comprising” and / or “including” are used in this specification, they indicate the presence of features, steps, operations, devices, components and / or combinations thereof.

[0081] Figure 1The top-level architecture of an FPGA-based GPS signal transmission system generally consists of a data code (D code) generation module, a C / A code generation module, a convolutional code encoding module, a data multiplexing module, a time delay simulation module, a code phase simulation module, a Doppler simulation module, a RAIM correction module, a framing module, a power control module, and a BPSK modulation module. The generated baseband signal is then amplified at intermediate frequency and sent to the radio frequency front end, where it is transmitted via an antenna to form the GPS signal, thereby protecting the positioning information of the selected area. Specifically, the functions of each module in the baseband section are as follows:

[0082] Data code (D code) generation module

[0083] GPS data code, also known as D code, is the GPS navigation message. A GPS navigation message is a message broadcast by navigation satellites to users describing the operational parameters of the navigation satellites, including system time, ephemeris, almanac, satellite clock correction parameters, navigation satellite health status, and ionospheric delay model parameters. Navigation message data is logically divided into different frames, each frame containing 1500 bits and taking 30 seconds to transmit. Each frame is further divided into 5 subframes, each containing 300 bits and taking 6 seconds to transmit. Every 25 frames constitute a main frame, and transmitting a complete almanac requires one main frame, or 12.5 minutes. The data code generation module's function is to generate the corresponding GPS navigation message based on the preset location and frame format requirements.

[0084] C / A code generation module

[0085] Most civilian GPS receivers use a time-of-arrival (TOA) ranging principle, which measures the time it takes for a signal to travel from the transmitter to the receiver. Multiplying this time by the speed of signal propagation in the medium yields the distance information. For civilian GPS signals, the pseudocode uses a 1.023MHz C / A code with a code rate of 1.023MHz, consisting of 1023 chips per cycle, and a carrier frequency of 1575.42MHz. The C / A code has good autocorrelation and cross-correlation properties, making synchronization and tracking operations easy, thus facilitating subsequent positioning calculations. In civilian GPS ranging theory, the core task is analyzing the satellite signal transmission time (Tsend), which is composed of multiple parameters, and its formula is:

[0086]

[0087] In the above formula, TOW represents the GPS cycle time, w represents the w-th word the receiver has received in the current subframe, and b represents the b-th bit in the w-th word currently being received. 0.02 indicates that one message bit corresponds to 20ms. c is the C / A code cycle number, CP represents the code phase measurement value, 1023 indicates that one C / A code cycle has 1023 chips, and 0.001 indicates that one C / A code cycle corresponds to 1ms. According to this formula, after setting the preset position, all parameters except the code phase measurement value CP can be obtained from the corresponding navigation message data. However, the code phase measurement value CP needs to be obtained by performing related calculations on the local C / A code. Therefore, the main task of the C / A code generation module is to generate the corresponding C / A code based on the preset position and GPS ranging theory to form the subsequent transmission signal.

[0088] Convolutional code encoding module

[0089] The convolutional coding module performs convolutional coding on the input GPS data code and C / A code. Its default method is (2,1,7) convolutional coding with a code rate of 1 / 2. Depending on the situation, it can be adjusted to (3,2,2) convolutional coding with a code rate of 2 / 3 or (8,6,8) convolutional coding with a code rate of 3 / 4.

[0090] Delay simulation module

[0091] Real GPS signals travel directly from space to the Earth's surface, often passing through the ionosphere and troposphere, resulting in time delays. However, GPS signal transmission systems typically emit signals from ground-based base stations, bypassing the ionosphere and troposphere, and therefore experience no time delays. Therefore, GPS signal transmission systems require simulation of ionospheric and tropospheric delays.

[0092] The ionosphere is approximately 70-100 km above the Earth's surface. Due to sunlight, the ionosphere is filled with electrons, causing a delay in GPS signal transmission. The formula for calculating ionospheric delay over a 24-hour period is as follows:

[0093]

[0094] In the above formula, t represents the current time, A represents the maximum delay time in the ionospheric model, its value is determined by the amplitude parameter in the fourth subframe of the navigation message, and T represents the period of the ionospheric delay model, its value is determined by the period parameter in the fourth subframe of the navigation message. This formula is a delay simulation relative to the zenith direction. For GPS signal transmission systems, since they are assumed to be based on the Earth's surface, the above formula can be modified according to the relationship between the elevation angle θ between the received signal and the signal transmitter in its coverage area, thus obtaining the final ionospheric delay simulation formula:

[0095]

[0096] For tropospheric delay, the troposphere, located at the bottom of the atmosphere, is the primary cloud layer for various weather phenomena. The various gases in the troposphere alter the refractive index, thus causing a delay in electromagnetic wave propagation. Tropospheric delay simulations commonly use the following formula:

[0097]

[0098] In the above formula, θ is the altitude angle and c is the speed of light.

[0099] Code phase simulation module

[0100] The C / A code of a GPS signal is a combination code with a period of 1023 chips, possessing excellent autocorrelation and cross-correlation properties. The C / A code is constructed using two 10-stage feedback shift registers, generating a total of 1025 different C / A code structures. The first ten codes differ between different satellites, and after determining the satellite, the shift register sequence corresponding to different chips also differs within a period. Based on this characteristic, the code phase simulation module can calculate the code phase information that the GPS signal transmitting system should transmit based on the time delay information.

[0101] The core of code phase simulation technology is to determine the correct position of the satellite. Due to the motion of GPS satellites, the satellite position obtained by the GPS receiver in solving the positioning equations is actually the satellite position at the time of reception, and it is located in the coordinate system of the time of reception. Therefore, code phase simulation is needed to reverse-engineer its corresponding position in the coordinate system of the time of transmission.

[0102] Assume the time when the GPS satellite transmits the signal is t. s The receiver receives the signal at time t. r The coordinate system at the time of signal transmission is denoted as S, and the coordinate system at the time of signal reception is denoted as R, both of which are WGS-84 coordinate systems. Using satellite orbit theory, the satellite's position at the time of transmission can be deduced from the position calculated based on the coordinate system R at the time of signal reception using the satellite's propagation time, thus allowing the satellite to be transmitted from that position.

[0103] Based on this concept, the first step is to calculate an estimate of the satellite propagation time. Assume the satellite's position at the time of reception in the R coordinate system is (x... rr ,y rr ,z rr Since the location of the GPS signal transmitting system's transmission point is predetermined and therefore known, let's assume it's (x...). tt ,y tt ,z tt Therefore, the estimated value of the time delay t can be obtained. rr :

[0104]

[0105] Based on the time delay estimate t rr The estimated value t of the satellite launch time can be calculated. rs :

[0106] t rs =t r -t rr (6)

[0107] Based on the estimated satellite launch time t rs This allows us to calculate the estimated position of the satellite at the launch time in the S-coordinate system (x). ss ,y ss ,z ss ).

[0108] Due to the Earth's rotation, there is actually a difference between the S-coordinate system and the R-coordinate system. Let's assume the Earth's rotational angular velocity is Ω. e Therefore, the Earth's rotation can be considered as the Earth rotating around the Z-axis of the WGS-84 coordinate system. e t rr According to the coordinate transformation formula, the satellite position at the time of launch in the R coordinate system can be obtained as follows:

[0109]

[0110] Using the satellite launch time and position calculated in the R coordinate system, the time delay for the satellite signal to propagate to the preset position can be calculated:

[0111]

[0112] via t rs The code phase information at the preset position can be calculated. First, the accurate value of the satellite launch time is calculated:

[0113] t s =t r -t rs (9)

[0114] According to t s It can calculate the time of week (TOW) of a preset location signal message:

[0115]

[0116] symbol To round down, use The launch time excluding weekdays is denoted as:

[0117]

[0118] Given that one navigation message bit corresponds to 20ms, the formula for calculating message bit B is:

[0119]

[0120] remember for:

[0121]

[0122] Since the duration of one cycle of a C / A code is 1ms, the number of code phase cycles C y for:

[0123]

[0124] The remaining delay is the code phase information, measured in seconds, and is calculated as follows:

[0125]

[0126] Let's assume f again C / A It is the frequency of the C / A code, and the code phase information P. h This includes the chip position of the corresponding C / A code within one period and the phase information corresponding to the current chip. The C / A code chip and phase can be calculated using the following formula:

[0127]

[0128] By correcting the chip information of the transmitted signal based on the code phase information calculated by the above formula, the code phase simulation of the GPS signal transmission system is completed.

[0129] Doppler simulation module

[0130] Because of the relative motion between GPS satellites and the preset location, the satellite signal at the preset location experiences a Doppler frequency shift due to this relative motion. The calculation formula is as follows:

[0131]

[0132] In the above formula, f d It is the Doppler frequency, f Car The GPS signal frequency is 1575.42 MHz, c is the speed of light, v is the relative velocity between the satellite signal transmitter and receiver, and θ is the angle between the satellite's direction of motion and the direction of the satellite signal from the receiver. Based on this formula, the instantaneous Doppler frequency f is to be calculated. d Calculating the velocity vectors of GPS satellites is necessary, but this calculation is extremely difficult because, in practice, the average Doppler frequency over a very short time interval λ is often used instead of calculating the instantaneous Doppler frequency f. d .

[0133] Assume the satellite moves from position A to position B in time λ, and the pseudorange ρ A It changed to ρ B The corresponding phase information are respectively and Since the integral of frequency equals phase, the following relationship exists:

[0134]

[0135] In the above formula, f d,m Let λ represent the average Doppler frequency over time λ. Then, the phase relationship during the satellite's motion is:

[0136]

[0137] In the above formula, f T The GPS signal frequency is 1575.42MHz. Combining the above two equations, we can obtain:

[0138]

[0139] Since the time delay information t of the satellite signal at the predetermined position has already been calculated in the code phase simulation module. rs Let the time delay of the GPS satellite at location A be . The time delay after time λ is The above equation then becomes:

[0140]

[0141] This allows us to calculate the average Doppler frequency f within the time interval λ. d,m .

[0142] RAIM calibration module

[0143] GPS RAIM (Receiver Autonomous Integrity Monitoring) is a technique used to assess the signal integrity of a GPS receiver system. Because GPS signals do not contain any internal information about their integrity, GPS satellites may broadcast incorrect information, leading to inaccurate satellite navigation information. RAIM uses redundant signals to generate multiple GPS positioning information sets and compares and analyzes them, statistically determining the presence of abnormal satellite signals. If any are found, the satellite is set to an untrusted state, and its signals are filtered out. As an autonomous satellite fault detection and identification technique, RAIM is currently widely used in GPS receivers.

[0144] Clearly, for a GPS signal transmission system to function effectively, the receiver's RAIM (Rapid Range Observation) must be unable to detect anomalies in the transmitted signal. To achieve this, we must first understand the RAIM algorithm principle, assuming the pseudorange observation model is as follows:

[0145] y=GX+ε (22)

[0146] In the above formula, y is an n-dimensional vector (n is the number of satellites) of the difference between the observed pseudorange and the approximate calculated pseudorange, G is the observation matrix, X is the four-dimensional parameter vector to be solved, and ε is the n-dimensional observation pseudorange noise vector.

[0147] According to the least squares principle, the least squares solution for vector X is:

[0148]

[0149] The pseudo-range residual vector is:

[0150] w = yG(G T G) -1 G T y = [IG(G T G) -1 G T ]ε (24)

[0151] Let Q = IG(G) T G) -1 G T Then the above formula can be simplified to:

[0152] w=Qε (25)

[0153] As shown in the above equation, the vector w contains satellite pseudorange error information and can be used as a basis for determining whether there is a faulty satellite. Let SSE = w T w represents the sum of squared pseudorange residuals for each satellite, using... As the decision statistic, it is assumed that the components of the observed pseudorange noise vector ε are independent of each other and follow a mean of zero and a variance of ε. The distribution follows a normal distribution. Therefore, according to multivariate statistical distribution theory, we can conclude... Follows the χ² pattern with n-4 degrees of freedom 2 The distribution, if the mean of ε is not zero, then Obtain a non-centralized χ with n-4 degrees of freedom 2 The distribution is such that its non-centralization parameter is Therefore, hypothesis testing for RAIM detection falls into two categories:

[0154] (I) Fault-free assumption 0

[0155] E(ε)=0, then χ2 (n-4)

[0156] (2) Faulty Assumption 1

[0157] E(ε)≠0, then

[0158] When there are no faulty satellite signals, the system is in normal operation; any alarms that occur are false alarms. In this case, a false alarm probability P is given. fa And the following equation holds true:

[0159]

[0160] T can be calculated from the above formula. 2 Then, the detection threshold is calculated. The real-time calculated judgment statistics T x With T D In comparison, if T x >T D If so, it indicates that a satellite signal failure has been detected.

[0161] Based on the detection principle of the RAIM algorithm, the main task of the RAIM correction module of the GPS signal transmission system is to perform RAIM algorithm detection on the GPS information of the preset location. If the no-alarm condition is met, the preset information is valid; otherwise, the information is corrected until the RAIM no-alarm detection condition is met.

[0162] Data reuse module

[0163] The function of the data multiplexing module is to perform an XOR operation on the generated data code and C / A code, and then combine and reuse the two to form a new data stream.

[0164] framing module

[0165] Typically, GPS receivers output navigation and positioning information according to the National Marine Electronics Association (NMEA) 0183 protocol. The NMEA 0183 protocol has six output protocol formats: GPGGA (Positioning Information Protocol), GPGLL (Geolocation Information Protocol), GPGSA (Satellite Information Protocol), GPGSV (Visible Satellite Information Protocol), GPRMC (Recommended Positioning Information Protocol), and GPRMC (Ground Velocity Information Protocol). The framing module's function is to frame the signal data according to these six protocol formats and then transmit it.

[0166] Power control module

[0167] The power control module uses registers to divide the transmission power into different levels, transmitting the generated GPS signal at different power levels according to requirements. This system assumes a maximum transmission power of 4W, which is divided into 65,536 levels, each approximately 0.061mW, and uses this to control the transmission power of the generated GPS signal.

[0168] BPSK modulation module

[0169] The BPSK modulation module performs BPSK constellation mapping and carrier modulation on the framed data, and then transmits the signal.

[0170] This invention proposes a GPS digital transmission system for testing the anti-spoofing capabilities of GPS receiving systems. The system simulates GPS positioning signals and employs various spoofing techniques to mimic real-world spoofing scenarios, thereby evaluating the GPS receiving system's resistance to deception. Testing with this GPS digital transmission system can help assess and improve the anti-spoofing capabilities of GPS receiving systems, enhancing the security and reliability of GPS systems and ensuring the accuracy and reliability of related applications.

Claims

1. A GPS digital transmission system based on FPGA, characterized in that... The system includes modules for data code generation, C / A code generation, convolutional code encoding, data multiplexing, time delay simulation, code phase simulation, Doppler simulation, RAIM correction, framing, power control, and BPSK modulation. The data code generation module generates the corresponding GPS navigation message based on the preset location and frame format requirements. The C / A code generation module generates the corresponding C / A code based on the preset location and GPS ranging theory to form the subsequent transmission signal. The convolutional code encoding module performs convolutional encoding on the input GPS data code and C / A code. The time delay simulation module simulates the delay in the ionosphere and troposphere. The code phase simulation module calculates the GPS signal based on the time delay information. The transmitting system should transmit the code phase information; the Doppler simulation module calculates the average Doppler frequency; the RAIM correction module performs RAIM algorithm detection on the GPS information at the preset location. If the no-alarm condition is met, the preset information is valid; otherwise, the information is corrected until the RAIM no-alarm detection condition is met; the data multiplexing module performs XOR addition on the generated data code and C / A code, and combines the two to form a new data stream; the framing module frames the signal data according to these 6 protocol formats and then transmits it; the power control module divides the transmission power into different levels through the function of registers and transmits the generated GPS signal at different power levels according to the requirements. The BPSK modulation module performs BPSK constellation mapping and carrier modulation on the framed data, and then transmits the signal.

2. A GPS digital transmission method based on FPGA, characterized in that, The GPS digital transmission system based on FPGA described in claim 1 above is adopted.

3. The GPS digital transmission method based on FPGA according to claim 2, characterized in that, GPS navigation messages are messages broadcast by navigation satellites to users describing the operational status parameters of the navigation satellites, including system time, ephemeris, almanac, satellite clock correction parameters, navigation satellite health status, and ionospheric delay model parameters. Navigation message data is logically divided into different frames, each frame containing 1500 bits and requiring 30 seconds to transmit. Each frame is further divided into 5 subframes, each containing 300 bits and requiring 6 seconds to transmit. Every 25 frames constitute a main frame, and transmitting a complete almanac requires one main frame, or 12.5 minutes.

4. The GPS digital transmission method based on FPGA according to claim 2, characterized in that, Analysis of satellite signal transmission time T send The launch time is composed of multiple parameters, and its formula is: (1) In the above formula, TOW represents the GPS week, w represents the wth word that the receiver has received in the current subframe, b represents the bth bit in the wth word that the received signal is currently corresponding to; 0.02 represents that one message bit corresponds to 20ms; c is the number of C / A code cycles, CP represents the code phase measurement value, 1023 represents that there are 1023 chips in one C / A code cycle, and 0.001 represents that the time corresponding to one C / A code cycle is 1ms; According to formula (1), after setting the preset position, all parameters except the code phase measurement value CP can be obtained from the corresponding navigation message data, while the code phase measurement value CP needs to be obtained by relevant calculations of the local C / A code.

5. The GPS digital transmission method based on FPGA according to claim 2, characterized in that, Due to sunlight, the ionosphere becomes filled with electrons, causing a delay in GPS signal transmission. The formula for calculating ionospheric delay over a 24-hour period is: (2) In the above formula, t represents the current time, A represents the maximum delay time in the ionospheric model, its value is determined by the amplitude parameter in the fourth subframe of the navigation message, and T represents the period of the ionospheric delay model, its value is determined by the period parameter in the fourth subframe of the navigation message. This formula is a delay simulation relative to the zenith direction. For the GPS signal transmission system, since it is assumed to be based on the Earth's surface, the delay is determined by the elevation angle between the received signal and the signal transmitter in its coverage area. Based on the relationship, the above formula is modified as follows to obtain the final ionospheric delay simulation formula: (3) For tropospheric delay, the troposphere, located at the bottom of the atmosphere, is the main cloud layer where various weather phenomena occur. The various gases in the troposphere alter the refractive index, thus causing a delay in the transmission of electromagnetic waves through the troposphere. Tropospheric delay is simulated using the following formula: (4) In the above formula, θ is the altitude angle, and c is the speed of light.

6. The GPS digital transmission method based on FPGA according to claim 2, characterized in that, The code phase simulation is used to deduce its corresponding position in the coordinate system at the time of transmission; first, the estimated value of the satellite propagation time is calculated, assuming that the position of the satellite at the time of reception in the R coordinate system is (x rr ,y rr ,z rr Since the location of the GPS signal transmitting system's transmission point is predetermined and therefore known, let's assume it is (x...). tt ,y tt ,z tt Therefore, the estimated value of the time delay t can be obtained. rr : (5) Based on the time delay estimate t rr The estimated launch time t of the satellite was calculated. rs : (6) Based on the estimated satellite launch time t rs This allows us to calculate the estimated position of the satellite at the launch time in the S-coordinate system (x). ss ,y ss ,z ss ); Due to the Earth's rotation, there is actually a difference between the S-coordinate system and the R-coordinate system. Let's assume the Earth's rotational angular velocity is... Therefore, the Earth's rotation can be considered as the Earth rotating around the Z-axis of the WGS-84 coordinate system. Based on the coordinate transformation formula, the satellite position at the time of launch in the R coordinate system is obtained as follows: (7) Calculate the time delay of the satellite signal propagating to the preset location using the satellite launch time and position calculated in the R coordinate system: (8) The code phase information at the preset position is calculated using TRS. First, the accurate value of the satellite launch time is calculated: (9) The time of day (TOW) within the week is calculated based on the preset position signal message (TS). (10) symbol To round down, use The launch time excluding weekdays is denoted as: (11) Given that one navigation message bit corresponds to 20ms, the formula for calculating message bit B is: (12) remember for: (13) Since the duration of one C / A code cycle is 1ms, the code phase cycle number Cy is: (14) The remaining delay is the code phase information, measured in seconds, and is calculated as follows: (15) Let's assume f again C / A It refers to the frequency and phase information of the C / A code. This includes the chip position of the corresponding C / A code within one period and the phase information corresponding to the current chip. The C / A code chip and phase are calculated according to the following formula: (16) Based on the code phase information calculated by the above formula, the chip information of the transmitted signal is corrected to complete the code phase simulation of the GPS signal transmission system.

7. The GPS digital transmission method based on FPGA according to claim 2, characterized in that, Because of the relative motion between GPS satellites and the preset location, the satellite signal at the preset location experiences a Doppler frequency shift due to this relative motion. The calculation formula is as follows: (17) In the above formula, f d It is the Doppler frequency, f Car The GPS signal frequency is 1575.42 MHz, c is the speed of light, and v is the relative speed between the satellite signal transmitter and receiver. Let f be the angle between the satellite's direction of motion and the direction from the satellite signal to the receiver; based on this formula, the instantaneous Doppler frequency f is to be calculated. d Calculating the velocity vectors of GPS satellites is required, but this calculation is extremely difficult because it is often performed in a very short time. The method of averaging the Doppler frequency within the time frame is used instead of calculating the instantaneous Doppler frequency f. d ; Assuming the satellite is Within a given time, the distance traveled from position A to position B, and the pseudorange... It has become The corresponding phase information are respectively and Since the integral of frequency equals phase, the following relationship exists: (18) In the above formula, express Given the average Doppler frequency over a given time period, the phase relationship during the satellite's motion is: (19) In the above formula, The GPS signal frequency is 1575.42MHz. Combining the above two equations, we get: (20) Since the code phase simulation module has already calculated the time delay information t of the satellite signal at the predetermined position, rs Let the time delay of the GPS satellite at location A be . , The time delay after the time is Then the above formula becomes: (21) Calculate Average Doppler frequency over time .

8. The GPS digital transmission method based on FPGA according to claim 2, characterized in that, Assume the pseudorange observation model is as follows: (22) In the above formula, This is an n-dimensional vector representing the difference between the observed pseudorange and the approximate calculated pseudorange, where n is the number of satellites. For the observation matrix, The parameter vector to be solved in four dimensions. This is an n-dimensional observation pseudorange noise vector; According to the least squares principle, vectors The least squares solution is: (23) The pseudo-range residual vector is: (24) make Then the above formula can be simplified to: (25) From the above equation, we can see that the vector It includes satellite pseudorange error information, used as a basis for determining whether there are faulty satellites; , representing the sum of squared pseudorange residuals for each satellite, using As a decision statistic, assume the observed pseudorange noise vector The components in the equation are independent of each other and follow a mean of zero and a variance of . The distribution follows a normal distribution; therefore, according to the theory of multivariate statistical distributions, we can deduce... Obeying the degree of freedom of Distribution, if If the mean is not zero, then Obeying the degree of freedom Decentralization The distribution is such that its non-centralization parameter is ; Therefore, hypothesis testing for RAIM detection falls into two categories: (I) Fault-free assumption ,but (2) Fault assumption ,but When there are no faulty satellite signals, the system is in normal operation. If an alarm occurs, it is a false alarm. In this case, a false alarm probability P is given. fa And the following equation holds true: (26) Calculated according to the above formula Then, the detection threshold is calculated. ; Real-time calculated judgment statistics and In comparison, if If so, it indicates that a satellite signal failure has been detected; Based on the detection principle of the RAIM algorithm, the RAIM correction module of the GPS signal transmission system performs RAIM algorithm detection on the GPS information at the preset location. If the no-alarm condition is met, the preset information is valid; otherwise, the information is corrected until the RAIM no-alarm detection condition is met.