Data acquisition method and device, electronic equipment and storage medium

By simultaneously performing energy peak search and storage area switching when receiving streaming data is written to 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.

CN121209802AActive Publication Date: 2025-12-26NEXWISE INTELLIGENCE CHINA LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
CN202511772350.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-28
Publication Date
2025-12-26
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, which increases system costs and cannot meet real-time requirements.

Method used

By cyclically writing the received stream data into the storage area, the current energy peak is determined based on the maximum correlation energy of the written data sample. The data is stored in two storage areas in turn, and the target data with the maximum correlation energy, the best signal characteristics, and the least interference and contamination is extracted from the target storage area within a preset search time.

Benefits of technology

This technology reduces system storage costs and improves the real-time performance of data acquisition without relying on large-capacity external storage chips, ensuring the accuracy and integrity of target data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121209802A_ABST
    Figure CN121209802A_ABST
Patent Text Reader

Abstract

The invention provides a data acquisition method and device, electronic equipment and a storage medium, and belongs to the technical field of data processing.The method comprises the steps that S100, a current energy peak value is determined in the process of circularly writing received stream data into a current occupied storage area; step S210, if the current energy peak value is greater than the sealed energy peak value, updating the sealed energy peak value according to the current energy peak value, taking the idle storage area as a new currently occupied storage area, switching and writing the received stream data into the new currently occupied storage area, and returning to the step S100; s220, if not, directly returning to the step S100; and if the total execution time reaches the 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 method does not need to depend on a large-capacity external storage chip, synchronous data search is carried out when the high-speed receiving data flow is written, the storage cost is lower, and the real-time performance is higher.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, and in particular to a data acquisition method and device, electronic equipment and storage medium. BACKGROUND

[0002] High-speed, real-time, large-capacity data processing is becoming the key and bottleneck of many systems, and the target data that users want to acquire is randomly buried in high-speed, real-time, large-capacity data streams. How to quickly and accurately locate the target data is the key to data processing.

[0003] Currently, the method for acquiring target data from received high-speed data streams is to use an external storage chip, first store all the received stream data in the external storage chip, then initiate a search and positioning of the target data, determine the storage address of at least one target data in the external storage chip, and uniformly evaluate the signal characteristics of each target data to extract the target data with the optimal signal characteristics.

[0004] However, the foregoing method needs to use an external DDR storage chip, increasing the system cost, and needs to first store the data stream completely to the DDR, and then search, locate and acquire the target data from the DDR, which cannot meet the real-time requirement of data reception and acquisition. SUMMARY

[0005] The present application provides a data acquisition method and device, electronic equipment and storage medium to solve the defects in the prior art that an external storage chip is needed and the real-time requirement of data reception and acquisition is not strong.

[0006] The present application provides a data acquisition method, comprising: Step S100, in the process of cyclically writing received stream data to a current occupied storage area, determining a current energy peak value based on the maximum correlation energy of the writing data sample points; Step S210, if the current energy peak value is greater than the stored energy peak value, updating the stored energy peak value according to the current energy peak value, taking the 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; Step S220, if the current energy peak value is less than or equal to the stored energy peak value, directly returning to step S100; After either step S210 or step S220 is executed, if the total execution time reaches a preset search time, determining a target storage area based on the stored energy peak value, and extracting target data from the target storage area.

[0007] The data acquisition method provided by the application comprises the following steps: receiving stream data, wherein the stream data comprises a plurality of data packets; each data packet comprises a target data sequence, a reference data sequence and a padding data sequence; and extracting target data from a target storage area. The storage space of the current occupied storage area is greater than or equal to the minimum storage length. The storage space of the idle 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 a preset search length.

[0008] In the case that the data packet comprises the target data sequence, the padding data sequence and the reference data sequence in sequence, the method for extracting target data from the target storage area comprises the following steps: If the write cycle end address of the target storage area is higher than or equal to a first address, determining the target data start address according to a first address difference value; If the write cycle end address of the target storage area is lower than the first address, determining the target data start address according to the first address difference value and the storage space of the target storage area; Extracting target data from the target storage area according to the target data start address; The first address is determined according to the storage address of a first data sample, the data length of the padding data sequence and the data length of the target data sequence; the first data sample is determined according to the latest updated sealed energy peak value; and the first address difference value is the difference value between the write cycle end address and the first address.

[0009] In the case that the data packet comprises the reference data sequence, the padding data sequence and the target data sequence in sequence, the method for extracting target data from the target storage area comprises the following steps: If the write cycle end address of the target storage area is higher than or equal to a second address, determining the target data start address according to a second address difference value; If the write cycle end address of the target storage area is lower than the second address, determining the target data start address according to the storage space of the target storage area and the second address difference value; Extracting target data from the target storage area according to the target data start address; The second address is determined according to a difference between a storage address of the first data sample and a data length of the padding data sequence; the first data sample is determined according to a latest updated sealed energy peak; and the second address difference is a difference between the write cycle end address and the second address.

[0010] According to the data acquisition method provided by the application, in the process of cyclically writing the received stream data into the current occupied storage area, a current energy peak is determined based on a maximum correlation energy of a data sample to be written, and the method comprises the following steps: In the process of cyclically writing the received stream data into the current occupied storage area, if a second data sample appears, a data sample set is determined according to a storage address of the second data sample, a preset search direction and a preset search length; the second data sample is a data sample in the received stream data whose correlation energy is greater than an energy threshold; A third data sample in the data sample set is determined as the current energy peak according to a correlation energy of the third data sample; the third data sample is a data sample in the data sample set whose correlation energy is the greatest.

[0011] According to the data acquisition method provided by the application, the received stream data comprises a plurality of data packets; and the data packets comprise a reference data sequence. For each data sample in the received stream data, the correlation energy is determined based on the following manner: A correlation data sequence of the each data sample is determined according to a storage address of the each data sample, a data length of the reference data sequence and the preset search direction; A first data correlation degree of the each data sample is obtained by performing a correlation operation on the correlation data sequence and the reference data sequence; The correlation energy of the each data sample is determined based on the first data correlation degree.

[0012] According to the data acquisition method provided by the application, the received stream data comprises a plurality of data packets; and the data packets comprise a reference data sequence. For each data sample in the received stream data, the energy threshold is determined based on the following manner: A correlation data sequence of the each data sample is determined according to a storage address of the each data sample, a data length of the reference data sequence and the preset search direction; A conjugate data sequence is obtained by performing a conjugate operation on the correlation data sequence; A second data correlation degree of the each data sample is obtained by performing a correlation operation on the correlation data sequence and the conjugate data sequence; determine a data energy of each data sample based on the second data correlation degree; determine an energy threshold of each data sample based on a product of the data energy and a threshold factor; the threshold factor is less than or equal to 1.

[0013] The application further provides a data acquisition device, comprising: a peak value determination module, configured to determine a current energy peak value based on a maximum correlation energy of a data sample in a process of cyclically writing received stream data to a current occupied storage area; a first judgment module, configured to, if the current energy peak value is greater than a sealed energy peak value, update the sealed energy peak value according to the current energy peak value, take an idle storage area as a new current occupied storage area, switch the writing of the received stream data to the new current occupied storage area, and return to the peak value determination module; a second judgment module, configured to, if the current energy peak value is less than or equal to the sealed energy peak value, directly return to the peak value determination module; a data extraction module, configured to, after the first judgment module or the second judgment module is executed, if a total execution time reaches a preset search time, determine a target storage area based on the sealed energy peak value, and extract target data from the target storage area.

[0014] The application further provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and running on the processor, wherein the processor implements the data acquisition method as described above when executing the computer program.

[0015] The application further provides a non-transitory computer readable storage medium, which stores a computer program, wherein the computer program is executed by a processor to implement the data acquisition method as described above.

[0016] The data acquisition method, device, electronic device and storage medium provided by the application can store received stream data in two storage areas in turn, perform energy peak value search between a correlation data sequence corresponding to a data sample and a reference data sequence synchronously when the received stream data is cyclically written in any storage area, determine a current energy peak value, and determine whether to switch another storage area to cyclically write the received stream data according to a size relationship between the current energy peak value and a sealed energy peak value. Finally, the received stream data is stopped when a preset search time is reached, and target data with the largest correlation energy, the best signal characteristics and the least interference and pollution is extracted from a target storage area corresponding to the last updated sealed energy peak value. The optimal target data acquisition scheme with lower system storage cost and stronger real-time performance is realized without relying on a large-capacity external storage chip to store the high-speed received stream data completely. Attached Figure Description

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[0035] The method of inserting a reference data sequence, that is, inserting a predetermined reference data sequence (also referred to as "training data") at a fixed interval from each target data when generating high-speed data flow. The reference data sequence is used to periodically or aperiodically mark the position characteristics of the target data in the high-speed data flow, and is also used to represent the signal characteristics of whether the high-speed data flow is contaminated or disturbed. On the one hand, the reference data sequence can be used to locate the position of the target data in the high-speed data flow; on the other hand, in the case of multiple target data in the high-speed data flow, the degree of disturbance and contamination of each reference data sequence can be used to determine the degree of disturbance and contamination of the target data corresponding to each reference data sequence, so as to determine the target data with the optimal received signal characteristics among the received high-speed data flow.

[0036] Figure 1 is a flow diagram of a data acquisition method in the related art, as shown in Figure 1 For the method of inserting a reference data sequence, an external storage chip such as a large-capacity double data rate synchronous dynamic random access memory (DDR SDRAM) is needed. First, a period (such as a few seconds) of high-speed received data flow is completely stored in the DDR, and then the search and positioning is initiated. The data sequence of the data sample is read out from the DDR one by one, and the known reference data sequence is correlated in the correlator. If the correlation energy exceeds the threshold, the position of the target data in the DDR is calculated at the data sample that exceeds the threshold. If there are multiple target data, the correlation of the data sequence in the DDR and the known reference data sequence is continued until the processing of the received data flow for a few seconds is completed. According to the correlation energy of each data sample that exceeds the threshold, the peak value is determined, and the best data position is calculated according to the target data sample that exceeds the threshold and has the maximum correlation energy. The optimal target data is calculated according to the output position of the target data sample, and then the signal characteristics of the optimal target data are obtained from the DDR.

[0037] However, this method of inserting a reference data sequence needs to use an external DDR storage chip, which increases the system cost. On the other hand, the data flow needs to be completely stored in the DDR before searching, positioning and acquiring the target data from the DDR, which cannot meet the real-time requirement of data reception.

[0038] Therefore, the present application provides a data acquisition method, device, electronic equipment and storage medium to solve the problem of needing to use an external storage to acquire target data from received data flow and not meeting the real-time requirement.

[0039] Figure 2is one of flow schematic diagrams of the data acquisition method provided by the present application, as shown in Figure 2 The data acquisition method includes but is not limited to steps S100 to S300.

[0040] It should be noted that the execution subject of the data acquisition method provided by the present application is a corresponding data acquisition device, which can be an FPGA chip, a server and a computer device, such as a mobile phone, a tablet computer, a notebook computer, a palm computer, a vehicle-mounted electronic device, a wearable device, an Ultra-Mobile Personal Computer (UMPC), a netbook or a Personal Digital Assistant (PDA) and the like.

[0041] In step S100, in the process of cyclically writing the received stream data into the current occupied storage area, the current energy peak value is determined based on the maximum correlation energy of the writing data sample.

[0042] The received stream data is a high-speed data stream transmitted in a streaming manner and received by the execution subject. Figure 3 is a structural schematic diagram of a data packet of the received stream data provided by the present application, as shown in Figure 3 The received stream data includes a plurality of data packets with the same structure, and the basic unit of the received stream data is a data sample. Each data packet includes a target data sequence that a user wants to acquire, a reference data sequence for marking the position of the target data sequence, a padding data sequence (GAP) for padding between the target data sequence and the reference data sequence, and other data.

[0043] The data structure and data length of the target data sequence, the reference data sequence and the padding data sequence are all predetermined, and a data packet is generated by a data generator according to the predetermined data structure and data length. After the data packet is sent to a data receiver, the data receiver processes the data according to the predetermined data structure and data length. In addition, the reference data sequence inserted in each data packet by the data receiver is the same, and the reference data sequence is also stored in a storage space accessible and readable by the execution subject of the data acquisition method provided by the present application.

[0044] The current occupied storage area is a storage area currently enabled for cyclically storing the received stream data. For example, the current occupied storage area is a loop buffer area (Loop Buffer) on an FPGA chip.

[0045] Figure 4 is a storage principle schematic diagram of the current occupied storage area provided by the present application, as shown in Figure 4As shown, the storage space of the current occupied storage area is addr0~addrn-1, and the write addresses of the d0~dn-1th data of the received stream data are addr0~addrn-1 in sequence. When the last address addrn-1 is written, the writing starts from the 0th address again, i.e., for the dnth data of the received stream data, the write address cycles back to addr0, the dnth data is stored at addr0 again, and the write addresses of the dn+1th~d2n-1th data will be addr0~addrn-1 in sequence.

[0046] The write data sample is a data sample written in the current occupied storage area.

[0047] The current energy peak value is determined based on the maximum correlation energy of the data samples written in the current occupied storage area. The correlation energy is an index for measuring the similarity between the correlation data sequence corresponding to the data sample and the pre-agreed reference data sequence, and can be determined based on the correlation operation between the correlation data sequence and the reference data sequence. The maximum correlation energy is the maximum value of the correlation energies of the data samples written in the current occupied storage area.

[0048] According to the current energy peak value, the position of the reference data sequence in the received stream data can be located, and further, according to the positional relationship between the reference data sequence and the target data sequence, the storage position of the target data can be located, so as to extract the target data.

[0049] Specifically, in step S100, on one hand, the received stream data is cyclically written in the current occupied storage area, and on the other hand, in the process of cyclically writing the received stream data in the current occupied storage area, for each data sample that has been written in the current occupied storage area and is being stored, the correlation data sequence corresponding to the data sample is determined, the correlation energy of each data sample is determined according to the correlation operation between the correlation data sequence and the pre-stored reference data sequence, the maximum value of the correlation energies of the data samples is taken as the maximum correlation energy, the current energy peak value is determined based on the maximum correlation energy, and then the writing in the current occupied storage area is paused.

[0050] In step S210, if the current energy peak value is greater than the sealed energy peak value, the sealed energy peak value is updated according to the current energy peak value, the idle storage area is taken as a new current occupied storage area, the received stream data is switched to be written in the new current occupied storage area, and the process returns to step S100.

[0051] The idle storage area is a storage area that is currently idle and is used to cyclically store the received stream data when enabled. For example, the idle storage area is a circular buffer area on an FPGA chip.

[0052] It can be understood that the idle storage area is consistent with the circulating storage principle of the current occupied storage area, and details are not repeated.

[0053] The stored energy peak value is the maximum correlation energy of the data sample determined when the idle storage area is enabled and used to cyclically write the received stream data in the received stream data storage process before the received stream data is cyclically written to the current occupied storage area.

[0054] The initial value of the stored energy peak value is 0.

[0055] It can be understood that if the idle storage area is not enabled when the received stream data is cyclically written to the current occupied storage area, the stored energy peak value at this time is the initial value; if the idle storage area has been enabled when the received stream data is cyclically written to the current occupied storage area, the stored energy peak value at this time is determined based on the maximum correlation energy of the data sample of the received stream data cyclically written to the idle storage area.

[0056] Specifically, in step S210, the current energy peak value and the stored energy peak value are compared, and if the current energy peak value is greater than the stored energy peak value, the stored energy peak value is updated using the current energy peak value, the idle storage area is enabled as a new current occupied storage area, the received stream data is switched to be written to the new current occupied storage area, and the process returns to step S100, and the current energy peak value is determined again in the process of cyclically writing the received stream data to the new current occupied storage area.

[0057] In an embodiment, the idle storage area is enabled as a new current occupied storage area, and the received stream data is switched to be written to the new current occupied storage area, including: after the received stream data of a preset re-storage length is written to the current occupied storage area, the idle storage area is enabled as a new current occupied storage area, and the received stream data is switched to be written to the new current occupied storage area; the preset re-storage length is the sum of the data length of the fill data sequence and the data length of the target data sequence.

[0058] As mentioned above, after the current energy peak value is determined, the position of the reference data sequence in the received stream data can be determined. By synchronously determining the current energy peak value during the process of cyclically writing the received stream data into the current occupied storage area, and switching the storage area to store the received stream data after the received stream data of the preset re-storage length is written into the current occupied storage area, it can be ensured that, no matter whether the reference data sequence of each data packet in the received stream data is written into the storage area before the target data sequence or the target data sequence is written into the storage area before the reference data sequence, the current occupied storage area will be switched to the idle storage area after the target data sequence is completely stored, so that it is ensured that the complete reference data sequence and the target data sequence of a data packet are stored in one storage area, and the situation that the complete target data cannot be extracted from a single storage area is avoided, thereby supporting the search of the target data with a random position in the stream data.

[0059] In step S220, 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 into the idle storage area, but returned to step S100, and the received stream data is continuously cyclically written into the current occupied storage area until the current energy peak value is determined again.

[0060] In particular, in step S220, the current energy peak value and the sealed energy peak value are compared, and 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 into the idle storage area, but returned to step S100, and the received stream data is continuously cyclically written into the current occupied storage area until the current energy peak value is determined again.

[0061] In step S300, after either step S210 or step S220 is executed, 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.

[0062] The total execution time is the time from the time when the received stream data is cyclically written into the current occupied storage area for the first time to the time after either step S210 or step S220 is executed.

[0063] The preset search time is a preset maximum time for synchronously searching the optimal target data from the received stream data from the time when the received stream data is written into the current storage area. Generally, the preset search time is greater than the time required for two data packets in the received stream data to be cyclically written into the storage area and for the current energy peak value to be determined, so that the better data with greater relevant energy, better signal characteristics and smaller interference and pollution can be obtained from the target data of the two data packets.

[0064] Specifically, after either step S210 or step S220 is executed, it is determined whether the total execution time of the previous step reaches the preset search time. If the total execution time reaches the preset search time, it is determined that the search is completed, the target storage area is determined according to the storage area in which the data sample corresponding to the sealed energy peak is stored, and the target data obtained by searching from all target data sequences that have been written into the storage area and having the largest correlation energy, the best signal characteristics and the least interference and pollution is extracted in the target storage area. If the total execution time does not reach the preset search time, it is determined that the search continues, and the target data is not obtained from the storage area.

[0065] The data acquisition method provided by the application can achieve the optimal target data acquisition scheme with lower system storage cost and stronger real-time performance by setting two storage areas to alternately store the received stream data, synchronously performing the energy peak search between the correlation data sequence corresponding to the data sample and the reference data sequence when the received stream data is cyclically written into any storage area, determining the current energy peak, and judging whether to switch another storage area to cyclically write the received stream data according to the size relationship between the current energy peak and the sealed energy peak. Finally, the target data having the largest correlation energy, the best signal characteristics and the least interference and pollution is extracted from the target storage area corresponding to the last updated sealed energy peak when the preset search time is reached, without relying on the large-capacity external storage chip to completely store the high-speed received data stream, and the synchronous data search is carried out when the high-speed received data stream is written, thereby achieving the optimal target data acquisition scheme with lower system storage cost and stronger real-time performance.

[0066] Based on the above embodiment, as an optional embodiment, the received stream data includes a plurality of data packets; the data packets each include a target data sequence, a reference data sequence and a padding data sequence; The storage space of the current occupied storage area is greater than or equal to the minimum storage length; The storage space of the idle 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 a preset search length.

[0067] The preset search length is a window size of a local search window. The local search window is used to search the correlation energy of each data sample in the window relative to the reference data sequence, and then determine the current energy peak according to the maximum value in the correlation energy of each data sample in the window.

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

[0069] Specifically, as mentioned above, the data packets in the received stream data follow an agreed data structure, the order, data length and data structure of which including target data sequence, reference data sequence and padding data sequence are known. Among them, the padding data sequence is used for protection padding between the target data sequence and the reference data sequence, and the length is usually relatively short.

[0070] 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 is taken as the minimum storage length, and the storage spaces of the currently occupied storage area and the idle storage area are both set to be greater than or equal to the minimum storage length.

[0071] For example, the data length of the target data sequence is 256, the data length of the reference data sequence is 128, the data length of the padding data sequence is 64, and the preset search length is 16, so the minimum storage length is 256+128+64+16=464. At this time, the storage spaces of the two storage areas of the currently occupied storage area and the idle storage area are set to be greater than or equal to 464 depths, such as 464 depths, 512 depths, 646 depths, etc.

[0072] It can be understood that the storage spaces of the currently occupied storage area and the idle storage area can be the same or not.

[0073] The data acquisition method provided by the application sets the storage spaces of the two storage areas of the currently occupied storage area and the idle storage area to be greater than or equal to the sum of the data lengths of the target data sequence, the reference data sequence, the padding data sequence and the preset search length, so that the two storage areas can completely store the target data sequence in any data packet, and the complete target data can be extracted from the target storage area according to the stored energy peak value.

[0074] Based on the above embodiment, as an optional embodiment, in the case that the data packet sequentially includes the target data sequence, the padding data sequence and the reference data sequence, the extracting target data from the target storage area comprises: If the write cycle end address of the target storage area is higher than or equal to the first address, the target data start address is determined according to the first address difference value; If the write cycle end address of the target storage area is lower than the first address, the target data start address is determined according to the first address difference value and the storage space of the target storage area; The target data is extracted from the target storage area according to the target data start address; The first address is determined according to a storage address of the first data sample, a data length of the padding data sequence and a data length of the target data sequence; the first data sample is determined according to the latest updated sealed energy peak; and the first address difference is a difference between the write cycle end address and the first address.

[0075] The target data start address is a start address of storing the target data sequence in the target storage area in a data packet of the received stream data.

[0076] The write cycle end address is an address of ending the write cycle of the received stream data when the current occupied storage area is temporarily stopped for storing the received stream data, while determining the current energy peak or after a re-storage time; and the re-storage time is a time required for re-writing the received stream data with a preset re-storage length into the current occupied storage area.

[0077] Specifically, Figure 5 is one of position example diagrams of the target data sequence and the reference data sequence in the received stream data provided by the present application, as Figure 5 As shown, the target data is extracted from the target storage area by first determining the target data start address. In the case that the data packet of the received stream data successively comprises the target data sequence, the padding data sequence and the reference data sequence, i.e. the target data sequence is before the reference data sequence, on one hand, the write cycle end address of the received stream data when the target storage area is temporarily stopped for storing is determined, and on the other hand, the first data sample corresponding to the latest updated sealed energy peak is determined, the storage address BUFx_Max_Peak_POS of the first data sample in the target storage area is determined, and the first address is determined according to the BUFx_Max_Peak_POS, the data length of the padding data sequence and the data length of the target data sequence.

[0078] Optionally, the first address is a 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.

[0079] Further, the write cycle end address and the first address are judged in terms of address height and low, if the write cycle end address is higher than or equal to the first address, it indicates that the target data sequence is all stored in a low address space relative to the write cycle end address, and at this time, the first address difference obtained by subtracting the first address from the write cycle end address is determined as the target data start address.

[0080] If the write cycle end address is lower than the first address, it indicates that the target data sequence is stored in the high address space relative to the write cycle end address, or is partially stored in the low address space relative to the write cycle end address and partially stored in the high address space relative to the write cycle end address. At this time, the target data start address is determined according to the first address difference value and the storage space of the target storage area.

[0081] For example, the target data start address is determined according to the sum of the first address difference value and the storage space of the target storage area.

[0082] Finally, the target data with the same data length as the pre-agreed target data sequence is extracted from the target storage area according to the target data start address.

[0083] Optionally, in the case that the data packet sequentially comprises the target data sequence, the padding data sequence and the reference data sequence, after the current energy peak value is determined, the current occupied storage is paused, and the pause address of the current occupied storage is recorded as the write cycle end address.

[0084] The data acquisition method provided by the application determines the target data start address according to the write cycle end address of the target storage area, the storage address of the first data sample corresponding to the latest updated sealed energy peak value, the data length of the padding data sequence and the target data sequence, and the address high-low condition between the write cycle end address and the first address, so as to accurately extract the target data from the target storage area in the case that the target data sequence in the data packet is before the reference data sequence.

[0085] Based on the above embodiment, as an optional embodiment, in the case that the data packet sequentially comprises the reference data sequence, the padding data sequence and the target data sequence, the target data is extracted from the target storage area, including: If the write cycle end address of the target storage area is higher than or equal to the second address, the target data start address is determined according to the second address difference value; If the write cycle end address of the target storage area is lower than the second address, the target data start address is determined according to the storage space of the target storage area and the second address difference value; The target data is extracted from the target storage area according to the target data start address; The second address is determined according to the difference value between the storage address of the first data sample and the data length of the padding data sequence; the first data sample is determined according to the latest updated sealed energy peak value; and the second address difference value is the difference value between the write cycle end address and the second address.

[0086] Specifically,Figure 6 is the second example diagram of the positions of the target data sequence and the reference data sequence in the received stream data according to the present application, as shown in the figure, the target data sequence is extracted from the target storage area by first determining the starting address of the target data, in the case that the data packets of the received stream data successively include the reference data sequence, the padding data sequence and the target data sequence, i.e. the reference data sequence is in front of the target data sequence, on the one hand, the ending address of the write cycle of the received stream data when it is temporarily stored in the target storage area is determined, 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, BUFx_Max_Peak_POS, is determined, and the second address is determined according to the difference between BUFx_Max_Peak_POS and the data length of the padding data sequence. For example, the second address is determined according to the difference between BUFx_Max_Peak_POS and the data length of the padding data sequence. Figure 6

[0087] Further address high-low judgment is performed on the ending address of the write cycle and the second address, if the ending address of the write cycle is higher than or equal to the second address, it indicates that the target data sequence is all stored in the low address space relative to the ending address of the write cycle, at this time, the second address difference obtained by subtracting the second address from the ending address of the write cycle is determined as the starting address of the target data.

[0088] If the ending address of the write cycle is lower than the second address, it indicates that the target data sequence is all stored in the high address space relative to the ending address of the write cycle, or part of it is stored in the low address space relative to the ending address of the write cycle and part of it is stored in the high address space relative to the ending address of the write cycle, at this time, the starting address of the target data is determined according to the second address difference and the storage space of the target storage area.

[0089] For example, the starting address of the target data is determined according to the sum of the second address difference and the storage space of the target storage area.

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

[0091] Optionally, in the case that the data packets successively include the reference data sequence, the padding data sequence and the target data sequence, after the current energy peak is determined, the storage of the current occupied storage is suspended, after the sealed energy peak is updated according to the current energy peak and after the received stream data with the preset re-storage length is written to the current occupied storage area, the storage of the current occupied storage is ended, and the ending address of the storage of the current occupied storage is recorded as the ending address of the write cycle.

[0092] ​The data acquisition method provided by the application determines the starting address of the target data according to the address high-low condition between the write cycle end address and the second address, and realizes accurate extraction of the target data from the target storage area when the target data sequence in the data packet is after the reference data sequence.

[0093] Based on the above embodiment, as an optional embodiment, the process of writing the received stream data into the current occupied storage area cyclically, the current energy peak value is determined based on the maximum correlation energy of the writing data sample, comprising: In the process of writing the received stream data into the current occupied storage area cyclically, if a second data sample appears, a data sample set is determined according to the storage address of the second data sample, a preset search direction and a preset search length; the second data sample is a data sample in the received stream data with a correlation energy greater than an energy threshold; The current energy peak value is determined according to the correlation energy of a third data sample in the data sample set; the third data sample is a data sample with the maximum correlation energy in the data sample set.

[0094] The preset search direction is a search direction determined in advance by a local search window. Generally, the preset search direction is a direction from a low address to a high address of the current occupied storage area.

[0095] Specifically, the data acquisition method provided by the application determines the current energy peak value based on the threshold judgment and the local search method. Specifically, in the process of writing the received stream data into the current occupied storage area cyclically, the correlator performs correlation operation on the correlation data sequence corresponding to each data sample in the received stream data written into the current occupied storage area and the reference data sequence according to the data sample writing sequence, to obtain the correlation energy corresponding to each data sample.

[0096] The threshold judgment is performed on the correlation energy corresponding to each data sample, and when the first second data sample with a correlation energy greater than an energy threshold appears, a data sample set with the same number of data samples as the preset search length is determined according to the storage address of the second data sample, the preset search direction and the preset search length of the local search window.

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

[0098] The data sample with the maximum correlation energy in the data sample set is taken as the third data sample, and the correlation energy of the third data sample is determined as the current energy peak value, and the storage address of the third data sample corresponding to the current energy peak value is recorded. If the current energy peak value is determined as the latest updated sealed energy peak value after the total execution time reaches the preset search time, the third data sample corresponding to the current energy peak value is the first data sample corresponding to the sealed energy peak value. That is, the first data sample is the data sample with the maximum correlation energy in the plurality of third data samples.

[0099] Figure 7 is a second flowchart of the data acquisition method provided by the application, as shown in Figure 7 The storage area for cyclically writing the received stream data includes a cyclic buffer storage area A (BUFA) and a cyclic buffer storage area B (BUFB), and the preset search length of the local search window is taken as 16. Initially, the received stream data is stored in the BUFA by default, and at this time, the BUFA is the current occupied storage area, and the BUFB is the idle storage area.

[0100] On one hand, the received stream data is cyclically written into the BUFA, and on the other hand, the synchronous search is started. In the process of cyclically writing the received stream data into the BUFA, the correlation energies of the correlation data sequences of the data samples with respect to the reference data sequence are sequentially determined in the order of writing the storage area.

[0101] In the case that the second data sample with the first correlation energy exceeding the energy threshold is detected, the local search window is started for 16-point search, that is, the correlation energy of each data sample in the data sample set is sequentially determined by taking the second data sample and the subsequent 15 data samples as the data sample set, starting from the storage address of the second data sample. After the search is completed, the storage of the BUFA is paused.

[0102] The data sample with the maximum correlation energy in the local search window, that is, in the data sample set, is determined as the third data sample, the correlation energy of the third data sample is recorded as the current energy peak value BUFA_Max_Peak, and the storage address of the third data sample is recorded as BUFA_Max_Peak_POS.

[0103] At this time, the current energy peak value BUFA_Max_Peak is greater than the initial value 0 of the sealed energy peak value, so the sealed energy peak value is updated to BUFA_Max_Peak, and the BUFB is taken as the new current occupied storage area. After the received stream data of the preset re-storage length is continuously stored into the current occupied storage area BUFA, the write cycle end address is recorded, the idle storage area BUFB is taken as the new current occupied storage area, and the received stream data is switched to be written into the BUFB.

[0104] If the second data sample is detected, in which the first correlation energy exceeds the energy threshold, a local search window is started for a 16-point search. After the local search is completed, the storage of the BUFB is suspended. The data sample with the maximum correlation energy in the local search window, i.e. in the data sample set, is determined as a third data sample, the correlation energy of the third data sample is recorded as a current energy peak value BUFB_Max_Peak, and the storage address of the third data sample is recorded as BUFB_Max_Peak_POS.

[0105] If the current energy peak value BUFB_Max_Peak is greater than the stored energy peak value BUFA_Max_Peak, the stored energy peak value is updated by using the BUFB_Max_Peak. After the received stream data of a preset re-storage length is continuously stored in the current occupied storage area BUFB, a write cycle end address is recorded, the idle storage area BUFA is used as a new current occupied storage area, and the step of determining the current energy peak value according to the correlation energy in the process of writing the received stream data in the current occupied storage area in a cycle is returned to.

[0106] If the BUFB_Max_Peak is less than or equal to the BUFA_Max_Peak, the stored energy peak value does not need to be updated, the BUFB is continuously used as the current occupied storage area, and the step of determining the current energy peak value according to the correlation energy in the process of writing the received stream data in the current occupied storage area in a cycle is returned to.

[0107] The data acquisition method provided by the application can effectively and quickly determine the position of the reference data sequence in the received stream data by threshold decision and local search, in which the correlation energy of each data sample is determined by threshold decision, the local search is started when the first correlation energy of the second data sample exceeds the energy threshold, and the current energy peak value is determined according to the third data sample with the maximum correlation energy in the local search window.

[0108] Based on the above embodiment, as an optional embodiment, the received stream data includes a plurality of data packets; the 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 manner: The correlation data sequence of the each data sample is determined according to the storage address of the each data sample, the data length of the reference data sequence and the preset search direction; The correlation operation is performed on the correlation data sequence and the reference data sequence to obtain the first data correlation degree of the each data sample; The correlation energy of the each data sample is determined based on the first data correlation degree.

[0109] The first data correlation degree is an index for measuring the similarity between the correlation data sequence of the data sample and the reference data sequence.

[0110] Specifically, for each data sample currently occupying the storage area, when calculating the correlation energy of the data sample, a correlation data sequence of the data sample is determined in a preset search direction of the local search window, starting from the storage address of the data sample, and the length of the correlation data sequence is the same as the data length of the reference data sequence. The correlation operation is performed on the correlation data sequence of the data sample and the reference data sequence to obtain the first data correlation degree of the data sample.

[0111] Optionally, the first data correlation degree of each data sample is obtained after the sliding multiplication and accumulation operation is performed on the correlation data sequence and the reference data sequence. The sliding multiplication and accumulation operation is one of the correlation operations.

[0112] Optionally, the calculation formula of the correlation energy is as follows: , ; Wherein, is the correlation energy of the data sample ; is the first data correlation degree; is the data length of the reference data sequence; is the absolute value function.

[0113] Taking the data length of the received stream data RX_DATA as N and the data length of the reference data sequence PN_DATA as L as an example, the calculation formula of the first data correlation degree of each data sample in the received stream data RX_DATA is as follows: Corr(0)=RX_DATA(0) PN_DATA(0)+RX_DATA(1) PN_DATA(1)+…+RX_DATA(L-1) PN_DATA(L-1); Corr(1)=RX_DATA(1) PN_DATA(0)+RX_DATA(2) PN_DATA(1)+…+RX_DATA(L) PN_DATA(L-1); Corr(2)=RX_DATA(2) PN_DATA(0)+RX_DATA(3) PN_DATA(1)+…+RX_DATA(L+1) PN_DATA(L-1) + RX_DATA(N-L+1) … Corr(N-L) = RX_DATA(N-L) PN_DATA(0) + RX_DATA(N-L+1) PN_DATA(1) + … + RX_DATA(N-1) PN_DATA(L-1).

[0114] The data acquisition method provided by the application can accurately measure the similarity between the relevant data sequence corresponding to the data sample and the pre-agreed reference data sequence, so as to help accurately search and locate the reference data sequence in the received stream data.

[0115] Based on the above embodiment, as an optional embodiment, the received stream data comprises a plurality of data packets; the data packet comprises a reference data sequence; For each data sample of the received stream data, the energy threshold is determined based on the following manner: According to the storage address of the each data sample, the data length of the reference data sequence and the preset search direction, the relevant data sequence of the each data sample is determined; The conjugate operation is performed on the relevant data sequence to obtain a conjugate data sequence; The correlation operation is performed on the relevant data sequence and the conjugate data sequence to obtain a second data correlation degree of the each data sample; Based on the second data correlation degree, the data energy of the each data sample is determined. Based on the product of the data energy and a threshold factor, the energy threshold of the each data sample is determined; the threshold factor is less than or equal to 1.

[0116] The first data correlation degree is an index for measuring the similarity between the relevant data sequence of the data sample and the conjugate data sequence thereof.

[0117] Specifically, for each data sample currently occupying the storage area, in calculating the energy threshold of the data sample, a correlation data sequence of the data sample is determined, which has the same length as the data length of the reference data sequence, starting from the storage address of the data sample and along the preset search direction of the local search window. The CONJ conjugate operation is performed on the correlation data sequence to obtain a conjugate data sequence; the correlation operation is performed on the correlation data sequence and the conjugate data sequence to obtain a second data correlation degree of the data sample. The data energy of the data sample is determined according to the second data correlation degree. Finally, the energy threshold of the data sample is determined according to the product of the data energy and a threshold factor.

[0118] Optionally, the second data correlation degree of each data sample is obtained after the sliding multiply-accumulate operation is performed on the correlation data sequence and the conjugate data sequence. The sliding multiply-accumulate operation is one of the correlation operations.

[0119] Optionally, the energy threshold is calculated according to the following formula: ; wherein, is the energy threshold; is the data energy; is the threshold factor.

[0120] In the case that the threshold factor is an unsigned number less than or equal to 1, the greater the threshold factor, the higher the energy threshold.

[0121] Optionally, the data energy is calculated according to the following formula: , ; wherein, wherein, is the data energy of the data sample ; is the second data correlation degree of the data sample ; is the data length of the reference data sequence.

[0122] Taking the data length N of the received stream data RX_DATA as an example, the calculation formula of the second data correlation degree of each data sample in the received stream data RX_DATA is as follows: 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)); Corr_data(1)=RX_DATA(1) CONJ(RX_DATA(2))+RX_DATA(3) CONJ(RX_DATA(4))+…+RX_DATA(L) CONJ(RX_DATA(L)); 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)); ...; 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)).

[0123] Figure 8 This is an example diagram of the relevant energy and energy threshold provided by the present invention, such as... Figure 8 As 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.

[0124] 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. Based on the relevant data sequence and the conjugate data sequence, it performs a correlation operation 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 the threshold factor. This method can accurately measure the similarity between the relevant data sequence and the conjugate data sequence corresponding to the data sample, so as to accurately determine the energy threshold that can be used to make a threshold decision for each data sample in accordance with itself, thereby helping to accurately search and locate the reference data sequence in the received stream data.

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

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

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

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

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

[0130] The second judging module 1022 is used for returning to the peak value determining module directly if the current energy peak value is less than or equal to the sealed energy peak value.

[0131] The data extracting module 1030 is used for determining a target storage area based on the sealed energy peak value and extracting target data from the target storage area if the total execution time reaches the preset search time after the first judging module 1021 or the second judging module 1022 is executed.

[0132] It should be noted that the data acquisition device provided by the present application can execute the data acquisition method of any one of the above-mentioned embodiments in the specific operation, and the present embodiment will not be described here.

[0133] The data acquisition device provided by the present application can execute the data acquisition method of any one of the above-mentioned embodiments in the specific operation, and the present embodiment will not be described here.

[0134] Figure 11 is a structural schematic diagram of an electronic device provided by the present application, as Figure 11As shown, the electronic device can include a processor 1110, a communications interface 1120, a memory 1130, and a communications bus 1140, wherein the processor 1110, the communications interface 1120, and the memory 1130 complete mutual communication through the communications bus 1140. The processor 1110 can invoke a logical instruction in the memory 1130 to execute the data acquisition method provided by any of the above embodiments, which includes but is not limited to the following steps: step S100, in the process of cyclically writing received stream data to a current occupied storage area, determining a current energy peak value based on a maximum correlation energy of a writing data sample; step S210, if the current energy peak value is greater than an already sealed energy peak value, updating the already 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 received stream data to be written to the new current occupied storage area, and returning to step S100; step S220, if the current energy peak value is less than or equal to the already sealed energy peak value, directly returning to step S100; after either step S210 or step S220 is executed, if a total execution time reaches a preset search time, determining a target storage area based on the already sealed energy peak value, and extracting target data from the target storage area.

[0135] In addition, the logical instruction in the memory 1130 described above can be implemented in the form of a software functional unit and sold or used as an independent product, which can be stored in a computer-readable storage medium. Based on such understanding, the technical solutions of the present application essentially or the part that contributes to the prior art or part of the technical solutions can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a plurality of instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, and various program code storage media.

[0136] In another aspect, the present application also provides a computer program product comprising a computer program, which can be stored on a non-transitory computer readable storage medium, and the computer program can be executed by a processor to enable a computer to perform the data acquisition method provided by any of the above embodiments, which comprises but is not limited to the following steps: in the process of cyclically writing the received stream data to the current occupied storage area, determining a current energy peak value based on the maximum correlation energy of the writing data sample; 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 the 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; after any one of steps S210 or S220 is executed, 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.

[0137] In another aspect, the present application also provides a non-transitory computer readable storage medium, which stores a computer program, and the computer program can be executed by a processor to implement the data acquisition method provided by any of the above embodiments, which comprises but is not limited to the following steps: in the process of cyclically writing the received stream data to the current occupied storage area, determining a current energy peak value based on the maximum correlation energy of the writing data sample; 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 the 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; after any one of steps S210 or S220 is executed, 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.

[0138] The apparatus embodiments described above are merely illustrative, wherein the units shown as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e., can be located in one place, or can be distributed on multiple network units. Part or all of the modules can be selected to achieve the purpose of the present embodiment scheme according to actual needs. Those skilled in the art can understand and implement it without creative labor.

[0139] Those skilled in the art can clearly understand the implementation of the embodiments by means of software and necessary general hardware platforms through the description of the above embodiments, and of course, the embodiments can also be implemented by hardware. Based on such understanding, the above technical solutions can be embodied in the form of a software product, and the computer software product can be stored in a computer readable storage medium, such as a ROM / RAM, a magnetic disk, an optical disk, etc., and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the method described in each embodiment or some parts of the embodiment.

[0140] Finally, it should be noted that: the above examples are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing examples, those skilled in the art should understand that: it can still modify the technical solutions recorded in the foregoing examples, or make equivalent replacement for some technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

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, determine the current energy peak based on the maximum correlation energy of the written data sample. 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. Extract the target data from the target storage area according to the target data starting address; 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. Extract the target data from the target storage area according to the target data starting address; 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 any one of claims 1-4, characterized in that, During the process of cyclically writing received stream data into the currently occupied storage area, determining the current energy peak based on the maximum correlation energy of the written data samples includes: 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. 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.

6. The data acquisition method according to claim 5, 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.

7. The data acquisition method according to claim 5, 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.

8. 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 relevant energy of the written data sample during the process of cyclically writing the received stream data into the currently occupied storage area. 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.

9. 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 7.

10. 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 7.

Citation Information

Patent Citations

  • Method and system of searching for data stored in memory

    CN108268596A

  • Storage control method and device

    CN109857239A

  • Air interface data synchronous head searching method and device

    CN111245543A

  • Memory device and method of operation

    WO2025032311A1