Satellite signal capturing method and device, equipment and storage medium

By dividing multiple sub-sequences in high-dynamic low-orbit satellite communication scenarios and summing the relevant peaks, combining full parallel operation and Fourier transforms of different lengths, the problems of low signal capture efficiency and insufficient signal-to-noise ratio in the prior art are solved. , achieving more efficient satellite signal capture.

CN119449124APending Publication Date: 2025-02-14CHINA SATELLITE NETWORK EXPLORATION CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311222749.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-20
Publication Date
2025-02-14

AI Technical Summary

Technical Problem

The existing partial matching correlation-fast Fourier transform algorithm is difficult to meet the requirements of fast capture in high-dynamic low-orbit satellite communication scenarios and fails to effectively improve the signal-to-noise ratio.

Method used

By dividing the satellite signal into multiple subsequences and summing the peaks of related peaks at sampling points at different subsequences and the same position, combining the fully parallel operation method and Fourier transform of different lengths, the signal-to-noise ratio is improved and capture efficiency.

Benefits of technology

It achieves the effect of improving satellite signal capture efficiency and shortening capture time, while improving signal-to-noise ratio and improving satellite signal capture performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119449124A_ABST
    Figure CN119449124A_ABST
Patent Text Reader

Abstract

The invention provides a satellite signal capturing method and device, equipment and a storage medium, and relates to the field of satellite communication system signal processing, and the method comprises the steps: receiving a satellite signal, and determining a search window; sliding one sampling point in the search window every time by using the data window, and obtaining a plurality of window sequences after sliding is finished; first correlation operation is carried out on the multiple window sequences and local sequence data at the same time, and the peak value of a correlation peak corresponding to each sampling point is obtained; dividing the satellite data sequence into a plurality of subsequences, and summing peak values of correlation peaks of sampling points which are located in different subsequences and have the same position in the subsequences to obtain a peak value sequence; and when determining that a target peak value exceeding a preset capture threshold exists in the peak value sequence, determining that the satellite signal is successfully captured. The acquisition efficiency of satellite signals is improved through a full-parallel operation mode; in addition, the peak values of the correlation peaks of the sampling points which are located in different subsequences and have the same position in the subsequences are summed, so that the signal-to-noise ratio is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the technical field of satellite communication system signal processing, and in particular to a satellite signal capture method, device, equipment and storage medium. Background Art

[0002] In the application scenario of low-orbit satellite communication facing high dynamics, there are problems such as transmission delay, channel fading, multipath effect, Doppler frequency deviation in the signal transmission process between satellite and ground equipment, which have a great impact on the performance and time of signal capture. The partial matching correlation-fast Fourier transform algorithm is based on the time / frequency two-dimensional synchronous correlation capture method, which has advantages in capture timeliness and combating large Doppler frequency deviation.

[0003] The general idea of ​​the existing partial matched filtering (PMF)-fast Fourier transform (FFT) algorithm is: Figure 1 As shown, a search window and a data window are designed. The data window slides within the search window range, and the left edge of the data window does not exceed the search window range. The data window slides a sampling point each time and extracts data equivalent to the length of the sequence stored locally. After partial matching correlation, fast Fourier transform, modular operation, and peak detection, the correlation peak of the current sampling point is obtained. After the data window slides the entire search window, a correlation peak sequence is obtained. The maximum value in the correlation peak sequence is found and compared with the decision threshold to obtain the capture result. This serial search method greatly increases the time to access the storage space, which is difficult to meet the requirements of fast capture; and the signal-to-noise ratio of the satellite signal will decrease after long-distance transmission and complex channel environment. The existing partial matching correlation-fast Fourier transform algorithm does not involve how to improve the signal-to-noise ratio. Summary of the invention

[0004] The embodiments of the present application provide a satellite signal capture method, apparatus, device and storage medium, which not only improve the capture efficiency of satellite signals, but also improve the signal-to-noise ratio.

[0005] In a first aspect, an embodiment of the present application provides a satellite signal acquisition method, the method comprising:

[0006] receiving a satellite signal and determining a search window, wherein the satellite signal includes a plurality of sampling points;

[0007] Slide one sampling point at a time in the search window using the data window, and obtain multiple window sequences after the sliding is completed;

[0008] Performing a first correlation operation on the plurality of window sequences and the local sequence data respectively and simultaneously to obtain a peak value of a correlation peak corresponding to each sampling point;

[0009] Dividing the satellite data sequence into multiple subsequences, summing the peak values ​​of correlation peaks of sampling points located in different subsequences and at the same position in the subsequences to obtain a peak sequence;

[0010] When it is determined that there is a target peak value exceeding a preset capture threshold in the peak sequence, it is determined that the satellite signal is captured successfully.

[0011] In a possible implementation, a correlation operation is performed on the window sequence corresponding to any sampling point and the local sequence data in the following manner:

[0012] For the window sequence corresponding to any sampling point, oversampling is performed according to a preset sampling frequency;

[0013] Cross-correlating the oversampled window sequence with the local sequence data to obtain a cross-correlated window sequence;

[0014] Performing a first fast Fourier transform on the cross-correlated window sequence to obtain a Fourier transformed window sequence;

[0015] The modulus of the Fourier transformed window sequence is calculated to obtain the peak value of the correlation peak corresponding to any one of the sampling points.

[0016] In a possible implementation manner, performing a first fast Fourier transform on the cross-correlated window sequence includes:

[0017] Determining whether the length of the cross-correlation window sequence matches the transform length of the first fast Fourier transform;

[0018] If there is no match, the cross-correlated window sequence is padded with zeros according to the transformation length, and the zero-padded window sequence is subjected to a first fast Fourier transform;

[0019] Otherwise, a first fast Fourier transform is performed on the cross-correlated window sequence.

[0020] In a possible implementation, the frequency difference between the received satellite signal and the satellite signal sent by the satellite is determined based on a target peak value in the peak sequence that exceeds a preset capture threshold.

[0021] In a possible implementation manner, determining the frequency difference between the received satellite signal and the satellite signal sent by the satellite based on the target peak value in the peak sequence that exceeds a preset capture threshold includes:

[0022] Determine that a plurality of target sampling points corresponding to a target peak value correspond to a plurality of target window sequences;

[0023] Performing a second correlation operation on the multiple target window sequences and the local sequence data respectively and simultaneously to obtain peak values ​​of correlation peaks corresponding to the multiple target sampling points, wherein the transformation length of the Fourier transform in the second correlation operation is different from that in the first correlation operation;

[0024] Sum the peak values ​​of the correlation peaks corresponding to the multiple target sampling points to obtain a peak sum;

[0025] Based on the peak sum, a frequency difference between the received satellite signal and a satellite signal transmitted by a satellite is determined.

[0026] In a possible implementation, a second correlation operation is performed on the target window sequence corresponding to any target sampling point and the local sequence data in the following manner:

[0027] Oversampling the target window sequence according to a preset sampling frequency;

[0028] Performing a cross-correlation operation on the oversampled window sequence and the local sequence data to obtain a cross-correlated target window sequence;

[0029] Performing a second fast Fourier transform on the cross-correlated target window sequence to obtain a Fourier transformed target window sequence, wherein a transform length of the second Fourier transform is greater than a transform length of the first Fourier transform;

[0030] The modulus of the target window sequence of the Fourier transform is calculated to obtain the peak value of the correlation peak corresponding to the target sampling point.

[0031] In a possible implementation manner, if there is no correlation peak whose peak value exceeds a preset capture threshold, it is determined that the satellite signal capture fails.

[0032] In a second aspect, an embodiment of the present application provides a satellite signal acquisition device, the device comprising:

[0033] A receiving module, used to receive a satellite signal and determine a search window, wherein the satellite signal includes a plurality of sampling points;

[0034] A data reading module, used to use a data window to slide one sampling point each time in the search window, and obtain multiple window sequences after the sliding is completed;

[0035] A calculation module, used for performing a first correlation operation on the plurality of window sequences and the local sequence data respectively and simultaneously to obtain a peak value of a correlation peak corresponding to each sampling point;

[0036] A summing module, used for dividing the satellite data sequence into a plurality of subsequences, summing the peak values ​​of the correlation peaks of the sampling points located in different subsequences and at the same position in the subsequences, to obtain a peak sequence;

[0037] The judgment module is used to determine that when there is a target peak value exceeding a preset capture threshold in the peak sequence, it is determined that the satellite signal is captured successfully.

[0038] In a third aspect, an embodiment of the present application provides a satellite signal acquisition device, the device comprising:

[0039] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the method as described in the first aspect above.

[0040] In a fourth aspect, an embodiment of the present application provides a computer storage medium, wherein the computer storage medium stores a computer program, and the computer program is used to enable a computer to execute the method in the first aspect as described above.

[0041] The embodiments of the present application provide a satellite signal capture method, apparatus, device and storage medium. By first reading data and then performing correlation operations simultaneously, a fully parallel operation mode is implemented, thereby improving the capture efficiency of satellite signals and shortening the capture time of satellite signals. In addition, the peak values ​​of the correlation peaks of sampling points located in different subsequences and at the same position in the subsequences are summed, thereby improving the signal-to-noise ratio and improving the satellite signal capture performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] Figure 1 A schematic diagram of an existing PMF-FFT algorithm according to an exemplary embodiment of the present invention;

[0043] Figure 2 A schematic diagram of a scenario of a satellite signal acquisition method according to an exemplary embodiment of the present invention;

[0044] Figure 3 A schematic diagram of a satellite signal acquisition method according to an exemplary embodiment of the present invention;

[0045] Figure 4 A data reading intention according to an exemplary embodiment of the present invention;

[0046] Figure 5 A schematic diagram of an accelerator structure according to an exemplary embodiment of the present invention;

[0047] Figure 6 A schematic diagram of a PMF module structure according to an exemplary embodiment of the present invention;

[0048] Figure 7A schematic diagram of a modular addition module structure according to an exemplary embodiment of the present invention;

[0049] Figure 8 A schematic diagram of a satellite signal acquisition device according to an exemplary embodiment of the present invention;

[0050] Fig. 9 The present invention is a schematic diagram of a satellite signal acquisition device according to an exemplary embodiment of the present invention. DETAILED DESCRIPTION

[0051] The technical solutions in the embodiments of the present application will be described clearly and in detail below in conjunction with the accompanying drawings. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0052] The satellite beam adjustment method in the embodiment of the present application is described in detail below with reference to the accompanying drawings.

[0053] In one or more embodiments, the application scenarios of the embodiments of the present application are as follows: Figure 2 As shown:

[0054] Figure 2 The application environment provided in the embodiment of the present application includes a satellite 201 and at least one device located on the ground (such as Figure 2 The satellite 201 may communicate with the device on the ground, for example, the satellite 201 may locate the device. The satellite 201 may include but is not limited to a low-orbit satellite, and the device on the ground may be a mobile phone, a tablet computer, a car, etc.

[0055] In order to solve the problem that the serial search method in the existing satellite signal acquisition algorithm increases the time to access the storage space, makes it difficult to meet the requirements of fast acquisition, and has a low signal-to-noise ratio, the embodiment of the present application provides a satellite signal acquisition method, such as Figure 3 As shown, the method includes:

[0056] S301: Receive satellite signals and determine a search window.

[0057] The received satellite signals and the determined search window are as follows: Figure 4 As shown, the satellite signal is a time sequence signal including a plurality of sampling points. The length of the search window can be set as required, and is not specifically limited in the embodiment of the present application.

[0058] S302: Slide one sampling point at a time in the search window using the data window, and obtain multiple window sequences after the sliding is completed.

[0059] The data window provided in the embodiment of the present application is used to read the data in the satellite signal, and slides point by point in the pre-set search window, and the left boundary of the data window does not exceed the left boundary of the search window. The length of the data window can be set according to the requirements, for example, the length of the data window is 100 sampling points, that is, each time the data window slides one sampling point, 100 sampling points will be obtained.

[0060] like Figure 4 As shown, taking the first sampling point as an example, the window sequence obtained by the data window at the first sampling point is the 1st sampling point to the 100th sampling point, sliding one sampling point to the right (that is, the left boundary of the data window reaches the second sampling point), and the window sequence obtained at the second sampling point is the 2nd sampling point to the 101st sampling point.

[0061] After the data window has finished reading the sampling points in the search window, the search window is moved to the right so that the data window reads subsequent satellite signals until all the sampling points in the satellite signal are read, that is, the received satellite signal includes 500 sampling points, and 500 window sequences are obtained after the data window slides. If the sampling points read by the data window are less than 100, a zero padding operation can be performed, or only the 100th last sampling point can be read. In addition, different data window lengths can be set each time the data window slides, which is not specifically limited in the embodiments of the present application.

[0062] S303: Performing a first correlation operation on the multiple window sequences and the local sequence data simultaneously to obtain a peak value of a correlation peak corresponding to each sampling point.

[0063] In order to improve the efficiency of satellite signal capture, the embodiment of the present application adopts a method of first reading the data and then performing correlation operations on the obtained multiple data (window sequences) at the same time, so as to reduce the problem of low capture efficiency caused by the "serial search" method.

[0064] In a possible implementation, a correlation operation is performed on the window sequence corresponding to any sampling point and the local sequence data in the following manner:

[0065] For the window sequence corresponding to any sampling point, oversampling is performed according to a preset sampling frequency;

[0066] Cross-correlating the oversampled window sequence with the local sequence data to obtain a cross-correlated window sequence;

[0067] Performing a first fast Fourier transform on the cross-correlated window sequence to obtain a Fourier transformed window sequence;

[0068] The modulus of the Fourier transformed window sequence is calculated to obtain the peak value of the correlation peak corresponding to any one of the sampling points.

[0069] Generally speaking, the window sequence obtained by using the data window reading may include many sampling points, such as 1000 sampling points. In order to save subsequent computing resources, the window sequence can be oversampled. Taking the window sequence including 1000 sampling points as an example, the window sequence is oversampled using the frequency 5 to obtain an oversampled window sequence (200 sampling points).

[0070] After the oversampled window sequence is cross-correlated with the local sequence data to obtain the cross-correlated window sequence, the cross-correlated window sequence is subjected to a first fast Fourier transform to obtain a Fourier transformed window sequence (i.e., spectrum), which can be specifically represented by a row vector, such as [1,2,-4,3-2i,2,0]. In addition, before performing the Fourier transform, it is also necessary to determine whether the length of the cross-correlated window sequence matches the transform length of the first fast Fourier transform. If not, the cross-correlated window sequence is padded with zeros according to the transform length, and the zero-padded window sequence is subjected to the first fast Fourier transform; otherwise, the cross-correlated window sequence is subjected to the first fast Fourier transform. For example, if the length of the cross-correlated window sequence is 200 and the transform length of the first fast Fourier transform is 512, 312 zeros are padded after the cross-correlated window sequence to make the length of the cross-correlated window sequence the same as the transform length. Among them, zeros may be padded after the cross-correlation window sequence, zeros may be padded before the cross-correlation window sequence, or 0 may be inserted between each sampling point in the form of interpolation, and this is not specifically limited in the embodiments of the present application.

[0071] Calculate the modulus of the Fourier transformed window sequence, that is, calculate the modulus of each element in the above row vector respectively: the modulus of 1 is 1, the modulus of 2 is 2, the modulus of -4 is 4, and the modulus of 3-2i is The modulus value of 0 is 0. The maximum modulus value is taken as the peak value of the correlation peak corresponding to any sampling point, that is, 4 is taken as the peak value of the correlation peak corresponding to any sampling point.

[0072] When summing the peak values ​​of the correlation peaks of the sampling points located in different subsequences and at the same position in the subsequence, you can first add the corresponding elements in each row vector, and then take the maximum value as the peak value, or you can first take the peak value of each vector and then add the peak values. For example, for the window sequences [1,2,4,3.74,3,0] and [1,2,3,2,2,1] after modulo, you can first add the corresponding elements in each row vector to get [2,4,7,6.74,5,1], and then take the maximum value 7 as the peak value in the peak sequence; you can also first take the maximum values ​​4 and 3 in [1,2,4,3.74,3,0] and [1,2,3,2,2,1], and then add 4 and 3 to get 7, and then take 7 as the peak value in the peak sequence.

[0073] In a possible implementation, in S302, since the received satellite signal may be a very long sequence, the time for reading the data may be very long. If the first correlation operation is performed on all window sequences corresponding to the satellite signal at the same time, it may cause a large load on the processor. In this case, part of the data can be read first, that is, a part of the window sequence is obtained, and then the first correlation operation is performed on the part of the window sequence.

[0074] S304: Divide the satellite data sequence into multiple subsequences, and sum the peak values ​​of correlation peaks of sampling points located in different subsequences and at the same position in the subsequences to obtain a peak sequence.

[0075] like Figure 4 As shown, the length of each subsequence is the same, wherein the length of the subsequence and the length of the search window may be the same or different, and the embodiment of the present application does not specifically limit this.

[0076] Since the received satellite signal is periodic, the sampling points at the same position in each period have a strong correlation. Based on this, the embodiment of the present application divides the satellite signal into multiple subsequences, that is, the sampling points at the same position in each subsequence have a correlation, and the peak values ​​of the correlation peaks of the sampling points located in different subsequences and at the same position in the subsequence can be further summed to obtain a peak sequence. Taking n subsequences as an example, the n subsequences each contain 1000 sampling points, the peak values ​​of the correlation peaks corresponding to the first sampling point in each subsequence are added, the peak values ​​of the correlation peaks corresponding to the second sampling point in each subsequence are added, ..., the peak values ​​of the correlation peaks corresponding to the 1000th sampling point in each subsequence are added, and a peak sequence containing 1000 peaks is obtained (each peak corresponds to n sampling points).

[0077] S305: When it is determined that there is a target peak value in the peak sequence that exceeds a preset capture threshold, it is determined that the satellite signal is captured successfully.

[0078] There may be multiple target peaks in the peak sequence that exceed the preset capture threshold. In this case, the maximum peak among the target peaks can be selected, and the target sampling point corresponding to the maximum peak is the "frame header position". The "frame header position" indicates the starting position of the "non-noise" data in the satellite signal, that is, the starting position of the useful data. The useful data can be analyzed later to obtain the required results. In addition, if there is no peak value of the correlation peak that exceeds the preset capture threshold, it is determined that the satellite signal capture has failed, and the capture failure indicates that the received satellite signals may all be noise (non-useful data).

[0079] Since there is a frequency difference between the satellite signal sent by the satellite and the satellite signal received by the ground device, based on this, the embodiment of the present application further uses the target peak to estimate the frequency deviation so that researchers can eliminate the frequency difference.

[0080] In a possible implementation manner, determining a frequency difference between the received satellite signal and the satellite signal sent by the satellite based on a target peak value in the peak sequence that exceeds a preset capture threshold includes:

[0081] Determine that a plurality of target sampling points corresponding to a target peak value correspond to a plurality of target window sequences;

[0082] Performing a second correlation operation on the multiple target window sequences and the local sequence data respectively and simultaneously to obtain peak values ​​of correlation peaks corresponding to the multiple target sampling points, wherein the transformation length of the Fourier transform in the second correlation operation is different from that in the first correlation operation;

[0083] Sum the peak values ​​of the correlation peaks corresponding to the multiple target sampling points to obtain a peak sum;

[0084] Based on the peak sum, a frequency difference between the received satellite signal and a satellite signal transmitted by a satellite is determined.

[0085] Based on the embodiment in S304 above, if the peak value of the correlation peak corresponding to the third sampling point is the largest, the third sampling point of each subsequence is used as the "frame header position", that is, n "frame header positions" are obtained, and the target window sequences corresponding to the n "frame header positions" are determined. Then, the second correlation operation is performed on the n target window sequences and the local sequence related data respectively to obtain the peak values ​​of the correlation peaks corresponding to the n "frame header positions", wherein the second correlation operation is performed on the target window sequence corresponding to any "frame header position" and the local sequence data in the following manner:

[0086] The target window sequence is oversampled according to a preset sampling frequency; the oversampled window sequence is cross-correlated with the local sequence data to obtain a cross-correlated target window sequence; the cross-correlated target window sequence is subjected to a second fast Fourier transform to obtain a Fourier transformed target window sequence, wherein the transformation length of the second Fourier transform is greater than the transformation length of the first Fourier transform; the modulus of the Fourier transformed target window sequence is calculated to obtain the peak value of the correlation peak corresponding to the target sampling point.

[0087] The second correlation operation is different from the first correlation operation in that the transformation length in the fast Fourier transform step is different. The larger the transformation length, the higher the resolution and the more accurate the result of the frequency offset estimation. If the transformation length of the first fast Fourier transform is 512, the transformation length of the second fast Fourier transform can be set to 1024. For example, after the second Fourier transform, the first target window sequence of the Fourier transform is obtained [1,2,-4,3-2i,2,0], and the modulus value of each element is calculated to obtain [1,2,4,3.74,4,0]. After the second Fourier transform, the second target window sequence of the Fourier transform is obtained [-1,2,3,-2,2,1], and the modulus value of each element is calculated to obtain [1,2,3,2,2,1]. Then add the corresponding elements in [1,2,4,3.74,3,0] and [1,2,3,2,2,1] to get the peak sum [2,4,7,6.74,5,1], determine the maximum value 7 in the row vector and the position of the maximum value, which is the third element.

[0088] In the embodiment of the present application, the following procedure may be adopted to perform frequency offset estimation based on the above maximum value and the position of the maximum value.

[0089]

[0090]

[0091] In the above frequency offset estimation program, max_pos is the position of the maximum value in the above S305, such as the third element; max_val_left is the value of the element to the left of the maximum value in the peak value and row vector in the above S305, such as 4; max_val_right is the value of the element to the right of the maximum value in the peak value and row vector in the above S305, such as 6.74; S(0) is the first element in the window sequence after the second fast Fourier transform in S305, such as 1 or -1; N_fft is the transformation length of the second Fourier transform, such as 1024; fft_num is the order of performing fast Fourier transform; fd_fine is the optimal error of frequency offset estimation; fo is the frequency difference between the received satellite signal and the satellite signal sent by the satellite; fo_pos is the position where the frequency difference occurs between the received satellite signal and the satellite signal sent by the satellite.

[0092] The signal capture method provided in the embodiment of the present application realizes a fully parallel operation mode by first reading data and then performing correlation operations simultaneously, thereby improving the capture efficiency of satellite signals and shortening the capture time of satellite signals. In addition, the peak values ​​of the correlation peaks of sampling points located in different subsequences and at the same position in the subsequences are summed, thereby improving the signal-to-noise ratio and improving the satellite signal capture performance. A smaller Fourier transform length is used for satellite signal capture to improve the efficiency of fast Fourier transform, and a larger Fourier transform length is used for frequency offset estimation to improve the accuracy of frequency offset estimation.

[0093] Based on the same inventive concept, the present application embodiment also provides an accelerator applied to a satellite capture method, such as Figure 5 As shown, the accelerator includes:

[0094] (1) Input module.

[0095] The input module is used to receive satellite signals sent by satellites.

[0096] (2) Window management module.

[0097] It is used to maintain the search window, data window and transmit the read data to the PMF module. The window management module is also used to set the window length of the search window and data window at each slide. The window management module is also used to divide the satellite signal into subsequences of size L_slot*Interp according to the set length L_slot and oversampling coefficient Interp. Starting from the first subsequence, the window management module moves the search window backward by L_slot*Interp sampling points after reading the current subsequence to start reading the next subsequence until all subsequences are read. The length of the search window is (L_slot+L_code)*Interp. At each subsequence, the length of the data actually read by the search window is (L_slot+L_code)*Interp+(L_code-1)*Interp-1. Among them, L_code is the length of a fixed sequence (synchronization sequence) agreed upon by the transmitter and the receiver. Among them, the length of the search window and the subsequence can be set to be different or the same.

[0098] (3)PMF module.

[0099] The PMF module consists of shift register, sampler, correlator, partial summation, clock lock and other components. Its structure is as follows: Figure 6 As shown. The shift register has a length of (L_code-1)*Interp+1 (Interp is the oversampling coefficient, L_code is the length of the synchronization sequence), and receives a window sequence from the window management module. The first (L_code-1)*Interp+1 window sequences are used to initialize the shift register. The sampler starts from the first subsequence (sr0) and oversamples each window sequence in the shift register according to the configured Interp value to form an oversampled window sequence r(k). The correlator stores a local sequence data code(k) of length L_code composed of 0 and 1, where k=0, 1,…, L_code-1, and uses the local data sequence to process each window sequence to obtain multiple r'(k).

[0100] The partial summer is composed of CK N input selectors and CK input adders. The selection of CK and N conforms to CK*N=L_code. Each clock cycle selector group selects CK consecutive r'(k) from multiple r'(k) and sends them to the adder for summing to obtain multiple mutually correlated window sequences. The specific rule is: the nth selector sel(n)=r(m*CK+n), (m is the clock cycle, which can be 0,1,…,N-1, n=0,1,…,CK-1), each clock cycle m value is added by 1, and each m value is summed to sel(n) to obtain the corresponding mutually correlated window sequence pmf(m)=sum(sel(n))(n=0,1,…,CK-1). The clock lock component performs clock enable control on the shift register, sampler, correlator, and partial summation, and its specific functions include: when the shift register is initialized, the partial summation component is not enabled; when the partial summation component outputs data, the shift register, sampler, correlator, etc. are not enabled; when the zero-filling module receives a preset number of mutually correlated window sequences for zero-filling operations, the shift register, sampler, correlator, partial summation, etc. are not enabled.

[0101] (4) Zero padding module.

[0102] In the embodiment of the present application, zeros are padded after the mutually correlated window sequence according to the transformation length of the first Fourier transform. During the zero-padded period of the mutually correlated window sequence, the zero-padded module does not receive other mutually correlated window sequences. Among them, zeros can also be padded in front of the mutually correlated window sequence, and 0 can also be inserted between the elements of the mutually correlated window sequence in an interpolation manner. The embodiment of the present application does not make specific restrictions, as long as the length of the mutually correlated window sequence is matched with the variable length of the first Fourier transform.

[0103] (5)FFT module.

[0104] It is used to perform a first fast Fourier transform on the zero-filled window sequence to obtain a Fourier transformed window sequence. The embodiment of the present application uses an FFT module that supports stream processing capabilities to perform fast Fourier transform.

[0105] (6) Model seeking module.

[0106] The embodiment of the present application adopts a fast algorithm to perform modulus processing on the window sequence of Fourier transform, which can be specifically achieved through the formula mag=α*max(|I|,|Q|)+β*min(|I|,|Q|), wherein α and β are preset values, for example, α=1, β=0.25; I represents in-phase path data, and Q represents orthogonal path data.

[0107] (7) Modular addition module.

[0108] The module accumulation module (i.e., the peak value accumulation of the correlation peak) is composed of a module sequence accumulation, a storage queue, a preloader, and an adder, such as Figure 7 As shown. The module sequence accumulation and storage queue is implemented by dividing a continuous storage space into storage blocks of size N_fft (transformation length of the first Fourier transform), and is automatically initialized to 0 from position 0 after startup. The module sequence accumulation and storage queue is automatically initialized for a preset number of cycles after the start of automatic initialization, and the preloading module starts to read data from the storage queue and save it in the preloading module. The preloading module starts to read the peak values ​​of the correlation peaks in the storage queue in ascending order from 0 for accumulation.

[0109] For example, after the correlation peak s(i,j) corresponding to the sampling point P(i,j) (such as [1,2,4,3.74,3,0] and [1,2,3,2,2,1]) is accumulated with the correlation peak S(j) in the preloaded module, the module value sequence cumulative sum S(j) in the storage queue is updated (for example, [2,4,7,6.74,5,1]), that is, the correlation peaks corresponding to the sampling points at the same position of each subsequence are added; i represents the i-th subsequence, and j represents the j-th sampling point in each subsequence.

[0110] (8) Peak extraction module.

[0111] For frame header detection, peak extraction is to select the largest peak from the peak sequence, and determine the sampling point corresponding to the largest peak and send it to the frame header detection module, for example, the third peak in the peak sequence, and the third sampling point in each subsequence. For frequency offset estimation, peak extraction is to select the maximum value from each element of the peak sum, the position of the element, and the element values ​​on the left and right sides of the element and send them to the frequency offset estimation module. For example, the correlation peaks corresponding to the third sampling point in each subsequence are added to obtain a peak sum [2,4,7,6.74,5,1], determine the maximum value 7 in the row vector, and the position of the maximum value, that is, the third element, and determine the value of the element to the left of the maximum value, such as 4, and the value of the element to the left of the maximum value, such as 6.74.

[0112] (9) Frame header detection module and frequency offset estimation module.

[0113] The frame header detection module is used to receive the maximum peak value from the peak sequence sent by the peak extraction module, determine the sampling point corresponding to the maximum peak value, and use the sampling point as the frame header position.

[0114] The frequency deviation estimation module is used to receive the maximum value, the position of the element and the element values ​​on the left and right sides of the element from the elements of the peak sum sent by the peak extraction module.

[0115] The functions of the accelerator provided in the embodiment of the present application correspond to the implementation methods in S301 to S305 above. It adopts a fully parallel PMF structure (CK selectors and CK adders), which can realize parallel correlation operations and improve the capture efficiency of satellite signals. The design of the analog-to-accumulation module can improve the capture performance under low signal-to-noise ratio conditions.

[0116] Based on the same inventive concept, the present application also provides a satellite signal acquisition device, such as Figure 8 As shown, the device comprises:

[0117] A receiving module 801 is used to receive a satellite signal and determine a search window, wherein the satellite signal includes a plurality of sampling points;

[0118] A data reading module 802 is used to use a data window to slide one sampling point each time in the search window, and obtain multiple window sequences after the sliding is completed;

[0119] The operation module 803 is used to perform a first correlation operation on the multiple window sequences and the local sequence data respectively and simultaneously to obtain the peak value of the correlation peak corresponding to each sampling point;

[0120] A summing module 804 is used to divide the satellite data sequence into multiple subsequences, and sum the peak values ​​of the correlation peaks of the sampling points located in different subsequences and at the same position in the subsequences to obtain a peak sequence;

[0121] The judgment module 805 is used to determine that when there is a target peak value exceeding a preset capture threshold in the peak sequence, then determine that the satellite signal is captured successfully.

[0122] In a possible implementation, the operation module 803 is used to perform a correlation operation on the window sequence corresponding to any sampling point and the local sequence data in the following manner:

[0123] For the window sequence corresponding to any sampling point, oversampling is performed according to a preset sampling frequency;

[0124] Cross-correlating the oversampled window sequence with the local sequence data to obtain a cross-correlated window sequence;

[0125] Performing a first fast Fourier transform on the cross-correlated window sequence to obtain a Fourier transformed window sequence;

[0126] The modulus of the Fourier transformed window sequence is calculated to obtain the peak value of the correlation peak corresponding to any one of the sampling points.

[0127] In a possible implementation manner, the operation module 803 is used to perform a first fast Fourier transform on the cross-correlated window sequence, including:

[0128] Determining whether the length of the cross-correlation window sequence matches the transform length of the first fast Fourier transform;

[0129] If there is no match, the cross-correlated window sequence is padded with zeros according to the transformation length, and the zero-padded window sequence is subjected to a first fast Fourier transform;

[0130] Otherwise, a first fast Fourier transform is performed on the cross-correlated window sequence.

[0131] In a possible implementation, the operation module 803 is configured to determine a frequency difference between the received satellite signal and the satellite signal sent by the satellite based on a target peak value in the peak sequence that exceeds a preset capture threshold.

[0132] In a possible implementation manner, the operation module 803 is configured to determine the frequency difference between the received satellite signal and the satellite signal sent by the satellite based on the target peak value in the peak sequence that exceeds a preset capture threshold, including:

[0133] Determine that a plurality of target sampling points corresponding to a target peak value correspond to a plurality of target window sequences;

[0134] Performing a second correlation operation on the multiple target window sequences and the local sequence data respectively and simultaneously to obtain peak values ​​of correlation peaks corresponding to the multiple target sampling points, wherein the transformation length of the Fourier transform in the second correlation operation is different from that in the first correlation operation;

[0135] Sum the peak values ​​of the correlation peaks corresponding to the multiple target sampling points to obtain a peak sum;

[0136] Based on the peak sum, a frequency difference between the received satellite signal and a satellite signal transmitted by a satellite is determined.

[0137] In a possible implementation, the operation module 803 is used to perform a second correlation operation on the target window sequence corresponding to any target sampling point and the local sequence data in the following manner:

[0138] Oversampling the target window sequence according to a preset sampling frequency;

[0139] Performing a cross-correlation operation on the oversampled window sequence and the local sequence data to obtain a cross-correlated target window sequence;

[0140] Performing a second fast Fourier transform on the cross-correlated target window sequence to obtain a Fourier transformed target window sequence, wherein a transform length of the second Fourier transform is greater than a transform length of the first Fourier transform;

[0141] The modulus of the target window sequence of the Fourier transform is calculated to obtain the peak value of the correlation peak corresponding to the target sampling point.

[0142] In a possible implementation manner, the judgment module 805 is configured to determine that the satellite signal capture fails if there is no correlation peak whose peak value exceeds a preset capture threshold.

[0143] Based on the same inventive concept, an embodiment of the present application further provides a satellite signal acquisition device, the device comprising:

[0144] At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the above-mentioned multi-antenna satellite navigation signal acquisition method.

[0145] The structure of the device can be as follows Fig. 9 As shown, it includes a memory 901 , a communication module 903 and one or more processors 902 .

[0146] The memory 901 is used to store computer programs executed by the processor 902. The memory 901 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and programs required for running the instant messaging function, etc.; the data storage area may store various instant messaging information and operation instruction sets, etc.

[0147] The memory 901 may be a volatile memory, such as a random-access memory (RAM); the memory 901 may also be a non-volatile memory, such as a read-only memory, a flash memory, a hard disk drive (HDD) or a solid-state drive (SSD); or the memory 801 may be any other medium that can be used to carry or store a desired computer program in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 901 may be a combination of the above memories.

[0148] The processor 902 may include one or more central processing units (CPU) or a digital processing unit, etc. The processor 902 is used to implement the above satellite signal acquisition method when calling the computer program stored in the memory 901.

[0149] The communication module 903 is used to communicate with terminal devices and other servers.

[0150] In the embodiment of the present application, the specific connection medium between the above-mentioned memory 901, the communication module 903 and the processor 902 is not limited. In the embodiment of the present application, the memory 801 and the processor 902 are connected via a bus 904. The bus 904 is connected to the processor 902 via a bus 904. Fig. 9 The connections between the other components are only for illustration and are not intended to be limiting. The bus 904 can be divided into an address bus, a data bus, a control bus, etc. For ease of description, Fig. 9 The diagram shows that only one thick line is used, but this does not mean that there is only one bus or only one type of bus.

[0151] The memory 901 stores a computer storage medium, and the computer storage medium stores computer executable instructions, and the computer executable instructions are used to implement the satellite signal acquisition method of the embodiment of the present application. The processor 902 is used to execute the above satellite signal acquisition method.

Claims

1. A satellite signal acquisition method, characterized in that: The method comprises: receiving a satellite signal and determining a search window, wherein the satellite signal includes a plurality of sampling points; Slide one sampling point at a time in the search window using the data window, and obtain multiple window sequences after the sliding is completed; Performing a first correlation operation on the plurality of window sequences and the local sequence data respectively and simultaneously to obtain a peak value of a correlation peak corresponding to each sampling point; Dividing the satellite data sequence into multiple subsequences, summing the peak values ​​of correlation peaks of sampling points located in different subsequences and at the same position in the subsequences to obtain a peak sequence; When it is determined that there is a target peak value exceeding a preset capture threshold in the peak sequence, it is determined that the satellite signal is captured successfully.

2. The method according to claim 1, characterized in that The window sequence corresponding to any sampling point is correlated with the local sequence data in the following manner: For the window sequence corresponding to any sampling point, oversampling is performed according to a preset sampling frequency; Cross-correlating the oversampled window sequence with the local sequence data to obtain a cross-correlated window sequence; Performing a first fast Fourier transform on the cross-correlated window sequence to obtain a Fourier transformed window sequence; The modulus of the Fourier transformed window sequence is calculated to obtain the peak value of the correlation peak corresponding to any one of the sampling points.

3. The method according to claim 2, characterized in that The step of performing a first fast Fourier transform on the cross-correlated window sequence comprises: Determining whether the length of the cross-correlation window sequence matches the transform length of the first fast Fourier transform; If there is no match, the cross-correlated window sequence is padded with zeros according to the transformation length, and the zero-padded window sequence is subjected to a first fast Fourier transform; Otherwise, a first fast Fourier transform is performed on the cross-correlated window sequence.

4. The method according to claim 1, characterized in that: The method further comprises: Based on the target peak value in the peak sequence exceeding the preset capture threshold, a frequency difference between the received satellite signal and the satellite signal transmitted by the satellite is determined.

5. The method according to claim 4, characterized in that The determining, based on the target peak value in the peak sequence exceeding a preset capture threshold, a frequency difference between the received satellite signal and the satellite signal sent by the satellite comprises: Determine that a plurality of target sampling points corresponding to a target peak value correspond to a plurality of target window sequences; Performing a second correlation operation on the multiple target window sequences and the local sequence data respectively and simultaneously to obtain peak values ​​of correlation peaks corresponding to the multiple target sampling points, wherein the transformation length of the Fourier transform in the second correlation operation is different from that in the first correlation operation; Sum the peak values ​​of the correlation peaks corresponding to the multiple target sampling points to obtain a peak sum; Based on the peak sum, a frequency difference between the received satellite signal and a satellite signal transmitted by a satellite is determined.

6. The method according to claim 5, characterized in that The second correlation operation is performed on the target window sequence corresponding to any target sampling point and the local sequence data in the following manner: Oversampling the target window sequence according to a preset sampling frequency; Performing a cross-correlation operation on the oversampled window sequence and the local sequence data to obtain a cross-correlated target window sequence; Performing a second fast Fourier transform on the cross-correlated target window sequence to obtain a Fourier transformed target window sequence, wherein a transform length of the second Fourier transform is greater than a transform length of the first Fourier transform; The modulus of the target window sequence of the Fourier transform is calculated to obtain the peak value of the correlation peak corresponding to the target sampling point.

7. The method according to claim 1, characterized in that The method further comprises: If there is no correlation peak whose peak value exceeds the preset capture threshold, it is determined that the satellite signal capture has failed.

8. A satellite signal acquisition device, characterized in that: The device comprises: A receiving module, used to receive a satellite signal and determine a search window, wherein the satellite signal includes a plurality of sampling points; A data reading module, used to use a data window to slide one sampling point each time in the search window, and obtain multiple window sequences after the sliding is completed; A calculation module, used for performing a first correlation operation on the plurality of window sequences and the local sequence data respectively and simultaneously to obtain a peak value of a correlation peak corresponding to each sampling point; A summing module, used for dividing the satellite data sequence into a plurality of subsequences, summing the peak values ​​of the correlation peaks of the sampling points located in different subsequences and at the same position in the subsequences, to obtain a peak sequence; The judgment module is used to determine that when there is a target peak value exceeding a preset capture threshold in the peak sequence, it is determined that the satellite signal is captured successfully.

9. A satellite signal acquisition device, characterized in that: The device comprises: At least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, the instructions being executed by the at least one processor so that the at least one processor can execute any one of the methods of claims 1-7.

10. A computer storage medium, characterized in that: The computer storage medium stores a computer program, and the computer program is used to make a computer execute any one of the methods according to claims 1-7.