CN117290549A - Data processing method and coding circuit - Google Patents
Data processing method and coding circuit Download PDFInfo
- Publication number
- CN117290549A CN117290549A CN202311155639.2A CN202311155639A CN117290549A CN 117290549 A CN117290549 A CN 117290549A CN 202311155639 A CN202311155639 A CN 202311155639A CN 117290549 A CN117290549 A CN 117290549A
- Authority
- CN
- China
- Prior art keywords
- target
- data
- sequence
- subsequence
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 17
- 238000000034 method Methods 0.000 claims abstract description 35
- 239000012634 fragment Substances 0.000 claims description 61
- 238000003491 array Methods 0.000 claims description 24
- 238000005259 measurement Methods 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008859 change Effects 0.000 description 41
- 238000010586 diagram Methods 0.000 description 19
- 238000001208 nuclear magnetic resonance pulse sequence Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000013467 fragmentation Methods 0.000 description 8
- 238000006062 fragmentation reaction Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 7
- 230000000694 effects Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000000737 periodic effect Effects 0.000 description 3
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000002059 diagnostic imaging Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000005433 particle physics related processes and functions Effects 0.000 description 1
- 238000002600 positron emission tomography Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9017—Indexing; Data structures therefor; Storage structures using directory or table look-up
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M1/00—Analogue/digital conversion; Digital/analogue conversion
- H03M1/12—Analogue/digital converters
- H03M1/60—Analogue/digital converters with intermediate conversion to frequency of pulses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Image Processing (AREA)
Abstract
本公开提供了一种数据处理方法及编码电路,可以应用于时间测量技术领域、计算机技术领域以及其他技术领域。该方法包括:对原始数据序列中的多个数据进行分组,得到多个目标子序列;将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中位置相邻且数据值不同的数据的位置信息之和;基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。
The present disclosure provides a data processing method and encoding circuit, which can be applied to the technical fields of time measurement, computer technology and other technical fields. The method includes: grouping multiple data in the original data sequence to obtain multiple target subsequences; inputting each target subsequence into a lookup table array set corresponding to the target subsequence to obtain multiple target subsequences Each corresponding target value, where the target value represents the sum of the position information of data with adjacent positions and different data values in the target subsequence; based on the target values corresponding to the multiple target subsequences, determine the target value of the original data sequence.
Description
技术领域Technical field
本公开涉及时间测量技术领域、计算机技术领域以及其他技术领域,尤其涉及一种数据处理方法及编码电路。The present disclosure relates to the technical fields of time measurement, computer technology and other technical fields, and in particular, to a data processing method and encoding circuit.
背景技术Background technique
时间数字转换器(Time-to-Digital Converter,简称TDC)能够将时间间隔信息转化为高分辨率的数字信号。抽头延迟链内插型时间数字转换器是现在主流的时间数字转换器种类,其在测量精度等方面具有显著优势。在抽头延迟链内插型时间数字转换器中,待测信号通过抽头延迟链,再基于D触发器序列以系统时钟周期对抽头延迟链的各个抽头进行锁存,可以得到抽头延迟链数据序列,通过抽头延迟链数据序列的沿变位置信息的值可以确定待测信号的时间间隔信息的大小。Time-to-Digital Converter (TDC) can convert time interval information into high-resolution digital signals. Tap delay chain interpolation time-to-digital converter is the current mainstream time-to-digital converter type, which has significant advantages in measurement accuracy and other aspects. In the tap delay chain interpolation time-to-digital converter, the signal to be measured passes through the tap delay chain, and then each tap of the tap delay chain is latched with the system clock cycle based on the D flip-flop sequence, and the tap delay chain data sequence can be obtained. The size of the time interval information of the signal to be measured can be determined by the value of the edge position information of the tap delay chain data sequence.
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在确定抽头延迟链数据序列的沿变位置信息的方案中,存在有因“气泡”使得难以确定真实沿变位置的问题;对于抽头延迟链数据序列长度、脉冲宽度等存在较高的条件限制问题;以及采用的硬件资源较多,导致开发周期长、功耗和成本增加的问题。In the process of realizing the concept of the present disclosure, the inventor found that there are at least the following problems in the related art: in the scheme of determining the edge position information of the tap delay chain data sequence, there are "bubbles" that make it difficult to determine the true edge position. Problems: There are high condition restrictions on the tap delay chain data sequence length, pulse width, etc.; and more hardware resources are used, resulting in long development cycles, increased power consumption and cost.
发明内容Contents of the invention
鉴于上述问题,本公开提供了数据处理方法、装置、设备、介质程序产品、及编码电路。In view of the above problems, the present disclosure provides data processing methods, devices, equipment, media program products, and encoding circuits.
根据本公开的一个方面,提供了一种数据处理方法,包括:对原始数据序列中的多个数据进行分组,得到多个目标子序列;将每个上述目标子序列分别输入至与上述目标子序列对应的查找表阵列集合中,得到多个上述目标子序列各自对应的目标值,其中,上述目标值表征上述目标子序列中位置相邻且数据值不同的数据的位置信息之和;基于多个上述目标子序列各自对应的目标值,确定上述原始数据序列的目标值。According to one aspect of the present disclosure, a data processing method is provided, which includes: grouping multiple data in the original data sequence to obtain multiple target subsequences; inputting each of the above target subsequences into the corresponding target subsequence. In the lookup table array set corresponding to the sequence, target values corresponding to multiple above-mentioned target sub-sequences are obtained, wherein the above-mentioned target value represents the sum of position information of data with adjacent positions and different data values in the above-mentioned target sub-sequence; based on multiple The target values corresponding to each of the above target subsequences are determined to determine the target value of the above original data sequence.
根据本公开的实施例,上述对原始数据序列中的多个数据进行分组,得到多个目标子序列,包括:基于上述原始数据序列中的多个数据,确定上述原始数据序列的分组数量;基于上述分组数量和上述原始数据序列中的多个数据各自的位置标识,对上述多个数据进行分组得到多个目标子序列。According to an embodiment of the present disclosure, the above-mentioned grouping of multiple data in the original data sequence to obtain multiple target subsequences includes: based on the multiple data in the above-mentioned original data sequence, determining the number of groups of the above-mentioned original data sequence; based on the multiple data in the above-mentioned original data sequence; The above-mentioned number of groups and the respective position identifiers of the multiple data in the above-mentioned original data sequence are used to group the above-mentioned multiple data to obtain multiple target sub-sequences.
根据本公开的实施例,上述基于上述原始数据序列中的多个数据,确定上述原始数据序列的分组数量,包括:从上述原始数据序列的多个数据中,确定至少一个目标数据组,其中,上述目标数据组包括多个位置连续且数据值相同的目标数据;基于上述目标数据组,确定目标相邻沿变沿距离,其中,上述目标相邻沿变沿距离为上述至少一个目标数据组中包括最小数据量的目标数据组的数据量;从上述原始数据序列的多个数据中,确定存在沿变沿的多个区域信息;基于上述多个区域信息,确定多个目标区域;基于上述多个目标区域各自的区域长度,确定目标区域长度,其中,上述目标区域长度表征上述多个目标区域各自的区域长度中的最大区域长度;基于上述目标相邻沿变沿距离和上述目标区域长度,确定上述原始数据序列的分组数量,其中,上述分组数量小于或等于上述目标相邻沿变沿距离且上述分组数量大于或等于上述目标区域长度。According to an embodiment of the present disclosure, determining the number of groups of the above-mentioned original data sequence based on the plurality of data in the above-mentioned original data sequence includes: determining at least one target data group from the plurality of data in the above-mentioned original data sequence, wherein, The above-mentioned target data group includes a plurality of target data with continuous positions and the same data value; based on the above-mentioned target data group, determine the target adjacent edge change distance, wherein the above-mentioned target adjacent edge change distance is in at least one of the above-mentioned target data groups. The data amount of the target data group including the minimum amount of data; from the multiple data of the above-mentioned original data sequence, determine the existence of multiple area information of edge changes; based on the above-mentioned multiple area information, determine multiple target areas; based on the above-mentioned multiple area information The target area length is determined by the respective area lengths of the target areas, where the above-mentioned target area length represents the maximum area length among the respective area lengths of the above-mentioned multiple target areas; based on the above-mentioned target adjacent edge change distance and the above-mentioned target area length, Determine the number of packets of the original data sequence, wherein the number of packets is less than or equal to the distance between adjacent adjacent edges of the target and the number of packets is greater than or equal to the length of the target region.
根据本公开的实施例,上述查找表阵列集合中包括有多个查找表阵列,上述查找表阵列中包括多个查找表;将每个上述目标子序列分别输入至与上述目标子序列对应的查找表阵列集合中,得到多个上述目标子序列各自对应的目标值,包括:对于每个上述目标子序列,基于上述查找表阵列中的查找表的输入端数量,从上述目标子序列中确定多个子序列分片;将上述多个子序列分片,分别输入至对应的查找表阵列中,得到上述多个子序列分片各自对应的目标值;基于上述多个子序列分片各自对应的目标值,得到上述目标子序列的目标值。According to an embodiment of the present disclosure, the above-mentioned lookup table array set includes multiple lookup table arrays, and the above-mentioned lookup table array includes multiple lookup tables; each of the above-mentioned target subsequences is input into the lookup corresponding to the above-mentioned target subsequence. In the table array set, obtaining target values corresponding to multiple above-mentioned target sub-sequences includes: for each above-mentioned target sub-sequence, based on the number of input terminals of the look-up tables in the above-mentioned look-up table array, determine multiple targets from the above-mentioned target sub-sequences. Subsequence fragmentation; input the above multiple subsequence fragments into the corresponding lookup table array respectively to obtain the corresponding target values of the above multiple subsequence fragments; based on the corresponding target values of the above multiple subsequence fragments, obtain The target value of the above target subsequence.
根据本公开的实施例,在上述子序列分片包括的数据位数小于上述查找表的输入端数量的情况下,将不存在输入数据的上述输入端的目标输入数据置为预定数据。According to an embodiment of the present disclosure, when the number of data bits included in the sub-sequence fragment is less than the number of input terminals of the lookup table, the target input data of the input terminal where there is no input data is set as predetermined data.
根据本公开的实施例,基于上述目标子序列的多个子序列分片,确定多个上述子序列分片各自的最大目标值;基于多个上述子序列分片各自的最大目标值,确定与每个上述子序列分片对应的查找表阵列中包括的查找表的数量。According to an embodiment of the present disclosure, based on multiple sub-sequence fragments of the above-mentioned target sub-sequence, the maximum target value of each of the multiple above-mentioned sub-sequence fragments is determined; based on the maximum target value of each of the multiple above-mentioned sub-sequence fragments, the maximum target value of each sub-sequence fragment is determined. The number of lookup tables included in the lookup table array corresponding to the above subsequence fragments.
根据本公开的实施例,上述基于多个上述目标子序列各自对应的目标值,确定上述原始数据序列的目标值,包括:将多个上述目标子序列各自对应的目标值输入至加法器中,得到上述原始数据序列的目标值。According to an embodiment of the present disclosure, determining the target value of the original data sequence based on the target values corresponding to the plurality of target subsequences includes: inputting the target values corresponding to the plurality of target subsequences into an adder, Obtain the target value of the above original data sequence.
根据本公开的实施例,上述原始数据序列包括抽头延迟链数据序列。According to an embodiment of the present disclosure, the above-mentioned original data sequence includes a tap delay chain data sequence.
本公开的另一个方面提供了一种编码电路,包括:多个专用逻辑电路,用于将与每个上述专用逻辑电路相对应的目标子序列转换为目标值,其中,上述目标子序列为基于原始数据序列分组得到;第一加法器,与上述多个专用逻辑电路分别相连,用于将多个上述目标值相加,得到上述原始数据序列的目标值。Another aspect of the present disclosure provides an encoding circuit, including: a plurality of dedicated logic circuits for converting a target subsequence corresponding to each of the above dedicated logic circuits into a target value, wherein the above target subsequence is based on The original data sequence is obtained by grouping; the first adder is respectively connected to the plurality of dedicated logic circuits, and is used to add a plurality of the above target values to obtain the target value of the above original data sequence.
根据本公开的实施例,上述专用逻辑电路包括:查找表阵列集合,用于将与上述查找表阵列集合中的每个查找表阵列相对应的子序列分片转换为子目标值,其中,上述子序列分片为基于上述目标子序列分组得到,上述子目标值为上述子序列分片的目标值,上述查找表阵列集合包括多个查找表阵列;第二加法器,与上述多个查找表阵列分别相连,用于将上述子目标值相加,得到上述目标子序列的目标值。According to an embodiment of the present disclosure, the above-mentioned dedicated logic circuit includes: a look-up table array set for converting sub-sequence slices corresponding to each look-up table array in the above-mentioned look-up table array set into sub-target values, wherein the above-mentioned The sub-sequence fragmentation is obtained based on the above-mentioned target sub-sequence grouping, the above-mentioned sub-target value is the target value of the above-mentioned sub-sequence fragmentation, the above-mentioned look-up table array set includes multiple look-up table arrays; the second adder, and the above-mentioned multiple look-up tables The arrays are connected respectively and used to add the above sub-target values to obtain the target value of the above-mentioned target sub-sequence.
本公开的另一个方面提供了一种数据处理装置,包括:目标子序列确定模块,用于对原始数据序列中的多个数据进行分组,得到多个目标子序列;第一目标值确定模块,用于将每个上述目标子序列分别输入至与上述目标子序列对应的查找表阵列集合中,得到多个上述目标子序列各自对应的目标值,其中,上述目标值表征上述目标子序列中位置相邻且数据值不同的数据的位置信息之和;第二目标值确定模块,用于基于多个上述目标子序列各自对应的目标值,确定上述原始数据序列的目标值。Another aspect of the present disclosure provides a data processing device, including: a target subsequence determination module, used to group multiple data in the original data sequence to obtain multiple target subsequences; a first target value determination module, Used to input each of the above-mentioned target subsequences into a set of lookup table arrays corresponding to the above-mentioned target subsequences, and obtain target values corresponding to multiple above-mentioned target subsequences, wherein the above-mentioned target values represent positions in the above-mentioned target subsequences. The sum of the position information of adjacent data with different data values; the second target value determination module is used to determine the target value of the above-mentioned original data sequence based on the corresponding target values of multiple above-mentioned target sub-sequences.
根据本公开提供的数据处理方法,通过将原始数据序列中的多个数据进行分组,可以得到多个目标子序列,将多个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,可以得到与每个目标子序列各自对应的目标值,基于多个目标子序列的目标值,可以得到抽头延迟链数据的目标值。由于对原始数据序列中的多个数据进行了分组,得到多个目标子序列,使得子序列中至多含有一个气泡错误,因为有的子序列中不含有气泡错误,因此,至少部分地解决了难以确定真实沿变位置的问题,实现了确定沿变位置的准确度的技术效果。由于将每个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,对多个目标子序列进行并行处理,快速地得到与每个目标子序列各自对应的目标值,以及基于多个目标子序列的目标值,确定原始数据序列的目标值,至少部分的解决了相关技术中条件限制较高以及采用的硬件资源较多的问题,实现了节省硬件资源、高普适性、条件限值少、对于原始数据序列编码时间短以及原始数据序列目标值的精度高的技术效果。According to the data processing method provided by the present disclosure, by grouping multiple data in the original data sequence, multiple target subsequences can be obtained, and the multiple target subsequences are respectively input into the lookup table array set corresponding to the target subsequence. , the target value corresponding to each target subsequence can be obtained. Based on the target values of multiple target subsequences, the target value of the tap delay chain data can be obtained. Since multiple data in the original data sequence are grouped to obtain multiple target subsequences, the subsequences contain at most one bubble error, because some subsequences do not contain bubble errors. Therefore, the difficulty is at least partially solved. The problem of determining the true edge change position achieves the technical effect of determining the accuracy of the edge change position. Since each target subsequence is input into the lookup table array set corresponding to the target subsequence, multiple target subsequences are processed in parallel, and the target value corresponding to each target subsequence is quickly obtained, and based on The target value of multiple target subsequences is determined to determine the target value of the original data sequence, which at least partially solves the problems of relatively high condition restrictions and the use of more hardware resources in related technologies, achieving the goal of saving hardware resources, high universality, and The technical effects include fewer conditional limits, short encoding time for the original data sequence, and high accuracy of the target value of the original data sequence.
附图说明Description of drawings
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:The above and other objects, features and advantages of the present disclosure will become more apparent from the following description of embodiments of the present disclosure with reference to the accompanying drawings, in which:
图1示意性示出了根据本公开实施例的数据处理方法的流程图;Figure 1 schematically shows a flow chart of a data processing method according to an embodiment of the present disclosure;
图2示意性示出了根据本公开实施例的获取原始数据序列的示意图;Figure 2 schematically shows a schematic diagram of acquiring an original data sequence according to an embodiment of the present disclosure;
图3示意性示出了根据本公开实施例的确定目标子序列目标值的流程图;Figure 3 schematically illustrates a flow chart for determining a target subsequence target value according to an embodiment of the present disclosure;
图4示意性示出了根据本公开实施例的查找表阵列的示意图;Figure 4 schematically shows a schematic diagram of a lookup table array according to an embodiment of the present disclosure;
图5示意性示出了根据本公开另一实施例的数据处理方法的示意图;Figure 5 schematically shows a schematic diagram of a data processing method according to another embodiment of the present disclosure;
图6示意性示出了根据本公开实施例的编码电路的示意图;Figure 6 schematically shows a schematic diagram of an encoding circuit according to an embodiment of the present disclosure;
图7示意性示出了根据本公开实施例的专用逻辑电路的示意图;Figure 7 schematically illustrates a schematic diagram of a dedicated logic circuit according to an embodiment of the present disclosure;
图8示意性示出了根据本公开实施例的时序图;以及Figure 8 schematically illustrates a timing diagram according to an embodiment of the present disclosure; and
图9示意性示出了根据本公开实施例的数据处理装置的结构框图。Figure 9 schematically shows a structural block diagram of a data processing device according to an embodiment of the present disclosure.
具体实施方式Detailed ways
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. It should be understood, however, that these descriptions are exemplary only and are not intended to limit the scope of the present disclosure. In the following detailed description, for convenience of explanation, numerous specific details are set forth to provide a comprehensive understanding of the disclosed embodiments. It will be apparent, however, that one or more embodiments may be practiced without these specific details. Furthermore, in the following description, descriptions of well-known structures and techniques are omitted to avoid unnecessarily confusing the concepts of the present disclosure.
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。The terminology used herein is for the purpose of describing particular embodiments only and is not intended to limit the disclosure. The terms "comprising," "comprising," and the like, as used herein, indicate the presence of stated features, steps, operations, and/or components but do not exclude the presence or addition of one or more other features, steps, operations, or components.
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。All terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art, unless otherwise defined. It should be noted that the terms used here should be interpreted to have meanings consistent with the context of this specification and should not be interpreted in an idealized or overly rigid manner.
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。Where an expression similar to "at least one of A, B, C, etc." is used, it should generally be interpreted in accordance with the meaning that a person skilled in the art generally understands the expression to mean (e.g., "having A, B and C "A system with at least one of" shall include, but is not limited to, systems with A alone, B alone, C alone, A and B, A and C, B and C, and/or systems with A, B, C, etc. ).
在本公开的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。In the technical solution of this disclosure, the collection, storage, use, processing, transmission, provision, disclosure and application of the data involved (including but not limited to user personal information) comply with the provisions of relevant laws and regulations, and adopt Necessary confidentiality measures must be taken without violating public order and good customs.
在研究过程中发现,时间数字转换器能够将时间间隔信息转化为高分辨率的数字信号,被广泛运用于正电子发射断层扫描(Positron Emission Tomography,简称PET)、激光雷达(light detection and ranging,简称LiDAR)、自动驾驶汽车、飞行时间法成像、前沿粒子物理实验与空间实验之中,并且在航空航天、深空探测、地质测绘、医学成像、雷达扫描等领域具有广泛应用前景。During the research process, it was discovered that the time-to-digital converter can convert time interval information into high-resolution digital signals and is widely used in positron emission tomography (PET), lidar (light detection and ranging, LiDAR (LiDAR for short), autonomous vehicles, time-of-flight imaging, cutting-edge particle physics experiments and space experiments, and has broad application prospects in aerospace, deep space exploration, geological mapping, medical imaging, radar scanning and other fields.
抽头延迟链内插型时间数字转换器是现在主流的时间数字转换器种类,采用粗时间和细时间结合的方法,在测量精度、测量死时间、测量动态范围方面具有显著优势。普通的抽头延迟链内插型时间数字转换器精度受制于内插单元的延时大小,为进一步提高精度、突破单个延时单元延时时间限制,部分改进型延迟链内插型时间数字转换器应用了“Wave Union A”技术,即一个待测信号在触发电路中产生或释放一个或多个周期性窄脉冲序列,通过多次测量这个窄脉冲序列的多个沿变沿之后,对于得到的多次测量结果计算平均值,从而得到高于延时单元的测量精度。The tap delay chain interpolation time-to-digital converter is the current mainstream type of time-to-digital converter. It uses a method of combining coarse time and fine time and has significant advantages in measurement accuracy, measurement dead time, and measurement dynamic range. The accuracy of ordinary tap delay chain interpolation time-to-digital converters is limited by the delay size of the interpolation unit. In order to further improve the accuracy and break through the delay time limit of a single delay unit, some improved delay chain interpolation time-to-digital converters are "Wave Union A" technology is applied, that is, a signal to be measured generates or releases one or more periodic narrow pulse sequences in the trigger circuit, and after multiple measurements of multiple edges of this narrow pulse sequence, the obtained The average of multiple measurement results is calculated to obtain a measurement accuracy higher than that of the delay unit.
在普通的延迟链内插型时间数字转换器中,延迟链只有一个沿变沿,被D触发器阵列锁存的抽头延时链数据序列具有类似于…11111111100000…的形式,是典型的温度计码。可以直接累加温度计码中“1”的个数,高效地将温度计码转换成二进制码,也可以消除由于D触发器阵列时钟不同步等原因引起的形如…11111100100000…的“气泡”错误。In an ordinary delay chain interpolation time-to-digital converter, the delay chain has only one edge, and the tap delay chain data sequence latched by the D flip-flop array has a form similar to...11111111100000..., which is a typical thermometer code . It can directly accumulate the number of "1"s in the thermometer code and efficiently convert the thermometer code into binary code. It can also eliminate "bubble" errors in the form of...11111100100000... caused by the out-of-synchronization of the D flip-flop array clock.
但是在进位链中存在多个沿变沿时,抽头延时链数据序列具有类似于…000001111110000000111111110000…的形式,实际情况下,每个沿变沿亦含有“气泡”错误,使得抽头延时链数据序列变为类似于…0000010111110100000000000000001011111111110011000000…的形式,其中“气泡”错误可以表征在多个0中夹杂有1,多个1中夹杂有0,“气泡”错误将使边沿信息模糊难以提取。且由于采用了“Wave Un ion A”,无法采用“1”相加的方法得到沿变位置。However, when there are multiple edges in the carry chain, the tap delay chain data sequence has a form similar to...000001111110000000111111110000.... In actual circumstances, each edge change also contains "bubble" errors, making the tap delay chain data The sequence becomes similar to...0000010111110100000000000000001011111111110011000000..., where the "bubble" error can represent multiple 0s mixed with 1s, and multiple 1s mixed with 0s. The "bubble" errors will make the edge information blurry and difficult to extract. And due to the use of "Wave Union A", the edge change position cannot be obtained by adding "1".
此外,相关技术中针对这个问题还提出了分片异或寻找沿变沿的方法,基于可编程逻辑器件(Field Programmable Gate Array,简称FPGA)中的逻辑元件,在抽头延时链数据序列的数据片段中逐个寻找沿变位置。In addition, in the related art, a method of slicing XOR to find edge transitions has also been proposed to solve this problem. Based on the logic elements in the programmable logic device (Field Programmable Gate Array, FPGA for short), the data in the tap delay chain data sequence is Find edge changing positions one by one in the clip.
这种方法虽然解决了基本的沿变位置编码问题,然而分片异或结构对于脉冲宽度有严格的上下限制,需要进行大量的前期测试,不能适配型号众多的FPGA器件。其逻辑复杂,会消耗大量逻辑资源,存在降低系统集成度,增加系统的功耗和成本等问题。Although this method solves the basic edge position encoding problem, the sliced XOR structure has strict upper and lower limits on pulse width, requires a large amount of preliminary testing, and cannot be adapted to many types of FPGA devices. Its logic is complex, consumes a lot of logic resources, reduces system integration, and increases system power consumption and cost.
基于上述可以得知,相关技术在确定抽头延迟链数据序列的沿变位置信息的方案中,存在有因“气泡”使得难以确定真实沿变位置的问题;对于抽头延迟链数据序列长度、脉冲宽度等存在较高的条件限制问题;以及采用的硬件资源较多,导致开发周期长、功耗和成本增加的问题,使得延迟链内插型时间数字转换器存在普适性低下,得到多个沿变位置需要消耗大量逻辑资源,结构复杂,导致系统开发周期长、功耗和成本增加等问题。Based on the above, it can be known that in the scheme of determining the edge position information of the tap delay chain data sequence in the related technology, there is a problem that it is difficult to determine the true edge position due to "bubbles"; for the length and pulse width of the tap delay chain data sequence There are problems such as higher condition restrictions; and the use of more hardware resources, resulting in long development cycles, increased power consumption and cost, making the delay chain interpolation time-to-digital converter have low universality and multiple edge problems. Changing the position consumes a lot of logic resources and has a complex structure, which leads to problems such as long system development cycle, increased power consumption and cost.
有鉴于此,本公开的实施例提供了一种数据处理方法,包括:对原始数据序列中的多个数据进行分组,得到多个目标子序列;将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中相邻位置且数据值不同的数据的位置信息之和;基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。In view of this, embodiments of the present disclosure provide a data processing method, which includes: grouping multiple data in the original data sequence to obtain multiple target subsequences; inputting each target subsequence to the target subsequence respectively. In the lookup table array set corresponding to the sequence, the target values corresponding to multiple target subsequences are obtained, where the target value represents the sum of position information of data with adjacent positions in the target subsequence and different data values; based on multiple target subsequences The target value corresponding to each sequence determines the target value of the original data sequence.
图1示意性示出了根据本公开实施例的数据处理方法的流程图。Figure 1 schematically shows a flow chart of a data processing method according to an embodiment of the present disclosure.
如图1所示,本公开实施例的数据处理方法包括操作S110~操作S130。As shown in Figure 1, the data processing method according to the embodiment of the present disclosure includes operations S110 to S130.
在操作S110,对原始数据序列中的多个数据进行分组,得到多个目标子序列。In operation S110, multiple data in the original data sequence are grouped to obtain multiple target subsequences.
根据本公开的实施例,可以对原始数据序列中包括的多个数据进行位置标记,例如:可以将长度为m bit的原始延迟链数据依照顺序标记为第0位、第1位、……第m-1位,再进行分组,例如:将长度为m bit的原始数据序列分为n组,即第0组,第1组……第n-1组,每组长度为m/n bit,计为l bit。According to embodiments of the present disclosure, multiple data included in the original data sequence can be position-marked. For example, the original delay chain data with a length of m bits can be marked in order as the 0th bit, the 1st bit, ... m-1 bits, and then group them, for example: divide the original data sequence with a length of m bits into n groups, that is, group 0, group 1... group n-1, each group has a length of m/n bits, Counted as l bit.
根据本公开的实施例,在对原始数据序列进行分组时,可以将第kn+i位数据分组成为第i组抽头数据子序列的第k位bit,其中n为分组数目,例如:原始数据序列为0001110010,若将原始数据序列分为两组,可以得到第一目标子序列为00101、第二目标子序列为01100,原始数据序列的第1、3、5、7、9位为第一目标子序列,第2、4、6、8、10位为第二目标子序列。According to embodiments of the present disclosure, when grouping the original data sequence, the kn+i-th bit data can be grouped into the k-th bit of the i-th group of tap data subsequences, where n is the number of groups, for example: the original data sequence is 0001110010. If the original data sequence is divided into two groups, the first target subsequence is 00101 and the second target subsequence is 01100. The 1st, 3rd, 5th, 7th, and 9th bits of the original data sequence are the first target. subsequence, the 2nd, 4th, 6th, 8th, and 10th bits are the second target subsequence.
根据本公开的实施例,对于原始数据序列的数据类型不进行限定,例如:可以为抽头延迟链数据序列,其中,抽头延迟链数据序列可以为经过由多个延时单元的延迟链得到的;对于延时单元的类型同样不进行限定,可以根据实际需求选择合适的延时单元,例如:CARRY4。According to embodiments of the present disclosure, the data type of the original data sequence is not limited. For example, it may be a tap delay chain data sequence, where the tap delay chain data sequence may be obtained through a delay chain consisting of multiple delay units; There are no restrictions on the type of delay unit. You can choose an appropriate delay unit according to actual needs, for example: CARRY4.
图2示意性示出了获取原始数据序列相关技术的延迟链内插型时间数字转换器的示意图。Figure 2 schematically shows a schematic diagram of a delay chain interpolation time-to-digital converter using a technology related to obtaining original data sequences.
根据本公开的实施例,在原始数据序列为抽头延迟链数据序列的情况下,原始数据序列可以为由以下方式得到的,待测时间信号通过触发电路生成周期性窄脉冲序列,周期性窄脉冲序列通过由多个延时单元组成的抽头延时链,D触发器序列采用系统时钟周期对抽头延迟链的各个抽头采样锁存的结果,得到原始数据序列。According to embodiments of the present disclosure, when the original data sequence is a tap delay chain data sequence, the original data sequence can be obtained in the following manner: the time signal to be measured generates a periodic narrow pulse sequence through a trigger circuit, and the periodic narrow pulse The sequence passes through a tap delay chain composed of multiple delay units. The D flip-flop sequence uses the system clock cycle to sample and latch the results of each tap of the tap delay chain to obtain the original data sequence.
根据本公开的实施例,抽头延时链数据序列通过编码电路可以得到沿变位置信息,沿变位置信息也可以称为沿变沿位置信息为抽头延时链数据序中存在上升沿或下降沿的位置信息或者说两个相邻且数值不同的数据的位置信息。根据本公开的实施例,通过对原始数据序列进行分组重排列,可以实现对于抽头数据子序列“气泡”错误的消除,使得目标子序列中每个抽头数据子序列中沿变沿位置皆清晰准确。According to the embodiment of the present disclosure, the tap delay chain data sequence can obtain edge position information through the encoding circuit. The edge position information can also be called edge position information because there is a rising edge or a falling edge in the tap delay chain data sequence. The location information, or the location information of two adjacent data with different values. According to embodiments of the present disclosure, by grouping and rearranging the original data sequence, it is possible to eliminate "bubble" errors in the tap data subsequences, so that the position of the edge change in each tap data subsequence in the target subsequence is clear and accurate. .
在操作S120,将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中位置相邻且数据值不同的数据的位置信息之和。In operation S120, each target subsequence is input into a lookup table array set corresponding to the target subsequence, and target values corresponding to each of the multiple target subsequences are obtained, where the target value represents the adjacent and adjacent positions in the target subsequence. The sum of location information of data with different data values.
根据本公开的实施例,每个目标子序列都存在与之对应的查找表(Look-Up-Table,简称LUT)阵列集合,在LUT阵列集合中包括有多个LUT阵列,而在LUT阵列中又包括有多个LUT。According to the embodiment of the present disclosure, each target subsequence has a corresponding Look-Up-Table (LUT) array set. The LUT array set includes multiple LUT arrays, and in the LUT array It also includes multiple LUTs.
根据本公开的实施例,对于查找表的输入端数量不进行限定,可以根据具体情况采用不同输入端数量的查找表。According to embodiments of the present disclosure, the number of input terminals of the lookup table is not limited, and lookup tables with different numbers of input terminals may be used according to specific circumstances.
根据本公开的实施例,位置相邻且数据值不同的位置可以称为沿变沿位置,则目标值可以表征为发生沿变沿的位置信息之和,即沿变位置信息之和,沿变位置信息之和由发生沿变沿的位置信息得到,例如:发生沿变沿的位置信息为7、9,则沿变位置信息之和为7和9之和16。According to embodiments of the present disclosure, positions with adjacent positions and different data values can be called edge-changing edge positions, and the target value can be characterized as the sum of position information where edge-changing edges occur, that is, the sum of edge-changing position information, and edge-changing edge positions. The sum of the position information is obtained from the position information of the edge change. For example, if the position information of the edge change is 7 and 9, then the sum of the edge change position information is 16, the sum of 7 and 9.
根据本公开的实施例,对于每个LUT需要输入的数据位数,可以根据实际情况进行输入,可以将存在沿变的数据进行输入即可,例如:对于一个6输入的LUT阵列来说,其每次输入数据位数是6,但LUT阵列中每一个LUT的输入数据不一定是6位,可根据输入输出情况优化调整,减少资源量消耗。According to the embodiment of the present disclosure, the number of data bits that need to be input for each LUT can be input according to the actual situation, and data with edge changes can be input. For example: for a 6-input LUT array, The number of input data bits per time is 6, but the input data of each LUT in the LUT array is not necessarily 6 bits. It can be optimized and adjusted according to the input and output conditions to reduce resource consumption.
根据本公开的实施例,对于LUT阵列中的每个LUT的输入数据的数据位数不进行限定,可以相同也可以不同。According to embodiments of the present disclosure, the number of data bits of the input data of each LUT in the LUT array is not limited, and may be the same or different.
根据本公开的实施例,对于LUT阵列中的每个LUT的输入端数量不进行限定,可以皆为输入端数量相同的LUT,也可以皆为输入端数量不同的LUT阵列,同样也可以在LUT阵列中即存在输入端数量相同的LUT也存在输入端数量不同的LUT。According to embodiments of the present disclosure, the number of input terminals of each LUT in the LUT array is not limited. They can all be LUTs with the same number of input terminals, or they can all be LUT arrays with different numbers of input terminals. Similarly, they can also be LUT arrays with the same number of input terminals. There are LUTs with the same number of input terminals and LUTs with different numbers of input terminals in the array.
根据本公开的实施例,将目标子序列包括的数据分别输入至查找表阵列的输入端,可以得到该目标子序列的目标值。。According to an embodiment of the present disclosure, the target value of the target subsequence can be obtained by inputting the data included in the target subsequence to the input end of the lookup table array respectively. .
根据本公开的实施例,每组l位目标子序列包含l-1个可能出现沿变沿的位置。可能出现沿变沿位置0即目标子序列数据第0位与第1位之间,可能出现沿变沿位置1即目标子序列数据第1位与第2位之间……可能出现沿变沿位置l-2即目标子序列数据第l-2位与第l-1位之间。具体可以例如:若子序列第x位与第x+1位数据不相等,即第x位为0、第x+1位为1或第x位为1、第x+1位为0时,则出现沿变沿,出现沿变沿的位置为第x位。若子序列第x位与第x+1位数据相等,即第x位=0、第x+1位=0或第x位=1、第x+1位=1时,则没有出现沿变沿。According to an embodiment of the present disclosure, each group of l-bit target subsequences contains l-1 positions where edge changes may occur. An edge change may occur at position 0, which is between the 0th and 1st bits of the target subsequence data. An edge change may occur at an edge position 1, which is between the 1st and 2nd bits of the target subsequence data... An edge change may occur. Position l-2 is between the l-2nd and l-1th bits of the target subsequence data. Specifically, for example: if the x-th bit and the x+1-th bit of the subsequence are not equal, that is, when the x-th bit is 0 and the x+1-th bit is 1 or the x-th bit is 1 and the x+1-th bit is 0, then An edge change occurs, and the position where the edge change occurs is the x-th position. If the data of bit x and bit x+1 of the subsequence are equal, that is, bit x=0, bit x+1=0 or bit x=1, bit x+1=1, then no edge change occurs. .
根据本公开的实施例,对于计算每个目标子序列的目标值,可以采用并行计算的方式,将每个目标子序列并行的输入至对应的查找表阵列中。同样地,也可以采用串行处理的方式,即将一个目标子序列输入至查找表阵列得到该目标子序列的目标值后,再输入下一个目标子序列,得到该目标子序列的目标值,直至得到多个目标子序列分别的目标值。According to embodiments of the present disclosure, to calculate the target value of each target subsequence, a parallel computing method may be used to input each target subsequence into the corresponding lookup table array in parallel. Similarly, serial processing can also be used, that is, after inputting a target subsequence into the lookup table array to obtain the target value of the target subsequence, the next target subsequence is input to obtain the target value of the target subsequence, until Get the target values of multiple target subsequences.
根据本公开的实施例,将目标子序列分别输入至目标子序列对应的查找表阵列集合中,可以得到多个目标子序列各自对应的目标值,从而可以实现在获取目标值即沿变位置信息之和的过程中所使用的硬件资源少,编码时间短,定位精度高的优点。且可以根据需求采用并行或者串行的方式获取每个目标子序列各自的目标值,选择性更多。在采用并行方式获取各个目标子序列的情况下,存在处理速度快,结构简单、死时间小的优点,而在采用串行的方式获取每个目标子序列各自的目标值的情况下,存在逻辑结构,可以在较高的时钟频率运行,死时间小且吞吐率高的优势。According to embodiments of the present disclosure, by inputting the target subsequences into the lookup table array set corresponding to the target subsequences, the target values corresponding to the multiple target subsequences can be obtained, thereby achieving the acquisition of the target value, that is, the variable position information. The summing process uses less hardware resources, short encoding time, and high positioning accuracy. And the target value of each target subsequence can be obtained in parallel or serial manner according to the needs, with more selectivity. When the parallel method is used to obtain each target subsequence, there are advantages of fast processing speed, simple structure, and small dead time. However, when the serial method is used to obtain the target value of each target subsequence, there is a logical problem. The structure can run at a higher clock frequency, has the advantages of small dead time and high throughput rate.
在操作S130,基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。In operation S130, the target value of the original data sequence is determined based on the corresponding target values of the plurality of target sub-sequences.
根据本公开的实施例,将多个目标子序列各自对应的目标值进行第一计算处理,可以得到原始数据序列的目标值,其中,第一计算处理,可以为进行加法计算等等。According to embodiments of the present disclosure, the target values corresponding to the multiple target sub-sequences are subjected to a first calculation process to obtain the target value of the original data sequence, where the first calculation process may be an addition calculation or the like.
根据本公开的实施例,通过原始数据序列的目标值的大小与延时值大小正相关,可以通过第一计算法,例如:码密度统计方法,将目标值转换为延时时间值,即为细时间数据,再结合第二计算法,例如:高速时钟计数法得到的粗时间数据,即可得到待测时间信号的时间间隔值的测量大小,且测量得到的时间间隔值存在测量精度更高的技术效果。According to the embodiment of the present disclosure, the size of the target value of the original data sequence is positively related to the size of the delay value. The target value can be converted into a delay time value through a first calculation method, such as a code density statistical method, that is, The fine time data, combined with the second calculation method, such as the coarse time data obtained by the high-speed clock counting method, can be used to obtain the measured size of the time interval value of the time signal to be measured, and the measured time interval value has higher measurement accuracy. technical effects.
根据本公开提供的数据处理方法,通过将原始数据序列中的多个数据进行分组,可以得到多个目标子序列,将多个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,可以得到与每个目标子序列各自对应的目标值,基于多个目标子序列的目标值,可以得到抽头延迟链数据的目标值。由于对原始数据序列中的多个数据进行了分组,得到多个目标子序列,使得子序列中至多含有一个气泡错误,因为有的子序列中不含有气泡错误存在“气泡”错误的两位数据不会出现在同一个目标子序列中,因此,至少部分的地解决了难以确定真实沿变位置的问题,实现了确定沿变位置的准确度的技术效果。由于将每个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,对多个目标子序列进行并行处理,快速的地得到与每个目标子序列各自对应的目标值,以及基于多个目标子序列的目标值,确定原始数据序列的目标值,至少部分的解决了相关技术中条件限制较高以及采用的硬件资源较多的问题,实现了节省硬件资源、高普适性、条件限值少、对于原始数据序列编码时间短以及原始数据序列目标值的精度高的技术效果。According to the data processing method provided by the present disclosure, by grouping multiple data in the original data sequence, multiple target subsequences can be obtained, and the multiple target subsequences are respectively input into the lookup table array set corresponding to the target subsequence. , the target value corresponding to each target subsequence can be obtained. Based on the target values of multiple target subsequences, the target value of the tap delay chain data can be obtained. Since multiple data in the original data sequence are grouped, multiple target subsequences are obtained, so that the subsequence contains at most one bubble error, because some subsequences do not contain bubble errors and have two-bit data with "bubble" errors. will not appear in the same target subsequence. Therefore, the problem of difficulty in determining the true edge change position is at least partially solved, and the technical effect of determining the accuracy of the edge change position is achieved. Since each target subsequence is input into the lookup table array set corresponding to the target subsequence, multiple target subsequences are processed in parallel, and the target value corresponding to each target subsequence is quickly obtained, and Determining the target value of the original data sequence based on the target values of multiple target subsequences at least partially solves the problems of relatively high condition restrictions and the use of more hardware resources in related technologies, achieving hardware resource saving and high universality. , few conditional limits, short encoding time for the original data sequence, and high accuracy of the original data sequence target value.
图3示意性示出了根据本公开实施例的确定多个目标子序列的流程图。FIG. 3 schematically illustrates a flowchart of determining multiple target subsequences according to an embodiment of the present disclosure.
如图3所示,确定多个目标子序列目标值包括操作S111~操作S112。As shown in Figure 3, determining multiple target subsequence target values includes operations S111 to S112.
在操作S111,基于原始数据序列中的多个数据,确定原始数据序列的分组数量。In operation S111, the number of packets of the original data sequence is determined based on the plurality of data in the original data sequence.
在操作S112,基于分组数量和原始数据序列中的多个数据各自的位置标识,对多个数据进行分组得到多个目标子序列。In operation S112, multiple data are grouped to obtain multiple target subsequences based on the number of groups and respective position identifiers of the multiple data in the original data sequence.
根据本公开的实施例,可以基于原始数据序列中的多个数据确定基于待测时间信号得到窄脉冲序列中的目标相邻沿变沿距离,即确定窄脉冲序列包括的至少一个窄脉冲的目标脉冲宽度,其中,窄脉冲序列可以由原始数据序列中的多个数据中,包括多个连续且数据值相同的目标数据的目标数据组确定以及可以确定原始数据序列的模糊区域,其模糊区域是由于“气泡”错误导致的,基于模糊区域可以确定区域长度度,利用区域深度和目标相邻沿变沿距离可以确定原始数据序列的分组数量。According to embodiments of the present disclosure, the target adjacent edge change distance in the narrow pulse sequence can be determined based on the time signal to be measured based on multiple data in the original data sequence, that is, the target of at least one narrow pulse included in the narrow pulse sequence is determined. Pulse width, where the narrow pulse sequence can be determined from multiple data in the original data sequence, including a target data group of multiple consecutive target data with the same data value, and the fuzzy area of the original data sequence can be determined, and the fuzzy area is Due to the "bubble" error, the length of the region can be determined based on the fuzzy region, and the number of groups of the original data sequence can be determined using the region depth and the distance between adjacent edges of the target.
根据本公开的实施例,基于分组数量和原始数据序列中的多个数据各自的位置标识,可以对多个数据进行分组,从而得到多个目标子序列,其中,对分组方式不进行限定,可以为能够将同一沿变沿的“气泡”错误的任两位数据皆不会存在同一目标子序列内的任意分组方式。According to embodiments of the present disclosure, multiple data can be grouped based on the number of groups and the respective position identifiers of the multiple data in the original data sequence, thereby obtaining multiple target subsequences, where the grouping method is not limited, and can Any two-bit data that can change the "bubble" error of the same edge will not exist in any grouping method within the same target sub-sequence.
根据本公开的实施例,分组方式可以为将原始数据序列第kn+i位数据分组成为第i组目标子序列的第k位数据的方式,即将原始数据序列的每一位数据按照顺序分别分到每个目标子序列中,例如:原始数据序列包括111000111000且分组数量为4组,则第一目标子序列的第一位数据为1,第二目标子序列的第一位数据为1,第三目标子序列的第一位数据为1,第四目标子序列的第一位数据为0,同样地,第一目标子序列的第二位数据为0,第二目标子序列的第二位数据为0,第三目标子序列的第二位数据为1,第四目标子序列的第二位数据为1,以及第一目标子序列的第三位数据为1,第二目标子序列的第三位数据为0,第三目标子序列的第三位数据为0,第四目标子序列的第三位数据为0,最终可以得到第一目标子序列为101,第二目标子序列为100...第四目标子序列为010。According to an embodiment of the present disclosure, the grouping method may be a method of grouping the kn+i-th bit data of the original data sequence into the k-th bit data of the i-th group of target subsequences, that is, each bit of data of the original data sequence is divided into order. into each target subsequence, for example: the original data sequence includes 111000111000 and the number of groups is 4, then the first data of the first target subsequence is 1, the first data of the second target subsequence is 1, and the first data of the second target subsequence is 1. The first bit of data in the three-target subsequence is 1, and the first bit of data in the fourth target subsequence is 0. Similarly, the second bit of data in the first target subsequence is 0, and the second bit of the second target subsequence is 0. The data is 0, the second bit of data of the third target subsequence is 1, the second bit of data of the fourth target subsequence is 1, and the third bit of data of the first target subsequence is 1, and the data of the second bit of the second target subsequence is 1. The third bit of data is 0, the third bit of data of the third target subsequence is 0, the third bit of data of the fourth target subsequence is 0, and finally the first target subsequence is 101, and the second target subsequence is 100...The fourth target subsequence is 010.
根据本公开的实施例,基于原始数据序列中的多个数据可以确定目标相邻沿变沿距离和区域长度,利用区域长度和目标相邻沿变沿距离可以确定原始数据序列的分组数量,进而将原始数据序列进行分组,可以快速的实现对于“气泡”错误的消除,同时使得在进行原始数据序列沿变位置的确定即编码时,对于脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度均不敏感,具有较强的普适性、拓展性以及可移植性。According to embodiments of the present disclosure, the target adjacent edge change distance and the region length can be determined based on multiple data in the original data sequence. The region length and the target adjacent edge change distance can be used to determine the number of groups of the original data sequence, and then Grouping the original data sequence can quickly eliminate "bubble" errors. At the same time, when determining the edge position of the original data sequence, that is, encoding, the number of pulses, changes in pulse width, and changes in the delay value of the delay unit can be reduced. , tap delay chain length are not sensitive, and have strong universality, expandability and portability.
根据本公开的实施例,基于原始数据序列中的多个数据,确定原始数据序列的分组数量,包括以下操作。According to an embodiment of the present disclosure, determining the number of groups of the original data sequence based on multiple data in the original data sequence includes the following operations.
从原始数据序列的多个数据中,确定至少一个目标数据组,其中,目标数据组包括多个位置连续且数据值相同的目标数据;基于目标数据组,确定目标相邻沿变沿距离,其中,目标相邻沿变沿距离为至少一个目标数据组中包括最小数据量的目标数据组的数据量;从原始数据序列的多个数据中,确定存在沿变沿的多个区域信息;基于多个区域信息,确定多个目标区域;基于多个目标区域各自的区域长度,确定目标区域长度,其中,目标区域长度表征多个目标区域各自的区域长度中的最大区域长度;基于目标相邻沿变沿距离和目标区域长度,确定原始数据序列的分组数量,其中,分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度。Determine at least one target data group from multiple data in the original data sequence, where the target data group includes multiple target data with continuous positions and the same data value; determine the target adjacent edge change distance based on the target data group, where , the target adjacent edge-changing edge distance is the data amount of the target data group including the minimum data amount in at least one target data group; from multiple data of the original data sequence, determine the presence of multiple area information of edge-changing edges; based on multiple area information, determine multiple target areas; determine the length of the target area based on the respective area lengths of the multiple target areas, where the target area length represents the maximum area length among the respective area lengths of the multiple target areas; based on the adjacent edges of the target The changing edge distance and the target area length determine the number of packets of the original data sequence, where the number of groups is less than or equal to the target adjacent edge changing edge distance and the number of groups is greater than or equal to the target area length.
根据本公开的实施例,原始数据序列中可以包括有多个数据值相同且连续的目标数据组,目标数据组中包括有多个目标数据,对于目标数据不进行限定,例如:目标数据可以为数据值为1的数据。According to embodiments of the present disclosure, the original data sequence may include multiple target data groups with the same and continuous data values. The target data group may include multiple target data. The target data is not limited. For example, the target data may be Data with a data value of 1.
根据本公开的实施例,目标数据组可以为窄脉冲序列,基于目标数据组中包括的目标数据的数据量,可以确定相邻沿变沿间的距离,即脉冲宽度,目标数据组可以为多个,也可以为1个,在多个目标数据组中数据量最小的目标数据组的数据量可以为目标相邻沿变沿距离。在目标数据组为1个的情况下,该目标数据组的数据量为目标相邻沿变沿距离。According to embodiments of the present disclosure, the target data group may be a narrow pulse sequence. Based on the data amount of the target data included in the target data group, the distance between adjacent edges, that is, the pulse width, may be determined. The target data group may be multiple , or it can be 1. The data amount of the target data group with the smallest data amount among multiple target data groups can be the target adjacent edge change edge distance. When there is one target data group, the data amount of the target data group is the target adjacent edge change distance.
根据本公开的实施例,在目标数据组为窄脉冲序列的情况下,基于目标数据的数据量确定目标相邻沿变沿距离的过程可以为例如:原始数据序列为01111111111110110000000000000110111111110100,延时单元从原始数据序列可以确定两个目标数据组即两个脉冲序列分别为111111111111以及11111111,可以确定两个目标数据组的数据量分别为12和8,则该数据序列中相邻沿变沿间的距离即脉冲宽度分别为12和8,其中,数据量最小的目标数据组的数据量为目标相邻沿变沿距离,因此,该目标相邻沿变沿距离为8,对于数据量的计算方法不进行限定,可以为基于该数据组包括的数据位数确定。According to embodiments of the present disclosure, when the target data group is a narrow pulse sequence, the process of determining the target adjacent edge change distance based on the data amount of the target data may be, for example: the original data sequence is 01111111111110110000000000000110111111110100, and the delay unit starts from the original data sequence. The data sequence can determine the two target data groups, that is, the two pulse sequences are 111111111111 and 11111111. The data amounts of the two target data groups can be determined to be 12 and 8 respectively. Then the distance between adjacent edges in the data sequence is The pulse widths are 12 and 8 respectively. Among them, the data amount of the target data group with the smallest data amount is the target adjacent edge-to-edge distance. Therefore, the target adjacent edge-to-edge distance is 8. The calculation method for the data amount is not carried out. The limit can be determined based on the number of data bits included in the data set.
根据本公开的实施例,区域信息可以为存在沿变沿的区域信息,沿变沿为存在位置相邻且数据值不同数据的情况,例如01、10都为存在沿变沿。According to an embodiment of the present disclosure, the area information may be area information in which there is an edge change. The edge change is a situation where data with adjacent positions and different data values exist. For example, 01 and 10 both indicate that there are edge changes.
根据本公开的实施例,基于多个区域信息可以确定目标区域,例如:在原始数据序列为00010011111111111101100000000000001101111111101000的情况下,基于沿变沿可以确定多个区域信息可以为…00100…、…0011…、…10110…、…00110…、…110100…、…110…。目标区域可以为模糊区域,可以为多个1中混杂0或者多个0中混杂1的区域,对于多个0转变为多个1或者多个1转变为多个0的正常沿变沿区域,不认为其为目标区域,例如:基于上述目标区域可以为…100…、…011…、…110…、…01…According to embodiments of the present disclosure, the target area can be determined based on multiple area information. For example: in the case where the original data sequence is 0001001111111111101100000000000001101111111101000, the multiple area information can be determined based on edge changes and can be...00100...,...0011...,... 10110…,…00110…,…110100…,…110…. The target area can be a fuzzy area, it can be an area where multiple 1s are mixed with 0s, or multiple 0s are mixed with 1s. For a normal edge-to-edge area where multiple 0s transform into multiple 1s or multiple 1s transform into multiple 0s, It is not considered to be a target area. For example: based on the above target area, it can be...100...,...011...,...110...,...01...
根据本公开的实施例,目标区域的长度可以区域中包括的数据的数据位数,也可称为气泡深度,例如:在上述的目标区域中,可以确定区域长度分别为3、3、3、2,且目标区域长度为其中最大的区域长度,可以为3。According to embodiments of the present disclosure, the length of the target area can be the number of data bits included in the area, which can also be called bubble depth. For example: in the above target area, the area lengths can be determined to be 3, 3, 3, 2, and the target area length is the largest area length among them, which can be 3.
根据本公开的实施例,基于目标区域长度和目标相邻沿变沿距离,可以确定分组数量,即分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度,基于上述举例在目标相邻沿变沿距离为8,目标区域长度为3的情况下,分组数量可以为[3,8]之间的任意整数值,如:3、4、5、6、7、8。According to embodiments of the present disclosure, based on the target area length and the target adjacent edge change distance, the number of groups can be determined, that is, the number of groups is less than or equal to the target adjacent edge change distance and the number of groups is greater than or equal to the target area length. Based on the above For example, when the target adjacent edge-to-edge distance is 8 and the target area length is 3, the number of groups can be any integer value between [3, 8], such as: 3, 4, 5, 6, 7, 8 .
根据本公开的实施例,基于目标相邻沿变沿距离和目标区域长度确定的分组数量,可以使得窄脉冲序列的每个脉冲在所有目标子序列中均被采样到,且同一沿变沿的气泡错误任两位数据不出现在同目标子序列中,从而使得在目标子序列中的沿变沿位置信息清晰准确,不存在气泡错误。同时,在确定目标子序列的沿变位置信息时,对于脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度均不敏感,在保证了分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度的情况下,任意脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度可以采用本公开的数据处理方法,因此,具备很强的普适性与扩展性,在使用时可以根据需求便捷的实现模块的增减。According to embodiments of the present disclosure, the number of groups determined based on the target adjacent edge change distance and the target area length can make each pulse of the narrow pulse sequence sampled in all target subsequences, and the same edge change Bubble error means that no two bits of data appear in the same target subsequence, so that the edge-to-edge position information in the target subsequence is clear and accurate, and there is no bubble error. At the same time, when determining the edge position information of the target subsequence, it is not sensitive to the number of pulses, pulse width changes, delay unit delay value changes, and tap delay chain length. It ensures that the number of groups is less than or equal to the target adjacent When the distance between edges changes and the number of groups is greater than or equal to the length of the target area, the data processing method of the present disclosure can be used for any number of pulses, pulse width changes, delay unit delay value changes, and tap delay chain lengths. Therefore, it has It has strong universality and scalability. When using it, you can easily add or remove modules according to your needs.
根据本公开的实施例,查找表阵列集合中包括有多个查找表阵列,查找表阵列中包括多个查找表;将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值包括以下操作。According to an embodiment of the present disclosure, the lookup table array set includes multiple lookup table arrays, and the lookup table array includes multiple lookup tables; each target subsequence is input into the lookup table array set corresponding to the target subsequence. , obtaining the target values corresponding to multiple target subsequences includes the following operations.
对于每个目标子序列,基于查找表阵列中的查找表的输入端数量,从目标子序列中确定多个子序列分片;将多个子序列分片,分别输入至对应的查找表阵列中,得到多个子序列分片各自对应的目标值;基于多个子序列分片各自对应的目标值,得到目标子序列的目标值。For each target subsequence, based on the number of input terminals of the lookup table in the lookup table array, determine multiple subsequence fragments from the target subsequence; input the multiple subsequence fragments into the corresponding lookup table array respectively, and obtain Target values corresponding to multiple subsequence fragments; based on target values corresponding to multiple subsequence fragments, the target value of the target subsequence is obtained.
根据本公开的实施例,可以基于查找表阵列中的查找表的输入端数量,从目标子序列中确定多个子系列分片,例如:对于6输入的查找表,可以将目标子序列的第0~5位数据接入第一组配置完成的LU T阵列,将5~10位数据接入第二组配置完成的LUT阵列,将10~15位数据接入第三组配置完成的LUT阵列中,将子序列第l-6~l-1位接入LUT阵列l/5,其中,l表示目标子序列的数据位数。对于每组配置完成的LUT阵列中LUT的数量可以根据具体情况进行选用,即在目标子序列为000111000011110的情况下,子序列分别可以分别为000111、100001、11110。According to an embodiment of the present disclosure, multiple subseries fragments can be determined from the target subsequence based on the number of input terminals of the lookup table in the lookup table array. For example: for a 6-input lookup table, the 0th of the target subsequence can be ~5 bits of data are connected to the first group of configured LUT arrays, 5~10 bits of data are connected to the second group of configured LUT arrays, and 10~15 bits of data are connected to the third group of configured LUT arrays. , connect the l-6th to l-1th bits of the subsequence to the LUT array l/5, where l represents the number of data bits of the target subsequence. The number of LUTs in each group of configured LUT arrays can be selected according to specific circumstances, that is, when the target subsequence is 000111000011110, the subsequences can be 000111, 100001, and 11110 respectively.
根据本公开的实施例,对于每个子序列分片皆含有对应的查找表阵列,对于每个子序列分片对应的查找表阵列包括的查找表的数量不进行限定,可以为根据每个子序列分片各自确定。According to embodiments of the present disclosure, each subsequence fragment contains a corresponding lookup table array. The number of lookup tables included in the lookup table array corresponding to each subsequence fragment is not limited. It can be based on each subsequence fragment. Determine each.
根据本公开的实施例,每个LUT的输出可以为表征0或1的一位二进制码,由于每个子序列分片对应的LUT阵列可能含有多个LUT,因此,通过一个LUT阵列输出的多位二进制码,可以得到目标子序列包括的子序列分片的目标值,例如:一个LUT阵列输出为0010000,则其目标值为0010000,同样的也可以将目标值转化为10进制数据即16。According to embodiments of the present disclosure, the output of each LUT may be a one-bit binary code representing 0 or 1. Since the LUT array corresponding to each sub-sequence slice may contain multiple LUTs, multiple bits output by one LUT array Binary code can be used to obtain the target value of the subsequence fragments included in the target subsequence. For example, if the output of a LUT array is 0010000, then its target value is 0010000. Similarly, the target value can also be converted into decimal data, which is 16.
根据本公开的实施例,将多个子序列分片各自对应的目标值,分别通过加法器进行相加可以得到目标子序列的目标值。According to an embodiment of the present disclosure, the target value of the target subsequence can be obtained by dividing the target values corresponding to each of the multiple subsequences into slices and adding them through an adder respectively.
根据本公开的实施例,将每个目标子序列分为多个子序列分片,在分别计算每个子序列分片的目标值,最终得到目标子序列的目标值,可以使得在确定目标子序列的目标值的过程中仅产生子序列分片的目标值这一中间数据,并且通过将多个子序列分片的目标值相加即可得到目标子序列的目标值,计算方式也比较简单,则使得对于目标子序列的目标值的确定效率高,并且可以达到和逐一对沿变位置信息进行确定一样的精度同时可以采用少量的硬件资源即可实现对目标子序列的目标值的确定,一定程度上实现了对资源的节省,并且对于查找表的输入端不进行限定,可以在输入数据位数较少的情况下采用较少输入端的查找表,实现对资源的节约。According to the embodiment of the present disclosure, each target subsequence is divided into multiple subsequence fragments, and the target value of each subsequence fragment is calculated respectively, and finally the target value of the target subsequence is obtained, which can make it possible to determine the target subsequence. During the target value process, only the intermediate data of the target value of the subsequence fragments is generated, and the target value of the target subsequence can be obtained by adding the target values of multiple subsequence fragments. The calculation method is also relatively simple, so that The determination of the target value of the target subsequence is efficient and can achieve the same accuracy as determining the edge position information one by one. At the same time, a small amount of hardware resources can be used to determine the target value of the target subsequence, to a certain extent. Resource saving is achieved, and the input end of the lookup table is not limited. When the number of input data bits is small, a lookup table with fewer input ends can be used to achieve resource saving.
根据本公开的实施例,可以实现将子序列分片并行输入至查找表阵列中得到目标值,从而可以加快计算速率,并且使得死时间较小。还可以将子序列分片串行或者一个一个的输入指对应的查找表阵列中,可以使解码逻辑在很高的时钟频率运行,整体死时间小,且吞吐量高。According to embodiments of the present disclosure, it is possible to input sub-sequence slices into the lookup table array in parallel to obtain target values, thereby speeding up the calculation rate and minimizing the dead time. The subsequences can also be sliced serially or input one by one into the corresponding lookup table array, which can make the decoding logic run at a very high clock frequency, with small overall dead time and high throughput.
图4示意性示出了根据本公开实施例的查找表阵列的示意图。Figure 4 schematically shows a schematic diagram of a lookup table array according to an embodiment of the present disclosure.
如图4所示,LUT阵列中包括有多个LUT,以6输入的LUT为例,每个LUT皆有6个输入端,每个LUT输出一位二进制码,通过将子序列分片多次输入至LUT阵列中,可以同时得到多位二进制码,通过将多位二进制码按照顺序进行排序,得到子序列分片的目标值。例如:可以根据需要指定二进制码的任意为数据为为最高有效位(Mo st Significant Bit,简称MSB),以及指定二进制码的任意为数据为最低有效位(least significant bit,简称LSB)。As shown in Figure 4, the LUT array includes multiple LUTs. Taking a 6-input LUT as an example, each LUT has 6 input terminals. Each LUT outputs a bit of binary code. By dividing the sub-sequence into multiple slices, By inputting into the LUT array, multiple-bit binary codes can be obtained at the same time. By sorting the multiple-bit binary codes in order, the target value of the sub-sequence fragmentation can be obtained. For example, you can specify the most significant bit (MSB) of any data in the binary code as needed, and the least significant bit (LSB) of any data in the binary code as needed.
根据本公开的实施例,在子序列分片包括的数据位数小于查找表的输入端数量的情况下,将不存在输入数据的输入端的目标输入数据置为预定数据。According to an embodiment of the present disclosure, in the case where the number of data bits included in the subsequence slice is less than the number of input terminals of the lookup table, the target input data of the input terminal where there is no input data is set to the predetermined data.
根据本公开的实施例,对于LUT的输入数据的输入位数不进行限定,可以为根据LUT的输入端的数量进行确定,使得每一输入端都有各自的输入数据,也可以为根据需求将与存在沿变沿即位置相邻且数据值不同的数据输入至与LUT中。According to the embodiment of the present disclosure, the number of input digits of the input data of the LUT is not limited. It can be determined according to the number of input terminals of the LUT, so that each input terminal has its own input data, or it can be determined according to the requirements. There is an edge change, that is, data with adjacent positions and different data values is input into the LUT.
根据本公开的实施例,基于目标子序列,在得到子序列分片存在数据位数不满足LUT输入位数的情况下,即在输入的数据位数小于查找表的输入端数量的情况下,可以将剩余的输入端的输入数据置为预定数据,预定数据可以为0或1,具体可以由实际情况进行确定,例如:若抽头延时链没有输入时的输出数据全为0,则可以将预定数据设为0,若抽头延时链没有输入时的数据全为1,则可以将预定数据设为1。According to an embodiment of the present disclosure, based on the target subsequence, when the number of data bits in the obtained subsequence fragment does not meet the LUT input number of bits, that is, when the number of input data bits is less than the number of input terminals of the lookup table, The input data of the remaining input terminals can be set to predetermined data. The predetermined data can be 0 or 1, which can be determined by the actual situation. For example: if the output data when the tap delay chain has no input is all 0, the predetermined data can be set to 0. The data is set to 0. If the data when the tap delay chain is not input are all 1, the predetermined data can be set to 1.
根据本公开的实施例,在输入数据位数小于当前查找变的输入端数量的情况下,还可以将该查找表更新为输入端数量为mod(l,5)+1的查找表。According to an embodiment of the present disclosure, when the number of input data bits is less than the number of input terminals of the current lookup variable, the lookup table can also be updated to a lookup table with the number of input terminals mod (l, 5) + 1.
根据本公开的实施例,子序列分片存在数据位数不满足LUT输入位数的情况,可以包括目标子序列的数据位数不能被LUT输入端的数量整除的情况。According to embodiments of the present disclosure, subsequence fragmentation may include a situation where the number of data bits does not satisfy the LUT input number of bits, which may include a situation where the number of data bits of the target subsequence cannot be divisible by the number of LUT input terminals.
根据本公开的实施例,基于目标子序列的多个子序列分片,确定多个子序列分片各自的最大目标值;基于多个子序列分片各自的最大目标值,确定与每个子序列分片对应的查找表阵列中包括的查找表的数量。According to an embodiment of the present disclosure, based on multiple sub-sequence fragments of the target sub-sequence, the maximum target value of each of the multiple sub-sequence fragments is determined; based on the maximum target value of each of the multiple sub-sequence fragments, the corresponding maximum target value of each sub-sequence fragment is determined. The number of lookup tables included in the lookup table array.
根据本公开的实施例,可以基于目标子程序的多个子序列分片,确定多个子序列分片各自的最大目标值,其中,最大目标值可以根据子序列分片的可能出现的沿变沿计算得到的最大目标值,即最大沿边位置信息之和,例如:对于目标子序列的第零子序列分片,则可能存在包含最大目标值的序列为010101,由于共有5个沿变沿位置分别为1、2、3、4、5,则第零子序列分片的最大目标值为15,同样的若为第一子序列分片,则可能存在的包括最大目标值的序列为010101,由于共有5个沿变沿位置分别为6、7、8、9、10,因此,该第一子序列分片的最大目标值为40。According to an embodiment of the present disclosure, the maximum target value of each of the multiple subsequence fragments can be determined based on the multiple subsequence fragments of the target subroutine, wherein the maximum target value can be calculated according to possible edge changes of the subsequence fragments. The maximum target value obtained is the sum of the maximum edge position information. For example: for the zeroth subsequence fragment of the target subsequence, there may be a sequence containing the maximum target value of 010101. Since there are 5 edge-changing edge positions, they are 1, 2, 3, 4, 5, then the maximum target value of the zeroth subsequence fragment is 15. Similarly, if it is the first subsequence fragment, the possible sequence including the maximum target value is 010101. Since there are The five edge-changing positions are 6, 7, 8, 9, and 10 respectively. Therefore, the maximum target value of the first sub-sequence fragment is 40.
根据本公开的实施例,基于子序列分片的最大目标值可以确定与该子序列分片对应的查找表阵列的数量,对于确定方式不进行限定,例如可以为利用使最大目标值小于等于2r-1且大于等于2r-1来确定,r表示查找表阵列中包含的查找表的数量。具体例如:对于最大目标值为40的子序列分片,该26-1<=40<=26-1,则该子序列分片对应的查找表阵列的查找表数量为6个。According to an embodiment of the present disclosure, the number of lookup table arrays corresponding to the subsequence fragment can be determined based on the maximum target value of the subsequence fragment. The determination method is not limited. For example, the maximum target value can be used to make the maximum target value less than or equal to 2. r -1 and greater than or equal to 2 r-1 to determine, r represents the number of lookup tables contained in the lookup table array. For example, for a subsequence fragment with a maximum target value of 40, if 2 6 -1 <= 40 < = 2 6 -1, then the number of lookup tables in the lookup table array corresponding to the subsequence fragment is 6.
根据本公开的实施例,LUT阵列中至多包含r个s输入的LUT。绝大多数情况下,可以使用r个小于等于s输入的LUT完成分片转化任务。According to an embodiment of the present disclosure, the LUT array contains at most r LUTs with s input. In most cases, r LUTs with less than or equal to s input can be used to complete the sharding conversion task.
根据本公开的实施例,基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值,包括:将多个目标子序列各自对应的目标值输入至加法器中,得到原始数据序列的目标值。According to an embodiment of the present disclosure, determining the target value of the original data sequence based on the target values corresponding to the multiple target subsequences includes: inputting the target values corresponding to the multiple target subsequences into an adder to obtain the original data sequence. target value.
根据本公开的实施例,将各个目标子序列各自对应的目标值同时输入至加法器中,即可得到原始数据序列的目标值,例如:各个目标子序列的目标值分别为33、34、31、33,则该原始数据序列的目标值为32+34+31+33=130。According to embodiments of the present disclosure, the target values corresponding to each target subsequence are input into the adder at the same time to obtain the target value of the original data sequence. For example, the target values of each target subsequence are 33, 34, and 31 respectively. , 33, then the target value of the original data sequence is 32+34+31+33=130.
根据本公开的实施例,通过将原始数据序列分为多个目标子序列,由将目标子序列分为多个子序列分片来分别确定目标值,再通过将目标值分别相加可以得到原始数据序列的目标值,基于上述可以达到和逐一定位相同的精度,同时对于脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度均不敏感,在保证了分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度的情况下,任意脉冲数量、脉冲宽度变化、延迟单元延时值变化、抽头延时链长度均不会存在影响,因此,具备很强的普适性与扩展性,在使用时还可以根据需求便捷的实现模块的增减。According to embodiments of the present disclosure, the original data sequence is divided into multiple target subsequences, the target values are determined respectively by dividing the target subsequences into multiple subsequence fragments, and then the original data can be obtained by adding the target values respectively. The target value of the sequence, based on the above, can achieve the same accuracy as positioning one by one. At the same time, it is not sensitive to the number of pulses, pulse width changes, delay unit delay value changes, and tap delay chain length. It ensures that the number of groups is less than or equal to When the target adjacent edge changes edge distance and the number of groups is greater than or equal to the length of the target area, any number of pulses, pulse width changes, delay unit delay value changes, and tap delay chain length will not have an impact. Therefore, it has a lot of advantages. It has strong universality and scalability. When using it, you can easily add or remove modules according to your needs.
图5示意性示出了根据本公开另一实施例的数据处理方法的示意图。FIG. 5 schematically shows a schematic diagram of a data processing method according to another embodiment of the present disclosure.
如图5所示,对于一个60个延时单元组成的抽头延时链,其输出的原始数据序列为抽头延时链数据序列,有60bit,在没有脉冲输入、脉冲未到达、脉冲已经过的延时链部分,其延时链输出数据为0。As shown in Figure 5, for a tap delay chain composed of 60 delay units, the original data sequence output is the tap delay chain data sequence, with 60 bits. When there is no pulse input, the pulse has not arrived, or the pulse has passed For the delay chain part, the delay chain output data is 0.
根据本公开的实施例,当一次待测信号经过触发器产生窄脉冲序列进入延时链后,会输出一个有效的抽头延时链数据序列,举例输出的60bit抽头延时链数据序列为000000000100111111111111011000000000000011011111111010000000。脉冲所在的延时单元输出数据为1,则举例数据其含有两个窄脉冲。According to the embodiment of the present disclosure, when a signal to be measured passes through a trigger and generates a narrow pulse sequence and enters the delay chain, a valid tap delay chain data sequence will be output. For example, the output 60-bit tap delay chain data sequence is 00000000010011111111111101100000000000001101111111010000000. The output data of the delay unit where the pulse is located is 1, so the example data contains two narrow pulses.
根据本公开的实施例,脉冲沿变位置存在…100…、…011…、…110…、…01…的目标区域,这个目标区域就是由于”气泡“错误导致的。目标区域的长度定义为同时存在0和1的位数,即气泡深度。在上述四个沿变位置上气泡深度分别为3、3、3、2,最大气泡深度为3。According to the embodiment of the present disclosure, there are target areas of...100...,...011...,...110...,...01... at the pulse edge changing positions. This target area is caused by the "bubble" error. The length of the target area is defined as the number of bits where both 0 and 1 exist, which is the bubble depth. The bubble depths at the above four edge-changing positions are 3, 3, 3, and 2 respectively, and the maximum bubble depth is 3.
根据本公开的实施例,上述抽头延时链数据序列包括的两个窄脉冲序列对应的目标数据组分别为111111111111与11111111,数据量或者称脉冲宽度分别为12、8则目标脉冲宽度或者称目标相邻沿变沿距离为8,通过确定相邻的两个沿变沿之间的距离可以确定窄脉冲序列在目标数据组中对应的数据,两个沿变沿之间的距离由每个目标数据组中的数据量确定。According to an embodiment of the present disclosure, the target data groups corresponding to the two narrow pulse sequences included in the above-mentioned tap delay chain data sequence are 111111111111 and 11111111 respectively. The data amount or pulse width is 12 and 8 respectively. The target pulse width is also called the target. The distance between adjacent edges is 8. By determining the distance between two adjacent edges, the corresponding data of the narrow pulse sequence in the target data group can be determined. The distance between two adjacent edges is determined by each target The amount of data in the data set is determined.
根据本公开的实施例,根据分组数量依据,确保窄脉冲序列的每个脉冲在所有抽头数据子序列中均被采样到,且同一沿变沿的“气泡”错误任两位数据不出现在同一抽头数据子序列中;即最小脉冲宽度大于分组数量大于最大气泡深度的要求,分组数量需大于或等于3且小于或等于8。例如:选择分组数量为4,其中,最小脉冲宽度即目标相邻沿变沿距离。According to the embodiment of the present disclosure, based on the number of groups, it is ensured that each pulse of the narrow pulse sequence is sampled in all tap data sub-sequences, and the "bubble" error of the same edge change does not appear in the same In the tap data subsequence; that is, the minimum pulse width is greater than the number of groups and is greater than the maximum bubble depth. The number of groups needs to be greater than or equal to 3 and less than or equal to 8. For example: select the number of groups as 4, where the minimum pulse width is the target adjacent edge change distance.
根据本公开的实施例,对于举例输出的60bit抽头延时链数据序列“000000000100111111111111011000000000000011011111111010000000“按照抽头延迟链数据原码第kn+i位bit分组成为第i组抽头数据子序列的第k位bit的方案进行分组,例如n=4时,则将原始序列分为4组15bit的抽头数据子序列。分别记为第0组目标子序列、第1组目标子序列、第2组目标子序列、第3组目标子序列。每个目标子序列中的15bit数据依序记为第0位、第1位…第14位。According to the embodiment of the present disclosure, for the example output 60-bit tap delay chain data sequence "0000000001001111111111111011000000000000011011111111010000000", the kn+ith bit of the original code of the tap delay chain data is grouped into the kth bit of the i-th group of tap data subsequences. For grouping, for example, when n=4, the original sequence is divided into 4 groups of 15-bit tap data sub-sequences. They are respectively recorded as the 0th group of target subsequences, the 1st group of target subsequences, the 2nd group of target subsequences, and the 3rd group of target subsequences. The 15-bit data in each target subsequence is recorded as bit 0, bit 1...bit 14 in order.
根据本公开的实施例,例如:抽头延时链数据序列的第11位,即第(2*4+3)位分组至第3组目标子序列的第2位。依照上述分组方案得到的:According to an embodiment of the present disclosure, for example, the 11th bit of the tap delay chain data sequence, that is, the (2*4+3) bit is grouped into the 2nd bit of the third group of target subsequences. Obtained according to the above grouping scheme:
第0组目标子序列为:000111000011110;第1组目标子序列为:001111100011100;第2组目标子序列为:000111100001100;第3组目标子序列为:000111000011000。The target subsequence of group 0 is: 000111000011110; the target subsequence of group 1 is: 001111100011100; the target subsequence of group 2 is: 000111100001100; the target subsequence of group 3 is: 000111000011000.
根据本公开的实施例,如图5所示,包括有多个专用逻辑电路,专业逻辑电路可以为Wave Union A型TDC编码专用逻辑电路,Wa ve Union A型TDC编码专用逻辑电路0~WaveUnion A型TDC编码专用逻辑电路4分别与每组目标子序列分相对应。According to the embodiment of the present disclosure, as shown in Figure 5, a plurality of dedicated logic circuits are included. The professional logic circuit can be a Wave Union A-type TDC encoding dedicated logic circuit, and a Wave Union A-type TDC encoding dedicated logic circuit 0~WaveUnion A Type TDC coding dedicated logic circuit 4 corresponds to each group of target sub-sequences respectively.
根据本公开的实施例,每个Wave Union A型TDC编码专用逻辑电路包括有各自的LUT阵列,如Wave Union A型TDC编码专用逻辑电路0包括有LUT阵列0~LUT阵列2。According to an embodiment of the present disclosure, each Wave Union A-type TDC encoding dedicated logic circuit includes its own LUT array. For example, the Wave Union A-type TDC encoding dedicated logic circuit 0 includes LUT array 0 to LUT array 2 .
根据本公开的实施例,LUT阵列与各个子序列分片相对应。According to embodiments of the present disclosure, the LUT array corresponds to each subsequence slice.
根据本公开的实施例,以第0组目标子序列以及6输入的LUT阵列为例,进行子序列分片操作,则第0子序列分片为目标子序列第0~5位:000111、则第1子序列分片为目标子序列第5~10位:100001、则第2子序列分片为目标子序列第10~14位:11110。According to the embodiment of the present disclosure, taking the 0th group of target subsequences and a 6-input LUT array as an example, the subsequence slicing operation is performed, then the 0th subsequence slicing is the 0th to 5th bits of the target subsequence: 000111, then The first subsequence fragment is the 5th to 10th bits of the target subsequence: 100001, and the second subsequence fragment is the 10th to 14th bits of the target subsequence: 11110.
根据本公开的实施例,以第0组目标子序列的第1子序列分片100001为例,将其接入配置完成的LUT阵列1;由于第0组目标子序列第1子序列分片100001数据对应有两个沿变位置,分别为6和10;则配置完成的LUT阵列1输出数据16(O)即0010000(B),即为分片内所有沿变位置和数据。同理,第0分片内所有沿变位置和数据为3(O),第2分片内所有沿变位置和数据为14(O),其中,O表示十进制,B表示二进制。According to the embodiment of the present disclosure, taking the first subsequence fragment 100001 of the 0th group of target subsequences as an example, connect it to the configured LUT array 1; since the first subsequence fragment 100001 of the 0th group of target subsequences The data corresponds to two edge positions, which are 6 and 10 respectively; then the configured LUT array 1 outputs data 16(O), which is 0010000(B), which is all edge positions and data in the slice. In the same way, all edge-changing positions and data in the 0th slice are 3(O), and all edge-changing positions and data in the 2nd slice are 14(O), where O represents decimal and B represents binary.
根据本公开的实施例,上述步骤均在硬件中并行执行,对于获得的子序列分片内所有沿变位置和数据直接相加,即可得到每组目标子序列沿变位置信息之和。对于第0组抽头数据子序列,其沿变位置之和为33;对于第1~3组抽头数据子序列,其沿变位置信息之和分别为34、31、32;According to embodiments of the present disclosure, the above steps are all executed in parallel in hardware, and all edge positions and data in the obtained subsequence slices are directly added to obtain the sum of edge position information of each group of target subsequences. For the 0th group of tap data subsequences, the sum of their edge change positions is 33; for the 1st to 3rd groups of tap data subsequences, the sum of their edge change position information is 34, 31, and 32 respectively;
根据本公开的实施例,将每组目标子序列的沿变位置信息之和相加,即可得到原始数据序列的目标值为32+34+31+33=130。According to an embodiment of the present disclosure, by adding the sum of the edge position information of each group of target subsequences, the target value of the original data sequence can be obtained as 32+34+31+33=130.
根据本公开的实施例,窄脉冲序列在抽头延迟链中所有沿变沿位置之和信息与待测信号到来时间的细时间直接相关一一对应,综合粗时间信息即可测得待测时间间隔。According to the embodiment of the present disclosure, the sum information of all edge-changing positions of the narrow pulse sequence in the tap delay chain is directly related to the fine time of the arrival time of the signal to be measured, and the time interval to be measured can be measured by integrating the coarse time information. .
图6示意性示出了根据本公开实施例的编码电路的示意图。Figure 6 schematically shows a schematic diagram of an encoding circuit according to an embodiment of the present disclosure.
如图6所示,编码电路包括多个专用逻辑电路610第一加法器620。As shown in FIG. 6 , the encoding circuit includes a plurality of dedicated logic circuits 610 and a first adder 620 .
多个专用逻辑电路610,用于将与每个专用逻辑电路相对应的目标子序列转换为目标值,其中,目标子序列为基于原始数据序列分组得到。A plurality of dedicated logic circuits 610 are used to convert the target subsequence corresponding to each dedicated logic circuit into a target value, where the target subsequence is obtained based on the original data sequence grouping.
第一加法器620,与多个专用逻辑电路分别相连,用于将多个目标值相加,得到原始数据序列的目标值。The first adder 620 is respectively connected to a plurality of dedicated logic circuits, and is used to add a plurality of target values to obtain the target value of the original data sequence.
根据本公开的实施例,编码电路中包括多个专用逻辑610和第一加法器620,基于多个专用逻辑电路610,可以将原始数据序列分组得到的多个目标子序列转换为目标子序列各自的目标值,其中,对于不同的目标子序列可以对应于完全相同或相似的专用逻辑电路。According to an embodiment of the present disclosure, the encoding circuit includes a plurality of dedicated logic 610 and a first adder 620. Based on the plurality of dedicated logic circuits 610, multiple target subsequences obtained by grouping the original data sequence can be converted into respective target subsequences. The target value, wherein for different target sub-sequences can correspond to exactly the same or similar dedicated logic circuits.
根据本公开的实施例,第一加法器620,与多个专用逻辑电路分别相连,可以将每个专用逻辑电路分别的输出值即目标子序列的目标值,进行相加,得到原始数据序列的目标值。According to an embodiment of the present disclosure, the first adder 620 is respectively connected to a plurality of dedicated logic circuits, and can add the output value of each dedicated logic circuit, that is, the target value of the target subsequence, to obtain the original data sequence. target value.
根据本公开的实施例,专用逻辑电路可以为多个也可以为一个,若专用逻辑电路为多个,则可以将目标子序列进行并行处理,若专利逻辑电路为一个则可以通过流水线处理的方式,对目标子序列一个一个的进行处理。According to embodiments of the present disclosure, there may be multiple dedicated logic circuits or one dedicated logic circuit. If there are multiple dedicated logic circuits, the target subsequences can be processed in parallel. If there is one patented logic circuit, the target subsequences can be processed in a pipeline manner. , process the target subsequences one by one.
根据本公开的实施例,原始数据序列包括抽头延迟链数据序列。According to an embodiment of the present disclosure, the original data sequence includes a tap delay chain data sequence.
根据本公开的实施例,编码电路通过多个专用逻辑电路和第一加法器实现对于原始数据序列的目标值,即原始数据序列的沿边位置信息和的确定,有效的节省了硬件资源,极大的缩短了编码时间,可以达到和逐一定位相同的精度。According to embodiments of the present disclosure, the encoding circuit uses multiple dedicated logic circuits and the first adder to determine the target value of the original data sequence, that is, the sum of edge position information of the original data sequence, effectively saving hardware resources and greatly The encoding time is shortened and the same accuracy as positioning one by one can be achieved.
根据本公开的实施例,基于专用逻辑电路对目标子序列进行并行处理,可以实现结构简单,死时间小的效果。基于专用逻辑电路进行流水线处理,可以实现整个编码逻辑可以运行在很高的时钟频率,整体死时间小吞吐率高。According to embodiments of the present disclosure, parallel processing of target subsequences based on dedicated logic circuits can achieve the effects of simple structure and small dead time. Pipeline processing based on dedicated logic circuits can realize that the entire encoding logic can run at a very high clock frequency, with a small overall dead time and a high throughput rate.
根据本公开的实施例,为验证可行性,进行以下实验,在FPGA对数据处理方法实例化后进行行为级仿真,仿真在Vivado软件平台上运行,其中,Vivado软件平台包括高度集成的设计环境和新一代从系统到集成电路级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。输入数据为352位原始数据序列。可以按要求编码产生11位的二进制数据表征原始数据序列中所有沿变沿位置之和信息,且使能信号准确。最后在赛灵思公司(Xilinx)的XC7K410T-2FFG900I型FPGA中使用本发明公开时间数字转换器抽头延迟链编码方法,编码电路可以在400MHz时钟下稳定运行。According to the embodiments of the present disclosure, in order to verify the feasibility, the following experiments are conducted. After the data processing method is instantiated in the FPGA, behavioral level simulation is performed. The simulation is run on the Vivado software platform, where the Vivado software platform includes a highly integrated design environment and A new generation of system-to-IC-level tools built on a shared extensible data model and common debugging environment. The input data is a 352-bit raw data sequence. The 11-bit binary data can be encoded as required to represent the sum of all edge positions in the original data sequence, and the enable signal is accurate. Finally, the time-to-digital converter tap delay chain encoding method disclosed in the present invention is used in the XC7K410T-2FFG900I FPGA of Xilinx, and the encoding circuit can operate stably under a 400MHz clock.
专用逻辑电路包括:查找表阵列集合611,用于将与查找表阵列集合中的每个查找表阵列相对应的子序列分片转换为子目标值,其中,子序列分片为基于目标子序列分组得到,子目标值为子序列分片的目标值,查找表阵列集合包括多个查找表阵列第二加法器612,与多个查找表阵列分别相连,用于将子目标值相加,得到目标子序列的目标值。The dedicated logic circuit includes: a lookup table array set 611 for converting a subsequence slice corresponding to each lookup table array in the lookup table array set into a subtarget value, wherein the subsequence slice is based on the target subsequence Obtained by grouping, the sub-target value is the target value of the sub-sequence fragmentation. The look-up table array set includes multiple look-up table array second adders 612, which are respectively connected to multiple look-up table arrays and are used to add the sub-target values. Obtained The target value of the target subsequence.
根据本公开的实施例,专用逻辑电路包括有查找表阵列集合,以及第二加法器,通过将子序列分片分别输入至对应的查找表阵列中可以得到每个子序列分别各自的目标值,目标值可以为二进制数据,例如:首位输出可以为最高有效为,末尾输出可以为最低有效为。通过第二加法器,将该目标值相加,可以得到每个目标子序列的目标值。According to an embodiment of the present disclosure, the dedicated logic circuit includes a lookup table array set and a second adder. By inputting the subsequence slices into the corresponding lookup table array, each subsequence's respective target value can be obtained. The target The value can be binary data, for example: the first output can be the most significant, and the last output can be the least significant. By adding the target values through the second adder, the target value of each target subsequence can be obtained.
图7示意性示出了根据本公开实施例的专用逻辑电路的示意图。Figure 7 schematically illustrates a schematic diagram of a dedicated logic circuit according to an embodiment of the present disclosure.
如图7所示,以六输入的查找表为例,专用逻辑电路中包括有查找表阵列以及加法器,查找表阵列中包括有多个查找表,每个查找表可以输出一个二进制码,多个查找表则可以输出子序列分片的目标值,将每个子序列分别的目标值通过第二加法器相加即可得到目标子序列的目标值,即沿变位置信息之和。As shown in Figure 7, taking a six-input lookup table as an example, the dedicated logic circuit includes a lookup table array and an adder. The lookup table array includes multiple lookup tables. Each lookup table can output a binary code. A lookup table can output the target value of the subsequence fragments. By adding the target values of each subsequence through the second adder, the target value of the target subsequence can be obtained, that is, the sum of the edge position information.
根据本公开的实施例,对于查找表的输入端数量仅为示意性的,可以根据实际情况采用不同输入端数量的查找表。According to embodiments of the present disclosure, the number of input terminals of the lookup table is only illustrative, and lookup tables with different numbers of input terminals may be used according to actual conditions.
图8示意性示出了根据本公开实施例的时序图。Figure 8 schematically shows a timing diagram according to an embodiment of the present disclosure.
如图8所示,对于记录时钟周期中有效的数据,并在原始数据序列中进行标记,从而可以得到有效数据0和有效数据1,由于从原始数据序列确定变为目标子序列的过程中,主要为将原始数据序列中包括的数据分组得到目标子序列,因此,在目标子序列中有效数据0和有效数据1的时钟周期相同。而基于目标子序列确定沿变位置信息和的过程中,需要利用LUT阵列集合以及加法器来进行计算,因此,目标子序列的沿变位置数据的时序图中的有效数据0和有效数据1往后延迟了一个时钟周期,获得原始数据序列的沿变位置信息和同理,仍然为利用目标子序列各自的沿变位置信息和相加得到原始数据序列的沿变位置信息和,因此,原始数据序列的沿变位置数据又往后延迟了一个时钟周期,最后可以进行数据存储控制信号,利用数据存储工具,如先入先出队列(First Input First Output,FIFO),进行数据存储控制,对上述原始数据序列的时序情况进行记录。As shown in Figure 8, for recording valid data in the clock cycle and marking it in the original data sequence, valid data 0 and valid data 1 can be obtained. Due to the process of determining from the original data sequence to the target subsequence, The main purpose is to group the data included in the original data sequence to obtain the target subsequence. Therefore, the clock cycles of valid data 0 and valid data 1 in the target subsequence are the same. In the process of determining the sum of edge position information based on the target subsequence, it is necessary to use the LUT array set and the adder for calculation. Therefore, the effective data 0 and the valid data 1 in the timing diagram of the edge position data of the target subsequence go to After delaying one clock cycle, the edge position information of the original data sequence is obtained. In the same way, the edge position information sum of the original data sequence is still obtained by adding the edge position information and the respective edge positions of the target subsequence. Therefore, the original data The edge position data of the sequence is delayed by one clock cycle. Finally, the data storage control signal can be used. Data storage tools, such as First Input First Output (FIFO), are used to control data storage. The above original The timing of the data sequence is recorded.
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above-mentioned specific embodiments further describe the purpose, technical solutions and beneficial effects of the present invention in detail. It should be understood that the above-mentioned are only specific embodiments of the present invention and are not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included in the protection scope of the present invention.
基于上述数据处理方法,本公开还提供了一种数据处理装置。以下将结合图9对该装置进行详细描述。Based on the above data processing method, the present disclosure also provides a data processing device. The device will be described in detail below with reference to FIG. 9 .
图9示意性示出了根据本公开实施例的数据处理装置的结构框图。Figure 9 schematically shows a structural block diagram of a data processing device according to an embodiment of the present disclosure.
如图9所示,该实施例的数据处理装置900包括目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930。As shown in FIG. 9 , the data processing apparatus 900 of this embodiment includes a target subsequence determination module 910 , a first target value determination module 920 and a second target value determination module 930 .
目标子序列确定模块910,用于对原始数据序列中的多个数据进行分组,得到多个目标子序列。在一实施例中,目标子序列确定模块910可以用于执行前文描述的操作S110,在此不再赘述。The target subsequence determination module 910 is used to group multiple data in the original data sequence to obtain multiple target subsequences. In an embodiment, the target subsequence determination module 910 may be configured to perform the operation S110 described above, which will not be described again here.
第一目标值确定模块920,用于将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中位置相邻且数据值不同的数据的位置信息之和。在一实施例中,第一目标值确定模块920可以用于执行前文描述的操作S120,在此不再赘述。The first target value determination module 920 is used to input each target subsequence into a lookup table array set corresponding to the target subsequence, and obtain target values corresponding to the multiple target subsequences, where the target value represents the target subsequence. The sum of the position information of data with adjacent positions and different data values in the sequence. In an embodiment, the first target value determination module 920 may be configured to perform the operation S120 described above, which will not be described again here.
第二目标值确定模块930,用于基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。在一实施例中,第二目标值确定模块930可以用于执行前文描述的操作S130,在此不再赘述。The second target value determination module 930 is configured to determine the target value of the original data sequence based on the corresponding target values of the multiple target subsequences. In an embodiment, the second target value determination module 930 may be configured to perform the operation S130 described above, which will not be described again here.
根据本公开的实施例,目标子序列确定模块910可以包括分组数量确定子模块和目标子序列确定子模块。According to an embodiment of the present disclosure, the target subsequence determining module 910 may include a packet number determining submodule and a target subsequence determining submodule.
分组数量确定子模块,用于基于原始数据序列中的多个数据,确定原始数据序列的分组数量。The group number determination submodule is used to determine the number of groups of the original data sequence based on multiple data in the original data sequence.
标子序列确定子模块,用于基于分组数量和原始数据序列中的多个数据各自的位置标识,对多个数据进行分组得到多个目标子序列。The sub-sequence determination submodule is used to group multiple data to obtain multiple target sub-sequences based on the number of groups and the respective position identifiers of the multiple data in the original data sequence.
根据本公开的实施例,分组数量确定子模块可以包括目标数据组确定单元、目标相邻沿变沿距离确定单元、区域信息确定单元、目标区域确定单元、目标区域长度确定单元及分组数量确定单元。According to an embodiment of the present disclosure, the group number determination sub-module may include a target data group determination unit, a target adjacent edge change edge distance determination unit, an area information determination unit, a target area determination unit, a target area length determination unit, and a group number determination unit. .
目标数据组确定单元,用于从原始数据序列中的多个数据中,确定至少一个目标数据组,其中,目标数据组包括多个位置连续且数据值相同的目标数据。The target data group determination unit is used to determine at least one target data group from multiple data in the original data sequence, wherein the target data group includes multiple target data with consecutive positions and the same data value.
目标相邻沿变沿距离确定单元,用于基于目标数据组,确定目标相邻沿变沿距离,其中,目标相邻沿变沿距离为至少一个目标数据组中包括最小数据量的目标数据组的数据量。The target adjacent edge-changing edge distance determination unit is used to determine the target adjacent edge-changing edge distance based on the target data group, wherein the target adjacent edge-changing edge distance is a target data group including a minimum amount of data in at least one target data group. amount of data.
区域信息确定单元,用于从原始数据序列中的多个数据中,确定存在沿变沿的多个区域信息。The area information determination unit is used to determine, from multiple data in the original data sequence, multiple area information with edge changes.
目标区域确定单元,用于基于多个区域信息各自的区域长度,确定多个目标区域。The target area determination unit is used to determine multiple target areas based on respective area lengths of the multiple area information.
目标区域长度确定单元,用于基于多个目标区域各自的区域长度,确定目标区域长度,其中,目标区域长度表征多个目标区域各自的区域长度中的最大区域长度。The target area length determining unit is configured to determine the target area length based on the respective area lengths of multiple target areas, wherein the target area length represents the maximum area length among the respective area lengths of the multiple target areas.
分组数量确定单元,用于基于目标相邻沿变沿距离和目标区域长度,确定原始数据序列的分组数量,其中,分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度。A group number determination unit, used to determine the number of groups of the original data sequence based on the target adjacent edge change distance and the length of the target area, wherein the number of groups is less than or equal to the target adjacent edge change distance and the number of groups is greater than or equal to the target area length.
根据本公开的实施例,查找表阵列集合中包括有多个查找表阵列,查找表阵列中包括多个查找表;第一目标值确定模块包括子序列分片确定子模块、子序列分片目标值确定子模块和第一目标值确定子模块。According to an embodiment of the present disclosure, the lookup table array set includes multiple lookup table arrays, and the lookup table array includes multiple lookup tables; the first target value determination module includes a subsequence fragmentation determination submodule, a subsequence fragmentation target a value determination sub-module and a first target value determination sub-module.
子序列分片确定子模块,用于对于每个目标子序列,基于查找表阵列中的查找表的输入端数量,从目标子序列中确定多个子序列分片。The subsequence fragment determination submodule is used for determining, for each target subsequence, a plurality of subsequence fragments from the target subsequence based on the number of input terminals of the lookup table in the lookup table array.
子序列分片目标值确定子模块,将多个子序列分片,分别输入至对应的查找表阵列中,得到多个子序列分片各自对应的目标值。The sub-sequence fragment target value determination sub-module inputs multiple sub-sequence fragments into the corresponding lookup table array to obtain the corresponding target values of the multiple sub-sequence fragments.
第一目标值确定子模块,用于基于多个子序列分片各自对应的目标值,得到目标子序列的目标值。The first target value determination submodule is used to obtain the target value of the target subsequence based on the corresponding target values of multiple subsequence fragments.
根据本公开的实施例,数据处理装置900还包括输入端处理模块。According to an embodiment of the present disclosure, the data processing device 900 further includes an input processing module.
输入端处理模块,用于在子序列分片包括的数据位数小于查找表的输入端数量的情况下,将不存在输入数据的输入端的目标输入数据置为预定数据。The input end processing module is used to set the target input data of the input end where there is no input data as predetermined data when the number of data bits included in the subsequence fragment is less than the number of input ends of the lookup table.
根据本公开的实施例,数据处理装置900还包括最大目标值确定模块和查找表数量确定模块。According to an embodiment of the present disclosure, the data processing apparatus 900 further includes a maximum target value determination module and a lookup table number determination module.
最大目标值确定模块,用于基于目标子序列的多个子序列分片,确定多个子序列分片各自的最大目标值。The maximum target value determination module is used to determine the maximum target value of each of the multiple subsequence fragments based on the multiple subsequence fragments of the target subsequence.
查找表数量确定模块,用于基于多个子序列分片各自的最大目标值,确定与每个子序列分片对应的查找表阵列中包括的查找表的数量。The lookup table quantity determination module is configured to determine the number of lookup tables included in the lookup table array corresponding to each subsequence fragment based on respective maximum target values of the plurality of subsequence fragments.
根据本公开的实施例,第二目标值确定模块包括目标值输入子模块。According to an embodiment of the present disclosure, the second target value determination module includes a target value input sub-module.
目标值输入子模块,用于将多个目标子序列各自对应的目标值输入至加法器中,得到原始数据序列的目标值。The target value input submodule is used to input the corresponding target values of multiple target subsequences into the adder to obtain the target value of the original data sequence.
根据本公开的实施例,目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。According to embodiments of the present disclosure, any multiple modules of the target subsequence determination module 910, the first target value determination module 920, and the second target value determination module 930 may be combined and implemented in one module, or any one of the modules may be is split into multiple modules. Alternatively, at least part of the functionality of one or more of these modules may be combined with at least part of the functionality of other modules and implemented in one module. According to an embodiment of the present disclosure, at least one of the target subsequence determination module 910, the first target value determination module 920, and the second target value determination module 930 may be at least partially implemented as a hardware circuit, such as a field programmable gate array ( FPGA), programmable logic array (PLA), system-on-a-chip, system-on-substrate, system-on-package, application-specific integrated circuit (ASIC), or any other reasonable means by which circuits can be integrated or packaged To be implemented, or to be implemented in any one of the three implementation methods of software, hardware and firmware or in an appropriate combination of any of them. Alternatively, at least one of the target subsequence determination module 910, the first target value determination module 920, and the second target value determination module 930 may be at least partially implemented as a computer program module that, when executed, may execute Corresponding functions.
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operations of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logic functions that implement the specified executable instructions. It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown one after another may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending on the functionality involved. It will also be noted that each block in the block diagram or flowchart illustration, and combinations of blocks in the block diagram or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or operations, or may be implemented by special purpose hardware-based systems that perform the specified functions or operations. Achieved by a combination of specialized hardware and computer instructions.
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。Those skilled in the art will understand that the features described in the various embodiments and/or claims of the present disclosure may be combined or/or combined in various ways, even if such combinations or combinations are not explicitly described in the present disclosure. In particular, various combinations and/or combinations of features recited in the various embodiments and/or claims of the disclosure may be made without departing from the spirit and teachings of the disclosure. All such combinations and/or combinations fall within the scope of this disclosure.
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。The embodiments of the present disclosure have been described above. However, these examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Although each embodiment is described separately above, this does not mean that the measures in the various embodiments cannot be used in combination to advantage. The scope of the disclosure is defined by the appended claims and their equivalents. Without departing from the scope of the present disclosure, those skilled in the art can make various substitutions and modifications, and these substitutions and modifications should all fall within the scope of the present disclosure.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311155639.2A CN117290549A (en) | 2023-09-07 | 2023-09-07 | Data processing method and coding circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311155639.2A CN117290549A (en) | 2023-09-07 | 2023-09-07 | Data processing method and coding circuit |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117290549A true CN117290549A (en) | 2023-12-26 |
Family
ID=89256352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311155639.2A Pending CN117290549A (en) | 2023-09-07 | 2023-09-07 | Data processing method and coding circuit |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117290549A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118052191A (en) * | 2024-04-16 | 2024-05-17 | 无锡频岢微电子有限公司 | Acoustic model parameter lookup table construction method |
-
2023
- 2023-09-07 CN CN202311155639.2A patent/CN117290549A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118052191A (en) * | 2024-04-16 | 2024-05-17 | 无锡频岢微电子有限公司 | Acoustic model parameter lookup table construction method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104614976B (en) | A kind of time-digital converter based on FPGA | |
Hu et al. | Efficient hardware architecture of softmax layer in deep neural network | |
Liu et al. | A 128-channel, 710 M samples/second, and less than 10 ps RMS resolution time-to-digital converter implemented in a Kintex-7 FPGA | |
WO2016127357A1 (en) | Fpga-based time-to-digital converter | |
Lee et al. | A hardware Gaussian noise generator using the Box-Muller method and its error analysis | |
CN109891843B (en) | Computer-implemented method and system for executing computer-implemented method | |
CN117290549A (en) | Data processing method and coding circuit | |
Kwiatkowski et al. | A brief review of wave union TDCs | |
Mansour et al. | A new hardware implementation of base 2 logarithm for FPGA | |
Faust et al. | Fast and VLSI efficient binary-to-CSD encoder using bypass signal | |
Wang et al. | Low latency parallel implementation of traditionally-called stochastic circuits using deterministic shuffling networks | |
Shen et al. | A fast improved fat tree encoder for wave union TDC in an FPGA | |
Ma et al. | A low-cost high-efficiency true random number generator on FPGAs | |
US20200143234A1 (en) | Sorting networks using unary processing | |
CN111142357A (en) | A Multi-Edge-Variable Position Coding Method for Time-to-Digital Converter Delay Chain Interpolation | |
CN109104168B (en) | A circuit for fine time measurement | |
Wang et al. | Deterministic shuffling networks to implement stochastic circuits in parallel | |
Rashidi et al. | Efficient Implementation of Low Time Complexity and Pipelined Bit-Parallel Polynomial Basis Multiplier over Binary Finite Fields. | |
Akhter et al. | HDL based implementation of N× N bit-serial multiplier | |
Moons et al. | Energy and accuracy in multi-stage stochastic computing | |
CN113702987A (en) | Laser radar and signal processing device and method based on FPGA | |
Wang et al. | A Low-complexity FPGA TDC based on a DSP Delay Line and a Wave Union Launcher | |
Tancock et al. | A Long-Range Hardware Bubble Corrector Technique for Short-Pulse-Width and Multiple-Registration Encoders | |
CN117155395B (en) | An FPGA-based tap delay chain TDC encoding method and system | |
Gupta et al. | Performance Investigation of Binary Counter with Different Clock Gating Networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |