Waveform data resampling method, device, functional module and resampling system
By identifying transition points and performing multiple interpolation processes in the waveform data resampling method, the problem of insufficient accuracy in the existing technology is solved, and high-precision waveform data sampling and automatic recovery are achieved.
Patent Information
- Application Number
- CN202211401281.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-11-09
- Publication Date
- 2025-12-26
- Estimated Expiration
- 2042-11-09
AI Technical Summary
Existing resampling methods are insufficient in improving accuracy and cannot meet the requirements of high-precision applications.
By acquiring target waveform sampling data from waveform data collected from multiple channels, the target channel's waveform sampling data is obtained, transition point detection data is initialized, transition sampling points are identified, and an interpolation algorithm is used to interpolate between the transition point and its preceding adjacent sampling point. This operation is repeated until the interpolation algorithm is used a preset number of times. Finally, resampling and data waveform recovery are performed based on the interpolation position.
It improves the sampling accuracy of waveform data, meets the application requirements of high precision, and realizes high-precision data interpolation and automatic waveform recovery.
Smart Images

Figure CN115617787B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of communication technology, and in particular to a method, apparatus, functional module, and resampling system for waveform data. Background Technology
[0002] With the development of science and technology, measurement, as an important cornerstone of human technological development, has always been an indispensable part of the scientific research and exploration process.
[0003] During data acquisition, the accuracy of data acquisition is limited by many factors, such as the sampling rate of the analog-to-digital converter and the frequency of the sampled signal, which can lead to relatively large measurement errors. In order to improve accuracy, data interpolation is often performed. Although the accuracy of resampling can be improved in traditional resampling operations, it still cannot meet the requirements of high accuracy. Summary of the Invention
[0004] This invention provides a method, apparatus, functional module, and resampling system for waveform data, which can greatly improve the sampling accuracy of waveform data and meet the requirements of high data accuracy in applications.
[0005] According to one aspect of the present invention, a method for resampling waveform data is provided, comprising:
[0006] From the waveform acquisition data acquired from multiple channels, obtain the target waveform sampling data of the target channel;
[0007] Initialize the jump point detection data using the target waveform sampling data, and identify jump sampling points in the jump point detection data;
[0008] Obtain the current interpolation algorithm from the set of interpolation algorithms, and use the current interpolation algorithm to perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point;
[0009] After updating the jump point detection data with interpolated data, return to execute the operation of identifying jump sampling points in the jump point detection data until the interpolation algorithm has been used a preset number of times.
[0010] Based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform sampling data of the channel to be processed is resampled to obtain the resampled data of the channel to be processed.
[0011] Data waveform recovery processing is performed on the resampled data of the channel to be processed to obtain the data to be stored, and the data to be stored is stored according to the preset number of recovered data.
[0012] In different embodiments, the to-be-processed channel includes a target channel or does not include the target channel. When interpolation processing is performed on the jump point detection data associated with the target channel during the multi-channel resampling processing, the interpolation position recorded by each interpolation algorithm before interpolation processing is used as a trigger signal of other multi-channels to collect waveform data. It should be noted that the interpolation position recorded by each interpolation algorithm before interpolation processing can also be used as a trigger signal of the target channel, which is subject to actual needs and is not limited.
[0013] Optionally, the target waveform sampling data of the target channel is obtained from the waveform collection data collected by the multiple channels, including: obtaining current waveform sampling data of a target data bit number in the target channel, and obtaining first waveform sampling data of a previous target data bit number and second waveform sampling data of a subsequent target data bit number before the current waveform sampling data; and determining the target waveform sampling data according to the current waveform sampling data, the first waveform sampling data, and the second waveform sampling data.
[0014] In order to avoid the position of the jump sampling point being at the first or last data bit, three target data bits of data are spliced to form target waveform sampling data, and the jump sampling point of the target waveform sampling data is identified.
[0015] Optionally, the jump sampling point is identified in the jump point detection data, including: setting initial target comparison data; dividing the jump point detection data into multiple to-be-detected data groups according to the data sequence of the jump point detection data, and determining jump point first detection data and jump point second detection data in each to-be-detected data group; and comparing the jump point first detection data and the jump point second detection data in each to-be-detected data group with the initial target comparison data to determine jump sampling data. The initial target comparison data is set to 0 or a specific value. The jump sampling point is a negative number or a positive number.
[0016] According to another aspect of the present application, a resampling device for waveform data is provided, including:
[0017] A sampling data obtaining module is configured to obtain target waveform sampling data of a target channel from waveform collection data collected by multiple channels.
[0018] A jump sampling point identifying module is configured to initialize jump point detection data using the target waveform sampling data, and identify a jump sampling point in the jump point detection data.
[0019] An interpolation processing module is configured to obtain a current interpolation algorithm from a set of interpolation algorithms, and perform interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point using the current interpolation algorithm.
[0020] iteratively perform the operation of identifying the jump sampling point in the jump point detection data until the preset number of times of using the interpolation algorithm is completed.
[0021] The resampling processing module is configured to perform resampling processing on the waveform sampling data of the to-be-processed channel according to the interpolation positions recorded by each interpolation algorithm in the set of interpolation algorithms before interpolation processing, to obtain resampling data of the to-be-processed channel.
[0022] The data storage module is configured to perform data waveform recovery processing on the resampling data of the to-be-processed channel, to obtain to-be-stored data, and store the to-be-stored data according to a preset number of recovered data.
[0023] According to another aspect of the present application, there is provided a circuit function module, comprising:
[0024] at least one processor; and
[0025] a memory in communication connection with the at least one processor; wherein
[0026] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the resampling method of the waveform data according to any embodiment of the present application.
[0027] According to another aspect of the present application, there is provided a resampling system comprising a data acquisition module and a circuit function module as in any embodiment, wherein the waveform data acquisition module is configured to acquire waveform acquisition data of a plurality of channels and send the waveform acquisition data to the circuit function module.
[0028] The waveform data acquisition module includes but is not limited to an ADC (analog-to-digital conversion) module. The circuit function module includes but is not limited to a programmable gate array (FPGA) or a computer, etc.
[0029] According to another aspect of the present application, there is provided a computer readable storage medium storing computer instructions for enabling a processor to perform the resampling method of the waveform data according to any embodiment of the present application when executed.
[0030] The technical scheme of the embodiment of the application comprises the following steps: obtaining target waveform sampling data of a target channel from waveform acquisition data collected in multiple channels; initializing jump point detection data by using the target waveform sampling data; identifying jump sampling points in the jump point detection data; obtaining a current interpolation algorithm from an interpolation algorithm set; performing interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point by using the current interpolation algorithm; updating the jump point detection data by using the interpolation data; returning to the operation of identifying the jump sampling points in the jump point detection data until the use of the interpolation algorithm of the preset number of times is completed; performing resampling processing on waveform acquisition data of a channel to be processed according to interpolation positions recorded before interpolation processing of each interpolation algorithm in the interpolation algorithm set, to obtain resampling data of the channel to be processed; performing data waveform recovery processing according to the resampling data of the channel to be processed, to obtain data to be stored; and storing the data to be stored according to a preset number of recovery data.
[0031] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the application, nor is it intended to limit the scope of the application. Other features of the application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0032] In order to more clearly illustrate the technical solutions in the embodiments of the application, the following will briefly introduce the drawings needed to be used in the embodiment description. Obviously, the drawings in the following description are only some embodiments of the application, and other drawings can be obtained by those skilled in the art without creative effort on the basis of these drawings.
[0033] Figure 1 A flowchart of a waveform data resampling method provided for the first embodiment of the application;
[0034] Figure 2 A flowchart of a waveform data resampling method provided for the second embodiment of the application;
[0035] Figure 3 A structural schematic diagram of a waveform data resampling device provided for the third embodiment of the application;
[0036] Figure 4 A structural diagram of a circuit function module that can be used to implement an embodiment of the present application is shown;
[0037] Figure 5 is a schematic diagram of a resampling system provided by embodiment five of the present application;
[0038] Figure 6 is a schematic diagram of a process for finding zero-crossing data provided by embodiment five of the present application;
[0039] Figure 7 is a schematic diagram of a principle of reducing zero-crossing searching provided by embodiment five of the present application;
[0040] Figure 8 is a flowchart of a process for searching for a zero-crossing position provided by embodiment five of the present application;
[0041] Figure 9 is a schematic diagram of a process for searching for zero-crossing data after Sinc interpolation provided by embodiment five of the present application;
[0042] Figure 10 is a schematic diagram of a process for linear interpolation provided by embodiment five of the present application;
[0043] Figure 11 is a schematic diagram of a process for searching for a target sampling point provided by embodiment five of the present application;
[0044] Figure 12 is a schematic diagram of a process for an overall interpolation algorithm provided by embodiment five of the present application;
[0045] Figure 13 is a schematic diagram of a resampling principle provided by embodiment five of the present application;
[0046] Figure 14 is a schematic diagram of an encoding principle of a jump point position encoding provided by embodiment five of the present application;
[0047] Figure 15 is a schematic diagram of a data waveform recovery principle provided by embodiment five of the present application. DETAILED DESCRIPTION
[0048] In order to make the personnel in the technical field better understand the present application scheme, the technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative labor should belong to the scope of protection of the present application.
[0049] It should be noted that the terms "first", "second", and the like in the description and in the claims of the present application and above-described accompanying drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0050] Embodiment one
[0051] Figure 1 A flowchart of a waveform data resampling method provided for the first embodiment of the present application, the present embodiment can be applicable to the case of high-precision waveform restoration. The method can be performed by a waveform data resampling device, which can be realized in the form of hardware and / or software, and can be configured in a circuit function module. As shown in the figure, the method comprises: Figure 1
[0052] S110, in the waveform acquisition data collected from multiple channels, target waveform sampling data of a target channel is obtained.
[0053] The waveform acquisition data can be the result of data acquisition of the waveform data transmitted in the channel. The target channel can be a channel selected from the multiple channels transmitting the waveform acquisition data. The target waveform sampling data can be the waveform data collected from the target channel before the first interpolation processing.
[0054] In the embodiments of the present application, one channel can be selected from multiple channels as a target channel, and the target waveform sampling data of the target channel can be screened from the waveform acquisition data collected from multiple channels.
[0055] S120, the target waveform sampling data is used to initialize the jump point detection data, and the jump sampling point is identified in the jump point detection data.
[0056] The jump point detection data can be data that needs to be judged for data jump. Optionally, the data jump type can include zero-crossing jump (e.g., positive number jump to negative number, or negative number jump to positive number) and threshold jump (one of two adjacent data is greater than a set threshold, and the other data is less than the set threshold, and the set threshold is not 0). The jump sampling point can be a sampling point in the jump point detection data where the data jump occurs. For example, the latter data b of two adjacent data a and b where the data jump occurs can be taken as the jump sampling point.
[0057] In the embodiment of the present application, before the first interpolation processing, the target waveform sampling data is taken as the jump point detection data, so as to select the data jump type, and then identify the jump sampling point in the jump point detection data based on the selected data jump type.
[0058] S130, obtaining a current interpolation algorithm from the interpolation algorithm set, and using the current interpolation algorithm to perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point.
[0059] The interpolation algorithm set can include at least one interpolation algorithm. The current interpolation algorithm can be an interpolation algorithm in the interpolation algorithm set, which is used to perform the current interpolation processing. The previous adjacent sampling point can be the previous waveform acquisition data adjacent to the jump sampling point.
[0060] In the embodiment of the present application, the current interpolation algorithm can be obtained from the interpolation algorithm set, and the previous adjacent waveform acquisition data of each jump sampling point can be determined, and the previous adjacent waveform acquisition data of each jump sampling point can be taken as the previous adjacent sampling point of the corresponding jump sampling point, so as to use the current interpolation algorithm to perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point.
[0061] S140, after using the interpolation data to update the jump point detection data, returning to perform the operation of identifying the jump sampling point in the jump point detection data until the use of the preset number of interpolation algorithms is completed.
[0062] The preset number can be a total number of interpolation processing set in advance.
[0063] In the embodiment of the present application, the interpolation data obtained by interpolating the current interpolation algorithm at each jump sample point and the previous adjacent sample point of the jump sample point can be taken as the interpolation data matched with the current interpolation algorithm, and the interpolation result composed of the interpolation data matched with the current interpolation algorithm, the jump sample point matched with the interpolation data, and the previous adjacent sample point of the jump sample point matched with the interpolation data can be taken as the new jump point detection data, and the operation of identifying the jump sample point in the jump point detection data is performed again, that is, the jump sample point is identified in the updated jump point detection data, until the use of the preset number of interpolation algorithms is completed.
[0064] For example, it is assumed that there is a jump sample point b in the jump point detection data, the previous adjacent sample point of the jump sample point b is a, the interpolation algorithm is used to interpolate between a and b, and the interpolation data is A. If the interpolation data is A, the jump sample point matched with the interpolation data A is the jump sample point b, and the previous adjacent sample point of the jump sample point matched with the interpolation data A is the jump sample point a. The interpolation result is composed of a, A, and b.
[0065] Optionally, the interpolation algorithm set can include a plurality of interpolation algorithms, but when the use of the preset number of interpolation algorithms is completed, all the interpolation algorithms in the interpolation algorithm set can not be used. For example, there are five interpolation algorithms in the interpolation algorithm set, and the preset number can be two, or the interpolation algorithm set only includes two algorithms to correspond to two times of interpolation processing.
[0066] Optionally, the use of the preset number of interpolation algorithms can be completed according to the use order of the interpolation algorithms. When the preset number is at least three, the interpolation algorithms used in adjacent two times of interpolation processing are different, and the interpolation algorithms corresponding to non-adjacent interpolation processing can be the same. For example, when the use of three times of interpolation algorithms is completed, the same interpolation algorithm can be selected for the first time and the third time, and the interpolation algorithm selected for the second time is different from the interpolation algorithms selected for the first time and the third time. At this time, the interpolation algorithm set can only have two interpolation algorithms.
[0067] S150, resampling the waveform acquisition data of the to-be-processed channel according to the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing to obtain resampling data of the to-be-processed channel.
[0068] The interpolation position can be the addition position of the interpolation data. The to-be-processed channel can be a channel for transmitting the waveform acquisition data. The resampling data can be the interpolation data inserted in the waveform acquisition data when the waveform acquisition data of the to-be-processed channel is resampled.
[0069] In the embodiment of the present application, before the interpolation processing is performed by the current interpolation algorithm between each jump sampling point and the previous adjacent sampling point of the jump sampling point, the position of the jump sampling point in the corresponding jump point detection data can be recorded, so that the waveform acquisition data of the to-be-processed channel can be synchronously resampled according to the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before the interpolation processing, and the resampled data of the to-be-processed channel can be obtained.
[0070] In S160, the data waveform recovery processing is performed according to the resampled data of the to-be-processed channel, the to-be-stored data is obtained, and the to-be-stored data is stored according to the preset number of recovery data.
[0071] The to-be-stored data can be the resampled data used in the data waveform recovery processing. The preset number of recovery data can be the number of data determined according to the number of jump sampling points in the data waveform recovery processing.
[0072] In the embodiment of the present application, after the data waveform recovery processing is performed according to the resampled data of the to-be-processed channel, the resampled data used in the data waveform recovery processing is taken as the to-be-stored data, and then the to-be-stored data is stored and transmitted according to the preset recovery data.
[0073] The technical scheme of the embodiment of the present application can obtain the target waveform sampling data of the target channel in the waveform acquisition data collected by multiple channels, then initialize the jump point detection data using the target waveform sampling data, identify the jump sampling point in the jump point detection data, obtain the current interpolation algorithm in the interpolation algorithm set, perform the interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point using the current interpolation algorithm, update the jump point detection data using the interpolation data, and then return to perform the operation of identifying the jump sampling point in the jump point detection data until the preset number of times of using the interpolation algorithm is completed, so that the resampled data of the to-be-processed channel can be obtained by resampling the waveform acquisition data of the to-be-processed channel according to the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before the interpolation processing, the to-be-stored data can be obtained by performing the data waveform recovery processing according to the resampled data of the to-be-processed channel, and the to-be-stored data can be stored according to the preset number of recovery data. Since the present scheme can perform the interpolation processing by multiple interpolation algorithms in the interpolation algorithm set for a preset number of times, that is, the interpolation of the data can be more flexible and high-precision, the to-be-processed channel can be triggered to resample according to the interpolation positions recorded by each interpolation algorithm in the target channel before the interpolation processing, and the data waveform recovery processing can be performed using the resampled data, so that the automatic recovery of the waveform is realized, the problem that the interpolation method used in the existing resampling method cannot meet the occasions with high precision requirements is solved, the sampling precision of the waveform data can be greatly improved, and the occasions with high data precision requirements can be met.
[0074] Embodiment Two
[0075] Figure 2 A flow chart of a waveform data resampling method provided for Embodiment Two of the present application, the embodiment is based on the above-mentioned embodiment and is embodied, and gives a specific optional implementation of identifying a jump sampling point in the jump point detection data. As shown in the figure, the method comprises: Figure 2
[0076] S210, in the waveform acquisition data collected in multiple channels, acquiring target waveform sampling data of a target channel.
[0077] In an optional embodiment of the present application, in the waveform acquisition data collected in multiple channels, acquiring target waveform sampling data of a target channel can comprise: acquiring current waveform sampling data of a target data bit number in the target channel, and acquiring first waveform sampling data of a previous target data bit number and second waveform sampling data of a subsequent target data bit number before the current waveform sampling data; and determining the target waveform sampling data according to the current waveform sampling data, the first waveform sampling data and the second waveform sampling data.
[0078] Wherein, the target data bit number can be the data bit number of data collected in a data acquisition period. For example, assuming that 3G / 187.5MHZ=16 12bit data are received in a clock period, the target data bit number is 192bit (16*12bit), and the embodiment of the present application does not limit the specific data bit number of the target data bit number. The current waveform sampling data can be waveform acquisition data collected in the target channel in the current selected data acquisition period. The first waveform sampling data can be waveform acquisition data of the target data bit number before the current waveform sampling data. The second waveform sampling data can be waveform acquisition data of the target data bit number after the current waveform sampling data.
[0079] In the embodiment of the present application, if the interpolation algorithm used for the first time is the Sinc (Shannon) interpolation algorithm, the waveform acquisition data of the target channel with the target data bit number collected in any selected data acquisition period can be used as the current waveform sampling data, the waveform acquisition data of the target data bit number before the current waveform sampling data can be used as the first waveform sampling data, and the waveform acquisition data of the target data bit number after the current waveform sampling data can be used as the second waveform sampling data, i.e., the waveform acquisition data collected in the data acquisition period before the data acquisition period of the current waveform sampling data is used as the first waveform sampling data, and the waveform acquisition data collected in the data acquisition period after the data acquisition period of the current waveform sampling data is used as the second waveform sampling data, and the current waveform sampling data, the first waveform sampling data and the second waveform sampling data are spliced according to the data acquisition sequence to obtain the target waveform sampling data.
[0080] S220, initializing the jump point detection data using the target waveform sampling data, and setting initial target comparison data.
[0081] The initial target comparison data can be data used for determining the jump sampling point.
[0082] In the embodiment of the present application, the initial target comparison data can be set after the target waveform sampling data is used as the jump point detection data.
[0083] It should be noted that the initial target comparison data set after the jump point detection data is initialized using the target waveform sampling data and after the jump point detection data is updated each time can be the same or different.
[0084] S230, dividing the jump point detection data into a plurality of detection data groups according to the data sequence of the jump point detection data, and determining the jump point first detection data and the jump point second detection data in each detection data group.
[0085] The detection data group can be obtained by dividing the jump point detection data into groups according to the data sequence of the jump point detection data, two adjacent data in each group.
[0086] In the embodiment of the present application, the data sequence of the jump point detection data can be determined first, then the jump point detection data can be divided into a plurality of detection data groups according to the data sequence of the jump point detection data, two adjacent data in each group, so as to determine the jump point first detection data and the jump point second detection data in each detection data group.
[0087] S240, respectively, the jump point first detection data and the jump point second detection data in each to-be-detected data set are compared with the initial target to-be-compared data to determine jump point sampling data.
[0088] In the embodiment of the present application, the jump point first detection data and the jump point second detection data in each detection data set can be compared with the initial target to-be-compared data respectively to determine the jump point sampling data.
[0089] S250, a current interpolation algorithm is obtained from the set of interpolation algorithms, and the current interpolation algorithm is used to perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point.
[0090] In an optional embodiment of the present application, before the current interpolation algorithm is used to perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point, it can include: position encoding the data position of each jump sampling point in the jump detection data to obtain jump point position encoding; and recording the interpolation position matched with the current interpolation algorithm based on the jump point position encoding.
[0091] The jump point position encoding can be position encoding of the jump sampling point in the jump detection data, used to record the data position of the jump sampling point in the jump detection data.
[0092] In the embodiment of the present application, the data position of each jump sampling point in the jump detection data can be position encoded in the form of binary encoding to obtain the jump point position encoding, so that the interpolation position matched with the current interpolation algorithm is recorded by using the jump point position encoding, that is, the interpolation position for which data interpolation is performed by using the current interpolation algorithm is recorded by the jump point position encoding.
[0093] S260, after the jump point detection data is updated using the interpolation data, the operation of identifying the jump sampling point in the jump point detection data is returned to be executed until the use of the preset number of interpolation algorithms is completed.
[0094] In an optional embodiment of the present application, after the use of the preset number of interpolation algorithms is completed, it can further include: obtaining a last interpolation processing result matched with the last interpolation algorithm; obtaining a last target to-be-compared data; determining a to-be-processed jump sampling point and the previous adjacent sampling point of the to-be-processed jump sampling point according to the last interpolation processing result and the last target to-be-compared data; determining the to-be-processed jump sampling point and the previous adjacent sampling point of the to-be-processed jump sampling point according to the last interpolation processing result and the last target to-be-compared data; determining a target sampling point according to a first difference between the to-be-processed jump sampling point and the last target to-be-compared data and a second difference between the previous adjacent sampling point of the to-be-processed jump sampling point and the last target to-be-compared data, and recording target sampling point position encoding of the target sampling point.
[0095] The last interpolation algorithm can be an interpolation algorithm used in the last interpolation processing. The last interpolation processing result can be constituted by interpolation data in the last interpolation processing, a jump sampling point matched with the interpolation data in the last interpolation processing, and a previous adjacent sampling point of the jump sampling point. The last target comparison data can be used to determine the jump sampling point in the last interpolation processing result. The to-be-processed jump sampling point can be a jump sampling point obtained by identifying data jumps in the last interpolation processing result. The first difference value can be a difference value between the to-be-processed jump sampling point and the last target comparison data. The second difference value can be a difference value between the previous adjacent sampling point of the to-be-processed jump sampling point and the last target comparison data. The target sampling point can be a sampling point with a smaller absolute value of the difference value between the to-be-processed jump sampling point and the last target comparison data, from among the to-be-processed jump sampling point and the previous adjacent sampling point of the to-be-processed jump sampling point. The target sampling point position code can be a position code of the target sampling point in the last interpolation data.
[0096] In the embodiment of the present application, interpolation data matched with the last interpolation algorithm can be obtained first, and then a last interpolation processing result can be generated according to interpolation data in interpolation processing of the last interpolation algorithm, a jump sampling point matched with the interpolation data, and a previous adjacent sampling point of the jump sampling point. Then, the last target comparison data can be obtained, so as to update jump point detection data according to the last interpolation processing result, identify a to-be-processed jump sampling point based on the last target comparison data and the updated jump point detection data, calculate a first difference value between the to-be-processed jump sampling point and the last target comparison data, and a second difference value between a previous adjacent sampling point of the to-be-processed jump sampling point and the last target comparison data. Further, the first difference value and the second difference value are compared in terms of absolute values, a sampling point corresponding to a smaller absolute value is taken as a target sampling point, and a position of the target sampling point in the last interpolation processing result is determined. Then, the position of the target sampling point in the last interpolation processing result is position-coded to obtain a target sampling point position code of the target sampling point, and the target sampling point position code is recorded.
[0097] S270, resample the waveform sampling data of the to-be-processed channel according to the interpolation positions recorded before interpolation processing of each interpolation algorithm in the set of interpolation algorithms, to obtain resampled data of the to-be-processed channel.
[0098] S280, perform data waveform recovery processing according to the resampled data of the to-be-processed channel, to obtain to-be-stored data, and store the to-be-stored data according to a preset number of recovered data.
[0099] In an optional embodiment of the present application, the data waveform recovery processing is performed according to the resampling data of the to-be-processed channel to obtain to-be-stored data, and the to-be-stored data is stored according to the preset number of recovered data, which can include: determining the to-be-stored data according to the resampling data of the to-be-processed channel and the target sampling point position code; if the data number of the to-be-stored data is greater than the preset number of recovered data, storing the to-be-stored data according to the preset number of recovered data and the target sampling point position code through two cache queues; and if the data number of the to-be-stored data is less than or equal to the preset number of recovered data, storing the to-be-stored data according to the target sampling point position code through one cache queue.
[0100] In an embodiment of the present application, the resampling data of the to-be-processed channel matched with the target sampling point position code can be determined according to the target sampling point position code to obtain to-be-stored data, and the data number of the to-be-stored data is determined, if the data number of the to-be-stored data is greater than the preset number of recovered data, the to-be-stored data is stored according to the data generation order of the to-be-stored data matched with the target sampling point position code through two cache queues, the preset number of recovered data in the to-be-stored data is stored in one cache queue, and the other data in the to-be-stored data except for the data stored in the cache queue is stored in another cache queue. If the data number of the to-be-stored data is less than or equal to the preset number of recovered data, the to-be-stored data is stored according to the data generation order of the to-be-stored data matched with the target sampling point position code through one cache queue.
[0101] In an optional embodiment of the present application, the to-be-stored data is stored according to the preset number of recovered data and the target sampling point position code through two cache queues, which can include: dividing the to-be-stored data into first to-be-cached data and second to-be-cached data according to the preset number of recovered data and the target sampling point position code; wherein the data number of the first to-be-cached data is equal to the preset number of recovered data; the first to-be-cached data is cached in a first cache queue, and the second to-be-cached data is cached in a second cache queue.
[0102] The data generation order of the first to-be-cached data is prior to that of the second to-be-cached data, and the data number of the first to-be-cached data is the preset number of recovered data. The second to-be-cached data can be resampling data generated after the first to-be-cached data, and the data number of the second to-be-cached data is less than the preset number of recovered data. The first cache queue is used to store the first to-be-cached data. The second cache queue is used to store the second to-be-cached data.
[0103] In the embodiment of the present application, the resampling data of the preset number of recovery data generated first can be taken as the first to be cached data, and the resampling data less than the preset number of recovery data generated after the first to be cached data can be taken as the second to be cached data, the first to be cached data is cached in the first cache queue, and the second to be cached data is cached in the second cache queue.
[0104] The technical scheme of the embodiment of the present application can obtain the target waveform sampling data of the target channel from the waveform acquisition data acquired by multiple channels, initialize the jump point detection data using the target waveform sampling data, set the initial target to be compared data, divide the jump point detection data into multiple to-be-detected data groups according to the data sequence of the jump point detection data, determine the jump point first detection data and the jump point second detection data in each to-be-detected data group, compare the jump point first detection data and the jump point second detection data in each to-be-detected data group with the initial target to be compared data respectively, determine the jump point sampling data, obtain the current interpolation algorithm from the interpolation algorithm set, perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point using the current interpolation algorithm, and return to the operation of identifying the jump sampling point in the jump point detection data after updating the jump point detection data using the interpolation data, until the use of the interpolation algorithm of the preset number of times is completed, so as to perform resampling processing on the waveform sampling data of the to-be-processed channel according to the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, obtain the resampling data of the to-be-processed channel, perform data waveform recovery processing on the resampling data of the to-be-processed channel, obtain the to-be-stored data, and store the to-be-stored data according to the preset number of recovery data. Since the present scheme can perform interpolation processing of the preset number of times by using multiple interpolation algorithms in the interpolation algorithm set, that is, the data can be interpolated more flexibly and with high precision, the to-be-processed channel is triggered to perform resampling according to the interpolation positions recorded by each interpolation algorithm in the target channel before interpolation processing, and the present scheme can also perform data waveform recovery processing using the resampling data to realize automatic recovery of the waveform, thereby solving the problem that the interpolation method used by the existing resampling method cannot meet the occasions with high precision requirements, greatly improving the sampling precision of the waveform data, and meeting the occasions with high data precision requirements.
[0105] Embodiment three
[0106] Figure 3 A structure diagram of a waveform data resampling device provided by the third embodiment of the present application is shown in FIG. 3. Figure 3As shown, the device comprises a sampling data acquisition module 310, a jump sampling point identification module 320, an interpolation processing module 330, an iterative execution module 340, a resampling processing module 350, and a data storage module 360, wherein,
[0107] The sampling data acquisition module 310 is configured to acquire target waveform sampling data of a target channel from waveform acquisition data collected by multiple channels.
[0108] The jump sampling point identification module 320 is configured to initialize jump point detection data using the target waveform sampling data, and identify jump sampling points in the jump point detection data.
[0109] The interpolation processing module 330 is configured to acquire a current interpolation algorithm from the set of interpolation algorithms, and perform interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point using the current interpolation algorithm.
[0110] The iterative execution module 340 is configured to update the jump point detection data using the interpolation data, and then return to perform the operation of identifying the jump sampling points in the jump point detection data until the use of the preset number of interpolation algorithms is completed.
[0111] The resampling processing module 350 is configured to perform resampling processing on the waveform sampling data of the channel to be processed according to the interpolation positions recorded by each interpolation algorithm in the set of interpolation algorithms before interpolation processing, to obtain resampling data of the channel to be processed.
[0112] The data storage module 360 is configured to perform data waveform recovery processing according to the resampling data of the channel to be processed, to obtain data to be stored, and store the data to be stored according to a preset number of recovered data.
[0113] The technical scheme of the embodiment of the present application obtains target waveform sampling data of a target channel in waveform acquisition data collected in multiple channels, and then initializes jump point detection data using the target waveform sampling data, and identifies jump sampling points in the jump point detection data, so as to obtain a current interpolation algorithm in the interpolation algorithm set, and uses the current interpolation algorithm to perform interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point, and after updating the jump point detection data using the interpolation data, returns to perform the operation of identifying the jump sampling points in the jump point detection data until the use of the interpolation algorithm of the preset number of times is completed, so as to perform resampling processing on the waveform acquisition data of the channel to be processed according to the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, to obtain resampling data of the channel to be processed, further performs data waveform recovery processing according to the resampling data of the channel to be processed, to obtain data to be stored, and stores the data to be stored according to the preset number of recovery data. Since the present scheme can perform interpolation processing of the preset number of times through multiple interpolation algorithms in the interpolation algorithm set, that is, can more flexibly perform high-precision interpolation on data, so as to trigger the channel to be processed to perform resampling according to the interpolation positions recorded by each interpolation algorithm in the target channel before interpolation processing, and the present scheme can also use the resampling data to perform data waveform recovery processing, to realize automatic recovery of the waveform, solves the problem that the interpolation method used in the existing resampling method cannot meet the occasions with high precision requirements, and can greatly improve the sampling precision of the waveform data, to meet the occasions with high data precision requirements.
[0114] Optionally, the sampling data acquisition module 310 is specifically configured to acquire current waveform sampling data of a target data bit number in a target channel, and acquire first waveform sampling data of a previous target data bit number and second waveform sampling data of a subsequent target data bit number of the current waveform sampling data; and determine target waveform sampling data according to the current waveform sampling data, the first waveform sampling data, and the second waveform sampling data.
[0115] Optionally, the jump sampling point identification module 320 is specifically configured to set initial target comparison data; divide the jump point detection data into multiple to-be-detected data groups according to a data sequence of the jump point detection data, and determine jump point first detection data and jump point second detection data in each to-be-detected data group; and compare the jump point first detection data and the jump point second detection data in each to-be-detected data group with the initial target comparison data respectively, to determine jump sampling data.
[0116] Optionally, the waveform data resampling device further comprises an interpolation position recording module configured to encode a position of each of the jump sampling points in the jump detection data to obtain a jump point position code; and record an interpolation position matched with the current interpolation algorithm based on the jump point position code.
[0117] Optionally, the waveform data resampling device further comprises a target sampling point determination and position code recording module configured to obtain a last interpolation processing result matched with a last interpolation algorithm; obtain a last target comparison data; determine a to-be-processed jump sampling point and a previous adjacent sampling point of the to-be-processed jump sampling point based on the last interpolation processing result and the last target comparison data; and determine a target sampling point based on a first difference between the to-be-processed jump sampling point and the last target comparison data and a second difference between the previous adjacent sampling point of the to-be-processed jump sampling point and the last target comparison data, and record a target sampling point position code of the target sampling point.
[0118] Optionally, the data storage module 360 comprises a to-be-stored data determination unit and a data storage unit, wherein the to-be-stored data determination unit is configured to determine to-be-stored data based on the resampling data of the to-be-processed channel and the target sampling point position code; and the data storage unit is configured to store the to-be-stored data in a manner of target sampling point position code if a number of data of the to-be-stored data is greater than the preset number of recovery data through two cache queues, and store the to-be-stored data in a manner of target sampling point position code if the number of data of the to-be-stored data is less than or equal to the preset number of recovery data through one cache queue.
[0119] Optionally, the data storage unit is specifically configured to divide the to-be-stored data into first to-be-cached data and second to-be-cached data in a manner of preset number of recovery data and target sampling point position code, wherein a number of data of the first to-be-cached data is equal to the preset number of recovery data; and cache the first to-be-cached data in a first cache queue and cache the second to-be-cached data in a second cache queue.
[0120] The waveform data resampling device provided in the embodiments of the present application can execute the waveform data resampling method provided in any of the embodiments of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0121] Embodiment four
[0122] Figure 4Structural diagrams of circuit functional modules that can be used to implement embodiments of the present application are shown. A circuit functional module can be any kind of logic control device, intended to represent a variety of forms of digital computers or programmable gate arrays (FPGA), etc. Among them, the types of digital computers include desktop computers, workstations, personal digital assistants, servers, mainframe computers, and other suitable computers. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described and / or claimed herein.
[0123] As shown in Figure 4 The circuit functional module 10 includes at least one processor 11, and a memory, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., which is communicatively connected to the at least one processor 11, wherein the memory stores a computer program executable by the at least one processor. The processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or loaded from the storage unit 18 into the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0124] A plurality of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunications networks.
[0125] The processor 11 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs various methods and processes described above, such as the resampling method of waveform data.
[0126] In some embodiments, the resampling method of waveform data can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program can be loaded and / or installed onto the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded onto the RAM 13 and executed by the processor 11, one or more steps of the resampling method of waveform data described above can be performed. Alternatively, in other embodiments, the processor 11 can be configured to perform the resampling method of waveform data by any other suitable means, such as by means of firmware.
[0127] Embodiment Five
[0128] Figure 5 is a schematic diagram of a resampling system provided by Embodiment Five of the present application, as shown, the resampling system comprises a data acquisition module and a circuit function module, wherein the waveform data acquisition module can be used to acquire waveform acquisition data of multiple channels and send the waveform acquisition data to the circuit function module; the circuit function module can be used to perform the resampling method of waveform data in any embodiment. Figure 5
[0129] The waveform data acquisition module can acquire waveform data of multiple channels at any resolution and sampling period, obtain waveform acquisition data, and send the waveform acquisition data to the circuit function module, so as to realize resampling processing and data storage and sending of the waveform acquisition data of the to-be-processed channel through the circuit function module.
[0130] For example, the data acquisition period of the waveform data acquisition module can be 3G12bit. The working frequency of the circuit function module can be 187.5MHZ. The present application does not limit the specific size of the data acquisition period and the specific working frequency of the circuit function module.
[0131] The present embodiment provides an interpolation method combining the Sinc interpolation algorithm and the linear interpolation algorithm, which can effectively improve the resampling precision. In practice, the Sinc interpolation multiple can be set to N times, the linear interpolation multiple can be set to M times, any one of the triggering methods can be used, and any combination of multiple interpolation methods can be used to realize waveform data resampling.
[0132] In a specific example, taking the waveform data acquisition module as a 3G12bit ADC module, the circuit function module as an FPGA, the working frequency of the FPGA as 187.5MHZ, the Sinc interpolation multiple as 8 times, and the linear interpolation multiple as 16 times as an example, the principle of waveform data resampling is described:
[0133] Step 1, find the zero-crossing data
[0134] The data received by the FPGA in one clock cycle is 3G / 187.5MHZ=16 pieces of 12-bit data (how many data are received by each FPGA working frequency is related to the data collection rate and the working frequency of the FPGA), and the bit width of the data is 192 bits. Since the frequency of the sampled signal is different, it is uncertain how many of the 16 data will change from negative to positive. However, it is certain that there are at most 8 cases of negative to positive changes in the 16 data. Therefore, first, the 16 data are judged to find out how many cases of negative to positive changes exist, and the zero-crossing data of the negative to positive change are extracted, that is, the jump sampling point and the previous adjacent sampling point of the jump sampling point are extracted. When 8 data points are needed for subsequent Sinc interpolation, the zero-crossing data (jump sampling point and previous adjacent sampling point of the jump sampling point) and the 3 data points before and after it are taken. In order to avoid the situation that the position of the zero-crossing point is at the beginning or end of the 16 data and cannot be identified, the three 192-bit data are spliced together to form a 576-bit data, and the zero-crossing data of the middle 192-bit data are found. The process of finding the zero-crossing data is as shown in Figure 6 Since there are at most 8 cases of zero-crossing data in the 16 data, the 16 cases after the zero-crossing processing can be processed to reduce them to at most 8 cases. Each zero-crossing case corresponds to a flag signal, and the 16 cases can be reduced to 8 cases according to the high and low of the flag signal. A realizable principle for reducing the zero-crossing finding process is as shown in Figure 7
[0135] Optionally, when the Sinc interpolation multiple is 8 times, the zero-crossing data and the 6 data before and after it, a total of 14 data, can be taken to operate with the filter, that is, the number of data before and after the zero-crossing point is not related to the Sinc interpolation multiple. The more data that operate with the filter, the better the data fitting effect.
[0136] Step 2, Sinc interpolation processing
[0137] Since there are at most 8 zero-crossing points in 16 data, 8 Sinc interpolation modules are needed in the state of considering the limit case (the number of modules is related to the amount of data in the actual case, and can be set by oneself). Assuming that the interpolation multiple of Sinc interpolation is N in the processing process of Sinc interpolation, the filter coefficients generated are split into 8 groups of data according to 8 one group, and for the found zero-crossing data, multiply and accumulate with the filter coefficients of each split group, 7 times of multiplication and accumulation are needed, and the data obtained after multiplication is accumulated to obtain the data after Sinc interpolation processing. When the interpolation multiple of Sinc interpolation is N, the specific implementation process of Sinc interpolation processing is as shown in Figure 8 .
[0138] Step 3, find the zero-crossing data after Sinc interpolation
[0139] After the data is processed by Sinc interpolation, 7 data are inserted between the two data of the zero-crossing point, and after adding the two data of the zero-crossing point, there are 9 data in total (the total data is irrelevant to the multiple of Sinc interpolation), at this time, there will be only one zero-crossing data between the 9 data, and the one zero-crossing data needs to be found in the 9 data, and the zero-crossing data is extracted, which is prepared for subsequent linear interpolation. Since the data is signed data, the position of the zero-crossing point can be found by judging whether the sign bit of the adjacent two data changes. When the interpolation multiple of Sinc interpolation is N, the specific finding process of the zero-crossing data after Sinc interpolation is as shown in Figure 9 .
[0140] Step 4, linear interpolation processing
[0141] The zero-crossing data obtained after Sinc interpolation is linearly interpolated, and this embodiment takes 16 times linear interpolation as an example. According to the principle of linear interpolation, for the Ith linear interpolation data, only the difference between the absolute values between the zero-crossing data divided by 16 and multiplied by I can obtain the data, and then the smaller value of the jump sampling point and its previous adjacent sampling point can obtain the linear interpolation value. When the interpolation multiple of linear interpolation is M, the specific implementation process of linear interpolation processing is as shown in Figure 10 .
[0142] Step 5, find the data close to 0 (target sampling point) in the linear interpolation result
[0143] For the data after linear interpolation processing, 15 data are inserted in the zero-crossing data, and there are 17 data in total, and the data closest to 0 needs to be found among the 17 data and output, the specific process is: judging whether the sign bit of the adjacent two data changes, taking out the two data when the change occurs, and then judging the absolute value of the two data, and outputting the data with smaller absolute value, that is, outputting the target sampling point. When the interpolation multiple of linear interpolation is M, the target sampling point searching process is as shown in Figure 11 , and the overall interpolation algorithm process is as shown in Figure 12 .
[0144] Step 6, resampling principle
[0145] For the collected multi-channel waveform acquisition data, one channel of data is used to resample the other data, and this time two channels are taken as an example, the channel with faster frequency is recorded as CH0, and the channel with slower frequency is recorded as CH1. Since both channels of data have been processed by Sinc interpolation and linear interpolation, the accuracy of resampling will be improved. The resampling principle is that both channels of data will be processed by Sinc interpolation and linear interpolation, and the bit width of the incoming data is the same. Taking 192 bits of data as an example, CH0 first judges the zero-crossing data and the corresponding jump point position code. CH1 takes the corresponding data according to the jump point position code obtained at this time to perform Sinc interpolation processing. Then CH0 finds the zero-crossing data in the interpolation data obtained by Sinc interpolation, and outputs the zero-crossing data and the corresponding jump point position code at this time. CH1 takes the interpolation data of CH1 after Sinc interpolation according to the jump point position code output by CH0, and then CH0 performs linear interpolation on the data after Sinc interpolation. CH0 outputs the data close to 0 after linear interpolation and the target sampling point position code at this time. CH1 performs linear interpolation on the data obtained after Sinc interpolation, and outputs the corresponding data according to the target sampling point position code transmitted by CH0 for subsequent waveform recovery. In this way, the resampling principle of N channels is as shown in Figure 13 .
[0146] Step 7, principle of jump point position code
[0147] The principle of jump point position coding is to encode the position of the found zero-crossing point data. The found zero-crossing point position is set to 1, and the remaining positions are set to 0. The data corresponding to the 1 in the address is taken out. In the implementation process, the addresses of three places need to be encoded. The first place is when the original data is input to find the zero-crossing point. The second place is after Sinc interpolation to find the position of the zero-crossing point. The third place is after linear interpolation to find the position of the zero-crossing point. The encoding principle of the jump point position coding is shown in Figure 14 .
[0148] Step 8, data waveform recovery principle after resampling
[0149] For the data after resampling, the data needs to be recovered into a waveform. In N 12-bit interpolation data, there are at most N / 2 kinds of zero-crossing points. Therefore, the data is temporarily stored in the memory according to the order, and the data is output after the memory stores N / 2 recovered data. The data is output after the memory stores the preset number of recovered data (the preset number of recovered data can be extended to any numerical value) for subsequent module operation. The principle of data waveform recovery is to use one-way data to trigger the collection of another way of data. The final data is the data after Sinc interpolation and linear interpolation processing. The waveform acquisition data is serially received data, and the data has a sequence. The found zero-crossing point data also has a sequence. In the data processing process, it is processed in parallel. The processing is simultaneous, and there is no sequence. The processed data needs to be recovered to the data state according to the sequence of the zero-crossing point. In the data waveform recovery process, the number of valid data (the number of 1) in the target sampling point position coding is first selected to process the corresponding data. Then, the number of valid data in the target sampling point position coding is counted. When the count reaches N / 2, the data is output and a flag bit is transmitted. The subsequent module operates according to the flag bit (these parameters can be related or unrelated to the Sinc interpolation multiple, linear interpolation multiple, etc.). The processed data can be selected according to the number of target sampling points. Assuming that there are N target sampling points, there will be only N valid data in the processed data. The valid data is output according to the existing condition. The subsequent data is stored in the memory and recovered. The specific data waveform recovery principle is shown in Figure 15 .
[0150] The various embodiments of the systems and techniques described above can be implemented in special-purpose computer hardware, in software, in firmware, in hardware and / or their combination. These various embodiments can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0151] Computer programs used to implement the processes of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer program
[0152] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store computer programs for use by or in connection with an instruction execution system, apparatus, or device. Computer-readable storage media can include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium will include one or more lines of electrical connections, portable computer disks, hard disk drives, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or Flash memory), optical fibers, portable compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0153] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0154] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0155] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0156] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present disclosure can be executed in parallel, executed in sequence, or executed in a different order, as long as the desired results of the present disclosure are achieved, and the present disclosure is not limited herein.
[0157] The specific embodiments described above are not intended to be limiting, and persons skilled in the art will appreciate that various modifications, combinations, sub-combinations and alternatives can be made to the specific embodiments without departing from the spirit and principles of the disclosure. Accordingly, the disclosure is not limited to the specific embodiments described above, but only by the scope of the appended claims.
Claims
1. A method of resampling waveform data, the method comprising: The method comprises the following steps: acquiring target waveform sampling data of a target channel from waveform acquisition data acquired from multiple channels; initializing jump point detection data using the target waveform sampling data, and identifying jump sampling points in the jump point detection data; acquiring a current interpolation algorithm from a set of interpolation algorithms, and performing interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point using the current interpolation algorithm; after updating the jump point detection data using interpolation data, returning to perform the operation of identifying jump sampling points in the jump point detection data until a preset number of uses of interpolation algorithms is completed; resampling waveform acquisition data of a channel to be processed according to interpolation positions recorded by each interpolation algorithm in the set of interpolation algorithms before interpolation processing, to obtain resampling data of the channel to be processed; performing data waveform recovery processing according to the resampling data of the channel to be processed to obtain data to be stored, and storing the data to be stored according to a preset number of recovered data; before the step of performing interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point using the current interpolation algorithm, the method comprises the following steps: performing position coding according to data positions of each jump sampling point in the jump detection data to obtain jump point position coding; based on the jump point position coding, recording an interpolation position matched with the current interpolation algorithm.
2. The method of claim 1, wherein, The step of acquiring target waveform sampling data of a target channel from waveform acquisition data acquired from multiple channels comprises the following steps: acquiring current waveform sampling data of a target data bit number in a target channel, and acquiring first waveform sampling data of a previous target data bit number and second waveform sampling data of a subsequent target data bit number of the current waveform sampling data; determining target waveform sampling data according to the current waveform sampling data, the first waveform sampling data, and the second waveform sampling data.
3. The method of claim 2, wherein, The step of identifying jump sampling points in the jump point detection data comprises the following steps: setting initial target comparison data; dividing the jump point detection data into multiple groups of detection data according to data sequences of the jump point detection data, and determining jump point first detection data and jump point second detection data in each group of detection data; comparing the jump point first detection data and the jump point second detection data in each group of detection data with the initial target comparison data respectively to determine jump sampling points.
4. The method of claim 1, wherein, After the step of completing the use of a preset number of interpolation algorithms, the method further comprises the following steps: acquiring a last interpolation processing result matched with a last interpolation algorithm; acquiring last target comparison data; determining a channel to be processed jump sampling point and a previous adjacent sampling point of the channel to be processed jump sampling point according to the last interpolation processing result and the last target comparison data; determining a target sampling point according to a first difference between the channel to be processed jump sampling point and the last target comparison data, and a second difference between a previous adjacent sampling point of the channel to be processed jump sampling point and the last target comparison data, and recording a target sampling point position code of the target sampling point.
5. The method of claim 4, wherein, The data waveform recovery processing is performed according to the resampling data of the to-be-processed channel, to obtain to-be-stored data, and the to-be-stored data is stored according to a preset number of recovered data. The to-be-stored data is determined according to the resampling data of the to-be-processed channel and the target sampling point position code. If the number of data of the to-be-stored data is greater than the preset number of recovered data, the to-be-stored data is stored through two cache queues according to the preset number of recovered data and the target sampling point position code. If the number of data of the to-be-stored data is less than or equal to the preset number of recovered data, the to-be-stored data is stored through one cache queue according to the target sampling point position code.
6. The method of claim 5, wherein, The to-be-stored data is stored through two cache queues according to the preset number of recovered data and the target sampling point position code, including: The to-be-stored data is divided into first to-be-cached data and second to-be-cached data according to the preset number of recovered data and the target sampling point position code; the number of data of the first to-be-cached data is equal to the preset number of recovered data. The first to-be-cached data is cached in the first cache queue, and the second to-be-cached data is cached in the second cache queue.
7. A device for resampling waveform data, characterized by It includes: The sampling data acquisition module is used to acquire target waveform sampling data of a target channel in waveform acquisition data collected by multiple channels. The jump sampling point identification module is used to initialize jump point detection data using the target waveform sampling data, and identify jump sampling points in the jump point detection data. The interpolation processing module is used to acquire a current interpolation algorithm in an interpolation algorithm set, and perform interpolation processing between each jump sampling point and a previous adjacent sampling point of the jump sampling point using the current interpolation algorithm. The iteration execution module is used to return to perform the operation of identifying jump sampling points in the jump point detection data after updating the jump point detection data using interpolation data, until a preset number of times of using interpolation algorithms is completed. The resampling processing module is used to perform resampling processing on waveform acquisition data of a to-be-processed channel according to interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, to obtain resampling data of the to-be-processed channel. The data storage module is used to perform data waveform recovery processing according to the resampling data of the to-be-processed channel, to obtain to-be-stored data, and store the to-be-stored data according to a preset number of recovered data. The resampling device of waveform data further includes an interpolation position recording module, which is used to perform position coding on the data position of each jump sampling point in the jump detection data, to obtain jump point position coding; and record the interpolation position matched with the current interpolation algorithm based on the jump point position coding.
8. A circuit function module, characterized by The circuit function module includes: At least one processor; and The memory is in communication connection with the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the resampling method of the waveform data according to any one of claims 1-6.
9. A resampling system characterized by, The circuit function module comprises a data acquisition module and a circuit function module as claimed in claim 8, wherein, The waveform data acquisition module is configured to acquire waveform acquisition data of a plurality of channels and send the waveform acquisition data to the circuit function module.
Citation Information
Patent Citations
Clock recovery method and device
CN107528658A
Clock data recovery system, chip and clock data recovery method
CN113886315A