CN117290549A - 数据处理方法及编码电路 - Google Patents

数据处理方法及编码电路 Download PDF

Info

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
sub
subsequence
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
Application number
CN202311155639.2A
Other languages
English (en)
Inventor
封常青
段文皓
王君宸
王宇
沈仲弢
刘树彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Science and Technology of China USTC
Original Assignee
University of Science and Technology of China USTC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by University of Science and Technology of China USTC filed Critical University of Science and Technology of China USTC
Priority to CN202311155639.2A priority Critical patent/CN117290549A/zh
Publication of CN117290549A publication Critical patent/CN117290549A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M1/00Analogue/digital conversion; Digital/analogue conversion
    • H03M1/12Analogue/digital converters
    • H03M1/60Analogue/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

本公开提供了一种数据处理方法及编码电路,可以应用于时间测量技术领域、计算机技术领域以及其他技术领域。该方法包括:对原始数据序列中的多个数据进行分组,得到多个目标子序列;将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中位置相邻且数据值不同的数据的位置信息之和;基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。

Description

数据处理方法及编码电路
技术领域
本公开涉及时间测量技术领域、计算机技术领域以及其他技术领域,尤其涉及一种数据处理方法及编码电路。
背景技术
时间数字转换器(Time-to-Digital Converter,简称TDC)能够将时间间隔信息转化为高分辨率的数字信号。抽头延迟链内插型时间数字转换器是现在主流的时间数字转换器种类,其在测量精度等方面具有显著优势。在抽头延迟链内插型时间数字转换器中,待测信号通过抽头延迟链,再基于D触发器序列以***时钟周期对抽头延迟链的各个抽头进行锁存,可以得到抽头延迟链数据序列,通过抽头延迟链数据序列的沿变位置信息的值可以确定待测信号的时间间隔信息的大小。
在实现本公开构思的过程中,发明人发现相关技术中至少存在如下问题:在确定抽头延迟链数据序列的沿变位置信息的方案中,存在有因“气泡”使得难以确定真实沿变位置的问题;对于抽头延迟链数据序列长度、脉冲宽度等存在较高的条件限制问题;以及采用的硬件资源较多,导致开发周期长、功耗和成本增加的问题。
发明内容
鉴于上述问题,本公开提供了数据处理方法、装置、设备、介质程序产品、及编码电路。
根据本公开的一个方面,提供了一种数据处理方法,包括:对原始数据序列中的多个数据进行分组,得到多个目标子序列;将每个上述目标子序列分别输入至与上述目标子序列对应的查找表阵列集合中,得到多个上述目标子序列各自对应的目标值,其中,上述目标值表征上述目标子序列中位置相邻且数据值不同的数据的位置信息之和;基于多个上述目标子序列各自对应的目标值,确定上述原始数据序列的目标值。
根据本公开的实施例,上述对原始数据序列中的多个数据进行分组,得到多个目标子序列,包括:基于上述原始数据序列中的多个数据,确定上述原始数据序列的分组数量;基于上述分组数量和上述原始数据序列中的多个数据各自的位置标识,对上述多个数据进行分组得到多个目标子序列。
根据本公开的实施例,上述基于上述原始数据序列中的多个数据,确定上述原始数据序列的分组数量,包括:从上述原始数据序列的多个数据中,确定至少一个目标数据组,其中,上述目标数据组包括多个位置连续且数据值相同的目标数据;基于上述目标数据组,确定目标相邻沿变沿距离,其中,上述目标相邻沿变沿距离为上述至少一个目标数据组中包括最小数据量的目标数据组的数据量;从上述原始数据序列的多个数据中,确定存在沿变沿的多个区域信息;基于上述多个区域信息,确定多个目标区域;基于上述多个目标区域各自的区域长度,确定目标区域长度,其中,上述目标区域长度表征上述多个目标区域各自的区域长度中的最大区域长度;基于上述目标相邻沿变沿距离和上述目标区域长度,确定上述原始数据序列的分组数量,其中,上述分组数量小于或等于上述目标相邻沿变沿距离且上述分组数量大于或等于上述目标区域长度。
根据本公开的实施例,上述查找表阵列集合中包括有多个查找表阵列,上述查找表阵列中包括多个查找表;将每个上述目标子序列分别输入至与上述目标子序列对应的查找表阵列集合中,得到多个上述目标子序列各自对应的目标值,包括:对于每个上述目标子序列,基于上述查找表阵列中的查找表的输入端数量,从上述目标子序列中确定多个子序列分片;将上述多个子序列分片,分别输入至对应的查找表阵列中,得到上述多个子序列分片各自对应的目标值;基于上述多个子序列分片各自对应的目标值,得到上述目标子序列的目标值。
根据本公开的实施例,在上述子序列分片包括的数据位数小于上述查找表的输入端数量的情况下,将不存在输入数据的上述输入端的目标输入数据置为预定数据。
根据本公开的实施例,基于上述目标子序列的多个子序列分片,确定多个上述子序列分片各自的最大目标值;基于多个上述子序列分片各自的最大目标值,确定与每个上述子序列分片对应的查找表阵列中包括的查找表的数量。
根据本公开的实施例,上述基于多个上述目标子序列各自对应的目标值,确定上述原始数据序列的目标值,包括:将多个上述目标子序列各自对应的目标值输入至加法器中,得到上述原始数据序列的目标值。
根据本公开的实施例,上述原始数据序列包括抽头延迟链数据序列。
本公开的另一个方面提供了一种编码电路,包括:多个专用逻辑电路,用于将与每个上述专用逻辑电路相对应的目标子序列转换为目标值,其中,上述目标子序列为基于原始数据序列分组得到;第一加法器,与上述多个专用逻辑电路分别相连,用于将多个上述目标值相加,得到上述原始数据序列的目标值。
根据本公开的实施例,上述专用逻辑电路包括:查找表阵列集合,用于将与上述查找表阵列集合中的每个查找表阵列相对应的子序列分片转换为子目标值,其中,上述子序列分片为基于上述目标子序列分组得到,上述子目标值为上述子序列分片的目标值,上述查找表阵列集合包括多个查找表阵列;第二加法器,与上述多个查找表阵列分别相连,用于将上述子目标值相加,得到上述目标子序列的目标值。
本公开的另一个方面提供了一种数据处理装置,包括:目标子序列确定模块,用于对原始数据序列中的多个数据进行分组,得到多个目标子序列;第一目标值确定模块,用于将每个上述目标子序列分别输入至与上述目标子序列对应的查找表阵列集合中,得到多个上述目标子序列各自对应的目标值,其中,上述目标值表征上述目标子序列中位置相邻且数据值不同的数据的位置信息之和;第二目标值确定模块,用于基于多个上述目标子序列各自对应的目标值,确定上述原始数据序列的目标值。
根据本公开提供的数据处理方法,通过将原始数据序列中的多个数据进行分组,可以得到多个目标子序列,将多个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,可以得到与每个目标子序列各自对应的目标值,基于多个目标子序列的目标值,可以得到抽头延迟链数据的目标值。由于对原始数据序列中的多个数据进行了分组,得到多个目标子序列,使得子序列中至多含有一个气泡错误,因为有的子序列中不含有气泡错误,因此,至少部分地解决了难以确定真实沿变位置的问题,实现了确定沿变位置的准确度的技术效果。由于将每个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,对多个目标子序列进行并行处理,快速地得到与每个目标子序列各自对应的目标值,以及基于多个目标子序列的目标值,确定原始数据序列的目标值,至少部分的解决了相关技术中条件限制较高以及采用的硬件资源较多的问题,实现了节省硬件资源、高普适性、条件限值少、对于原始数据序列编码时间短以及原始数据序列目标值的精度高的技术效果。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了根据本公开实施例的数据处理方法的流程图;
图2示意性示出了根据本公开实施例的获取原始数据序列的示意图;
图3示意性示出了根据本公开实施例的确定目标子序列目标值的流程图;
图4示意性示出了根据本公开实施例的查找表阵列的示意图;
图5示意性示出了根据本公开另一实施例的数据处理方法的示意图;
图6示意性示出了根据本公开实施例的编码电路的示意图;
图7示意性示出了根据本公开实施例的专用逻辑电路的示意图;
图8示意性示出了根据本公开实施例的时序图;以及
图9示意性示出了根据本公开实施例的数据处理装置的结构框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在本公开的技术方案中,所涉及的数据(如包括但不限于用户个人信息)的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。
在研究过程中发现,时间数字转换器能够将时间间隔信息转化为高分辨率的数字信号,被广泛运用于正电子发射断层扫描(Positron Emission Tomography,简称PET)、激光雷达(light detection and ranging,简称LiDAR)、自动驾驶汽车、飞行时间法成像、前沿粒子物理实验与空间实验之中,并且在航空航天、深空探测、地质测绘、医学成像、雷达扫描等领域具有广泛应用前景。
抽头延迟链内插型时间数字转换器是现在主流的时间数字转换器种类,采用粗时间和细时间结合的方法,在测量精度、测量死时间、测量动态范围方面具有显著优势。普通的抽头延迟链内插型时间数字转换器精度受制于内插单元的延时大小,为进一步提高精度、突破单个延时单元延时时间限制,部分改进型延迟链内插型时间数字转换器应用了“Wave Union A”技术,即一个待测信号在触发电路中产生或释放一个或多个周期性窄脉冲序列,通过多次测量这个窄脉冲序列的多个沿变沿之后,对于得到的多次测量结果计算平均值,从而得到高于延时单元的测量精度。
在普通的延迟链内插型时间数字转换器中,延迟链只有一个沿变沿,被D触发器阵列锁存的抽头延时链数据序列具有类似于…11111111100000…的形式,是典型的温度计码。可以直接累加温度计码中“1”的个数,高效地将温度计码转换成二进制码,也可以消除由于D触发器阵列时钟不同步等原因引起的形如…11111100100000…的“气泡”错误。
但是在进位链中存在多个沿变沿时,抽头延时链数据序列具有类似于…000001111110000000111111110000…的形式,实际情况下,每个沿变沿亦含有“气泡”错误,使得抽头延时链数据序列变为类似于…0000010111110100000000000000001011111111110011000000…的形式,其中“气泡”错误可以表征在多个0中夹杂有1,多个1中夹杂有0,“气泡”错误将使边沿信息模糊难以提取。且由于采用了“Wave Un ion A”,无法采用“1”相加的方法得到沿变位置。
此外,相关技术中针对这个问题还提出了分片异或寻找沿变沿的方法,基于可编程逻辑器件(Field Programmable Gate Array,简称FPGA)中的逻辑元件,在抽头延时链数据序列的数据片段中逐个寻找沿变位置。
这种方法虽然解决了基本的沿变位置编码问题,然而分片异或结构对于脉冲宽度有严格的上下限制,需要进行大量的前期测试,不能适配型号众多的FPGA器件。其逻辑复杂,会消耗大量逻辑资源,存在降低***集成度,增加***的功耗和成本等问题。
基于上述可以得知,相关技术在确定抽头延迟链数据序列的沿变位置信息的方案中,存在有因“气泡”使得难以确定真实沿变位置的问题;对于抽头延迟链数据序列长度、脉冲宽度等存在较高的条件限制问题;以及采用的硬件资源较多,导致开发周期长、功耗和成本增加的问题,使得延迟链内插型时间数字转换器存在普适性低下,得到多个沿变位置需要消耗大量逻辑资源,结构复杂,导致***开发周期长、功耗和成本增加等问题。
有鉴于此,本公开的实施例提供了一种数据处理方法,包括:对原始数据序列中的多个数据进行分组,得到多个目标子序列;将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中相邻位置且数据值不同的数据的位置信息之和;基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。
图1示意性示出了根据本公开实施例的数据处理方法的流程图。
如图1所示,本公开实施例的数据处理方法包括操作S110~操作S130。
在操作S110,对原始数据序列中的多个数据进行分组,得到多个目标子序列。
根据本公开的实施例,可以对原始数据序列中包括的多个数据进行位置标记,例如:可以将长度为m bit的原始延迟链数据依照顺序标记为第0位、第1位、……第m-1位,再进行分组,例如:将长度为m bit的原始数据序列分为n组,即第0组,第1组……第n-1组,每组长度为m/n bit,计为l bit。
根据本公开的实施例,在对原始数据序列进行分组时,可以将第kn+i位数据分组成为第i组抽头数据子序列的第k位bit,其中n为分组数目,例如:原始数据序列为0001110010,若将原始数据序列分为两组,可以得到第一目标子序列为00101、第二目标子序列为01100,原始数据序列的第1、3、5、7、9位为第一目标子序列,第2、4、6、8、10位为第二目标子序列。
根据本公开的实施例,对于原始数据序列的数据类型不进行限定,例如:可以为抽头延迟链数据序列,其中,抽头延迟链数据序列可以为经过由多个延时单元的延迟链得到的;对于延时单元的类型同样不进行限定,可以根据实际需求选择合适的延时单元,例如:CARRY4。
图2示意性示出了获取原始数据序列相关技术的延迟链内插型时间数字转换器的示意图。
根据本公开的实施例,在原始数据序列为抽头延迟链数据序列的情况下,原始数据序列可以为由以下方式得到的,待测时间信号通过触发电路生成周期性窄脉冲序列,周期性窄脉冲序列通过由多个延时单元组成的抽头延时链,D触发器序列采用***时钟周期对抽头延迟链的各个抽头采样锁存的结果,得到原始数据序列。
根据本公开的实施例,抽头延时链数据序列通过编码电路可以得到沿变位置信息,沿变位置信息也可以称为沿变沿位置信息为抽头延时链数据序中存在上升沿或下降沿的位置信息或者说两个相邻且数值不同的数据的位置信息。根据本公开的实施例,通过对原始数据序列进行分组重排列,可以实现对于抽头数据子序列“气泡”错误的消除,使得目标子序列中每个抽头数据子序列中沿变沿位置皆清晰准确。
在操作S120,将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中位置相邻且数据值不同的数据的位置信息之和。
根据本公开的实施例,每个目标子序列都存在与之对应的查找表(Look-Up-Table,简称LUT)阵列集合,在LUT阵列集合中包括有多个LUT阵列,而在LUT阵列中又包括有多个LUT。
根据本公开的实施例,对于查找表的输入端数量不进行限定,可以根据具体情况采用不同输入端数量的查找表。
根据本公开的实施例,位置相邻且数据值不同的位置可以称为沿变沿位置,则目标值可以表征为发生沿变沿的位置信息之和,即沿变位置信息之和,沿变位置信息之和由发生沿变沿的位置信息得到,例如:发生沿变沿的位置信息为7、9,则沿变位置信息之和为7和9之和16。
根据本公开的实施例,对于每个LUT需要输入的数据位数,可以根据实际情况进行输入,可以将存在沿变的数据进行输入即可,例如:对于一个6输入的LUT阵列来说,其每次输入数据位数是6,但LUT阵列中每一个LUT的输入数据不一定是6位,可根据输入输出情况优化调整,减少资源量消耗。
根据本公开的实施例,对于LUT阵列中的每个LUT的输入数据的数据位数不进行限定,可以相同也可以不同。
根据本公开的实施例,对于LUT阵列中的每个LUT的输入端数量不进行限定,可以皆为输入端数量相同的LUT,也可以皆为输入端数量不同的LUT阵列,同样也可以在LUT阵列中即存在输入端数量相同的LUT也存在输入端数量不同的LUT。
根据本公开的实施例,将目标子序列包括的数据分别输入至查找表阵列的输入端,可以得到该目标子序列的目标值。。
根据本公开的实施例,每组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时,则没有出现沿变沿。
根据本公开的实施例,对于计算每个目标子序列的目标值,可以采用并行计算的方式,将每个目标子序列并行的输入至对应的查找表阵列中。同样地,也可以采用串行处理的方式,即将一个目标子序列输入至查找表阵列得到该目标子序列的目标值后,再输入下一个目标子序列,得到该目标子序列的目标值,直至得到多个目标子序列分别的目标值。
根据本公开的实施例,将目标子序列分别输入至目标子序列对应的查找表阵列集合中,可以得到多个目标子序列各自对应的目标值,从而可以实现在获取目标值即沿变位置信息之和的过程中所使用的硬件资源少,编码时间短,定位精度高的优点。且可以根据需求采用并行或者串行的方式获取每个目标子序列各自的目标值,选择性更多。在采用并行方式获取各个目标子序列的情况下,存在处理速度快,结构简单、死时间小的优点,而在采用串行的方式获取每个目标子序列各自的目标值的情况下,存在逻辑结构,可以在较高的时钟频率运行,死时间小且吞吐率高的优势。
在操作S130,基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。
根据本公开的实施例,将多个目标子序列各自对应的目标值进行第一计算处理,可以得到原始数据序列的目标值,其中,第一计算处理,可以为进行加法计算等等。
根据本公开的实施例,通过原始数据序列的目标值的大小与延时值大小正相关,可以通过第一计算法,例如:码密度统计方法,将目标值转换为延时时间值,即为细时间数据,再结合第二计算法,例如:高速时钟计数法得到的粗时间数据,即可得到待测时间信号的时间间隔值的测量大小,且测量得到的时间间隔值存在测量精度更高的技术效果。
根据本公开提供的数据处理方法,通过将原始数据序列中的多个数据进行分组,可以得到多个目标子序列,将多个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,可以得到与每个目标子序列各自对应的目标值,基于多个目标子序列的目标值,可以得到抽头延迟链数据的目标值。由于对原始数据序列中的多个数据进行了分组,得到多个目标子序列,使得子序列中至多含有一个气泡错误,因为有的子序列中不含有气泡错误存在“气泡”错误的两位数据不会出现在同一个目标子序列中,因此,至少部分的地解决了难以确定真实沿变位置的问题,实现了确定沿变位置的准确度的技术效果。由于将每个目标子序列分别输入至与该目标子序列对应的查找表阵列集合中,对多个目标子序列进行并行处理,快速的地得到与每个目标子序列各自对应的目标值,以及基于多个目标子序列的目标值,确定原始数据序列的目标值,至少部分的解决了相关技术中条件限制较高以及采用的硬件资源较多的问题,实现了节省硬件资源、高普适性、条件限值少、对于原始数据序列编码时间短以及原始数据序列目标值的精度高的技术效果。
图3示意性示出了根据本公开实施例的确定多个目标子序列的流程图。
如图3所示,确定多个目标子序列目标值包括操作S111~操作S112。
在操作S111,基于原始数据序列中的多个数据,确定原始数据序列的分组数量。
在操作S112,基于分组数量和原始数据序列中的多个数据各自的位置标识,对多个数据进行分组得到多个目标子序列。
根据本公开的实施例,可以基于原始数据序列中的多个数据确定基于待测时间信号得到窄脉冲序列中的目标相邻沿变沿距离,即确定窄脉冲序列包括的至少一个窄脉冲的目标脉冲宽度,其中,窄脉冲序列可以由原始数据序列中的多个数据中,包括多个连续且数据值相同的目标数据的目标数据组确定以及可以确定原始数据序列的模糊区域,其模糊区域是由于“气泡”错误导致的,基于模糊区域可以确定区域长度度,利用区域深度和目标相邻沿变沿距离可以确定原始数据序列的分组数量。
根据本公开的实施例,基于分组数量和原始数据序列中的多个数据各自的位置标识,可以对多个数据进行分组,从而得到多个目标子序列,其中,对分组方式不进行限定,可以为能够将同一沿变沿的“气泡”错误的任两位数据皆不会存在同一目标子序列内的任意分组方式。
根据本公开的实施例,分组方式可以为将原始数据序列第kn+i位数据分组成为第i组目标子序列的第k位数据的方式,即将原始数据序列的每一位数据按照顺序分别分到每个目标子序列中,例如:原始数据序列包括111000111000且分组数量为4组,则第一目标子序列的第一位数据为1,第二目标子序列的第一位数据为1,第三目标子序列的第一位数据为1,第四目标子序列的第一位数据为0,同样地,第一目标子序列的第二位数据为0,第二目标子序列的第二位数据为0,第三目标子序列的第二位数据为1,第四目标子序列的第二位数据为1,以及第一目标子序列的第三位数据为1,第二目标子序列的第三位数据为0,第三目标子序列的第三位数据为0,第四目标子序列的第三位数据为0,最终可以得到第一目标子序列为101,第二目标子序列为100...第四目标子序列为010。
根据本公开的实施例,基于原始数据序列中的多个数据可以确定目标相邻沿变沿距离和区域长度,利用区域长度和目标相邻沿变沿距离可以确定原始数据序列的分组数量,进而将原始数据序列进行分组,可以快速的实现对于“气泡”错误的消除,同时使得在进行原始数据序列沿变位置的确定即编码时,对于脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度均不敏感,具有较强的普适性、拓展性以及可移植性。
根据本公开的实施例,基于原始数据序列中的多个数据,确定原始数据序列的分组数量,包括以下操作。
从原始数据序列的多个数据中,确定至少一个目标数据组,其中,目标数据组包括多个位置连续且数据值相同的目标数据;基于目标数据组,确定目标相邻沿变沿距离,其中,目标相邻沿变沿距离为至少一个目标数据组中包括最小数据量的目标数据组的数据量;从原始数据序列的多个数据中,确定存在沿变沿的多个区域信息;基于多个区域信息,确定多个目标区域;基于多个目标区域各自的区域长度,确定目标区域长度,其中,目标区域长度表征多个目标区域各自的区域长度中的最大区域长度;基于目标相邻沿变沿距离和目标区域长度,确定原始数据序列的分组数量,其中,分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度。
根据本公开的实施例,原始数据序列中可以包括有多个数据值相同且连续的目标数据组,目标数据组中包括有多个目标数据,对于目标数据不进行限定,例如:目标数据可以为数据值为1的数据。
根据本公开的实施例,目标数据组可以为窄脉冲序列,基于目标数据组中包括的目标数据的数据量,可以确定相邻沿变沿间的距离,即脉冲宽度,目标数据组可以为多个,也可以为1个,在多个目标数据组中数据量最小的目标数据组的数据量可以为目标相邻沿变沿距离。在目标数据组为1个的情况下,该目标数据组的数据量为目标相邻沿变沿距离。
根据本公开的实施例,在目标数据组为窄脉冲序列的情况下,基于目标数据的数据量确定目标相邻沿变沿距离的过程可以为例如:原始数据序列为01111111111110110000000000000110111111110100,延时单元从原始数据序列可以确定两个目标数据组即两个脉冲序列分别为111111111111以及11111111,可以确定两个目标数据组的数据量分别为12和8,则该数据序列中相邻沿变沿间的距离即脉冲宽度分别为12和8,其中,数据量最小的目标数据组的数据量为目标相邻沿变沿距离,因此,该目标相邻沿变沿距离为8,对于数据量的计算方法不进行限定,可以为基于该数据组包括的数据位数确定。
根据本公开的实施例,区域信息可以为存在沿变沿的区域信息,沿变沿为存在位置相邻且数据值不同数据的情况,例如01、10都为存在沿变沿。
根据本公开的实施例,基于多个区域信息可以确定目标区域,例如:在原始数据序列为00010011111111111101100000000000001101111111101000的情况下,基于沿变沿可以确定多个区域信息可以为…00100…、…0011…、…10110…、…00110…、…110100…、…110…。目标区域可以为模糊区域,可以为多个1中混杂0或者多个0中混杂1的区域,对于多个0转变为多个1或者多个1转变为多个0的正常沿变沿区域,不认为其为目标区域,例如:基于上述目标区域可以为…100…、…011…、…110…、…01…
根据本公开的实施例,目标区域的长度可以区域中包括的数据的数据位数,也可称为气泡深度,例如:在上述的目标区域中,可以确定区域长度分别为3、3、3、2,且目标区域长度为其中最大的区域长度,可以为3。
根据本公开的实施例,基于目标区域长度和目标相邻沿变沿距离,可以确定分组数量,即分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度,基于上述举例在目标相邻沿变沿距离为8,目标区域长度为3的情况下,分组数量可以为[3,8]之间的任意整数值,如:3、4、5、6、7、8。
根据本公开的实施例,基于目标相邻沿变沿距离和目标区域长度确定的分组数量,可以使得窄脉冲序列的每个脉冲在所有目标子序列中均被采样到,且同一沿变沿的气泡错误任两位数据不出现在同目标子序列中,从而使得在目标子序列中的沿变沿位置信息清晰准确,不存在气泡错误。同时,在确定目标子序列的沿变位置信息时,对于脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度均不敏感,在保证了分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度的情况下,任意脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度可以采用本公开的数据处理方法,因此,具备很强的普适性与扩展性,在使用时可以根据需求便捷的实现模块的增减。
根据本公开的实施例,查找表阵列集合中包括有多个查找表阵列,查找表阵列中包括多个查找表;将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值包括以下操作。
对于每个目标子序列,基于查找表阵列中的查找表的输入端数量,从目标子序列中确定多个子序列分片;将多个子序列分片,分别输入至对应的查找表阵列中,得到多个子序列分片各自对应的目标值;基于多个子序列分片各自对应的目标值,得到目标子序列的目标值。
根据本公开的实施例,可以基于查找表阵列中的查找表的输入端数量,从目标子序列中确定多个子系列分片,例如:对于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。
根据本公开的实施例,对于每个子序列分片皆含有对应的查找表阵列,对于每个子序列分片对应的查找表阵列包括的查找表的数量不进行限定,可以为根据每个子序列分片各自确定。
根据本公开的实施例,每个LUT的输出可以为表征0或1的一位二进制码,由于每个子序列分片对应的LUT阵列可能含有多个LUT,因此,通过一个LUT阵列输出的多位二进制码,可以得到目标子序列包括的子序列分片的目标值,例如:一个LUT阵列输出为0010000,则其目标值为0010000,同样的也可以将目标值转化为10进制数据即16。
根据本公开的实施例,将多个子序列分片各自对应的目标值,分别通过加法器进行相加可以得到目标子序列的目标值。
根据本公开的实施例,将每个目标子序列分为多个子序列分片,在分别计算每个子序列分片的目标值,最终得到目标子序列的目标值,可以使得在确定目标子序列的目标值的过程中仅产生子序列分片的目标值这一中间数据,并且通过将多个子序列分片的目标值相加即可得到目标子序列的目标值,计算方式也比较简单,则使得对于目标子序列的目标值的确定效率高,并且可以达到和逐一对沿变位置信息进行确定一样的精度同时可以采用少量的硬件资源即可实现对目标子序列的目标值的确定,一定程度上实现了对资源的节省,并且对于查找表的输入端不进行限定,可以在输入数据位数较少的情况下采用较少输入端的查找表,实现对资源的节约。
根据本公开的实施例,可以实现将子序列分片并行输入至查找表阵列中得到目标值,从而可以加快计算速率,并且使得死时间较小。还可以将子序列分片串行或者一个一个的输入指对应的查找表阵列中,可以使解码逻辑在很高的时钟频率运行,整体死时间小,且吞吐量高。
图4示意性示出了根据本公开实施例的查找表阵列的示意图。
如图4所示,LUT阵列中包括有多个LUT,以6输入的LUT为例,每个LUT皆有6个输入端,每个LUT输出一位二进制码,通过将子序列分片多次输入至LUT阵列中,可以同时得到多位二进制码,通过将多位二进制码按照顺序进行排序,得到子序列分片的目标值。例如:可以根据需要指定二进制码的任意为数据为为最高有效位(Mo st Significant Bit,简称MSB),以及指定二进制码的任意为数据为最低有效位(least significant bit,简称LSB)。
根据本公开的实施例,在子序列分片包括的数据位数小于查找表的输入端数量的情况下,将不存在输入数据的输入端的目标输入数据置为预定数据。
根据本公开的实施例,对于LUT的输入数据的输入位数不进行限定,可以为根据LUT的输入端的数量进行确定,使得每一输入端都有各自的输入数据,也可以为根据需求将与存在沿变沿即位置相邻且数据值不同的数据输入至与LUT中。
根据本公开的实施例,基于目标子序列,在得到子序列分片存在数据位数不满足LUT输入位数的情况下,即在输入的数据位数小于查找表的输入端数量的情况下,可以将剩余的输入端的输入数据置为预定数据,预定数据可以为0或1,具体可以由实际情况进行确定,例如:若抽头延时链没有输入时的输出数据全为0,则可以将预定数据设为0,若抽头延时链没有输入时的数据全为1,则可以将预定数据设为1。
根据本公开的实施例,在输入数据位数小于当前查找变的输入端数量的情况下,还可以将该查找表更新为输入端数量为mod(l,5)+1的查找表。
根据本公开的实施例,子序列分片存在数据位数不满足LUT输入位数的情况,可以包括目标子序列的数据位数不能被LUT输入端的数量整除的情况。
根据本公开的实施例,基于目标子序列的多个子序列分片,确定多个子序列分片各自的最大目标值;基于多个子序列分片各自的最大目标值,确定与每个子序列分片对应的查找表阵列中包括的查找表的数量。
根据本公开的实施例,可以基于目标子程序的多个子序列分片,确定多个子序列分片各自的最大目标值,其中,最大目标值可以根据子序列分片的可能出现的沿变沿计算得到的最大目标值,即最大沿边位置信息之和,例如:对于目标子序列的第零子序列分片,则可能存在包含最大目标值的序列为010101,由于共有5个沿变沿位置分别为1、2、3、4、5,则第零子序列分片的最大目标值为15,同样的若为第一子序列分片,则可能存在的包括最大目标值的序列为010101,由于共有5个沿变沿位置分别为6、7、8、9、10,因此,该第一子序列分片的最大目标值为40。
根据本公开的实施例,基于子序列分片的最大目标值可以确定与该子序列分片对应的查找表阵列的数量,对于确定方式不进行限定,例如可以为利用使最大目标值小于等于2r-1且大于等于2r-1来确定,r表示查找表阵列中包含的查找表的数量。具体例如:对于最大目标值为40的子序列分片,该26-1<=40<=26-1,则该子序列分片对应的查找表阵列的查找表数量为6个。
根据本公开的实施例,LUT阵列中至多包含r个s输入的LUT。绝大多数情况下,可以使用r个小于等于s输入的LUT完成分片转化任务。
根据本公开的实施例,基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值,包括:将多个目标子序列各自对应的目标值输入至加法器中,得到原始数据序列的目标值。
根据本公开的实施例,将各个目标子序列各自对应的目标值同时输入至加法器中,即可得到原始数据序列的目标值,例如:各个目标子序列的目标值分别为33、34、31、33,则该原始数据序列的目标值为32+34+31+33=130。
根据本公开的实施例,通过将原始数据序列分为多个目标子序列,由将目标子序列分为多个子序列分片来分别确定目标值,再通过将目标值分别相加可以得到原始数据序列的目标值,基于上述可以达到和逐一定位相同的精度,同时对于脉冲数量、脉冲宽度变化、延时单元延时值变化、抽头延时链长度均不敏感,在保证了分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度的情况下,任意脉冲数量、脉冲宽度变化、延迟单元延时值变化、抽头延时链长度均不会存在影响,因此,具备很强的普适性与扩展性,在使用时还可以根据需求便捷的实现模块的增减。
图5示意性示出了根据本公开另一实施例的数据处理方法的示意图。
如图5所示,对于一个60个延时单元组成的抽头延时链,其输出的原始数据序列为抽头延时链数据序列,有60bit,在没有脉冲输入、脉冲未到达、脉冲已经过的延时链部分,其延时链输出数据为0。
根据本公开的实施例,当一次待测信号经过触发器产生窄脉冲序列进入延时链后,会输出一个有效的抽头延时链数据序列,举例输出的60bit抽头延时链数据序列为000000000100111111111111011000000000000011011111111010000000。脉冲所在的延时单元输出数据为1,则举例数据其含有两个窄脉冲。
根据本公开的实施例,脉冲沿变位置存在…100…、…011…、…110…、…01…的目标区域,这个目标区域就是由于”气泡“错误导致的。目标区域的长度定义为同时存在0和1的位数,即气泡深度。在上述四个沿变位置上气泡深度分别为3、3、3、2,最大气泡深度为3。
根据本公开的实施例,上述抽头延时链数据序列包括的两个窄脉冲序列对应的目标数据组分别为111111111111与11111111,数据量或者称脉冲宽度分别为12、8则目标脉冲宽度或者称目标相邻沿变沿距离为8,通过确定相邻的两个沿变沿之间的距离可以确定窄脉冲序列在目标数据组中对应的数据,两个沿变沿之间的距离由每个目标数据组中的数据量确定。
根据本公开的实施例,根据分组数量依据,确保窄脉冲序列的每个脉冲在所有抽头数据子序列中均被采样到,且同一沿变沿的“气泡”错误任两位数据不出现在同一抽头数据子序列中;即最小脉冲宽度大于分组数量大于最大气泡深度的要求,分组数量需大于或等于3且小于或等于8。例如:选择分组数量为4,其中,最小脉冲宽度即目标相邻沿变沿距离。
根据本公开的实施例,对于举例输出的60bit抽头延时链数据序列“000000000100111111111111011000000000000011011111111010000000“按照抽头延迟链数据原码第kn+i位bit分组成为第i组抽头数据子序列的第k位bit的方案进行分组,例如n=4时,则将原始序列分为4组15bit的抽头数据子序列。分别记为第0组目标子序列、第1组目标子序列、第2组目标子序列、第3组目标子序列。每个目标子序列中的15bit数据依序记为第0位、第1位…第14位。
根据本公开的实施例,例如:抽头延时链数据序列的第11位,即第(2*4+3)位分组至第3组目标子序列的第2位。依照上述分组方案得到的:
第0组目标子序列为:000111000011110;第1组目标子序列为:001111100011100;第2组目标子序列为:000111100001100;第3组目标子序列为:000111000011000。
根据本公开的实施例,如图5所示,包括有多个专用逻辑电路,专业逻辑电路可以为Wave Union A型TDC编码专用逻辑电路,Wa ve Union A型TDC编码专用逻辑电路0~WaveUnion A型TDC编码专用逻辑电路4分别与每组目标子序列分相对应。
根据本公开的实施例,每个Wave Union A型TDC编码专用逻辑电路包括有各自的LUT阵列,如Wave Union A型TDC编码专用逻辑电路0包括有LUT阵列0~LUT阵列2。
根据本公开的实施例,LUT阵列与各个子序列分片相对应。
根据本公开的实施例,以第0组目标子序列以及6输入的LUT阵列为例,进行子序列分片操作,则第0子序列分片为目标子序列第0~5位:000111、则第1子序列分片为目标子序列第5~10位:100001、则第2子序列分片为目标子序列第10~14位: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表示二进制。
根据本公开的实施例,上述步骤均在硬件中并行执行,对于获得的子序列分片内所有沿变位置和数据直接相加,即可得到每组目标子序列沿变位置信息之和。对于第0组抽头数据子序列,其沿变位置之和为33;对于第1~3组抽头数据子序列,其沿变位置信息之和分别为34、31、32;
根据本公开的实施例,将每组目标子序列的沿变位置信息之和相加,即可得到原始数据序列的目标值为32+34+31+33=130。
根据本公开的实施例,窄脉冲序列在抽头延迟链中所有沿变沿位置之和信息与待测信号到来时间的细时间直接相关一一对应,综合粗时间信息即可测得待测时间间隔。
图6示意性示出了根据本公开实施例的编码电路的示意图。
如图6所示,编码电路包括多个专用逻辑电路610第一加法器620。
多个专用逻辑电路610,用于将与每个专用逻辑电路相对应的目标子序列转换为目标值,其中,目标子序列为基于原始数据序列分组得到。
第一加法器620,与多个专用逻辑电路分别相连,用于将多个目标值相加,得到原始数据序列的目标值。
根据本公开的实施例,编码电路中包括多个专用逻辑610和第一加法器620,基于多个专用逻辑电路610,可以将原始数据序列分组得到的多个目标子序列转换为目标子序列各自的目标值,其中,对于不同的目标子序列可以对应于完全相同或相似的专用逻辑电路。
根据本公开的实施例,第一加法器620,与多个专用逻辑电路分别相连,可以将每个专用逻辑电路分别的输出值即目标子序列的目标值,进行相加,得到原始数据序列的目标值。
根据本公开的实施例,专用逻辑电路可以为多个也可以为一个,若专用逻辑电路为多个,则可以将目标子序列进行并行处理,若专利逻辑电路为一个则可以通过流水线处理的方式,对目标子序列一个一个的进行处理。
根据本公开的实施例,原始数据序列包括抽头延迟链数据序列。
根据本公开的实施例,编码电路通过多个专用逻辑电路和第一加法器实现对于原始数据序列的目标值,即原始数据序列的沿边位置信息和的确定,有效的节省了硬件资源,极大的缩短了编码时间,可以达到和逐一定位相同的精度。
根据本公开的实施例,基于专用逻辑电路对目标子序列进行并行处理,可以实现结构简单,死时间小的效果。基于专用逻辑电路进行流水线处理,可以实现整个编码逻辑可以运行在很高的时钟频率,整体死时间小吞吐率高。
根据本公开的实施例,为验证可行性,进行以下实验,在FPGA对数据处理方法实例化后进行行为级仿真,仿真在Vivado软件平台上运行,其中,Vivado软件平台包括高度集成的设计环境和新一代从***到集成电路级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。输入数据为352位原始数据序列。可以按要求编码产生11位的二进制数据表征原始数据序列中所有沿变沿位置之和信息,且使能信号准确。最后在赛灵思公司(Xilinx)的XC7K410T-2FFG900I型FPGA中使用本发明公开时间数字转换器抽头延迟链编码方法,编码电路可以在400MHz时钟下稳定运行。
专用逻辑电路包括:查找表阵列集合611,用于将与查找表阵列集合中的每个查找表阵列相对应的子序列分片转换为子目标值,其中,子序列分片为基于目标子序列分组得到,子目标值为子序列分片的目标值,查找表阵列集合包括多个查找表阵列第二加法器612,与多个查找表阵列分别相连,用于将子目标值相加,得到目标子序列的目标值。
根据本公开的实施例,专用逻辑电路包括有查找表阵列集合,以及第二加法器,通过将子序列分片分别输入至对应的查找表阵列中可以得到每个子序列分别各自的目标值,目标值可以为二进制数据,例如:首位输出可以为最高有效为,末尾输出可以为最低有效为。通过第二加法器,将该目标值相加,可以得到每个目标子序列的目标值。
图7示意性示出了根据本公开实施例的专用逻辑电路的示意图。
如图7所示,以六输入的查找表为例,专用逻辑电路中包括有查找表阵列以及加法器,查找表阵列中包括有多个查找表,每个查找表可以输出一个二进制码,多个查找表则可以输出子序列分片的目标值,将每个子序列分别的目标值通过第二加法器相加即可得到目标子序列的目标值,即沿变位置信息之和。
根据本公开的实施例,对于查找表的输入端数量仅为示意性的,可以根据实际情况采用不同输入端数量的查找表。
图8示意性示出了根据本公开实施例的时序图。
如图8所示,对于记录时钟周期中有效的数据,并在原始数据序列中进行标记,从而可以得到有效数据0和有效数据1,由于从原始数据序列确定变为目标子序列的过程中,主要为将原始数据序列中包括的数据分组得到目标子序列,因此,在目标子序列中有效数据0和有效数据1的时钟周期相同。而基于目标子序列确定沿变位置信息和的过程中,需要利用LUT阵列集合以及加法器来进行计算,因此,目标子序列的沿变位置数据的时序图中的有效数据0和有效数据1往后延迟了一个时钟周期,获得原始数据序列的沿变位置信息和同理,仍然为利用目标子序列各自的沿变位置信息和相加得到原始数据序列的沿变位置信息和,因此,原始数据序列的沿变位置数据又往后延迟了一个时钟周期,最后可以进行数据存储控制信号,利用数据存储工具,如先入先出队列(First Input First Output,FIFO),进行数据存储控制,对上述原始数据序列的时序情况进行记录。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
基于上述数据处理方法,本公开还提供了一种数据处理装置。以下将结合图9对该装置进行详细描述。
图9示意性示出了根据本公开实施例的数据处理装置的结构框图。
如图9所示,该实施例的数据处理装置900包括目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930。
目标子序列确定模块910,用于对原始数据序列中的多个数据进行分组,得到多个目标子序列。在一实施例中,目标子序列确定模块910可以用于执行前文描述的操作S110,在此不再赘述。
第一目标值确定模块920,用于将每个目标子序列分别输入至与目标子序列对应的查找表阵列集合中,得到多个目标子序列各自对应的目标值,其中,目标值表征目标子序列中位置相邻且数据值不同的数据的位置信息之和。在一实施例中,第一目标值确定模块920可以用于执行前文描述的操作S120,在此不再赘述。
第二目标值确定模块930,用于基于多个目标子序列各自对应的目标值,确定原始数据序列的目标值。在一实施例中,第二目标值确定模块930可以用于执行前文描述的操作S130,在此不再赘述。
根据本公开的实施例,目标子序列确定模块910可以包括分组数量确定子模块和目标子序列确定子模块。
分组数量确定子模块,用于基于原始数据序列中的多个数据,确定原始数据序列的分组数量。
标子序列确定子模块,用于基于分组数量和原始数据序列中的多个数据各自的位置标识,对多个数据进行分组得到多个目标子序列。
根据本公开的实施例,分组数量确定子模块可以包括目标数据组确定单元、目标相邻沿变沿距离确定单元、区域信息确定单元、目标区域确定单元、目标区域长度确定单元及分组数量确定单元。
目标数据组确定单元,用于从原始数据序列中的多个数据中,确定至少一个目标数据组,其中,目标数据组包括多个位置连续且数据值相同的目标数据。
目标相邻沿变沿距离确定单元,用于基于目标数据组,确定目标相邻沿变沿距离,其中,目标相邻沿变沿距离为至少一个目标数据组中包括最小数据量的目标数据组的数据量。
区域信息确定单元,用于从原始数据序列中的多个数据中,确定存在沿变沿的多个区域信息。
目标区域确定单元,用于基于多个区域信息各自的区域长度,确定多个目标区域。
目标区域长度确定单元,用于基于多个目标区域各自的区域长度,确定目标区域长度,其中,目标区域长度表征多个目标区域各自的区域长度中的最大区域长度。
分组数量确定单元,用于基于目标相邻沿变沿距离和目标区域长度,确定原始数据序列的分组数量,其中,分组数量小于或等于目标相邻沿变沿距离且分组数量大于或等于目标区域长度。
根据本公开的实施例,查找表阵列集合中包括有多个查找表阵列,查找表阵列中包括多个查找表;第一目标值确定模块包括子序列分片确定子模块、子序列分片目标值确定子模块和第一目标值确定子模块。
子序列分片确定子模块,用于对于每个目标子序列,基于查找表阵列中的查找表的输入端数量,从目标子序列中确定多个子序列分片。
子序列分片目标值确定子模块,将多个子序列分片,分别输入至对应的查找表阵列中,得到多个子序列分片各自对应的目标值。
第一目标值确定子模块,用于基于多个子序列分片各自对应的目标值,得到目标子序列的目标值。
根据本公开的实施例,数据处理装置900还包括输入端处理模块。
输入端处理模块,用于在子序列分片包括的数据位数小于查找表的输入端数量的情况下,将不存在输入数据的输入端的目标输入数据置为预定数据。
根据本公开的实施例,数据处理装置900还包括最大目标值确定模块和查找表数量确定模块。
最大目标值确定模块,用于基于目标子序列的多个子序列分片,确定多个子序列分片各自的最大目标值。
查找表数量确定模块,用于基于多个子序列分片各自的最大目标值,确定与每个子序列分片对应的查找表阵列中包括的查找表的数量。
根据本公开的实施例,第二目标值确定模块包括目标值输入子模块。
目标值输入子模块,用于将多个目标子序列各自对应的目标值输入至加法器中,得到原始数据序列的目标值。
根据本公开的实施例,目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930中的任意多个模块可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,目标子序列确定模块910、第一目标值确定模块920和第二目标值确定模块930中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

Claims (10)

1.一种数据处理方法,包括:
对原始数据序列中的多个数据进行分组,得到多个目标子序列;
将每个所述目标子序列分别输入至与所述目标子序列对应的查找表阵列集合中,得到多个所述目标子序列各自对应的目标值,其中,所述目标值表征所述目标子序列中位置相邻且数据值不同的数据的位置信息之和;
基于多个所述目标子序列各自对应的目标值,确定所述原始数据序列的目标值。
2.根据权利要求1所述的方法,其中,所述对原始数据序列中的多个数据进行分组,得到多个目标子序列,包括:
基于所述原始数据序列中的多个数据,确定所述原始数据序列的分组数量;
基于所述分组数量和所述原始数据序列中的多个数据各自的位置标识,对所述多个数据进行分组得到多个目标子序列。
3.根据权利要求2所述的方法,其中,所述基于所述原始数据序列中的多个数据,确定所述原始数据序列的分组数量,包括:
从所述原始数据序列的多个数据中,确定至少一个目标数据组,其中,所述目标数据组包括多个位置连续且数据值相同的目标数据;
基于所述目标数据组,确定目标相邻沿变沿距离,其中,所述目标相邻沿变沿距离为所述至少一个目标数据组中包括最小数据量的目标数据组的数据量;
从所述原始数据序列的多个数据中,确定存在沿变沿的多个区域信息;
基于所述多个区域信息,确定多个目标区域;
基于所述多个目标区域各自的区域长度,确定目标区域长度,其中,所述目标区域长度表征所述多个目标区域各自的区域长度中的最大区域长度;
基于所述目标相邻沿变沿距离和所述目标区域长度,确定所述原始数据序列的分组数量,其中,所述分组数量小于或等于所述目标相邻沿变沿距离且所述分组数量大于或等于所述目标区域长度。
4.根据权利要求1所述的方法,其中,所述查找表阵列集合中包括有多个查找表阵列,所述查找表阵列中包括多个查找表;
将每个所述目标子序列分别输入至与所述目标子序列对应的查找表阵列集合中,得到多个所述目标子序列各自对应的目标值,包括:
对于每个所述目标子序列,基于所述查找表阵列中的查找表的输入端数量,从所述目标子序列中确定多个子序列分片;
将所述多个子序列分片,分别输入至对应的查找表阵列中,得到所述多个子序列分片各自对应的目标值;
基于所述多个子序列分片各自对应的目标值,得到所述目标子序列的目标值。
5.根据权利要求4所述的方法,还包括:
在所述子序列分片包括的数据位数小于所述查找表的输入端数量的情况下,将不存在输入数据的所述输入端的目标输入数据置为预定数据。
6.根据权利要求1所述的方法,还包括:
基于所述目标子序列的多个子序列分片,确定多个所述子序列分片各自的最大目标值;
基于多个所述子序列分片各自的最大目标值,确定与每个所述子序列分片对应的查找表阵列中包括的查找表的数量。
7.根据权利要求1所述的方法,其中,所述基于多个所述目标子序列各自对应的目标值,确定所述原始数据序列的目标值,包括:
将多个所述目标子序列各自对应的目标值输入至加法器中,得到所述原始数据序列的目标值。
8.根据权利要求1所述的方法,其中,所述原始数据序列包括抽头延迟链数据序列。
9.一种编码电路,包括:
多个专用逻辑电路,用于将与每个所述专用逻辑电路相对应的目标子序列转换为目标值,其中,所述目标子序列为基于原始数据序列分组得到;
第一加法器,与所述多个专用逻辑电路分别相连,用于将多个所述目标值相加,得到所述原始数据序列的目标值。
10.根据权利要求9所述的编码电路,其中,所述专用逻辑电路包括:
查找表阵列集合,用于将与所述查找表阵列集合中的每个查找表阵列相对应的子序列分片转换为子目标值,其中,所述子序列分片为基于所述目标子序列分组得到,所述子目标值为所述子序列分片的目标值,所述查找表阵列集合包括多个查找表阵列;
第二加法器,与所述多个查找表阵列分别相连,用于将所述子目标值相加,得到所述目标子序列的目标值。
CN202311155639.2A 2023-09-07 2023-09-07 数据处理方法及编码电路 Pending CN117290549A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311155639.2A CN117290549A (zh) 2023-09-07 2023-09-07 数据处理方法及编码电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311155639.2A CN117290549A (zh) 2023-09-07 2023-09-07 数据处理方法及编码电路

Publications (1)

Publication Number Publication Date
CN117290549A true CN117290549A (zh) 2023-12-26

Family

ID=89256352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311155639.2A Pending CN117290549A (zh) 2023-09-07 2023-09-07 数据处理方法及编码电路

Country Status (1)

Country Link
CN (1) CN117290549A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118052191A (zh) * 2024-04-16 2024-05-17 无锡频岢微电子有限公司 一种声学模型参数查找表构建方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118052191A (zh) * 2024-04-16 2024-05-17 无锡频岢微电子有限公司 一种声学模型参数查找表构建方法

Similar Documents

Publication Publication Date Title
WO2016127357A1 (zh) 一种基于fpga的时间数字变换器
Sui et al. A 2.3-ps RMS resolution time-to-digital converter implemented in a low-cost cyclone V FPGA
US8325076B2 (en) Time-to-digital converter
CN117290549A (zh) 数据处理方法及编码电路
CN110262209B (zh) 基于fpga的时间数字变换器
CN109634089B (zh) 一种应用于工艺非受控检测的两级tdc电路
CN109891843B (zh) 计算机实现的方法和执行计算机实现的方法的***
WO2022121389A1 (zh) 高分辨率脉冲宽度调制信号产生电路
Amiri et al. A multihit time-to-digital converter architecture on FPGA
KR101503732B1 (ko) 시간-디지털 변환기
CN105763196A (zh) 一种延迟内插型时间数字转换器
Aloisio et al. FPGA implementation of a high-resolution time-to-digital converter
CN110658716B (zh) 一种基于同步时序的时间数字转换***
Tancock et al. The wave-union method on DSP blocks: improving FPGA-based TDC resolutions by 3x with a 1.5 x area increase
CN111142357B (zh) 时间数字转换器延迟链内插的多沿变位置编码方法
Shen et al. A fast improved fat tree encoder for wave union TDC in an FPGA
CN108389225A (zh) 一种基于fpga的tdc实现方法
Khaddour et al. Design Methodology and Timing Considerations for implementing a TDC on a Cyclone V FPGA Target
Wang et al. A high precision time-to-digital converter based on multi-chain interpolation with a low cost artix-7 FPGA
Aloisio et al. High-precision time-to-digital converters in a fpga device
Deng et al. A 4.32-ps precision Time-to-Digital Convertor using multisampling wave union method on a 28-nm FPGA
CN109104168B (zh) 一种细时间测量的电路
Szplet et al. Several issues on the use of independent coding lines for time-to-digital conversion
CN116974176A (zh) 用于时间数字转换器的抽头延时线及其编码***
De Dinechin et al. An FPGA architecture for solving the Table Maker's Dilemma

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