A method, apparatus, device and medium for resampling waveform data

CN115660957BActive Publication Date: 2026-11-03ACELA MICROELECTRONICS (SUZHOU) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202211400705.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-09
Publication Date
2026-11-03
Estimated Expiration
2042-11-09

AI Technical Summary

Technical Problem

Existing resampling methods cannot meet the high-precision requirements in the field of communication, resulting in a significant difference between the output waveform data and the original acquired waveform data.

Method used

By acquiring target waveform sampling data of the target channel from waveform data collected from multiple channels, initializing jump point detection data, identifying jump sampling points, and using an interpolation algorithm to perform interpolation processing between the jump point and its previous adjacent sampling point, this operation is repeated until the interpolation algorithm is used a preset number of times, and resampling is performed according to the interpolation position.

Benefits of technology

It improves the sampling accuracy of waveform data, meeting the needs of applications requiring high precision.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115660957B_ABST
    Figure CN115660957B_ABST
Patent Text Reader

Abstract

The application discloses a waveform data resampling method, device and equipment and a medium. The waveform data resampling method comprises the following steps: obtaining target waveform sampling data of a target channel; initializing jump point detection data by using the target waveform sampling data, and identifying a jump sampling point in the jump point detection data; obtaining a current interpolation algorithm from an interpolation algorithm set, and 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; after updating the jump point detection data by using the interpolation data, returning to perform the operation of identifying the jump sampling point in the jump point detection data until the use of the interpolation algorithm is completed for a preset number of times; and performing resampling processing on waveform acquisition data of a channel to be processed according to an interpolation position recorded before interpolation processing. The technical scheme of the embodiment of the application can greatly improve the sampling precision of waveform data and meet the requirements of occasions with high data precision.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of communication technology, and in particular to a method, apparatus, device and medium for resampling waveform data. Background Technology

[0002] Resampling, as a common method for switching sampling rates, has a wide range of applications in the field of communications.

[0003] Because of acquisition errors during waveform data acquisition, subsequent data processing accumulates errors, resulting in significant differences between the output waveform data and the original acquired waveform data. For example, a standard sine wave may be acquired, but the output may be a triangular wave.

[0004] However, the interpolation methods used in current resampling methods cannot meet the requirements of high accuracy. Summary of the Invention

[0005] This invention provides a method, apparatus, device, and medium for resampling waveform data, which can greatly improve the sampling accuracy of waveform data and meet the requirements of high data accuracy in applications.

[0006] According to one aspect of the present invention, a method for resampling waveform data is provided, comprising:

[0007] From the waveform acquisition data acquired from multiple channels, obtain the target waveform sampling data of the target channel;

[0008] Initialize the jump point detection data using the target waveform sampling data, and identify jump sampling points in the jump point detection data;

[0009] 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;

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

[0011] Based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed is resampled.

[0012] In different implementations, the channel to be processed may or may not include the target channel. During multi-channel resampling processing, when interpolating the transition point detection data associated with the target channel, the interpolation positions recorded before interpolation processing by each interpolation algorithm serve as trigger signals for other multi-channels, enabling them to acquire waveform data. It should be noted that the interpolation positions recorded before interpolation processing by each interpolation algorithm can also serve as trigger signals for the target channel, depending on actual needs and without limitation.

[0013] According to another aspect of the present invention, a waveform data resampling apparatus is provided, comprising:

[0014] The sampling data acquisition module is used to acquire the target waveform sampling data of the target channel from the waveform acquisition data acquired from multiple channels;

[0015] The jump sampling point identification module is used to initialize the jump point detection data with the target waveform sampling data and identify jump sampling points in the jump point detection data;

[0016] The interpolation processing module is used to obtain the current interpolation algorithm from the interpolation algorithm set, 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;

[0017] The iterative execution module is used to update the jump point detection data with interpolated data and then 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.

[0018] The resampling processing module is used to resample the waveform acquisition data of the channel to be processed based on the interpolation position recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing.

[0019] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:

[0020] At least one processor; and

[0021] A memory communicatively connected to the at least one processor; wherein,

[0022] The memory stores a computer program that can be executed by the at least one processor, which enables the at least one processor to perform the waveform data resampling method according to any embodiment of the present invention.

[0023] According to another aspect of the present invention, a computer-readable storage medium is provided, the computer-readable storage medium storing computer instructions for causing a processor to execute and implement the waveform data resampling method according to any embodiment of the present invention.

[0024] The technical solution of this invention involves obtaining target waveform sampling data for a target channel from waveform acquisition data collected from multiple channels, then initializing transition point detection data using the target waveform sampling data, identifying transition sampling points in the transition point detection data, obtaining the current interpolation algorithm from the interpolation algorithm set, and performing interpolation processing between each transition sampling point and its preceding adjacent sampling point using the current interpolation algorithm. After further updating the transition point detection data using the interpolation data, the operation of identifying transition sampling points in the transition point detection data is returned to execution until the interpolation algorithm has been used a preset number of times. Thus, based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed is resampled. Because this solution can perform interpolation processing a preset number of times using multiple interpolation algorithms in the interpolation algorithm set, it can more flexibly perform high-precision interpolation of data. Thus, based on the interpolation position recorded by each interpolation algorithm before interpolation processing for the target channel, it triggers resampling of the channel to be processed. This solves the problem that the interpolation method used in existing resampling methods cannot meet the requirements of high precision, and can greatly improve the sampling accuracy of waveform data, meeting the requirements of high data accuracy.

[0025] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of the present invention, nor is it intended to limit the scope of the invention. Other features of the invention will become readily apparent from the following description. Attached Figure Description

[0026] To more clearly illustrate the technical solutions in the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0027] Figure 1 This is a flowchart of a waveform data resampling method provided in Embodiment 1 of the present invention;

[0028] Figure 2 This is a flowchart of a waveform data resampling method provided in Embodiment 2 of the present invention;

[0029] Figure 3 This is a schematic diagram illustrating the principle of finding negative numbers that jump to positive numbers in original data, as provided in Embodiment 3 of the present invention.

[0030] Figure 4 This is a schematic diagram illustrating the principle of Sinc interpolation provided in Embodiment 3 of the present invention;

[0031] Figure 5 This is a schematic diagram illustrating the principle of finding zero-crossing points after Sinc interpolation, provided in Embodiment 3 of the present invention.

[0032] Figure 6 This is a schematic diagram illustrating the implementation principle of linear interpolation provided in Embodiment 3 of the present invention;

[0033] Figure 7 This is a schematic diagram of a process for determining output data after linear interpolation, provided in Embodiment 3 of the present invention.

[0034] Figure 8 This is a schematic diagram of the implementation process of channel-triggered resampling provided in Embodiment 3 of the present invention;

[0035] Figure 9 This is a schematic diagram of the structure of a waveform data resampling device provided in Embodiment 4 of the present invention;

[0036] Figure 10 A schematic diagram of an electronic device that can be used to implement embodiments of the present invention is shown. Detailed Implementation

[0037] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.

[0038] It should be noted that the terms "initial," "target," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used 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 described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0039] Example 1

[0040] Figure 1 This is a flowchart of a waveform data resampling method provided in Embodiment 1 of the present invention. This embodiment is applicable to situations requiring high-precision waveform reconstruction. The method can be executed by a waveform data resampling device, which can be implemented in hardware and / or software and can be configured in an electronic device. Figure 1 As shown, the method includes:

[0041] S110. Obtain the target waveform sampling data of the target channel from the waveform acquisition data acquired from multiple channels.

[0042] The waveform acquisition data can be the result of acquiring waveform data transmitted in a channel. The target channel can be a channel selected from multiple channels transmitting waveform acquisition data. The target waveform sampling data can be waveform data acquired from the target channel within the waveform acquisition data.

[0043] In this embodiment of the invention, one channel can be selected from multiple channels as the target channel, and the target waveform sampling data of the target channel can be filtered out from the waveform acquisition data acquired from multiple channels.

[0044] S120. Initialize the jump point detection data using the target waveform sampling data, and identify the jump sampling points in the jump point detection data.

[0045] The transition point detection data can be the data that needs to be identified as having a data transition. Optionally, the data transition type can include zero-crossing transitions (such as a positive number transitioning to a negative number, or a negative number transitioning to a positive number) and threshold transitions (one of two adjacent data points is greater than a set threshold, and the other is less than a set threshold, where the set threshold is not 0). The transition sampling point can be the sampling point in the transition point detection data where a data transition occurs. For example, the second data point b among two adjacent data points a and b where a data transition occurs can be used as the transition sampling point.

[0046] In this embodiment of the invention, before performing the first interpolation process, the target waveform sampling data needs to be used as jump point detection data to select the data jump type, and then the jump sampling points in the jump point detection data are identified based on the selected data jump type.

[0047] S130. Obtain the current interpolation algorithm from the interpolation algorithm set, 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.

[0048] The interpolation algorithm set may include at least one interpolation algorithm. The current interpolation algorithm may be one of the interpolation algorithms used in the current interpolation process. The previous adjacent sampling point may be the waveform acquisition data adjacent to the jump sampling point.

[0049] In this embodiment of the invention, 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. The previous adjacent waveform acquisition data of each jump sampling point can be used as the previous adjacent sampling point of the corresponding jump sampling point, so that the current interpolation algorithm can be used to perform interpolation processing between each jump sampling point and the previous adjacent sampling point of the jump sampling point.

[0050] S140. After updating the jump point detection data with interpolation 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.

[0051] The preset number of times can be the total number of interpolation processes set in advance.

[0052] In this embodiment of the invention, the interpolation data during the interpolation processing of each jump sampling point and the previous adjacent sampling point based on the current interpolation algorithm can be used as the interpolation data that matches the current interpolation algorithm. Then, the interpolation result composed of the interpolation data that matches the current interpolation algorithm, the jump sampling point that matches the interpolation data, and the previous adjacent sampling point of the jump sampling point that matches the interpolation data can be used as the new jump point detection data. The operation of identifying jump sampling points in the jump point detection data is then returned, that is, identifying jump sampling points in the updated jump point detection data, until the interpolation algorithm is used a preset number of times.

[0053] For example, suppose there is a jump sampling point b in the jump point detection data, and the previous adjacent sampling point of jump sampling point b is a. Based on the current interpolation algorithm, interpolation is performed between a and b. If the interpolation data is A, the jump sampling point that matches the interpolation data A is the jump sampling point b, and the previous adjacent sampling point that matches the jump sampling point A is the jump sampling point a. a, A, and b are used as the interpolation result.

[0054] Optionally, the interpolation algorithm set may include multiple interpolation algorithms, but when using an interpolation algorithm to complete a preset number of interpolation operations, not all interpolation algorithms in the set may be used. For example, the interpolation algorithm set may contain five interpolation algorithms, with a preset number of operations of two, or the set may contain only two algorithms to correspond to two interpolation operations.

[0055] Optionally, the interpolation algorithms can be used a preset number of times in the order they are applied. When the preset number of times is at least three, the interpolation algorithms used in two adjacent interpolation processes are different, while the interpolation algorithms used in non-adjacent interpolation processes can be the same. For example, when using the interpolation algorithm three times, the first and third times can use the same interpolation algorithm, while the second time uses a different interpolation algorithm than the first and third times. In this case, the set of interpolation algorithms can contain only two interpolation algorithms.

[0056] S150. Based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, resample the waveform acquisition data of the channel to be processed.

[0057] The interpolation position can be the location where interpolation data is added. The channel to be processed can be the channel that transmits waveform acquisition data.

[0058] In this embodiment of the invention, before interpolating between each transition sampling point and the previous adjacent sampling point using the current interpolation algorithm, the position of the transition sampling point in the corresponding transition point detection data can be recorded. Therefore, based on the interpolation position recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed can be synchronously resampled.

[0059] The technical solution of this invention involves obtaining target waveform sampling data for a target channel from waveform acquisition data collected from multiple channels, then initializing transition point detection data using the target waveform sampling data, identifying transition sampling points in the transition point detection data, obtaining the current interpolation algorithm from the interpolation algorithm set, and performing interpolation processing between each transition sampling point and its preceding adjacent sampling point using the current interpolation algorithm. After further updating the transition point detection data using the interpolation data, the operation of identifying transition sampling points in the transition point detection data is returned to execution until the interpolation algorithm has been used a preset number of times. Thus, based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed is resampled. Because this solution can perform interpolation processing a preset number of times using multiple interpolation algorithms in the interpolation algorithm set, it can more flexibly perform high-precision interpolation of data. Thus, based on the interpolation position recorded by each interpolation algorithm before interpolation processing for the target channel, it triggers resampling of the channel to be processed. This solves the problem that the interpolation method used in existing resampling methods cannot meet the requirements of high precision, and can greatly improve the sampling accuracy of waveform data, meeting the requirements of high data accuracy.

[0060] Example 2

[0061] Figure 2This is a flowchart of a waveform data resampling method provided in Embodiment 2 of the present invention. Based on the above embodiment, this embodiment presents the relevant operations before interpolation processing is performed between each transition sampling point and its preceding adjacent sampling point using the current interpolation algorithm. Specifically, the process is as follows: obtain the ordinal number of each transition sampling point in the transition point detection data; based on the ordinal number of each transition sampling point in the transition point detection data, record the interpolation position matching the current interpolation algorithm. For example... Figure 2 As shown, the method includes:

[0062] S210. Obtain the target waveform sampling data of the target channel from the waveform acquisition data acquired from multiple channels.

[0063] S220. Initialize the jump point detection data using the target waveform sampling data, and identify the jump sampling points in the jump point detection data.

[0064] In an optional embodiment of the present invention, identifying jump sampling points in jump point detection data may include: setting initial target data to be compared; dividing the jump point detection data into a first jump point detection data group and a second jump point detection data group; determining the first jump point detection data and the second jump point detection data at the same data position in the first jump point detection data group and the second jump point detection data group; if the first jump point detection data is less than the initial target data to be compared and the second jump point detection data is greater than the initial target data to be compared, or if the first jump point detection data is greater than the initial target data to be compared and the second jump point detection data is less than the initial target data to be compared, then the second jump point detection data is taken as the jump sampling point.

[0065] The initial target comparison data can be the data used to determine the transition sampling point. The first transition point detection data group can be a dataset consisting of data from the first data point to the second-to-last data point (the penultimate data point) in the transition point detection data. The second transition point detection data group can be a data group consisting of data from the second-to-first data point (the data point immediately following the first data point) to the last data point in the transition point detection data. The first and second transition point detection data have the same data position, but both belong to the first and second transition point detection data groups.

[0066] In this embodiment of the invention, initial target data to be compared can be preset. Then, according to the data order in the jump point detection data, the dataset consisting of the data from the first data to the second-to-last data in the jump point detection data is taken as the first jump point detection data group, and the dataset consisting of the data from the second-to-last data in the jump point detection data is taken as the second jump point detection data group. Further, the jump point first detection data and jump point second detection data at the same data position in the jump point first detection data group and the jump point second detection data group are determined respectively. Then, the jump point first detection data and jump point second detection data are compared with the initial target data to be compared. If the jump point first detection data is less than the initial target data to be compared and the jump point second detection data is greater than the initial target data to be compared, or if the jump point first detection data is greater than the initial target data to be compared and the jump point second detection data is less than the initial target data to be compared, then the jump point second detection data is taken as the jump sampling point.

[0067] It should be noted that the initial target comparison data set after initializing the transition point detection data with the target waveform sampling data, and after each update of the transition point detection data, can be the same or different.

[0068] In an optional embodiment of the present invention, dividing the transition point detection data into a first transition point detection data group and a second transition point detection data group may include: obtaining the position of the first data, the position of the last data, the position of the second first data, and the position of the second last data of the transition point detection data; selecting the first transition point detection data group from the transition point detection data based on the position of the first data and the position of the second last data; and selecting the second transition point detection data group from the transition point detection data based on the position of the second first data and the position of the last data.

[0069] In this embodiment of the invention, the positions of the first, last, second-first, and second-last data of the transition point detection data can be obtained first. Then, based on the positions of the first and second-last data of the transition point detection data, a dataset consisting of data from the first to the second-last data of the transition point detection data is selected from the transition point detection data. This dataset is then used as the first transition point detection data group. Furthermore, based on the positions of the second-first and last data of the transition point detection data, a dataset consisting of data from the second-first to the last data of the transition point detection data is selected from the transition point detection data. This dataset is then used as the second detection data group.

[0070] S230. Obtain the ordinal number of each transition sampling point in the transition point detection data.

[0071] In this embodiment of the invention, before performing interpolation processing between each jump sampling point and the previous adjacent sampling point using the current interpolation algorithm, the ordinal number of the detection data at the corresponding jump sampling point is determined.

[0072] S240. Based on the ordinal number of each transition sampling point in the transition point detection data, record the interpolation position that matches the current interpolation algorithm.

[0073] In this embodiment of the invention, the position of each transition sampling point in the corresponding transition point detection data can be determined according to the ordinal number of each transition sampling point in the corresponding transition point detection data, and the position of each transition sampling point in the corresponding transition point detection data can be used as the interpolation position that matches the current interpolation algorithm and recorded.

[0074] S250. Obtain the current interpolation algorithm from the interpolation algorithm set, 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.

[0075] S260. After updating the jump point detection data with interpolation 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.

[0076] In an optional embodiment of the present invention, after the interpolation algorithm has been used a preset number of times, the method may further include: obtaining the final interpolation processing result that matches the final interpolation algorithm; obtaining the final target comparison data; determining the jump sampling point to be processed and the previous adjacent sampling point of the jump sampling point to be processed based on the final interpolation processing result and the final target comparison data; determining the target sampling point based on the first difference between the jump sampling point to be processed and the final target comparison data, and the second difference between the previous adjacent sampling point of the jump sampling point to be processed and the final target comparison data, and recording the position of the target sampling point.

[0077] The final interpolation algorithm can be any interpolation algorithm used in the final interpolation process. The final interpolation result can consist of the interpolated data from the final interpolation process, the jump sampling point matching the interpolated data from the final interpolation process, and the preceding adjacent sampling point of that jump sampling point. The final target comparison data can be used to determine the jump sampling points in the final interpolation result. The jump sampling point to be processed can be the jump sampling point obtained by identifying data jumps in the final interpolation result. The first difference can be the difference between the jump sampling point to be processed and the final target comparison data. The second difference can be the difference between the preceding adjacent sampling point of the jump sampling point to be processed and the final target comparison data. The target sampling point can be the sampling point with the smaller absolute value of the difference between the jump sampling point to be processed and its preceding adjacent sampling point and the final target comparison data. The target sampling point position can be the position of the target sampling point in the final interpolation result.

[0078] In this embodiment of the invention, interpolation data matching the final interpolation algorithm can be obtained first. Then, based on the interpolation data during the final interpolation algorithm interpolation process, the jump sampling points matching the interpolation data, and the previous adjacent sampling points of the jump sampling points, the final interpolation processing result is generated. Then, the final target comparison data is obtained. The jump point detection data is updated based on the final interpolation processing result. The jump sampling points of the updated jump point detection data are identified based on the final target comparison data to obtain the jump sampling points to be processed. Then, the first difference between the jump sampling points to be processed and the final target comparison data, and the second difference between the previous adjacent sampling points of the jump sampling points to be processed and the final target comparison data are calculated. The absolute value of the first difference is further compared with the absolute value of the second difference. The sampling point corresponding to the smaller absolute value is taken as the target sampling point, and the position of the target sampling point in the final interpolation processing result is determined to obtain the target sampling point position and record it.

[0079] S270. Based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, resample the waveform acquisition data of the channel to be processed.

[0080] In an optional embodiment of the present invention, resampling 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 may include: performing interpolation processing on the waveform acquisition data of the channel to be processed according to the interpolation processing order of each interpolation algorithm used in the interpolation algorithm set and the interpolation positions recorded by each interpolation algorithm before interpolation processing; obtaining the final interpolation processing result that matches the waveform acquisition data of the channel to be processed, and determining the resampled output waveform data according to the final interpolation processing result that matches the waveform acquisition data of the channel to be processed and the target sampling point position.

[0081] The resampled output waveform data can be the resampled waveform data determined based on the last interpolation processing result that matches the waveform acquisition data of the channel to be processed and the position of the target sampling point.

[0082] In this embodiment of the invention, before resampling the waveform acquisition data of the channel to be processed, the waveform acquisition data of the channel to be processed can be interpolated according to the interpolation processing order of each interpolation algorithm used in the interpolation algorithm set, and the interpolation position recorded by each interpolation algorithm before interpolation processing, to obtain the final interpolation processing result that matches the waveform acquisition data of the channel to be processed. Then, the target sampling point position that matches the final interpolation processing result that matches the waveform acquisition data of the channel to be processed is determined. Thus, the channel to be processed can determine the resampled output waveform data based on the final interpolation processing result of this channel and the target sampling point position that matches the final interpolation processing result of this channel, and output the resampled output waveform data.

[0083] In an optional embodiment of the present invention, the set of interpolation algorithms may include at least two of the following: Shannon Sinc interpolation algorithm, linear interpolation algorithm, Lagrange interpolation algorithm, nearest neighbor interpolation algorithm, and conformal piecewise cubic interpolation algorithm.

[0084] The technical solution of this invention involves obtaining target waveform sampling data for a target channel from waveform acquisition data collected from multiple channels, initializing transition point detection data using the target waveform sampling data, identifying transition sampling points in the transition point detection data, obtaining the ordinal number of each transition sampling point in the transition point detection data, and recording the interpolation position matching the current interpolation algorithm based on the ordinal number of each transition sampling point in the transition point detection data. Further, the current interpolation algorithm is obtained from the interpolation algorithm set, and interpolation processing is performed between each transition sampling point and its preceding adjacent sampling point using the current interpolation algorithm. After updating the transition point detection data with interpolation data, the operation of identifying transition sampling points in the transition point detection data is returned to execution until the interpolation algorithm has been used a preset number of times. Finally, based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed is resampled. Because this solution can perform interpolation processing a preset number of times using multiple interpolation algorithms in the interpolation algorithm set, it can more flexibly perform high-precision interpolation of data. Thus, based on the interpolation position recorded by each interpolation algorithm before interpolation processing for the target channel, it triggers resampling of the channel to be processed. This solves the problem that the interpolation method used in existing resampling methods cannot meet the requirements of high precision, and can greatly improve the sampling accuracy of waveform data, meeting the requirements of high data accuracy.

[0085] Example 3

[0086] This invention provides specific optional implementation methods for waveform data resampling, and the specific implementation methods can be found in the following content. Technical terms that are the same as or corresponding to those in the above embodiments will not be repeated here.

[0087] This embodiment provides an interpolation method that combines the Sinc interpolation algorithm with a linear interpolation algorithm, which can effectively improve resampling accuracy. In practice, waveform data resampling can be achieved by setting the Sinc interpolation factor to N, the linear interpolation factor to M, any triggering method, and any combination of interpolation methods.

[0088] This embodiment uses an 8x Sinc interpolation factor, a 16x linear interpolation factor, and a negative number transitioning to a positive number as examples to illustrate the principle of waveform data resampling:

[0089] Step 1: Locate the data in the original data (target waveform sampling data) where negative numbers change to positive numbers.

[0090] After acquiring the raw data, it is used as the initial transition point detection data. This allows us to determine the transition sampling points in the initial transition point detection data that change from negative to positive. Specifically, we extract the first to second-to-last data from the initial transition point detection data and store it in the first transition point detection data group (denoted as data0). We also extract the second-to-last data from the second-to-last data and store it in the second transition point detection data group (denoted as data1). The two data groups have the same length. Then, we judge the data at the same position in both data groups. If the data in data0 is less than 0 and the data in data1 is greater than 0 at the same position, the condition for a transition from negative to positive is met. We then extract the zero-crossing data that meets the condition (i.e., the transition sampling point and its preceding adjacent sampling point) to prepare for subsequent Sinc interpolation. The Sinc interpolation method requires the design of a filter. For example, if the Sinc interpolation factor is N, it requires... N-1 points are inserted between the zero-crossing data points where negative numbers transition to positive numbers. To simulate N-1 points, the zero-crossing data points to be interpolated, along with (N-2) / 2 data points before and after the zero-crossing data points (a total of N data points), are used to perform calculations with the filter. Then, the (N-2) / 2 data points before and after the zero-crossing data points are extracted and concatenated into an array of N data points. If the number of data points before and / or after the zero-crossing data points is less than (N-2) / 2, the first data point of data0 is used to pad the data before the zero-crossing data points (padding before the first data point of data0) until the number of data points is (N-2) / 2, and / or the last data point of data1 is used to pad the data after the zero-crossing data points (padding after the last data point of data1) until the number of data points is (N-2) / 2. This array is then combined with the zero-crossing data points to form N data points. The principle of finding the transition from negative to positive numbers in the original data is explained in [reference needed]. Figure 3 Optionally, the embodiments of the present invention do not limit the number of data points to be processed with the filter. That is, the number of data points to be processed with the filter may be independent of the Sinc interpolation factor. The zero-crossing data points that need to be interpolated, as well as (M-2) / 2 data points before and after the zero-crossing points, for a total of M data points, can be processed with the filter (M is not equal to N). The more data points that are processed with the filter, the better the data fitting effect.

[0091] Step 2: Sinc interpolation processing

[0092] In implementing Sinc interpolation, based on its principles, the first step is to design a suitable filter and then perform calculations using the filter coefficients. Taking an N-fold Sinc interpolation as an example, in practice, N-1 data points need to be inserted between two zero-crossing points. Each simulated inserted data point requires N filter coefficients. Therefore, to achieve an N-fold Sinc interpolation, at least (N-1)*N filter coefficients are needed. For a detailed explanation of the Sinc interpolation implementation principle, please refer to [link to relevant documentation]. Figure 4 .

[0093] Step 3: Find the zero-crossing point after Sinc interpolation.

[0094] Since linear interpolation will be performed on the data after Sinc interpolation, it is necessary to find the zero-crossing points in the Sinc interpolated data. Because Sinc interpolation inserts data within these zero-crossing points, the search for zero-crossing points needs to be conducted again within both the original zero-crossing data and the inserted data. The principle for finding zero-crossing points in the Sinc interpolated data is similar to that for finding them in the original data, as follows: Figure 5 As shown.

[0095] Step 4: Implementation of linear interpolation

[0096] Linear interpolation is implemented by dividing the data into equal parts. For the zero-crossing data obtained after Sinc interpolation, the difference between the positive and negative numbers is obtained by subtracting the negative number from the positive number. Then, interpolation is performed by dividing the data into M equal parts. The Nth linear interpolation data is the difference between the two numbers divided by M, then multiplied by N, and then the data before the zero-crossing point is added. The specific process is described by [details omitted]. Figure 6 As shown.

[0097] Step 5: Find the data closest to 0 after linear interpolation.

[0098] To improve the accuracy of the triggering, it is necessary to find the zero-crossing points in the linearly interpolated data, and then find the data point closer to 0 among two data points. This data point is then output and its position is recorded. The specific process is as follows: Figure 7 As shown.

[0099] Step 6: Channel-triggered resampling

[0100] In multi-channel triggering, the multi-channel waveform acquisition data is interpolated simultaneously. Since the position information of the zero-crossing point was already saved when searching for it earlier, for channels other than the trigger channel (target channel) (channels to be processed), the resampling function can be achieved simply by retrieving their data according to this position information. The implementation process is as follows: Figure 8 As shown.

[0101] Example 4

[0102] Figure 9 This is a schematic diagram of a waveform data resampling device provided in Embodiment 4 of the present invention. Figure 9 As shown, the device includes: a sampling data acquisition module 310, a jump sampling point identification module 320, an interpolation processing module 330, an iteration execution module 340, and a resampling processing module 350, wherein...

[0103] The sampling data acquisition module 310 is used to acquire the target waveform sampling data of the target channel from the waveform acquisition data acquired from multiple channels;

[0104] The jump sampling point identification module 320 is used to initialize the jump point detection data with the target waveform sampling data and identify the jump sampling points in the jump point detection data;

[0105] The interpolation processing module 330 is used to obtain the current interpolation algorithm from the interpolation algorithm set 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;

[0106] The iterative execution module 340 is used to update the jump point detection data with interpolation data and then return to execute the operation of identifying jump sampling points in the jump point detection data until the interpolation algorithm is used for a preset number of times.

[0107] The resampling processing module 350 is used to resample the waveform acquisition data of the channel to be processed based on the interpolation position recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing.

[0108] The technical solution of this invention involves obtaining target waveform sampling data for a target channel from waveform acquisition data collected from multiple channels, then initializing transition point detection data using the target waveform sampling data, identifying transition sampling points in the transition point detection data, obtaining the current interpolation algorithm from the interpolation algorithm set, and performing interpolation processing between each transition sampling point and its preceding adjacent sampling point using the current interpolation algorithm. After further updating the transition point detection data using the interpolation data, the operation of identifying transition sampling points in the transition point detection data is returned to execution until the interpolation algorithm has been used a preset number of times. Thus, based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed is resampled. Because this solution can perform interpolation processing a preset number of times using multiple interpolation algorithms in the interpolation algorithm set, it can more flexibly perform high-precision interpolation of data. Thus, based on the interpolation position recorded by each interpolation algorithm before interpolation processing for the target channel, it triggers resampling of the channel to be processed. This solves the problem that the interpolation method used in existing resampling methods cannot meet the requirements of high precision, and can greatly improve the sampling accuracy of waveform data, meeting the requirements of high data accuracy.

[0109] Optionally, the jump sampling point identification module 320 includes a data setting unit, a data grouping unit, a detection data determination unit, and a jump sampling point identification unit. The data setting unit is used to set initial target comparison data; the data grouping unit is used to divide the jump point detection data into a first jump point detection data group and a second jump point detection data group; the detection data determination unit is used to determine the first jump point detection data and the second jump point detection data at the same current data position in the first jump point detection data group and the second jump point detection data group; the jump sampling point identification unit is used to identify the second jump point detection data as the jump sampling point if the first jump point detection data is less than the initial target comparison data and the second jump point detection data is greater than the initial target comparison data, or if the first jump point detection data is greater than the initial target comparison data and the second jump point detection data is less than the initial target comparison data.

[0110] Optionally, the detection data determination unit is used to obtain the position of the first data, the position of the last data, the position of the second first data, and the position of the second last data of the transition point detection data; based on the position of the first data and the position of the second last data of the transition point detection data, to select a first group of transition point detection data from the transition point detection data; and based on the position of the second first data and the position of the last data of the transition point detection data, to select a second group of transition point detection data from the transition point detection data.

[0111] Optionally, the waveform data resampling device further includes an interpolation position recording module, used to obtain the ordinal number of each of the transition sampling points in the transition point detection data; and to record the interpolation position that matches the current interpolation algorithm based on the ordinal number of each of the transition sampling points in the transition point detection data.

[0112] Optionally, the waveform data resampling device further includes a target sampling point location determination module, used to acquire the final interpolation processing result matched with the final interpolation algorithm; acquire the final target comparison data; determine the jump sampling point to be processed and the previous adjacent sampling point of the jump sampling point to be processed based on the final interpolation processing result and the final target comparison data; determine the target sampling point based on the first difference between the jump sampling point to be processed and the final target comparison data, and the second difference between the previous adjacent sampling point of the jump sampling point to be processed and the final target comparison data, and record the target sampling point location.

[0113] Optionally, the resampling processing module 350 is used to perform interpolation processing on the waveform acquisition data of the channel to be processed according to the interpolation processing order of each interpolation algorithm used in the interpolation algorithm set, and the interpolation position recorded by each interpolation algorithm before interpolation processing; obtain the last interpolation processing result that matches the waveform acquisition data of the channel to be processed, and determine the resampled output waveform data based on the last interpolation processing result that matches the waveform acquisition data of the channel to be processed and the target sampling point position.

[0114] Optionally, the set of interpolation algorithms may include at least two of the following: Shannon-Sinc interpolation, linear interpolation, Lagrange interpolation, nearest neighbor interpolation, and conformal piecewise cubic interpolation.

[0115] The waveform data resampling device provided in the embodiments of the present invention can execute the waveform data resampling method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method execution.

[0116] Example 5

[0117] Figure 10A schematic diagram of an electronic device that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0118] like Figure 10 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0119] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0120] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of 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 suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as waveform data resampling methods.

[0121] In some embodiments, the waveform data resampling method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or mounted on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the waveform data resampling method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the waveform data resampling method by any other suitable means (e.g., by means of firmware).

[0122] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0123] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0124] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0125] To provide interaction with a user, the systems and techniques described herein 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 pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; 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 sound input, voice input, or tactile input).

[0126] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0127] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0128] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0129] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for resampling waveform data, characterized in that, include: From the waveform acquisition data acquired from multiple channels, obtain the target waveform sampling data of the target channel; The target waveform sampling data is used to initialize the jump point detection data, and jump sampling points are identified in the jump point detection data; 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; After updating the jump point detection data with interpolated data, return to 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. Based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing, the waveform acquisition data of the channel to be processed is resampled. The step of resampling the waveform acquisition data of the channel to be processed based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing includes: According to the interpolation processing order of each interpolation algorithm used in the interpolation algorithm set, and the interpolation position recorded by each interpolation algorithm before interpolation processing, the waveform acquisition data of the channel to be processed is interpolated. Obtain the final interpolation result that matches the waveform acquisition data of the channel to be processed, and determine the resampled output waveform data based on the final interpolation result that matches the waveform acquisition data of the channel to be processed and the target sampling point position; The set of interpolation algorithms includes at least two of the following: Shannon Sinc interpolation algorithm, linear interpolation algorithm, Lagrange interpolation algorithm, nearest neighbor interpolation algorithm, and conformal piecewise cubic interpolation algorithm.

2. The method according to claim 1, characterized in that, Identifying jump sampling points in the jump point detection data includes: Set the initial target data to be compared; The transition point detection data is divided into a first transition point detection data group and a second transition point detection data group. Determine the first detection data of the jump point and the second detection data of the jump point at the current same data position in the first detection data group of the jump point and the second detection data group of the jump point; If the first detection data of the transition point is less than the initial target comparison data and the second detection data of the transition point is greater than the initial target comparison data, or if the first detection data of the transition point is greater than the initial target comparison data and the second detection data of the transition point is less than the initial target comparison data, then the second detection data of the transition point is taken as the transition sampling point.

3. The method according to claim 2, characterized in that, The transition point detection data is divided into a first transition point detection data group and a second transition point detection data group, including: Obtain the positions of the first and last data points, the second first data point, and the second last data point of the jump point detection data. Based on the positions of the first and second-to-last data in the jump point detection data, the first group of jump point detection data is selected from the jump point detection data. Based on the positions of the first and last data points of the transition point detection data, a second group of transition point detection data is selected from the transition point detection data.

4. The method according to claim 1, characterized in that, Before performing interpolation processing between each abrupt sampling point and its preceding adjacent sampling point using the current interpolation algorithm, the process includes: Obtain the ordinal number of each transition sampling point in the transition point detection data; Based on the ordinal number of each transition sampling point in the transition point detection data, the interpolation position that matches the current interpolation algorithm is recorded.

5. The method according to claim 1, characterized in that, After the interpolation algorithm has been used a preset number of times, the following is also included: Obtain the final interpolation result that matches the final interpolation algorithm; Obtain the final target comparison data; Based on the final interpolation result and the final target comparison data, determine the jump sampling point to be processed and the previous adjacent sampling point of the jump sampling point to be processed; The target sampling point is determined and its position is recorded based on the first difference between the sample point to be processed and the last target data to be compared, and the second difference between the sample point adjacent to the sample point to be processed and the last target data to be compared.

6. A waveform data resampling device, characterized in that, include: The sampling data acquisition module is used to acquire the target waveform sampling data of the target channel from the waveform acquisition data acquired from multiple channels; A jump sampling point identification module is used to initialize jump point detection data with the target waveform sampling data and identify jump sampling points in the jump point detection data; An interpolation processing module is used to obtain the current interpolation algorithm from the interpolation algorithm set, 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; The iterative execution module is used to update the jump point detection data with interpolated data and then return to execute the operation of identifying jump sampling points in the jump point detection data until the interpolation algorithm is used a preset number of times. The resampling processing module is used to resample the waveform acquisition data of the channel to be processed based on the interpolation positions recorded by each interpolation algorithm in the interpolation algorithm set before interpolation processing. The resampling processing module is used to perform interpolation processing on the waveform acquisition data of the channel to be processed according to the interpolation processing order of each interpolation algorithm used in the interpolation algorithm set, and the interpolation position recorded by each interpolation algorithm before interpolation processing; obtain the last interpolation processing result that matches the waveform acquisition data of the channel to be processed, and determine the resampled output waveform data based on the last interpolation processing result that matches the waveform acquisition data of the channel to be processed and the target sampling point position; The set of interpolation algorithms includes at least two of the following: Shannon Sinc interpolation algorithm, linear interpolation algorithm, Lagrange interpolation algorithm, nearest neighbor interpolation algorithm, and conformal piecewise cubic interpolation algorithm.

7. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the waveform data resampling method according to any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the resampling method for waveform data according to any one of claims 1-5.

Citation Information

Patent Citations

  • Parallel structure Sinc interpolation method based on FPGA

    CN105117196A

  • Method and device for realizing arbitrary N-time equivalent sampling

    CN107478883A