A pseudo-range measurement system based on resource pool architecture signal processing
By using a signal processing system based on a resource pool architecture, combined with front-end sampling and back-end processing modules, high-precision pseudorange measurement is achieved, solving the problem of insufficient accuracy in traditional systems and supporting efficient processing of multiple signal types.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- THE 54TH RESEARCH INSTITUTE OF CHINA ELECTRONICS TECHNOLOGY GROUP CORPORATION
- Filing Date
- 2026-04-21
- Publication Date
- 2026-06-23
AI Technical Summary
Traditional ground control system signal processing frameworks cannot meet the requirements of high-precision pseudorange measurement, especially due to the insufficient network NTP synchronization accuracy of CPU+GPU, which makes it impossible to achieve sub-nanosecond measurement accuracy.
A signal processing system based on a resource pool architecture is adopted. The front-end sampling module generates timestamps, and combined with the switching network and back-end processing module, the CPU+GPU architecture is used to quickly acquire and track distances, thereby achieving accurate data alignment and high-precision pseudorange measurement.
It achieves sub-nanosecond pseudorange measurement accuracy, supports ranging processing of burst and continuous signals, and has flexible expansion and large-scale parallel computing capabilities, meeting the high-precision real-time measurement requirements of ground operation and control systems.
Smart Images

Figure CN122260367A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of satellite navigation and positioning technology, specifically to a pseudorange measurement system based on resource pool architecture signal processing, which is suitable for the large-scale, high-precision real-time pseudorange measurement needs of ground operation and control systems. Background Technology
[0002] Ground-based operations control systems are a crucial component of navigation systems. With the development of navigation systems, the types and quantities of services that ground-based operations control systems need to handle are expanding, correspondingly increasing the number and types of signal frequencies, signals, and signal types they need to process. On the one hand, this places higher demands on the signal processing capabilities of ground-based operations control systems, requiring them to meet the ever-expanding real-time processing needs of signal services. On the other hand, the application of new signal systems typically requires thorough testing and verification, placing higher demands on the system's flexibility and scalability.
[0003] Traditional ground control system signal processing block diagram as follows Figure 1 As shown, analog connections are mostly used before baseband processing. Baseband processing is based on dedicated DSP+FPGA devices and is performed for specific services. The signal processing block diagram based on the resource pool architecture is shown below. Figure 2 As shown, a front-end sampling layer is added after the channel to convert the analog signal into a digital signal and send it to the switching network. The back-end processing is similar to the function of baseband processing, extracting the digital signal from the switching network for processing. The back-end processing uses a general-purpose processing device based on CPU+GPU. This architecture has the advantages of flexible expansion and large-scale parallel computing.
[0004] General-purpose processing devices based on CPU+GPU are similar to servers and typically do not support dedicated time-frequency references. Furthermore, the network NTP synchronization accuracy is only at the millisecond level, which cannot meet the pseudorange measurement accuracy requirements of navigation ground application systems. Summary of the Invention
[0005] In view of this, the present invention proposes a pseudorange measurement system based on signal processing using a resource pool architecture. The present invention achieves local time synchronization accuracy at the data sampling rate level by timestamping the front-end sampled data and recovering the time represented by the data at the back-end. Furthermore, through the design of the capture and tracking modules, it achieves sub-nanosecond pseudorange measurement accuracy (equivalent to dedicated equipment).
[0006] To achieve the above objectives, the technical solution adopted by the present invention is as follows:
[0007] A pseudorange measurement system based on resource pool architecture signal processing includes an antenna, a channel, a front-end sampling module, a switching network module, and a back-end processing module;
[0008] After receiving the spatial signal, the antenna filters, amplifies, and down-converts the signal through the channel before sending it to the front-end sampling module.
[0009] The front-end sampling module digitally samples the analog signal, generates timestamps at fixed time intervals, and forms a frame structure of "timestamp + front-end sampling data"; then it packages the data according to the network protocol and sends it to the switching network module.
[0010] The switching network module sampling is used to transmit the data packaged by the front-end sampling module to the back-end processing module;
[0011] The backend processing module includes a fast acquisition module and a tracking and ranging module;
[0012] The fast acquisition module obtains data from the switching network module and uses the front-end sampling data corresponding to the initial timestamp as the starting point for processing. It adopts a segmented matched filtering + FFT algorithm, calculates the decision through a sliding window, determines the signal pseudocode phase, and transmits it to the tracking and ranging module to achieve signal acquisition.
[0013] The tracking and ranging module tracks the data transmitted by the switching network module based on the signal acquisition results, and then obtains the pseudorange measurement results.
[0014] Furthermore, the back-end processing module adopts a CPU+GPU general server architecture, which supports parallel computing and does not require a dedicated time-frequency reference.
[0015] Furthermore, the tracking and ranging module supports a signal buffering mechanism to ensure timing matching between acquisition and tracking processing.
[0016] Furthermore, the front-end sampling module performs the following steps:
[0017] The front-end sampling module digitizes the analog signal at a sampling rate Fs_AD, at fixed time intervals T. △ Generate timestamps to form a frame structure of "timestamp + sampled data";
[0018] The front-end sampled data within 1 second is {Data_0, Data_1,…,Data_(Fs_AD-1)}; the timestamp within 1 second is {T_tag0,T_tag1,…,T_tag(K-1)}; K=1 / T △ Fs_AD is greater than K, and Fs_AD is an integer multiple of K; timestamp T_tag0 on the front-end sampled data Data_0, and when n = k * (Fs_AD / K), timestamp T_tagk on the front-end sampled data Data_n, 0 ≤ n ≤ Fs_AD-1, 0 ≤ k ≤ K-1; mark the remaining front-end sampled data with "--";
[0019] Then, it is packaged according to the network protocol and sent to the switching network module.
[0020] Furthermore, the rapid capture module performs the following steps:
[0021] The fast acquisition module obtains data from the switching network module and performs data extraction: that is, it samples according to the sampling rate Fs_ACQ to obtain fast acquisition data {Data-bh_0, Data-bh_1,…,Data-bh_(Fs_ACQ-1)}; then the fast acquisition data is decarrierized.
[0022] For the fast acquisition data after carrier removal, M_ACQ fast acquisition data points are input into the matched filter starting from Data-bh_0 for a segmented matched filtering + FFT acquisition process, where M_ACQ is the length of the matched filter. Each time a new round of segmented matched filtering + FFT acquisition is performed, the current fast acquisition data of the matched filter is shifted one unit according to a first-in, first-out principle. The segmented matched filtering + FFT acquisition process is as follows:
[0023] M_ACQ fast acquisition data points are multiplied by M_ACQ local pseudocodes in the matched filter, and the multiplication results are divided into H groups. The multiplication results in each group are added together to obtain H values: ACC_1, ACC_2...ACC_H. Then, NH points (0) are added. Subsequently, FFT calculation is performed on the N values. If any FFT calculation result exceeds 5 times the noise energy, the acquisition is considered successful. The signal pseudocode phase is obtained based on the first fast acquisition data Data-bh_m_ACQ in the current matched filter: m_ACQ, 0≤m_ACQ<Fs_ACQ; otherwise, the acquisition is considered unsuccessful. After completing the FFT calculation and judgment, a new round of segmented matched filtering + FFT acquisition process is started.
[0024] Furthermore, Fs_ACQ is less than the sampling rate Fs_AD in the front-end sampling module, and is 2 to 4 times the pseudocode rate.
[0025] Furthermore, in response to sudden signals, the tracking and ranging module performs the following steps:
[0026] The tracking and ranging module extracts data from the burst signals transmitted by the network module: that is, it samples according to the sampling rate Fs_Trace; thus obtaining the tracking data {Data-gz_0, Data-gz_1,…,Data-gz_(Fs_Trace-1)}.
[0027] The tracking data is cached, and then the tracking data is decarrierized;
[0028] The pseudo-code phase of the signal output from the fast acquisition data is converted according to the data rate:
[0029] m_Trace = round [(Fs_Trace / Fs_ACQ)*m_ACQ]. If Fs_Trace = Fs_AD, then the tracking data Data-gz_m_Trace corresponding to m_Trace is the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk. If Fs_Trace < Fs_AD, then first find the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk, and Data-gz_m_Trace is the tracking data closest to this front-end sampled data. ;
[0030] Data-gz_m_Trace is used as the first data for tracking processing. Coherent accumulation is performed in units of M_Trace points. The coherent accumulation results are used for loop tracking to adjust the carrier and pseudocode phases. The phase of local pseudocode and carrier movement can be accurately recorded. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode and carrier phases at the observation time.
[0031] Let the pseudocode NCO reference frequency be denoted as F_code, and the frequency of the nth pseudocode generation be denoted as F_code_n, where 1 ≤ n ≤ N_Trace, and N_Trace is the total number of adjustments: that is, the total number of groups obtained by grouping Data-gz_m_Trace to Data-gz_(Fs_Trace-1) according to M_Trace points. Then, the phase deviation generated by the tracking and ranging module is... The ranging result P = [( (F_code / Fs_Trace)*m_Trace+Pha_bias_code) / F_code]*C, where C is the speed of light; T_cor = M_Trace* Fs_Trace.
[0032] Furthermore, for continuous signals, the tracking and ranging module performs the following steps:
[0033] The tracking and ranging module extracts data from the burst signals transmitted by the network module: that is, it samples according to the sampling rate Fs_Trace; thus obtaining the tracking data {Data-gz_0, Data-gz_1,…,Data-gz_(Fs_Trace-1)}.
[0034] The tracking data is cached, and then the tracking data is decarrierized;
[0035] The pseudo-code phase of the signal output from the fast acquisition data is converted according to the data rate:
[0036] m_Trace = round [(Fs_Trace / Fs_ACQ)*m_ACQ]. If Fs_Trace = Fs_AD, then the tracking data Data-gz_m_Trace corresponding to m_Trace is the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk. If Fs_Trace < Fs_AD, then first find the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk, and Data-gz_m_Trace is the tracking data closest to this front-end sampled data. ;
[0037] Data-gz_m_Trace is used as the first data for tracking processing. Coherent accumulation is performed in units of M_Trace points. The coherent accumulation results are used for loop tracking to adjust the carrier and pseudocode phases. The phase of local pseudocode and carrier movement can be accurately recorded. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode and carrier phases at the observation time.
[0038] When Data-gz_0 appears in the coherent accumulated data of the nth Trace segment, the local pseudocode corresponding to the trace data Data-gz_0 is recorded as Local_[(n_Trace-1) *M_Trace+m], 0≤m≤M_Trace-1;
[0039] When n_Trace=1, the corresponding phase deviation is:
[0040] ;
[0041] When n_Trace≥2, the corresponding phase deviation is:
[0042]
[0043] The ranging result P = [( (F_code / Fs_Trace )*m_Trace+Pha_bias_code) / F_code]*C; C is the speed of light; T_cor = M_Trace* Fs_Trace; F_code is the pseudocode NCO reference frequency, and F_code_n is the frequency of the nth pseudocode generation.
[0044] Furthermore, Fs_Trace is greater than the sampling rate Fs_ACQ in the fast capture module and less than or equal to the sampling rate Fs_AD in the front-end sampling module.
[0045] Due to the adoption of the above technical solution, the beneficial effects of this invention compared with the prior art are as follows:
[0046] 1. The pseudorange measurement system based on resource pool architecture signal processing proposed in this invention adopts a general processing architecture of front-end sampling + intermediate switching network + back-end processing, which has the characteristics of strong versatility and easy promotion.
[0047] 2. The present invention proposes a pseudorange measurement system based on resource pool architecture signal processing, which uses sparse timestamp marking to achieve precise alignment between sampled data and system clock, and supports ranging processing of burst / continuous signals.
[0048] 3. The pseudorange measurement system based on resource pool architecture signal processing proposed in this invention includes key navigation signal processing steps such as rapid acquisition and tracking. Based on this method, navigation signal ranging processing can be effectively completed. Attached Figure Description
[0049] Figure 1 It is a signal processing architecture for traditional ground operation and control systems.
[0050] Figure 2 This is the signal processing architecture for a ground operation and control system based on a resource pool architecture.
[0051] Figure 3 This is a schematic diagram of the front-end sampling data frame structure.
[0052] Figure 4 This is a block diagram of the backend processing components.
[0053] Figure 5 This is a schematic diagram of the initial calculation of the fast acquisition module based on piecewise matched filtering and FFT.
[0054] Figure 6 This is a schematic diagram of the calculation process of the fast capture module based on piecewise matched filtering and FFT.
[0055] Figure 7 This is a schematic diagram showing the correspondence between data from the signal tracking and ranging module and time.
[0056] Figure 8 This is a schematic diagram of the loop data processing process of the sudden signal tracking and ranging module.
[0057] Figure 9 This is a schematic diagram of the loop data processing process of the continuous signal tracking and ranging module. Detailed Implementation
[0058] The invention will be further described below with reference to the accompanying drawings and specific embodiments.
[0059] A pseudorange measurement system based on resource pool architecture signal processing, such as Figure 2 As shown, it includes an antenna, a channel, a front-end sampling module, a switching network module, and a back-end processing module;
[0060] After receiving the spatial signal, the antenna filters, amplifies, and down-converts the signal through the channel before sending it to the front-end sampling module.
[0061] The front-end sampling module digitally samples the analog signal, generates timestamps at fixed time intervals, and forms a frame structure of "timestamp + front-end sampling data"; then it packages the data according to the network protocol and sends it to the switching network module.
[0062] The switching network module sampling is used to transmit the data packaged by the front-end sampling module to the back-end processing module; the switching network consists of commercial 10 Gigabit switches.
[0063] like Figure 4 As shown, the backend processing module includes a fast acquisition module and a tracking and ranging module;
[0064] The fast acquisition module obtains data from the switching network module and uses the front-end sampling data corresponding to the initial timestamp as the starting point for processing. It adopts a segmented matched filtering + FFT algorithm, calculates the decision through a sliding window, determines the signal pseudocode phase, and transmits it to the tracking and ranging module to achieve signal acquisition.
[0065] The tracking and ranging module tracks the data transmitted by the switching network module based on the signal acquisition results, and then obtains the pseudorange measurement results.
[0066] Furthermore, the back-end processing module adopts a CPU+GPU general server architecture, which supports parallel computing and does not require a dedicated time-frequency reference.
[0067] Furthermore, the tracking and ranging module supports a signal buffering mechanism to ensure timing matching between acquisition and tracking processing. By recording the real-time phase of the local pseudocode / carrier NCO, sub-nanosecond pseudorange measurement accuracy is achieved.
[0068] Furthermore, the front-end sampling module performs the following steps:
[0069] The front-end sampling module digitizes the analog signal at a sampling rate Fs_AD, at fixed time intervals T. △ Generate timestamps to form a frame structure of "timestamp + sampled data";
[0070] like Figure 3As shown, the front-end sampled data within 1 second is {Data_0, Data_1,…,Data_(Fs_AD-1)}; the timestamp within 1 second is {T_tag0,T_tag1,…,T_tag(K-1)}; K=1 / T △ Fs_AD is greater than K, and Fs_AD is an integer multiple of K; timestamp T_tag0 on the front-end sampled data Data_0, and when n = k * (Fs_AD / K), timestamp T_tagk on the front-end sampled data Data_n, 0 ≤ n ≤ Fs_AD-1, 0 ≤ k ≤ K-1; mark the remaining front-end sampled data with "--"; (to save transmission bandwidth, the sampling rate Fs_AD is usually much higher than the number of timestamps K in 1 second, i.e., Fs_AD >> K).
[0071] Then, it is packaged according to the network protocol and sent to the switching network module.
[0072] Furthermore, the rapid capture module performs the following steps:
[0073] The fast capture module obtains data from the switching network module and performs data extraction: that is, it samples according to the sampling rate Fs_ACQ; and obtains fast capture data {Data-bh_0, Data-bh_1,…,Data-bh_(Fs_ACQ-1)}; where Data-bh_0 is the front-end sampled data Data_0. When sampling according to the sampling rate Fs_ACQ later, if there is corresponding front-end sampled data at the corresponding sampling point, the front-end sampled data is recorded as the fast capture data at the corresponding sampling point; otherwise, the front-end sampled data closest to the sampling point is recorded as the fast capture data at the corresponding sampling point.
[0074] The captured data is then multiplied with a carrier wave of the same frequency to become baseband, thus completing the carrier removal process.
[0075] like Figure 5 , Figure 6 As shown, for the fast acquisition data after carrier removal, M_ACQ fast acquisition data points are input into the matched filter starting from Data-bh_0 for a segmented matched filtering + FFT acquisition process, where M_ACQ is the length of the matched filter. Whenever a new round of segmented matched filtering + FFT acquisition is needed, the current fast acquisition data of the matched filter is shifted one fast acquisition data point according to a first-in-first-out principle. The segmented matched filtering + FFT acquisition process is as follows:
[0076] M_ACQ fast acquisition data points are multiplied by M_ACQ local pseudocodes in the matched filter, and the multiplication results are divided into H groups. The multiplication results in each group are added together to obtain H values: ACC_1, ACC_2...ACC_H. Then, NH points (0) are added. Subsequently, FFT calculation is performed on the N values. If any FFT calculation result exceeds 5 times the noise energy, the acquisition is considered successful. The signal pseudocode phase is obtained based on the first fast acquisition data Data-bh_m_ACQ in the current matched filter: m_ACQ, 0≤m_ACQ<Fs_ACQ; otherwise, the acquisition is considered unsuccessful. After completing the FFT calculation and judgment, a new round of segmented matched filtering + FFT acquisition process is started.
[0077] like Figure 6 As shown, each time a data point is moved to the left, a calculation and decision need to be completed. Local_x, 0≤x≤M_ACQ-1, is the local pseudocode corresponding to the data rate Fs_ACQ. That is, assuming F_code is the local pseudocode rate, each local pseudocode needs to generate Fs_ACQ / F_code locally. M_ACQ refers to the length of the matched filter (usually much smaller than Fs_ACQ, related to acquisition sensitivity; the larger M_ACQ, the higher the acquisition sensitivity). N refers to the number of points for FFT calculation, usually an integer power of 2, and greater than or equal to the number of related accumulated points H. If N>H, the accumulated value input for FFT calculation needs to be padded with NH zeros. Based on the above parameters, the Doppler search range of the acquisition module is ±Fs_ACQ / (4*H), and the resolution is Fs_ACQ / (2*N*H). Appropriate parameters can be selected according to the performance requirements of the acquisition module.
[0078] Furthermore, to meet the requirements of real-time computing, Fs_ACQ is less than the sampling rate Fs_AD in the front-end sampling module, and is 2 to 4 times the pseudocode rate.
[0079] like Figure 7 As shown, signal tracking and ranging requires buffering the sampled data. The amount of buffered data is related to the length of the matched filter of the fast acquisition module and the calculation delay. That is, it is necessary to ensure that the signal of the corresponding phase has not been processed after receiving the acquisition information from the fast acquisition module. It is recommended that the time corresponding to the amount of buffered data be greater than (M_ACQ / Fs_ACQ) + T_Cal, where T_Cal is the calculation delay.
[0080] Furthermore, such as Figure 8 As shown, in response to sudden signals, the tracking and ranging module performs the following steps:
[0081] The tracking and ranging module extracts data from the burst signals transmitted by the network module: that is, it samples according to the sampling rate Fs_Trace; Fs_Trace is greater than the sampling rate Fs_ACQ in the fast acquisition module and less than or equal to the sampling rate Fs_AD in the front-end sampling module, thus obtaining the tracking data {Data-gz_0, Data-gz_1,…,Data-gz_(Fs_Trace-1)}; where Data-gz_0 is the front-end sampling data Data_0. When sampling according to the sampling rate Fs_Trace later, if there is corresponding front-end sampling data at the corresponding sampling point, the front-end sampling data is recorded as the tracking data at the corresponding sampling point; otherwise, the front-end sampling data closest to the sampling point is recorded as the tracking data at the corresponding sampling point.
[0082] The tracking data is cached. The amount of cached data is equal to the length of the matched filter of the fast acquisition module and the acquisition calculation delay. This ensures that the signal of the corresponding phase has not yet been processed after the acquisition information is received from the fast acquisition module.
[0083] The tracking data is then multiplied by a carrier wave of the same frequency to obtain baseband data, thus completing the carrier removal process.
[0084] The pseudo-code phase of the signal output from the fast acquisition data is converted according to the data rate:
[0085] Fs_Trace represents the data rate processed by the signal processing module. This processing rate is usually higher than the data rate of the fast acquisition module, and can be equal to or lower than the AD sampling rate (the size of Fs_Trace is related to the tracking processing performance; the larger Fs_Trace is, the better the tracking processing performance, but the amount of data to be processed is also larger, and the resource requirements increase accordingly). If it is equal to the AD sampling rate, the received data is directly buffered. If it is lower than the AD sampling rate, a fast acquisition module is needed to extract the sampled data, and the pseudo-code phase in the acquisition information needs to be converted according to the data rate.
[0086] m_Trace = round [(Fs_Trace / Fs_ACQ)*m_ACQ]. If Fs_Trace = Fs_AD, then the tracking data Data-gz_m_Trace corresponding to m_Trace is the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk. If Fs_Trace < Fs_AD, then first find the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk, and Data-gz_m_Trace is the tracking data closest to this front-end sampled data. ;
[0087] Data-gz_m_Trace is used as the first data for tracking processing. The coherent accumulation length is M_Trace points. Coherent accumulation is performed in units of M_Trace points. The coherent accumulation results are used for loop tracking and carrier and pseudocode phase adjustment. The phase of local pseudocode and carrier movement can be accurately recorded. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode and carrier phase at the observation time.
[0088] Let the pseudocode NCO reference frequency be denoted as F_code, and the frequency of the nth pseudocode generation be F_code_n, where 1≤n≤N_Trace, and N_Trace is the total number of adjustments: that is, how many sets of M_Trace points are coherently accumulated from Data-gz_m_Trace to Data-gz_(Fs_Trace-1). Then, the phase deviation generated by the tracking and ranging module is... The ranging result P = [( (F_code / Fs_Trace)*m_Trace+Pha_bias_code) / F_code]*C, where C is the speed of light; T_cor = M_Trace* Fs_Trace.
[0089] The coherent accumulation length is typically on the order of milliseconds. Local_x, 0≤x≤M_Trace-1 is the local pseudocode corresponding to the data rate Fs_Trace. That is, assuming F_code is the local pseudocode rate, each local pseudocode needs to generate Fs_Trace / F_code locally. The M_Trace tracking data are multiplied by the M_Trace local pseudocodes respectively, and coherent accumulation is performed in units of M_Trace points (moving M_Trace points each time). The coherent accumulation result ACC_Trace is sent to the loop tracking module for carrier and pseudocode phase adjustment. The carrier adjustment usually uses a Costa loop. The coherent accumulation results of the I and Q branches are sent to the phase detector. The phase detection result is filtered and output to the local carrier NCO generation module. The pseudocode adjustment usually uses a delay-locked loop. The energy values of the leading and following branches are sent to the phase detector. The phase detection result is filtered and output to the local pseudocode NCO generation module.
[0090] The DSP+FPGA architecture requires a certain amount of time to calculate the carrier / pseudocode adjustment, especially since the DSP calculation time is not fixed, and the FPGA's latency is also not fixed when calculating multiple channels in a loop module. However, the data flow driven by the system clock does not stop, and coherent calculation is also performed in real time. Therefore, although the coherent accumulation time is known, the phase adjustment of a carrier / pseudocode control word cannot be calculated precisely. Therefore, in the DSP+FPGA architecture, the local carrier / pseudocode NCO records real-time phase information and latches the phase at the local observation time to obtain the observed pseudorange and carrier phase.
[0091] Unlike the DSP+FPGA architecture, this solution adopts a CPU+GPU software processing architecture, which can accurately record the phase of the local pseudocode (carrier) movement. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode (carrier) phase at the observation time.
[0092] Furthermore, such as Figure 9 As shown, for continuous signals, the tracking and ranging module performs the following steps:
[0093] The tracking and ranging module extracts data from the burst signals transmitted by the network module: that is, it samples according to the sampling rate Fs_Trace; Fs_Trace is greater than the sampling rate Fs_ACQ in the fast acquisition module and less than or equal to the sampling rate Fs_AD in the front-end sampling module, thus obtaining the tracking data {Data-gz_0, Data-gz_1,…,Data-gz_(Fs_Trace-1)}; where Data-gz_0 is the front-end sampling data Data_0. When sampling according to the sampling rate Fs_Trace later, if there is corresponding front-end sampling data at the corresponding sampling point, the front-end sampling data is recorded as the tracking data at the corresponding sampling point; otherwise, the front-end sampling data closest to the sampling point is recorded as the tracking data at the corresponding sampling point.
[0094] The tracking data is cached. The amount of cached data is equal to the length of the matched filter of the fast acquisition module and the acquisition calculation delay. This ensures that the signal of the corresponding phase has not yet been processed after the acquisition information is received from the fast acquisition module.
[0095] The tracking data is then multiplied by a carrier wave of the same frequency to obtain baseband data, thus completing the carrier removal process.
[0096] The pseudo-code phase of the signal output from the fast acquisition data is converted according to the data rate:
[0097] m_Trace = round [(Fs_Trace / Fs_ACQ)*m_ACQ]. If Fs_Trace = Fs_AD, then the tracking data Data-gz_m_Trace corresponding to m_Trace is the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk. If Fs_Trace < Fs_AD, then first find the m_Trace-k*(Fs_AD / K)th front-end sampled data after the front-end sampled data corresponding to the timestamp T_tagk, and Data-gz_m_Trace is the tracking data closest to this front-end sampled data. ;
[0098] Data-gz_m_Trace is used as the first data for tracking processing. The coherent accumulation length is M_Trace points. Coherent accumulation is performed in units of M_Trace points. The coherent accumulation results are used for loop tracking and carrier and pseudocode phase adjustment. The phase of local pseudocode and carrier movement can be accurately recorded. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode and carrier phase at the observation time.
[0099] When Data-gz_0 appears in the coherent accumulated data of the nth Trace segment, the pseudocode and carrier phase corresponding to this tracking data are the observed pseudorange. The local pseudocode corresponding to the tracking data Data-gz_0 is denoted as Local_[(n_Trace-1) *M_Trace+m], 0≤m≤M_Trace-1.
[0100] When n_Trace=1, the corresponding phase deviation is:
[0101] ;
[0102] When n_Trace≥2, the corresponding phase deviation is:
[0103]
[0104] The ranging result P = [( (F_code / Fs_Trace )*m_Trace+Pha_bias_code) / F_code]*C; C is the speed of light; T_cor = M_Trace* Fs_Trace; F_code is the pseudocode NCO reference frequency, and F_code_n is the frequency of the nth pseudocode generation.
[0105] The principle of this invention: This invention is based on a general processing architecture of resource pool, which combines front-end sampling, intermediate switching network and back-end processing. It uses sparse timestamps to achieve precise alignment between sampled data and system clock. By quickly capturing and tracking burst or continuous signals, it obtains accurate phase estimation and achieves high-precision ranging.
[0106] Those skilled in the art will recognize that the described embodiments are intended to help readers understand the principles of the invention and should be understood as not limiting the scope of protection of the invention to the described embodiments. Various modifications and variations can be made to the invention by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the invention should be included within the scope of the claims of the invention.
Claims
1. A pseudorange measurement system based on resource pool architecture signal processing, characterized in that, This includes antennas, channels, front-end sampling modules, switching network modules, and back-end processing modules; After receiving the spatial signal, the antenna filters, amplifies, and down-converts the signal through the channel before sending it to the front-end sampling module. The front-end sampling module digitally samples the analog signal, generates timestamps at fixed time intervals, and forms a frame structure of "timestamp + front-end sampling data"; then it packages the data according to the network protocol and sends it to the switching network module. The switching network module sampling is used to transmit the data packaged by the front-end sampling module to the back-end processing module; The backend processing module includes a fast acquisition module and a tracking and ranging module; The fast acquisition module obtains data from the switching network module and uses the front-end sampling data corresponding to the initial timestamp as the starting point for processing. It adopts a segmented matched filtering + FFT algorithm, calculates the decision through a sliding window, determines the signal pseudocode phase, and transmits it to the tracking and ranging module to achieve signal acquisition. The tracking and ranging module tracks the data transmitted by the switching network module based on the signal acquisition results, and then obtains the pseudorange measurement results.
2. The pseudorange measurement system based on resource pool architecture signal processing according to claim 1, characterized in that, The back-end processing module adopts a CPU+GPU general server architecture, supports parallel computing, and does not require a dedicated time-frequency reference.
3. The pseudorange measurement system based on resource pool architecture signal processing according to claim 1, characterized in that, The tracking and ranging module supports a signal buffering mechanism to ensure timing matching between acquisition and tracking processing.
4. The pseudorange measurement system based on resource pool architecture signal processing according to claim 1, characterized in that, The following steps are performed in the front-end sampling module: The front-end sampling module digitizes the analog signal at a sampling rate Fs_AD, at fixed time intervals T. △ Generate timestamps to form a frame structure of "timestamp + sampled data"; The front-end sampled data within 1 second is {Data_0, Data_1,…,Data_(Fs_AD-1)}; the timestamp within 1 second is {T_tag0,T_tag1,…,T_tag(K-1)}; K=1 / T △ Fs_AD is greater than K, and Fs_AD is an integer multiple of K; timestamp T_tag0 on the front-end sampled data Data_0, and when n = k * (Fs_AD / K), timestamp T_tagk on the front-end sampled data Data_n, 0 ≤ n ≤ Fs_AD-1, 0 ≤ k ≤ K-1; mark the remaining front-end sampled data with "--"; Then, it is packaged according to the network protocol and sent to the switching network module.
5. The pseudorange measurement system based on resource pool architecture signal processing according to claim 1, characterized in that, The following steps are performed in the fast capture module: The fast acquisition module obtains data from the switching network module and performs data extraction: that is, it samples according to the sampling rate Fs_ACQ to obtain fast acquisition data {Data-bh_0, Data-bh_1,…,Data-bh_(Fs_ACQ-1)}; then the fast acquisition data is decarrierized. For the fast acquisition data after carrier removal, M_ACQ fast acquisition data points are input into the matched filter starting from Data-bh_0 for a segmented matched filtering + FFT acquisition process, where M_ACQ is the length of the matched filter. Each time a new round of segmented matched filtering + FFT acquisition is performed, the current fast acquisition data of the matched filter is shifted one unit according to a first-in, first-out principle. The segmented matched filtering + FFT acquisition process is as follows: M_ACQ fast acquisition data points are multiplied by M_ACQ local pseudocodes in the matched filter, and the multiplication results are divided into H groups. The multiplication results in each group are added together to obtain H values: ACC_1, ACC_2...ACC_H. Then, NH points (0) are added. Subsequently, FFT calculation is performed on the N values. If any FFT calculation result exceeds 5 times the noise energy, the acquisition is considered successful. The signal pseudocode phase is obtained based on the first fast acquisition data Data-bh_m_ACQ in the current matched filter: m_ACQ, 0≤m_ACQ<Fs_ACQ; otherwise, the acquisition is considered unsuccessful. After completing the FFT calculation and judgment, a new round of segmented matched filtering + FFT acquisition process is started.
6. The pseudorange measurement system based on resource pool architecture signal processing according to claim 5, characterized in that, Fs_ACQ is less than the sampling rate Fs_AD in the front-end sampling module and is 2 to 4 times the pseudocode rate.
7. The pseudorange measurement system based on resource pool architecture signal processing according to claim 1, characterized in that, In response to sudden signals, the tracking and ranging module performs the following steps: The tracking and ranging module extracts data from the burst signals transmitted by the network module: that is, it samples according to the sampling rate Fs_Trace; thus obtaining the tracking data {Data-gz_0, Data-gz_1,…,Data-gz_(Fs_Trace-1)}. The tracking data is cached, and then the tracking data is decarrierized; The pseudo-code phase of the signal output from the fast acquisition data is converted according to the data rate: m_Trace = round [(Fs_Trace / Fs_ACQ)*m_ACQ]. If Fs_Trace = Fs_AD, then the tracking data Data-gz_m_Trace corresponding to m_Trace is the m_Trace-k*(Fs_AD / K)th front-end sample data after the front-end sample data corresponding to the timestamp T_tagk. If Fs_Trace < Fs_AD, then first find the m_Trace-k*(Fs_AD / K)th front-end sample data after the front-end sample data corresponding to the timestamp T_tagk, and Data-gz_m_Trace is the tracking data closest to this front-end sample data. ; Data-gz_m_Trace is used as the first data for tracking processing. Coherent accumulation is performed in units of M_Trace points. The coherent accumulation results are used for loop tracking to adjust the carrier and pseudocode phases. The phase of local pseudocode and carrier movement can be accurately recorded. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode and carrier phases at the observation time. Let the pseudocode NCO reference frequency be denoted as F_code, and the frequency of the nth pseudocode generation be denoted as F_code_n, where 1 ≤ n ≤ N_Trace, and N_Trace is the total number of adjustments: that is, the total number of groups obtained by grouping Data-gz_m_Trace to Data-gz_(Fs_Trace-1) according to M_Trace points. Then, the phase deviation generated by the tracking and ranging module is... The ranging result P = [( (F_code / Fs_Trace)*m_Trace+Pha_bias_code) / F_code]*C, where C is the speed of light; T_cor = M_Trace* Fs_Trace.
8. The pseudorange measurement system based on resource pool architecture signal processing according to claim 1, characterized in that, For continuous signals, the tracking and ranging module performs the following steps: The tracking and ranging module extracts data from the burst signals transmitted by the network module: that is, it samples according to the sampling rate Fs_Trace; thus obtaining the tracking data {Data-gz_0, Data-gz_1,…,Data-gz_(Fs_Trace-1)}. The tracking data is cached, and then the tracking data is decarrierized; The pseudo-code phase of the signal output from the fast acquisition data is converted according to the data rate: m_Trace = round [(Fs_Trace / Fs_ACQ)*m_ACQ]. If Fs_Trace = Fs_AD, then the tracking data Data-gz_m_Trace corresponding to m_Trace is the m_Trace-k*(Fs_AD / K)th front-end sample data after the front-end sample data corresponding to the timestamp T_tagk. If Fs_Trace < Fs_AD, then first find the m_Trace-k*(Fs_AD / K)th front-end sample data after the front-end sample data corresponding to the timestamp T_tagk, and Data-gz_m_Trace is the tracking data closest to this front-end sample data. ; Data-gz_m_Trace is used as the first data for tracking processing. Coherent accumulation is performed in units of M_Trace points. The coherent accumulation results are used for loop tracking to adjust the carrier and pseudocode phases. The phase of local pseudocode and carrier movement can be accurately recorded. The observed pseudorange and carrier phase can be obtained by extracting or calculating the pseudocode and carrier phases at the observation time. When Data-gz_0 appears in the coherent accumulated data of the nth Trace segment, the local pseudocode corresponding to the trace data Data-gz_0 is recorded as Local_[(n_Trace-1) *M_Trace+m], 0≤m≤M_Trace-1; When n_Trace=1, the corresponding phase deviation is: ; When n_Trace≥2, the corresponding phase deviation is: ; The ranging result P = [( (F_code / Fs_Trace )*m_Trace+Pha_bias_code) / F_code]*C; C is the speed of light; T_cor = M_Trace* Fs_Trace; F_code is the pseudocode NCO reference frequency, and F_code_n is the frequency of the nth pseudocode generation.
9. A pseudorange measurement system based on resource pool architecture signal processing according to claim 7 or 8, characterized in that, Fs_Trace is greater than the sampling rate Fs_ACQ in the fast capture module and less than or equal to the sampling rate Fs_AD in the front-end sampling module.