Data acquisition method and device, electronic equipment and storage medium

By synchronously searching for the relevant energy peaks of data samples when receiving streaming data and writing it into the storage area, the problems of increased cost and insufficient real-time performance of external storage chips in the prior art are solved, and the target data acquisition with low cost and high real-time performance is achieved.

CN121209802BActive Publication Date: 2026-02-10NEXWISE INTELLIGENCE CHINA LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511772350.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-28
Publication Date
2026-02-10
Estimated Expiration
2045-11-28

AI Technical Summary

Technical Problem

Existing technologies require external storage chips to acquire target data from high-speed, real-time, and high-capacity data streams, increasing system costs and failing to meet real-time requirements.

Method used

By determining the current energy peak based on the maximum correlation energy of the written data sample during the process of receiving stream data being written to the storage area, switching storage areas according to the energy peak relationship, and retrieving target data from the target storage area within a preset time, the reliance on external storage chips is avoided.

Benefits of technology

It enables synchronous searching of target data while writing data streams, reduces system storage costs, improves the real-time performance of data acquisition, and ensures that the acquired target data signal characteristics are optimal and that it is minimally affected by interference and contamination.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121209802B_ABST
    Figure CN121209802B_ABST
Patent Text Reader

Abstract

The application provides a data acquisition method and device, electronic equipment and storage medium, and belongs to the technical field of data processing. The method comprises the following steps: in the process of cyclically writing received stream data into a current occupied storage area, determining a current energy peak value (step S100); if the current energy peak value is greater than a sealed energy peak value, updating the sealed energy peak value according to the current energy peak value, taking an idle storage area as a new current occupied storage area, switching the writing of the received stream data to the new current occupied storage area, and returning to step S100; if the current energy peak value is less than or equal to the sealed energy peak value, directly returning to step S100; and if the total execution time reaches a preset search time, determining a target storage area based on the sealed energy peak value, and extracting target data from the target storage area. The application does not need to rely on a large-capacity external storage chip, can carry out synchronous data search when writing high-speed received data stream, and has lower storage cost and stronger real-time performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and in particular to a data acquisition method, apparatus, electronic device, and storage medium. Background Technology

[0002] High-speed, real-time, and high-capacity data processing is becoming a key challenge and bottleneck for many systems. The target data that users want to obtain is randomly hidden in high-speed, real-time, and high-capacity data streams. How to quickly and accurately locate the target data is the key to data processing.

[0003] Currently, the method for obtaining target data from the received high-speed data stream is to use an external storage chip. First, all the received stream data is stored in the external storage chip. Then, the search and location of the target data is initiated to determine the storage address of at least one target data in the external storage chip. Finally, the signal characteristics of each target data are evaluated in a unified manner to extract the target data with the best signal characteristics.

[0004] However, the aforementioned method requires the use of an external DDR storage chip, which increases the system cost; on the other hand, it requires storing the entire data stream to the DDR first, and then searching, locating and obtaining the target data from the DDR, which cannot meet the real-time requirements of data reception and acquisition. Summary of the Invention

[0005] This invention provides a data acquisition method, apparatus, electronic device, and storage medium to address the shortcomings of existing technologies that require external storage chips and have poor real-time data reception and acquisition capabilities.

[0006] This invention provides a data acquisition method, comprising:

[0007] Step S100: During the process of cyclically writing the received stream data into the currently occupied storage area, determine the current energy peak based on the maximum correlation energy of the written data sample.

[0008] Step S210: If the current energy peak value is greater than the sealed energy peak value, then update the sealed energy peak value according to the current energy peak value, use the free storage area as the new currently occupied storage area, switch the received stream data to the new currently occupied storage area, and return to step S100.

[0009] Step S220: If the current energy peak value is less than or equal to the sealed energy peak value, then return directly to step S100;

[0010] After either step S210 or step S220 is completed, if the total execution time reaches the preset search time, the target storage area is determined based on the sealed energy peak value, and the target data is extracted from the target storage area.

[0011] According to a data acquisition method provided by the present invention, the received stream data includes a plurality of data packets; each data packet includes a target data sequence, a reference data sequence, and a padding data sequence.

[0012] The storage space of the currently occupied storage area is greater than or equal to the minimum storage length;

[0013] The storage space of the free storage area is greater than or equal to the minimum storage length;

[0014] The minimum storage length is the sum of the data length of the target data sequence, the data length of the reference data sequence, the data length of the padding data sequence, and the preset search length.

[0015] According to a data acquisition method provided by the present invention, when the data packet sequentially includes the target data sequence, the padding data sequence, and the reference data sequence, the step of extracting target data from the target storage area includes:

[0016] If the write loop end address of the target storage area is higher than or equal to the first address, then the target data start address is determined based on the first address difference.

[0017] If the write loop end address of the target storage area is lower than the first address, then the target data start address is determined based on the first address difference and the storage space of the target storage area.

[0018] Based on the starting address of the target data, the target data is extracted from the target storage area;

[0019] Wherein, the first address is determined based on the storage address of the first data sample, the data length of the filling data sequence, and the data length of the target data sequence; the first data sample is determined based on the latest updated sealed energy peak value; the first address difference is the difference between the write loop end address and the first address.

[0020] According to a data acquisition method provided by the present invention, when the data packet sequentially includes the reference data sequence, the padding data sequence, and the target data sequence, the step of extracting target data from the target storage area includes:

[0021] If the write loop end address of the target storage area is higher than or equal to the second address, the target data start address is determined based on the difference between the second addresses.

[0022] If the write loop end address of the target storage area is lower than the second address, then the starting address of the target data is determined based on the difference between the storage space of the target storage area and the second address.

[0023] Based on the starting address of the target data, the target data is extracted from the target storage area;

[0024] The second address is determined based on the difference between the storage address of the first data sample and the data length of the filling data sequence; the first data sample is determined based on the latest updated sealed energy peak value; and the second address difference is the difference between the write loop end address and the second address.

[0025] According to a data acquisition method provided by the present invention, the step of determining the current energy peak based on the maximum correlation energy of the written data sample during the process of cyclically writing received streaming data into the currently occupied storage area includes:

[0026] During the process of cyclically writing the received stream data into the currently occupied storage area, if a second data sample appears, the data sample set is determined according to the storage address of the second data sample, the preset search direction, and the preset search length; the second data sample is the data sample in the received stream data whose relevant energy is greater than the energy threshold.

[0027] The current energy peak is determined based on the correlation energy of the third data sample in the data sample set; the third data sample is the data sample with the largest correlation energy in the data sample set.

[0028] According to a data acquisition method provided by the present invention, the received stream data includes a plurality of data packets; the data packets include a reference data sequence;

[0029] For each data sample in the received stream data, the correlation energy is determined based on the following method:

[0030] The relevant data sequence of each data sample is determined based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction;

[0031] Perform a correlation operation on the relevant data sequence and the reference data sequence to obtain the first data correlation degree for each data sample point;

[0032] Based on the first data correlation, the correlation energy of each data sample is determined.

[0033] According to a data acquisition method provided by the present invention, the received stream data includes a plurality of data packets; the data packets include a reference data sequence;

[0034] For each data sample of the received stream data, the energy threshold is determined based on the following method;

[0035] The relevant data sequence of each data sample is determined based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction;

[0036] Perform a conjugation operation on the relevant data sequences to obtain conjugated data sequences;

[0037] Perform a correlation operation on the relevant data sequence and the conjugate data sequence to obtain the second data correlation degree for each data sample.

[0038] Based on the second data correlation, the data energy of each data sample point is determined;

[0039] The energy threshold for each data sample is determined based on the product of the data energy and the threshold factor; the threshold factor is less than or equal to 1.

[0040] The present invention also provides a data acquisition device, comprising:

[0041] The peak value determination module is used to determine the current energy peak value based on the maximum relevant energy of the written data sample during the process of cyclically writing the received stream data into the currently occupied storage area.

[0042] The first judgment module is used to update the sealed energy peak value according to the current energy peak value if the current energy peak value is greater than the sealed energy peak value, use the free storage area as the new currently occupied storage area, switch the received stream data to the new currently occupied storage area, and return to the peak value determination module if the current energy peak value is greater than the sealed energy peak value.

[0043] The second judgment module is used to directly return to the peak value determination module if the current energy peak value is less than or equal to the sealed energy peak value.

[0044] The data extraction module is used to determine the target storage area based on the sealed energy peak value and extract target data from the target storage area if the total execution time reaches the preset search time after the first judgment module or the second judgment module has been executed.

[0045] The present invention also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor executes the computer program to implement the data acquisition method as described above.

[0046] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, wherein the computer program, when executed by a processor, implements the data acquisition method as described above.

[0047] The data acquisition method, apparatus, electronic device, and storage medium provided by this invention, by setting up two storage areas to store the received stream data in turn, simultaneously performs an energy peak search between the relevant data sequence and the reference data sequence corresponding to the data sample point while the received stream data is being cyclically written to either storage area, determines the current energy peak, and determines whether to switch to the other storage area to cyclically write the received stream data based on the relationship between the current energy peak and the already sealed energy peak. Finally, storage stops when a preset search time is reached, and the target data with the largest relevant energy, the best signal characteristics, and the least interference and contamination is extracted from the target storage area corresponding to the last updated sealed energy peak. This eliminates the need to rely on a large-capacity external storage chip to fully store the high-speed received data stream first, but instead performs synchronous data search while writing the high-speed received data stream, achieving an optimal target data acquisition scheme with lower system storage costs and stronger real-time performance. Attached Figure Description

[0048] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0049] Figure 1 This is a flowchart illustrating data acquisition methods in related technologies.

[0050] Figure 2 This is one of the flowcharts illustrating the data acquisition method provided by the present invention.

[0051] Figure 3 This is a schematic diagram of the structure of the data packet for receiving streaming data provided by the present invention.

[0052] Figure 4 This is a schematic diagram of the storage principle of the currently occupied storage area provided by the present invention.

[0053] Figure 5 This is one of the example diagrams showing the positions of the target data sequence and reference data sequence in the received streaming data provided by the present invention.

[0054] Figure 6 This is the second example diagram showing the positions of the target data sequence and reference data sequence in the received stream data provided by this invention.

[0055] Figure 7 This is the second flowchart of the data acquisition method provided by the present invention.

[0056] Figure 8 This is an example diagram of the relevant energy and energy threshold provided by the present invention.

[0057] Figure 9 This is the third flowchart of the data acquisition method provided by the present invention.

[0058] Figure 10 This is a schematic diagram of the data acquisition device provided by the present invention.

[0059] Figure 11 This is a schematic diagram of the structure of the electronic device provided by the present invention. Detailed Implementation

[0060] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0061] It should be noted that, in the description of this invention, the term "comprising" or any other variations thereof is intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Those skilled in the art will understand the specific meaning of the above terms in this invention according to the specific circumstances.

[0062] The terms "first," "second," etc., used in this invention are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that embodiments of the invention can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more.

[0063] The following is combined with Figures 1-11 This invention describes the data acquisition method, apparatus, electronic device, and storage medium provided by the present invention.

[0064] With the rise of industries such as artificial intelligence and autonomous driving, high-speed, real-time, and high-volume data processing is becoming a critical bottleneck for many systems. High-speed data streams are characterized by continuous, real-time generation and large data volumes. Target data is the data that the user wants to obtain within the high-speed data stream, randomly embedded within a certain time period; that is, the target data's location within the high-speed data stream is random. Currently, in such a data stream environment, quickly and accurately locating target data mainly involves two methods: blind estimation and inserting reference data sequences.

[0065] Blind estimation methods, also known as blind estimation of received stream data, utilize the characteristics of the received stream data itself to locate the position of the target data in the high-speed data stream.

[0066] The reference data sequence insertion method involves inserting pre-defined reference data sequences (also known as "training data") at fixed intervals from each target data point during the generation of high-speed streaming data. These reference data sequences are used to periodically or non-periodically mark the positional characteristics of the target data within the high-speed data stream, and also to characterize signal features such as whether the high-speed data stream is contaminated or interfered with. On one hand, the reference data sequences can be used to locate the position of the target data within the high-speed data stream; on the other hand, when multiple target data points exist within the high-speed data stream, the degree of interference and contamination in each reference data sequence can be used to determine the degree of interference and contamination in the target data corresponding to each reference data sequence, thereby identifying the target data with the optimal received signal characteristics among the target data points in the received high-speed data stream.

[0067] Figure 1 This is a flowchart illustrating data acquisition methods in related technologies, such as... Figure 1 As shown, the method for inserting reference data sequences requires the use of external storage chips, such as high-capacity Double Data Rate Synchronous Dynamic Random Access Memory (DDR SDRAM). First, a period of high-speed received data (e.g., a few seconds) is completely stored in the DDR. Then, a search and location process begins. Data samples are read one by one from the DDR and correlated with known reference data sequences in a correlator. If the correlated energy exceeds a threshold, the position of the target data in the DDR is calculated from the data samples that exceed the threshold. If multiple target data exist, the process continues, reading data sequences from the DDR and correlating them with known reference data sequences until the received data stream of a few seconds has been processed. A peak determination is made based on the correlation energy of each data sample that exceeds the threshold. The optimal data position is then calculated backtracking based on the target data sample with the highest correlation energy that exceeds the threshold. The optimal position of the target data in the DDR is calculated based on the output position of this target data sample. Finally, the target data with the best signal characteristics is retrieved from the DDR.

[0068] However, this method of inserting reference data sequences requires external DDR memory chips, which increases system costs; and it requires storing the entire data stream to DDR first, and then searching, locating and retrieving the target data from DDR, which cannot meet the real-time requirements of data reception.

[0069] In view of this, the present invention provides a data acquisition method, apparatus, electronic device and storage medium to solve the problems that obtaining target data from received streaming data requires external storage and does not meet real-time requirements.

[0070] Figure 2 This is one of the flowcharts illustrating the data acquisition method provided by the present invention, such as... Figure 2 As shown, the data acquisition method includes, but is not limited to, steps S100 to S300.

[0071] It should be noted that the execution subject of the data acquisition method provided by the present invention is the corresponding data acquisition device, which can be an FPGA chip, server, or computer device, such as a mobile phone, tablet computer, laptop computer, handheld computer, vehicle electronic device, wearable device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc.

[0072] Step S100: During the process of receiving stream data being cyclically written to the currently occupied storage area, the current energy peak is determined based on the maximum correlation energy of the written data sample.

[0073] Received stream data is a high-speed data stream that is received by the executing entity and transmitted in a streaming manner. Figure 3 This is a schematic diagram of the structure of the data packet for receiving streaming data provided by the present invention, as shown below. Figure 3 As shown, the received stream data consists of several data packets with the same structure, and the basic unit of the received stream data is a data sample. Each data packet includes the target data sequence that the user wants to obtain, a reference data sequence used to mark the position of the target data sequence, a padding data sequence (GAP) used to fill the gap between the target data sequence and the reference data sequence, and other data.

[0074] In this invention, the data structure and length of the target data sequence, reference data sequence, and padding data sequence are pre-defined. The data generator generates data packets according to the pre-defined data structure and length. After the data packets are sent to the data receiver, the data receiver processes the data according to the pre-defined data structure and length. Furthermore, the reference data sequence inserted by the data receiver in each data packet is identical, and this reference data sequence is also pre-stored in a storage space accessible and readable by the execution entity of the data acquisition method provided by this invention.

[0075] The currently occupied storage area is the storage area that is currently used for cyclically storing received stream data. For example, the currently occupied storage area is the loop buffer area on the FPGA chip.

[0076] Figure 4 This is a schematic diagram of the storage principle of the currently occupied storage area provided by the present invention, such as... Figure 4 As shown, the currently occupied storage space is addr0~addrn-1, and the write addresses of the d0~dn-1th data in the received stream are addr0~addrn-1 respectively. When writing to the last address addrn-1, writing starts again from address 0. That is, for the dnth data in the received stream, its write address loops back to addr0, and the dnth data is re-stored in addr0. The write addresses of the dn~d2n-1th data will be addr0~addrn-1 respectively.

[0077] Writing a data sample means writing a data sample to the currently occupied storage area.

[0078] The current energy peak is determined based on the maximum correlation energy of the data samples written to the currently occupied storage area. Correlation energy is a metric used to measure the similarity between the correlation data sequence corresponding to a data sample and a pre-agreed reference data sequence, and can be determined based on the correlation operations between the correlation data sequence and the reference data sequence. The maximum correlation energy is the highest value among the correlation energies of all data samples written to the currently occupied storage area.

[0079] Based on the current energy peak, the position of the reference data sequence in the received stream data can be located. Furthermore, based on the positional relationship between the reference data sequence and the target data sequence, the storage location of the target data can be located, so as to extract the target data.

[0080] Specifically, in step S100, on the one hand, the received stream data is cyclically written to the currently occupied storage area; on the other hand, during the process of the received stream data being cyclically written to the currently occupied storage area, for each data sample point that has been written to the currently occupied storage area and is being stored, for each data sample point, the relevant data sequence corresponding to the data sample point is determined, and the relevant energy of each data sample point is determined according to the relevant operation between the relevant data sequence and the pre-stored reference data sequence. The maximum value of the relevant energy of each data sample point is taken as the maximum relevant energy, and the current energy peak is determined by the maximum relevant energy. Then, the writing to the currently occupied storage area is paused.

[0081] Step S210: If the current energy peak value is greater than the sealed energy peak value, then update the sealed energy peak value according to the current energy peak value, use the free storage area as the new currently occupied storage area, switch the received stream data to the new currently occupied storage area, and return to step S100.

[0082] Free memory is a currently idle storage area that, when enabled, is used to cyclically store received stream data. For example, free memory is a circular buffer area on an FPGA chip.

[0083] It is understandable that the circular storage principle of the free storage area and the currently occupied storage area is the same, so I will not go into details about it.

[0084] The sealed energy peak is the maximum relevant energy of a data sample determined during the data storage process of the received stream data, before the received stream data is cyclically written to the currently occupied storage area, when the free storage area is enabled and used for cyclically writing the received stream data.

[0085] The initial value of the sealed energy peak is 0.

[0086] It is understandable that if the free storage area has not been used when the received stream data is cyclically written to the currently occupied storage area, the peak value of the sealed energy is the initial value; if the free storage area has been used when the received stream data is cyclically written to the currently occupied storage area, the peak value of the sealed energy is determined based on the maximum correlation energy of the data samples cyclically written to the free storage area.

[0087] Specifically, in step S210, the current energy peak value and the sealed energy peak value are compared. If the current energy peak value is greater than the sealed energy peak value, the sealed energy peak value is updated using the current energy peak value, and the free storage area is used as the new currently occupied storage area. The received stream data is switched to be written to the new currently occupied storage area, and the process returns to step S100. During the process of the received stream data being written to the new currently occupied storage area in a loop, the current energy peak value is determined again.

[0088] In one embodiment, the step of using the free storage area as the new currently occupied storage area and switching the received stream data to be written to the new currently occupied storage area includes: after the received stream data of a preset re-storage length is written to the currently occupied storage area, using the free storage area as the new currently occupied storage area and switching the received stream data to be written to the new currently occupied storage area; the preset re-storage length is the sum of the data length of the filling data sequence and the data length of the target data sequence.

[0089] As mentioned earlier, once the current energy peak is determined, the position of the reference data sequence in the received stream data can be determined. By synchronously determining the current energy peak during the cyclic writing of the received stream data to the currently occupied storage area, and only after the received stream data of the preset storage length has been written to the currently occupied storage area, the storage area is switched to store the received stream data. This ensures that regardless of whether the reference data sequence of each data packet in the received stream data is written to the storage area before the target data sequence, or vice versa, the currently occupied storage area will only switch to an idle storage area after the target data sequence has been completely stored. This ensures that a storage area stores a complete reference data sequence and a target data sequence from a single data packet, avoiding the situation where the complete target data cannot be extracted from a single storage area, thereby supporting random searching of the target data position in the stream data.

[0090] Step S220: If the current energy peak value is less than or equal to the sealed energy peak value, then return directly to step S100.

[0091] Specifically, in step S220, the current energy peak value and the sealed energy peak value are compared. If the current energy peak value is less than or equal to the sealed energy peak value, the received stream data is not switched to be written to the free storage area. Instead, the process returns to step S100 and continues to write the received stream data to the currently occupied storage area in a loop until the current energy peak value is determined again.

[0092] Step S300: After either step S210 or step S220 is completed, if the total execution time reaches the preset search time, the target storage area is determined based on the sealed energy peak value, and the target data is extracted from the target storage area.

[0093] The total execution time is the time between the moment when the received stream data is first written into the currently occupied storage area in a loop and the moment when either step S210 or step S220 is completed.

[0094] The preset search time is the maximum time set beforehand for synchronously searching for the optimal target data from the received stream data, starting from the moment the received stream data is written to the current storage area. Generally, the preset search time is longer than the time required for two data packets in the received stream data to be cyclically written to the storage area and for the current energy peak to be determined. This allows for the selection of the better data from the two target data packets, which has higher relevance, better signal characteristics, and is less susceptible to interference and contamination.

[0095] Specifically, after either step S210 or S220 is completed, it is determined whether the total execution time of the previous steps has reached the preset search time. If the total execution time has reached the preset search time, the search is determined to be complete. Based on the storage area where the data samples corresponding to the sealed energy peaks are stored, the target storage area is determined, and the target data with the highest correlation energy, best signal characteristics, and least interference and contamination level, obtained from all target data sequences that have been written to the storage area, is extracted from the target storage area. If the total execution time has not reached the preset search time, the search is determined to continue, and the target data is not retrieved from the storage area.

[0096] The data acquisition method provided by this invention sets up two storage areas to store the received stream data in turn. When the received stream data is cyclically written to either storage area, the energy peak search between the relevant data sequence and the reference data sequence corresponding to the data sample is performed simultaneously to determine the current energy peak. Based on the relationship between the current energy peak and the sealed energy peak, it is determined whether to switch to the other storage area to cyclically write the received stream data. Finally, storage stops when a preset search time is reached, and the target data with the largest relevant energy, the best signal characteristics, and the least interference and contamination is extracted from the target storage area corresponding to the last updated sealed energy peak. This method does not rely on a large-capacity external storage chip to fully store the high-speed received data stream first. Instead, it performs synchronous data search when writing the high-speed received data stream, achieving an optimal target data acquisition scheme with lower system storage cost and stronger real-time performance.

[0097] Based on the above embodiments, as an optional embodiment, the received stream data includes a plurality of data packets; each data packet includes a target data sequence, a reference data sequence, and a padding data sequence;

[0098] The storage space of the currently occupied storage area is greater than or equal to the minimum storage length;

[0099] The storage space of the free storage area is greater than or equal to the minimum storage length;

[0100] The minimum storage length is the sum of the data length of the target data sequence, the data length of the reference data sequence, the data length of the padding data sequence, and the preset search length.

[0101] The preset search length is the pre-determined window size of the local search window; the local search window is used to search for the correlation energy of each data sample point within the window relative to the reference data sequence, and then determines the current energy peak based on the maximum value of the correlation energy of each data sample point within the window.

[0102] Optionally, the preset search length is less than any one of the following: the length of the target data sequence, the length of the reference data sequence, and the length of the padding data sequence.

[0103] Specifically, as mentioned earlier, the data packets in the received streaming data follow a pre-defined data structure, the order, length, and structure of which include the target data sequence, reference data sequence, and padding data sequence are known. The padding data sequence is used for protective padding between the target data sequence and the reference data sequence, and its length is typically relatively short.

[0104] The minimum storage length is the sum of the length of the target data sequence, the length of the reference data sequence, the length of the padding data sequence, and the preset search length. The storage space of both the currently occupied storage area and the free storage area is set to be greater than or equal to the minimum storage length.

[0105] For example, if the target data sequence has a length of 256, the reference data sequence has a length of 128, the fill data sequence has a length of 64, and the preset search length is 16, then the minimum storage length is 256 + 128 + 64 + 16 = 464. In this case, the storage space of the currently occupied storage area and the free storage area is set to a depth greater than or equal to 464, such as 464, 512, 646, etc.

[0106] It is understandable that the storage space of the currently occupied storage area and the free storage area can be the same size or different sizes.

[0107] The data acquisition method provided by the present invention ensures that the two storage areas can completely store the target data sequence in any data packet by setting the storage space of the currently occupied storage area and the free storage area to be greater than or equal to the sum of the data length of the target data sequence, the reference data sequence, the filling data sequence and the preset search length. This enables the complete target data to be extracted from the target storage area based on the sealed energy peak value.

[0108] Based on the above embodiments, as an optional embodiment, when the data packet sequentially includes the target data sequence, the padding data sequence, and the reference data sequence, the step of extracting the target data from the target storage area includes:

[0109] If the write loop end address of the target storage area is higher than or equal to the first address, then the target data start address is determined based on the first address difference.

[0110] If the write loop end address of the target storage area is lower than the first address, then the target data start address is determined based on the first address difference and the storage space of the target storage area.

[0111] Based on the starting address of the target data, the target data is extracted from the target storage area;

[0112] Wherein, the first address is determined based on the storage address of the first data sample, the data length of the filling data sequence, and the data length of the target data sequence; the first data sample is determined based on the latest updated sealed energy peak value; the first address difference is the difference between the write loop end address and the first address.

[0113] The target data start address is the starting address of the target data sequence in the data packet of the received stream data, where it is stored in the target storage area.

[0114] The write loop end address is the address at which the write loop ends when the received stream data is paused during the process of writing the received stream data to the currently occupied storage area, either when the current energy peak is determined or after the re-storage time has elapsed; the re-storage time is the time required to rewrite the received stream data of the preset re-storage length to the currently occupied storage area.

[0115] Specifically, Figure 5 This is one example diagram showing the positions of the target data sequence and reference data sequence in the received streaming data provided by the present invention, such as... Figure 5 As shown, to extract target data from the target storage area, the starting address of the target data must first be determined. In the case where the data packets of the received streaming data include the target data sequence, the padding data sequence, and the reference data sequence in sequence, i.e., the target data sequence precedes the reference data sequence, on the one hand, the end address of the write loop when the received streaming data is paused in the target storage area is determined, and on the other hand, the first data sample corresponding to the latest updated sealed energy peak is determined, the storage address of the first data sample in the target storage area is determined as BUFx_Max_Peak_POS, and the first address is determined according to BUFx_Max_Peak_POS, the data length of the padding data sequence, and the data length of the target data sequence.

[0116] Optionally, the first address is the sum of the storage address of the first data sample, the data length of the padding data sequence, and the data length of the target data sequence.

[0117] Further, the write loop end address and the first address are compared to determine their relative addresses. If the write loop end address is higher than or equal to the first address, it indicates that the entire target data sequence is stored in the lower address space relative to the write loop end address. In this case, the first address difference obtained by subtracting the first address from the write loop end address is determined as the target data start address.

[0118] If the write loop end address is lower than the first address, it indicates that the entire target data sequence is stored in the high address space relative to the write loop end address, or partly stored in the low address space relative to the write loop end address and partly stored in the high address space relative to the write loop end address. In this case, the starting address of the target data is determined based on the first address difference and the storage space of the target storage area.

[0119] For example, the starting address of the target data is determined based on the sum of the first address difference and the storage space of the target storage area.

[0120] Finally, based on the starting address of the target data, target data with the same length as the pre-agreed target data sequence is extracted from the target storage area.

[0121] Optionally, when the data packet sequentially includes the target data sequence, the filling data sequence, and the reference data sequence, after determining the current energy peak, the storage of the currently occupied memory is paused, and the storage pause address of the currently occupied memory is recorded as the write loop end address.

[0122] The data acquisition method provided by this invention determines the starting address of the target data based on the write loop end address of the target storage area, the storage address of the first data sample corresponding to the latest updated sealed energy peak, the data length of the filling data sequence and the target data sequence, and the different address levels between the write loop end address and the first address. This enables the accurate extraction of target data from the target storage area when the target data sequence in the data packet precedes the reference data sequence.

[0123] Based on the above embodiments, as an optional embodiment, when the data packet sequentially includes the reference data sequence, the padding data sequence, and the target data sequence, the step of extracting the target data from the target storage area includes:

[0124] If the write loop end address of the target storage area is higher than or equal to the second address, the target data start address is determined based on the difference between the second addresses.

[0125] If the write loop end address of the target storage area is lower than the second address, then the starting address of the target data is determined based on the difference between the storage space of the target storage area and the second address.

[0126] Based on the starting address of the target data, the target data is extracted from the target storage area;

[0127] The second address is determined based on the difference between the storage address of the first data sample and the data length of the filling data sequence; the first data sample is determined based on the latest updated sealed energy peak value; and the second address difference is the difference between the write loop end address and the second address.

[0128] Specifically, Figure 6 This is the second example diagram showing the positions of the target data sequence and reference data sequence in the received streaming data provided by this invention. Figure 6 As shown, extracting target data from the target storage area first requires determining the starting address of the target data. Given that the received streaming data packets sequentially include a reference data sequence, a padding data sequence, and a target data sequence (i.e., the reference data sequence precedes the target data sequence), the following steps are taken: First, determine the end address of the write loop when the received streaming data pauses storage in the target storage area. Second, determine the first data sample corresponding to the latest updated sealed energy peak value, and determine the storage address of the first data sample in the target storage area: BUFx_Max_Peak_POS. Then, determine the second address based on the difference between BUFx_Max_Peak_POS and the data length of the padding data sequence. For example, the second address can be determined by subtracting the data length of the padding data sequence from BUFx_Max_Peak_POS.

[0129] Further, the write loop end address and the second address are compared to determine their relative addresses. If the write loop end address is higher than or equal to the second address, it indicates that the entire target data sequence is stored in the lower address space relative to the write loop end address. In this case, the difference between the write loop end address and the second address is directly used as the starting address of the target data.

[0130] If the end address of the write loop is lower than the second address, it means that the entire target data sequence is stored in the high address space relative to the end address of the write loop, or part of it is stored in the low address space relative to the end address of the write loop and part of it is stored in the high address space relative to the end address of the write loop. In this case, the starting address of the target data is determined based on the difference between the second address and the storage space of the target storage area.

[0131] For example, the starting address of the target data is determined based on the second address difference and the sum of the storage space of the target storage area.

[0132] Finally, based on the starting address of the target data, target data with the same length as the pre-agreed target data sequence is extracted from the target storage area.

[0133] Optionally, when the data packet sequentially includes the reference data sequence, the filling data sequence, and the target data sequence, after determining the current energy peak, the storage of the currently occupied memory is paused, and after updating the sealed energy peak according to the current energy peak and writing the received stream data with a preset storage length to the currently occupied storage area, the storage of the currently occupied memory ends, and the storage end address of the currently occupied memory is recorded as the write loop end address.

[0134] The data acquisition method provided by this invention determines the starting address of the target data based on the write loop end address of the target storage area, the storage address of the first data sample corresponding to the latest updated sealed energy peak, the data length of the filling data sequence and the target data sequence, and the different address heights between the write loop end address and the second address. This enables the accurate extraction of target data from the target storage area when the target data sequence in the data packet is after the reference data sequence.

[0135] Based on the above embodiments, as an optional embodiment, determining the current energy peak based on the maximum relevant energy of the written data sample during the process of cyclically writing the received streaming data into the currently occupied storage area includes:

[0136] During the process of cyclically writing the received stream data into the currently occupied storage area, if a second data sample appears, the data sample set is determined according to the storage address of the second data sample, the preset search direction, and the preset search length; the second data sample is the data sample in the received stream data whose relevant energy is greater than the energy threshold;

[0137] The current energy peak is determined based on the correlation energy of the third data sample in the data sample set; the third data sample is the data sample with the largest correlation energy in the data sample set.

[0138] The preset search direction is the search direction predetermined by the local search window. Generally, the preset search direction is from the low address of the currently occupied memory area to the high address.

[0139] Specifically, the data acquisition method provided by this invention determines the current energy peak based on threshold decision and local search. Specifically, during the cyclic writing of received stream data into the currently occupied storage area, a correlator simultaneously performs correlation operations on the relevant data sequence and reference data sequence corresponding to each data sample in the received stream data written to the currently occupied storage area, according to the data sample writing order, to obtain the relevant energy corresponding to each data sample.

[0140] A threshold decision is made on the correlation energy corresponding to each data sample point. When a second data sample point with a correlation energy greater than the energy threshold appears, a set of data sample points with the same number of data sample points and preset search length is determined based on the storage address of the second data sample point, the preset search direction of the local search window, and the preset search length.

[0141] For example, starting from the second data sample point, according to the preset search direction of the local search window, the data sample points with the same number of sample points as the preset search length are determined as the data sample point set.

[0142] The data sample with the highest relevance energy in the data sample set is designated as the third data sample, and its relevance energy is determined as the current energy peak. The storage address of the third data sample corresponding to the current energy peak is also recorded. If the current energy peak is determined to be the latest updated sealed energy peak after the total execution time reaches the preset search time, the third data sample corresponding to this current energy peak is also the first data sample corresponding to the sealed energy peak. In other words, the first data sample is the data sample with the highest relevance energy among multiple third data samples.

[0143] Figure 7 This is the second flowchart illustrating the data acquisition method provided by the present invention, as shown below. Figure 7 As shown, taking the storage area used for cyclically writing received stream data as an example, which includes a circular buffer storage area A (BUFA) and a circular buffer storage area B (BUFB), and the preset search length of the local search window is 16, the received stream data is initially stored in BUFA by default. At this time, BUFA is the currently occupied storage area, and BUFB is the free storage area.

[0144] On one hand, the received stream data is cyclically written to the BUFA. On the other hand, the search begins synchronously. During the process of cyclically writing the received stream data to the BUFA, the correlation energy of each data sample relative to the reference data sequence is determined in the order of writing to the storage area.

[0145] Upon detecting a second data sample whose correlated energy exceeds the energy threshold, a local search window is initiated to perform a 16-point search. Starting from the storage address of the second data sample, the search uses the second data sample and the subsequent 15 data samples as a data sample set to sequentially determine the correlated energy of each data sample in the set. After the search is complete, BUFA storage is paused.

[0146] The data sample with the highest relevant energy within the local search window, i.e., the set of data samples, is determined as the third data sample. The relevant energy of the third data sample is recorded as the current energy peak BUFA_Max_Peak, and the storage address of the third data sample BUFA_Max_Peak_POS is recorded.

[0147] At this point, the current energy peak value BUFA_Max_Peak is greater than the initial value of the sealed energy peak value of 0. Therefore, the sealed energy peak value is updated to BUFA_Max_Peak, and BUFB is used as the new currently occupied storage area. After continuing to store the received stream data of the preset storage length into the currently occupied storage area BUFA, the write loop end address is recorded, and the free storage area BUFB is used as the new currently occupied storage area. The received stream data is then switched to be written to BUFB.

[0148] Upon detecting a second data sample whose correlation energy exceeds the energy threshold, a local search window is initiated to perform a 16-point search. After the local search is complete, BUFB storage is paused. The data sample with the highest correlation energy within the local search window (i.e., the data sample set) is designated as the third data sample, and its correlation energy is recorded as the current energy peak value BUFB_Max_Peak. The storage address of the third data sample is also recorded as BUFB_Max_Peak_POS.

[0149] If the current energy peak value BUFB_Max_Peak is greater than the already sealed energy peak value BUFA_Max_Peak, then the already sealed energy peak value is updated using BUFB_Max_Peak. After continuing to store the received stream data of the preset storage length into the currently occupied storage area BUFB, the write loop end address is recorded, and the free storage area BUFA is used as the new currently occupied storage area. The process returns to the step of determining the current energy peak value based on the relevant energy during the process of writing the received stream data into the currently occupied storage area in a loop.

[0150] If BUFB_Max_Peak is less than or equal to BUFA_Max_Peak, there is no need to update the sealed energy peak value. Instead, BUFB is used as the currently occupied storage area, and the process returns to the step of determining the current energy peak value based on the relevant energy during the process of writing the received stream data to the currently occupied storage area in a loop.

[0151] The data acquisition method provided by this invention uses threshold decision and local search to perform threshold decision on the relevant energy of each data sample point during the process of cyclically writing the received stream data into the currently occupied storage area. When the first second data sample point with a relevant energy greater than the energy threshold appears, a local search is initiated. Then, the current energy peak is determined based on the third data sample point with the largest relevant energy in the local search window. This method can effectively and quickly determine the position of the reference data sequence in the received stream data.

[0152] Based on the above embodiments, as an optional embodiment, the received stream data includes a plurality of data packets; the data packets include a reference data sequence;

[0153] For each data sample in the received stream data, the correlation energy is determined based on the following method:

[0154] The relevant data sequence of each data sample is determined based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction;

[0155] Perform a correlation operation on the relevant data sequence and the reference data sequence to obtain the first data correlation degree for each data sample point;

[0156] Based on the first data correlation, the correlation energy of each data sample is determined.

[0157] First data relevance is an indicator used to measure the similarity between related data sequences and reference data sequences of data samples.

[0158] Specifically, for each data sample point cyclically written to the currently occupied storage area, when calculating the correlation energy of that data sample point, starting from the storage address of that data sample point, along the preset search direction of the local search window, the correlation data sequence of that data sample point with the same length as the reference data sequence is determined. Correlation operations are performed on the correlation data sequence and the reference data sequence of that data sample point to obtain the first data correlation of that data sample point.

[0159] Optionally, the first data correlation for each data sample is obtained after performing a sliding multiply-accumulate operation on the correlated data sequence and the reference data sequence. The sliding multiply-accumulate operation is a type of correlation operation.

[0160] Optionally, the formula for calculating the relevant energy is as follows:

[0161] , ;

[0162] in, For data samples Related energy; The first data relevance; The data length of the reference data sequence; It is an absolute value function.

[0163] Taking the received stream data RX_DATA with a data length of N and the reference data sequence PN_DATA with a data length of L as an example, the formula for calculating the first data correlation of each data sample in the received stream data RX_DATA is as follows:

[0164] Corr(0) = RX_DATA(0) PN_DATA(0)+RX_DATA(1) PN_DATA(1)+…+RX_DATA(L-1) PN_DATA(L-1);

[0165] Corr(1) = RX_DATA(1) PN_DATA(0)+RX_DATA(2) PN_DATA(1)+…+RX_DATA(L) PN_DATA(L-1);

[0166] Corr(2) = RX_DATA(2) PN_DATA(0)+RX_DATA(3) PN_DATA(1)+…+RX_DATA(L+1) PN_DATA(L-1);

[0167] ...;

[0168] Corr(NL) = RX_DATA(NL) PN_DATA(0)+RX_DATA(N-L+1) PN_DATA(1)+…+RX_DATA(N-1) PN_DATA(L-1).

[0169] The data acquisition method provided by this invention first determines the relevant data sequence based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction. Then, it performs relevant operations based on the relevant data sequence and the reference data sequence to obtain the first data correlation of the data sample. Finally, it determines the correlation energy of the data sample based on the first data correlation. This method can accurately measure the similarity between the relevant data sequence corresponding to the data sample and the pre-agreed reference data sequence, thereby helping to accurately search and locate the reference data sequence in the received streaming data.

[0170] Based on the above embodiments, as an optional embodiment, the received stream data includes a plurality of data packets; the data packets include a reference data sequence;

[0171] For each data sample of the received stream data, the energy threshold is determined based on the following method;

[0172] The relevant data sequence of each data sample is determined based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction;

[0173] Perform a conjugation operation on the relevant data sequences to obtain conjugated data sequences;

[0174] Perform a correlation operation on the relevant data sequence and the conjugate data sequence to obtain the second data correlation degree for each data sample.

[0175] Based on the second data correlation, the data energy of each data sample point is determined;

[0176] The energy threshold for each data sample is determined based on the product of the data energy and the threshold factor; the threshold factor is less than or equal to 1.

[0177] The first data relevance is an indicator used to measure the similarity between related data sequences and their conjugate data sequences of data samples.

[0178] Specifically, for each data sample point cyclically written to the currently occupied storage area, when calculating the energy threshold of that data sample point, starting from the storage address of that data sample point, along the preset search direction of the local search window, the relevant data sequence of that data sample point with the same length as the reference data sequence is determined. A CONJ conjugate operation is performed on the relevant data sequence to obtain a conjugate data sequence; a correlation operation is then performed on the relevant data sequence and the conjugate data sequence to obtain the second data correlation of that data sample point. Based on the second data correlation, the data energy of that data sample point is determined. Finally, the energy threshold of that data sample point is determined based on the product of the data energy and the threshold factor.

[0179] Optionally, the second data correlation for each data sample is obtained by performing a sliding multiply-accumulate operation on the correlated data sequence and the conjugate data sequence. The sliding multiply-accumulate operation is a type of correlation operation.

[0180] Optionally, the energy threshold can be calculated using the following formula:

[0181] ;

[0182] in, Energy threshold; For data energy; This is the threshold factor.

[0183] When the threshold factor is an unsigned number less than or equal to 1, the larger the threshold factor, the higher the energy threshold.

[0184] Optionally, the formula for calculating data energy is as follows:

[0185] , ;

[0186] in, For data samples Data energy; For data samples The second data relevance; The data length of the reference data sequence.

[0187] Taking the received stream data RX_DATA with a data length of N as an example, the formula for calculating the second data correlation of each data sample in the received stream data RX_DATA is as follows:

[0188] Corr_data(0)=RX_DATA(0) CONJ(RX_DATA(0))+RX_DATA(1) CONJ(RX_DATA(1))+…+RX_DATA(L-1) CONJ(RX_DATA(L-1));

[0189] Corr_data(1)=RX_DATA(1) CONJ(RX_DATA(2))+RX_DATA(3) CONJ(RX_DATA(4))+…+RX_DATA(L) CONJ(RX_DATA(L));

[0190] Corr_data(2)=RX_DATA(2) CONJ(RX_DATA(3))+RX_DATA(4) CONJ(RX_DATA(5))+…+RX_DATA(L+1) CONJ(RX_DATA(L+1));

[0191] ...;

[0192] Corr_data(NL-1)=RX_DATA(NL-1) CONJ(RX_DATA(NL-1))+RX_DATA(NL) CONJ(RX_DATA(NL))+…+RX_DATA(N-1) CONJ(RX_DATA(N-1)).

[0193] Figure 8 This is an example diagram of the relevant energy and energy threshold provided by the present invention, such as... Figure 8As shown, by determining the correlation energy and energy threshold of each data sample point, the second data sample point can be determined based on the first data sample point whose correlation energy is greater than the energy threshold. Then, a local search window is started to determine the third data sample point with the largest correlation energy and the current energy peak within the local search window.

[0194] The data acquisition method provided by this invention first determines the relevant data sequence based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction. Then, it performs a conjugate operation on the relevant data sequence to obtain a conjugate data sequence. Next, it performs a correlation operation on the relevant data sequence and the conjugate data sequence to obtain the second data correlation of the data sample. Based on the data energy of the data sample determined by the second data correlation, it finally determines the energy threshold based on the product of the data energy and a threshold factor. This method can accurately measure the similarity between the relevant data sequence and its conjugate data sequence corresponding to the data sample, thereby accurately determining the energy threshold that can be used to make a threshold decision for each data sample, and thus helping to accurately search and locate the reference data sequence in the received stream data.

[0195] Overall, the data acquisition method provided by this invention does not require an external large-capacity DDR memory chip when acquiring the optimal target data with the maximum relevant energy, the best signal characteristics, and the least interference and pollution. It only uses the small-capacity local RAM inside the FPGA to switch between two storage areas (such as two circular buffer areas) for cyclic writing and calculates the search stream data in real time. At the same time, the local window optimal search decision is performed synchronously to quickly acquire the "optimal" target data. It supports the search of target data in random positions in the stream data, has high real-time performance, does not require an external memory chip, and has a low cost.

[0196] Figure 9 This is the third flowchart illustrating the data acquisition method provided by the present invention, as shown below. Figure 9 As shown, under search and positioning control, the correlator directly performs real-time correlation calculations on the high-speed input received stream data, and synchronously writes the real-time stream data cyclically into small-capacity LOOP BUFx (LOOP BUFA and LOOP BUFB are optional). For each data sample, a threshold decision is made. Starting from the first data sample whose correlation energy exceeds the energy threshold, a local search is initiated. After the search is completed, the current energy peak value is determined, and based on the current energy peak value and the already sealed energy peak value, it is determined whether to switch the storage area of ​​the received stream data. If so, storage in one LOOP BUFx is paused, and storage is switched to another LOOP BUFx until the preset search time is reached, at which point the search ends. Finally, it is determined which LOOP BUFx contains the optimal target data corresponding to the sealed energy peak value, and the "optimal" target data is finally obtained based on the data sample corresponding to the sealed energy peak value.

[0197] Figure 10 This is a schematic diagram of the data acquisition device provided by the present invention, as shown below. Figure 10 As shown, the data acquisition device includes, but is not limited to, a peak determination module 1010, a first judgment module 1021, a second judgment module 1022, and a data extraction module 1030.

[0198] The peak value determination module 1010 is used to determine the current energy peak value based on the maximum relevant energy of the written data sample during the process of cyclically writing the received stream data into the currently occupied storage area.

[0199] The first judgment module 1021 is used to update the sealed energy peak value according to the current energy peak value if the current energy peak value is greater than the sealed energy peak value, take the free storage area as the new currently occupied storage area, switch the received stream data to the new currently occupied storage area, and return to the peak value determination module.

[0200] The second judgment module 1022 is used to directly return to the peak value determination module if the current energy peak value is less than or equal to the sealed energy peak value.

[0201] The data extraction module 1030 is used to determine the target storage area based on the sealed energy peak value and extract target data from the target storage area if the total execution time reaches the preset search time after the first judgment module 1021 or the second judgment module 1022 has been executed.

[0202] It should be noted that the data acquisition device provided by the present invention can execute the data acquisition method described in any of the above embodiments during specific operation, and this embodiment will not elaborate on this.

[0203] The data acquisition device provided by this invention sets up two storage areas to store the received stream data in turn. When the received stream data is cyclically written to either storage area, the device simultaneously searches for the energy peak between the relevant data sequence corresponding to the data sample and the reference data sequence to determine the current energy peak. Based on the relationship between the current energy peak and the already sealed energy peak, the device determines whether to switch to the other storage area to cyclically write the received stream data. Finally, storage stops when a preset search time is reached, and the target data with the largest relevant energy, the best signal characteristics, and the least interference and contamination is extracted from the target storage area corresponding to the last updated sealed energy peak. This eliminates the need to rely on a large-capacity external storage chip to fully store the high-speed received data stream first. Instead, it performs synchronous data search while writing the high-speed received data stream, achieving an optimal target data acquisition scheme with lower system storage costs and stronger real-time performance.

[0204] Figure 11 This is a schematic diagram of the structure of the electronic device provided by the present invention, such as... Figure 11 As shown, the electronic device may include: a processor 1110, a communications interface 1120, a memory 1130, and a communication bus 1140, wherein the processor 1110, the communications interface 1120, and the memory 1130 communicate with each other through the communication bus 1140. The processor 1110 can call the logic instructions in the memory 1130 to execute the data acquisition method provided in any of the above embodiments. The data acquisition method includes, but is not limited to, the following steps: Step S100: During the process of cyclically writing the received stream data into the currently occupied storage area, determine the current energy peak based on the maximum correlation energy of the written data sample; Step S210: If the current energy peak is greater than the sealed energy peak, update the sealed energy peak according to the current energy peak, use the free storage area as the new currently occupied storage area, switch the received stream data to be written to the new currently occupied storage area, and return to step S100; Step S220: If the current energy peak is less than or equal to the sealed energy peak, directly return to step S100; After either step S210 or step S220 is completed, if the total execution time reaches the preset search time, determine the target storage area based on the sealed energy peak, and extract the target data from the target storage area.

[0205] Furthermore, the logical instructions in the aforementioned memory 1130 can be implemented as software functional units and, when sold or used as independent products, can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0206] On the other hand, the present invention also provides a computer program product, which includes a computer program that can be stored on a non-transitory computer-readable storage medium. When the computer program is executed by a processor, the computer can execute the data acquisition method provided in any of the above embodiments. The data acquisition method includes, but is not limited to, the following steps: Step S100: During the process of cyclically writing the received stream data into the currently occupied storage area, the current energy peak is determined based on the maximum correlation energy of the written data sample points; Step S210: If the current energy peak is greater than the sealed energy peak, the sealed energy peak is updated according to the current energy peak, the free storage area is used as the new currently occupied storage area, the received stream data is switched to be written to the new currently occupied storage area, and the process returns to step S100; Step S220: If the current energy peak is less than or equal to the sealed energy peak, the process returns directly to step S100; After either step S210 or step S220 is completed, if the total execution time reaches the preset search time, the target storage area is determined based on the sealed energy peak, and the target data is extracted from the target storage area.

[0207] In another aspect, the present invention also provides a non-transitory computer-readable storage medium storing a computer program thereon. When the computer program is executed by a processor, it implements the data acquisition method provided in any of the above embodiments. The data acquisition method includes, but is not limited to, the following steps: Step S100: During the process of cyclically writing received stream data into the currently occupied storage area, the current energy peak is determined based on the maximum correlation energy of the written data sample points; Step S210: If the current energy peak is greater than the sealed energy peak, the sealed energy peak is updated according to the current energy peak, the free storage area is used as the new currently occupied storage area, the received stream data is switched to be written to the new currently occupied storage area, and the process returns to step S100; Step S220: If the current energy peak is less than or equal to the sealed energy peak, the process returns directly to step S100; After either step S210 or step S220 is completed, if the total execution time reaches the preset search time, the target storage area is determined based on the sealed energy peak, and the target data is extracted from the target storage area.

[0208] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0209] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0210] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A data acquisition method, characterized in that, include: Step S100: During the process of cyclically writing the received stream data into the currently occupied storage area, the current energy peak is determined based on the maximum correlation energy of the written data sample. This includes: if a second data sample appears during the process of cyclically writing the received stream data into the currently occupied storage area, a data sample set is determined according to the storage address, preset search direction, and preset search length of the second data sample; the second data sample is a data sample in the received stream data whose correlation energy is greater than an energy threshold; the current energy peak is determined according to the correlation energy of a third data sample in the data sample set; the third data sample is the data sample with the largest correlation energy in the data sample set. Step S210: If the current energy peak value is greater than the sealed energy peak value, then update the sealed energy peak value according to the current energy peak value, use the free storage area as the new currently occupied storage area, switch the received stream data to the new currently occupied storage area, and return to step S100. Step S220: If the current energy peak value is less than or equal to the sealed energy peak value, then return directly to step S100; After either step S210 or step S220 is completed, if the total execution time reaches the preset search time, the target storage area is determined based on the sealed energy peak value, and the target data is extracted from the target storage area.

2. The data acquisition method according to claim 1, characterized in that, The received stream data includes several data packets; each data packet includes a target data sequence, a reference data sequence, and a padding data sequence. The storage space of the currently occupied storage area is greater than or equal to the minimum storage length; The storage space of the free storage area is greater than or equal to the minimum storage length; The minimum storage length is the sum of the data length of the target data sequence, the data length of the reference data sequence, the data length of the padding data sequence, and the preset search length.

3. The data acquisition method according to claim 2, characterized in that, When the data packet sequentially includes the target data sequence, the padding data sequence, and the reference data sequence, extracting the target data from the target storage area includes: If the write loop end address of the target storage area is higher than or equal to the first address, then the target data start address is determined based on the first address difference. If the write loop end address of the target storage area is lower than the first address, then the target data start address is determined based on the first address difference and the storage space of the target storage area. Based on the starting address of the target data, the target data is extracted from the target storage area; Wherein, the first address is determined based on the storage address of the first data sample, the data length of the filling data sequence, and the data length of the target data sequence; the first data sample is determined based on the latest updated sealed energy peak value; the first address difference is the difference between the write loop end address and the first address.

4. The data acquisition method according to claim 2, characterized in that, When the data packet sequentially includes the reference data sequence, the padding data sequence, and the target data sequence, extracting the target data from the target storage area includes: If the write loop end address of the target storage area is higher than or equal to the second address, the target data start address is determined based on the difference between the second addresses. If the write loop end address of the target storage area is lower than the second address, then the starting address of the target data is determined based on the difference between the storage space of the target storage area and the second address. Based on the starting address of the target data, the target data is extracted from the target storage area; The second address is determined based on the difference between the storage address of the first data sample and the data length of the filling data sequence; the first data sample is determined based on the latest updated sealed energy peak value; and the second address difference is the difference between the write loop end address and the second address.

5. The data acquisition method according to claim 1, characterized in that, The received stream data includes several data packets; each data packet includes a reference data sequence. For each data sample in the received stream data, the correlation energy is determined based on the following method: The relevant data sequence of each data sample is determined based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction; Perform a correlation operation on the relevant data sequence and the reference data sequence to obtain the first data correlation degree for each data sample point; Based on the first data correlation, the correlation energy of each data sample is determined.

6. The data acquisition method according to claim 1, characterized in that, The received stream data includes several data packets; each data packet includes a reference data sequence. For each data sample of the received stream data, the energy threshold is determined based on the following method; The relevant data sequence of each data sample is determined based on the storage address of each data sample, the data length of the reference data sequence, and the preset search direction; Perform a conjugation operation on the relevant data sequences to obtain conjugated data sequences; Perform a correlation operation on the relevant data sequence and the conjugate data sequence to obtain the second data correlation degree for each data sample. Based on the second data correlation, the data energy of each data sample point is determined; The energy threshold for each data sample is determined based on the product of the data energy and the threshold factor. The threshold factor is less than or equal to 1.

7. A data acquisition device, characterized in that, include: The peak value determination module is used to determine the current energy peak value based on the maximum correlation energy of the written data samples during the process of cyclically writing received stream data into the currently occupied storage area. This includes: if a second data sample appears during the cyclic writing of received stream data into the currently occupied storage area, determining a set of data samples based on the storage address, preset search direction, and preset search length of the second data sample; the second data sample is a data sample in the received stream data whose correlation energy is greater than an energy threshold; and determining the current energy peak value based on the correlation energy of a third data sample in the set of data samples; the third data sample is the data sample with the largest correlation energy in the set of data samples. The first judgment module is used to update the sealed energy peak value according to the current energy peak value if the current energy peak value is greater than the sealed energy peak value, use the free storage area as the new currently occupied storage area, switch the received stream data to the new currently occupied storage area, and return to the peak value determination module if the current energy peak value is greater than the sealed energy peak value. The second judgment module is used to directly return to the peak value determination module if the current energy peak value is less than or equal to the sealed energy peak value. The data extraction module is used to determine the target storage area based on the sealed energy peak value and extract target data from the target storage area if the total execution time reaches the preset search time after the first judgment module or the second judgment module has been executed.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and running on the processor, characterized in that, When the processor executes the computer program, it implements the data acquisition method as described in any one of claims 1 to 6.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by a processor, it implements the data acquisition method as described in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Method and system of searching for data stored in memory

    CN108268596A

  • Air interface data synchronous head searching method and device

    CN111245543A