首页> 中国专利> 数据预处理方法、装置、电子设备及计算机可读存储介质

数据预处理方法、装置、电子设备及计算机可读存储介质

摘要

本申请涉及低密度奇偶校验编码技术领域,具体公开一种数据预处理方法、装置以及电子设备。方法包括:根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存,填充后数据的位数为提升因子的正整数倍;将填充后数据发给与当前配置的提升因子对应的移位寄存器,其中,移位寄存器包括若干个,每个移位寄存器均对应若干个不同的提升因子;移位寄存器以当前配置的提升因子为输出位宽循环输出填充后数据,直至填充后数据全部输出。由于将提升因子分成了多组,每组提升因子对应设置一个移位寄存器,有效减小了对片内资源的浪费,同时能够将前级数据转化为以当前配置的提升因子为输出位宽输出,实现对不同编码数据位宽的支持。

著录项

  • 公开/公告号CN113131949A

    专利类型发明专利

  • 公开/公告日2021-07-16

    原文格式PDF

  • 申请/专利权人 苏州华兴源创科技股份有限公司;

    申请/专利号CN202110265187.8

  • 发明设计人 张蒙蒙;宋军;

    申请日2021-03-11

  • 分类号H03M13/11(20060101);

  • 代理机构44224 广州华进联合专利商标代理有限公司;

  • 代理人缪成珠

  • 地址 215000 江苏省苏州市苏州工业园区青丘巷8号

  • 入库时间 2023-06-19 11:52:33

说明书

技术领域

本发明涉及低密度奇偶校验编码技术领域,特别是涉及一种数据预处理方法、装置、电子设备及计算机可读存储介质。

背景技术

随着通信技术的发展,通信协议从4G的LTE到5G NR的进步,数据传输的配置更加灵活,对LDPC编码的灵活性也提出了更高的要求。

LDPC(Low Density Parity Check Code,低密度奇偶校验码)编码技术在当前局域网与城域网、有线数据服务接口和移动通信等领域中属于热门的编码技术。多数的LDPC编码位宽是固定的,但LDPC在5G的应用中由于应用灵活性的要求,编码的数据位宽需要支持的情况多达51种,这对FPGA的设计提出了新的挑战。目前已有的方法是对应设置51种移位寄存器,根据输出位宽的不同需求选择不同的移位寄存器,但是该方法造成了FPGA片内资源的极大浪费。

发明内容

基于此,有必要针对如何支持编码的多种数据位宽的同时尽可能减少对片内资源的浪费的问题,提供一种数据预处理方法、装置、电子设备以及计算机可读存储介质。

一种数据预处理方法,用于低密度奇偶校验编码,所述数据预处理方法包括:

根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存,所述填充后数据的位数为所述提升因子的正整数倍;

将所述填充后数据发给与当前配置的提升因子对应的移位寄存器,其中,所述移位寄存器包括若干个,每个移位寄存器均对应若干个不同的提升因子;

所述移位寄存器以当前配置的提升因子为输出位宽循环输出所述填充后数据,直至所述填充后数据全部输出。

在其中一个实施例中,在所述根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存的步骤之前,所述数据预处理方法还包括:

对初始输入数据进行校验,以得到前级数据。

在其中一个实施例中,所述对初始输入数据进行校验,以得到前级数据的步骤包括:

在所述初始输入数据中添加校验位。

在其中一个实施例中,所述提升因子具有51个,所述移位寄存器具有8个,51个所述提升因子按预设规则分为8组,每组提升因子对应一个移位寄存器,所述移位寄存器的输出位宽和与其对应的提升因子相关。

在其中一个实施例中,所述移位寄存器具有对应的读写控制模块,所述读写控制模块用于对所述移位寄存器的写入和读出数据的个数进行计数,以及根据当前配置的提升因子对每次写入和读出数据的个数进行控制,以使所述填充后数据全部被读出。

在其中一个实施例中,在所述移位寄存器以当前配置的提升因子为输出位宽循环输出所述填充后数据,直至所述填充后数据全部输出的步骤之后,所述数据预处理方法还包括:

对全部输出的填充后数据进行循环移位和累加操作。

一种数据预处理装置,用于低密度奇偶校验编码,所述数据预处理装置包括:

数据填充模块,用于根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存,所述填充后数据的位数为所述提升因子的正整数倍;

寄存器选择模块,用于将所述填充后数据发给与当前配置的提升因子对应的移位寄存器,其中,所述移位寄存器包括若干个,每个移位寄存器均对应若干个不同的提升因子;

读写控制模块,用于控制所述移位寄存器以当前配置的提升因子为输出位宽循环输出所述填充后数据,直至所述填充后数据全部输出。

在其中一个实施例中,所述提升因子具有51个,所述移位寄存器具有8个,51个所述提升因子按预设规则分为8组,每组提升因子对应一个移位寄存器,所述移位寄存器的输出位宽和与其对应的提升因子相关。

一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述的数据预处理方法。

一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机指令,所述计算机指令被处理器执行时实现如上述的数据预处理方法。

上述数据预处理方法,用于低密度奇偶校验编码,首先根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存,填充后数据的位数为提升因子的正整数倍;然后将填充后数据发给与当前配置的提升因子对应的移位寄存器,其中,移位寄存器包括若干个,每个移位寄存器均对应若干个不同的提升因子;最后移位寄存器以当前配置的提升因子为输出位宽循环输出填充后数据,直至填充后数据全部输出。由于将提升因子分成了多组,每组提升因子对应设置一个移位寄存器,相对于设置与提升因子相同数量的移位寄存器,有效减小了对片内资源的浪费,同时能够将前级数据转化为以当前配置的提升因子为输出位宽输出,实现对不同编码数据位宽的支持。

附图说明

图1为本申请实施例一提供的数据预处理方法的一种实施方式的流程框图;

图2为本申请实施例一提供的数据预处理方法的另一种实施方式的流程框图;

图3为本申请实施例二提供的数据预处理装置的一种实施方式的结构示意图;

图4为本申请实施例二提供的数据预处理装置的另一种实施方式的结构示意图;

图5为本申请实施例三提供的电子设备的结构示意图。

附图标记说明:

100、校验模块;200、数据填充模块;300寄存器选择模块;400、读写控制模块;500、移位寄存器;600、处理器;700、存储器。

具体实施方式

为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的优选实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反的,提供这些实施方式的目的是为了对本发明的公开内容理解得更加透彻全面。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。

除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。

如背景技术所述,LDPC(Low Density Parity Check Code,低密度奇偶校验码)编码技术在5G的应用中,由于应用灵活性的要求,编码的数据位宽需要支持的情况多达51种。针对这种情况,通常的方法是设置51种不同的移位寄存器,根据输出位宽的不同需求选择不同的移位寄存器,以满足不同编码数据位宽的需求。但是设置51种不同的移位寄存器及相关电路,这将造成FPGA内部资源的极大浪费。

针对上述问题,本申请实施例提供了一种数据预处理方法、数据预处理装置、电子设备以及计算机可读存储介质。

实施例一

本实施例提供了一种数据预处理方法,用于低密度奇偶校验编码。

参照图1,本实施例提供的数据预处理方法包括以下步骤:

步骤S200、根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存,所述填充后数据的位数为所述提升因子的正整数倍;

步骤S400、将所述填充后数据发给与当前配置的提升因子对应的移位寄存器,其中,所述移位寄存器包括若干个,每个移位寄存器均对应若干个不同的提升因子;

步骤S600、所述移位寄存器以当前配置的提升因子为输出位宽循环输出所述填充后数据,直至所述填充后数据全部输出。

上述数据预处理方法,由于将提升因子分成了多组,每组提升因子对应设置一个移位寄存器,相对于设置与提升因子相同数量的移位寄存器,有效减小了对片内资源的浪费,同时能够将前级数据转化为以当前配置的提升因子为输出位宽输出,实现对不同编码数据位宽的支持,且一个移位寄存器可实现多种输出位宽的输出。

在步骤S200中,根据当前配置的提升因子对前级数据进行填充,具体是将前级数据的位数填充至提升因子的正整数倍。其中,在每个时隙均会对提升因子进行更新,当前配置的提升因子即为当前时隙所更新的提升因子。假设当前配置的提升因子为256,则对前级数据进行填充,以使填充后的数据位数达到256的正整数倍,在实际应用中,正整数倍包括6倍、8倍、9倍、10倍、22倍中的任意一种,由上级配置。填充的方式可以是在前级数据的前端或末尾或中间段位置处进行填充。

在得到填充后数据后,还对填充后数据进行缓存,以避免后续输出数据时出现数据拥塞,实现数据有序输出。

在其中一个实施例中,参照图2,在步骤S200,即所述根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存的步骤之前,本实施例提供的数据预处理方法还包括以下步骤:

步骤S100、对初始输入数据进行校验,以得到前级数据。

在其中一个实施例中,所述对初始输入数据进行校验,以得到前级数据的步骤包括:

在所述初始输入数据中添加校验位。

具体地,可以在初始输入数据的末尾添加校验位。假设初始输入数据为一串7个8bit构成的数据,则可在该56bit数据后添加24bit的校验位。其中,校验位的位数还可以为16bit,在此不做限制。

在步骤S400中,可根据当前配置的提升因子确定与该提升因子对应的移位寄存器,进而将得到的填充后数据写入该移位寄存器中。

在其中一个实施例中,所述提升因子具有51个,所述移位寄存器具有8个,51个所述提升因子按预设规则分为8组,每组提升因子对应一个移位寄存器,所述移位寄存器的输出位宽和与其对应的提升因子相关。

下表为51个提升因子的分组示意:

如表所示,提升因子一共有51种,将其分成8组(0-7),第一组包括提升因子2,4,8,32,64,128,256,第二组包括提升因子3,6,12,24,48,96,192,384,第三组提升因子5,10,20,40,80,160,320,第四组包括提升因子7,14,28.56,112,224,第五组包括提升因子9,18,36,72,144,288,第六组包括提升因子11,22,44,88,176,352,第七组包括提升因子13,26,52,104,208,第八组提升因子15,30,60,120,240。

第一组提升因子对应第一个移位寄存器,第一个移位寄存器的长度为256bit,第二组提升因子对应第二个移位寄存器,第二个移位寄存器的长度为384bit,第三组提升因子对应第三个移位寄存器,第三个移位寄存器的长度为320bit,第四组提升因子对应第四个移位寄存器,第四个移位寄存器的长度为224bit,第五组提升因子对应第五个移位寄存器,第五个移位寄存器的长度为288bit,第六组提升因子对应第六个移位寄存器,第六个移位寄存器的长度为352bit,第七组提升因子对应第七个移位寄存器,第七个移位寄存器的长度为208bit,第八组提升因子对应第八个移位寄存器,第八个移位寄存器的长度为240bit。

假设当前配置的提升因子为5,根据上表可确定第三组移位寄存器为与提升因子5对应的移位寄存器,将填充后数据写入第三组移位寄存器中;假设当前配置的提升因子为14,根据上表可确定第四组移位寄存器为与提升因子14对应的移位寄存器,将填充后数据写入第四组移位寄存器中;假设当前配置的提升因子为30,根据上表可确定第八组移位寄存器为与提升因子30对应的移位寄存器,将填充后数据写入第八组移位寄存器中。按上述方法根据当前配置的提升因子确定对应的移位寄存器,并将填充后数据写入该移位寄存器中。

在步骤S600中,移位寄存器则以当前配置的提升因子为输出位宽循环输出填充后数据。假设当前配置的提升因子为5,则输出位宽为5,每次输出5位,由于填充后数据的总位数是5的正整数倍,因此填充后数据经过多次循环输出能够全部被输出。

在其中一个实施例中,所述移位寄存器具有对应的读写控制模块,所述读写控制模块用于对所述移位寄存器的写入和读出数据的个数进行计数,以及根据当前配置的提升因子对每次写入和读出数据的个数进行控制,以使所述填充后数据全部被读出。

下面以一个具体示例对读写控制模块的控制方式进行说明:

提升因子为5,按照如下表格控制读写次数:

每一个时钟写入一个8bit的数据。

在第一个时钟,写入一次8bit的数据,移位寄存器内存储有8bit,再读出一次5bit,则移位寄存器中剩余3bit;

在第二个时钟,写入一次8bit的数据,移位寄存器内存储有3bit+8bit=11bit,再读出二次5bit(即读出10bit),则移位寄存器中剩余1bit;

在第三个时钟,写入一次8bit的数据,移位寄存器内存储有1bit+8bit=9bit,再读出一次5bit,则移位寄存器中剩余4bit;

在第四个时钟,写入一次8bit的数据,移位寄存器内存储有4bit+8bit=12bit,再读出二次5bit(即读出10bit),则移位寄存器中剩余2bit;

在第五个时钟,写入一次8bit的数据,移位寄存器内存储有2bit+8bit=10bit,再读出二次5bit(即读出10bit),则移位寄存器中剩余0bit。

以上是一个输出循环,将填充后数据中5*8bit的数据以5bit的输出位宽全部读出,重复上述输出循环,将全部的填充后数据读出。由此实现将前级的8bit数据转化成5bit数据交给后级处理。

在其中一个实施例中,在步骤S600,即所述移位寄存器以当前配置的提升因子为输出位宽循环输出所述填充后数据,直至所述填充后数据全部输出的步骤之后,本实施例提供的数据预处理方法还包括以下步骤:

步骤S700、对全部输出的填充后数据进行循环移位和累加操作。即,当读出填充后数据后,则对其进行循环移位和累加操作,可以循环左移或循环右移,以便实现编码。

实施例二

本实施例提供了一种数据预处理装置,用于低密度奇偶校验编码。

参照图3,本实施例提供的数据预处理装置包括数据填充模块200、寄存器选择模块300以及读写控制模块400。

其中,数据填充模块200用于根据当前配置的提升因子对前级数据进行填充,以得到填充后数据并缓存,所述填充后数据的位数为所述提升因子的正整数倍;寄存器选择模块300用于将所述填充后数据发给与当前配置的提升因子对应的移位寄存器500,其中,所述移位寄存器500包括若干个,每个移位寄存器500均对应若干个不同的提升因子;读写控制模块400用于控制所述移位寄存器500以当前配置的提升因子为输出位宽循环输出所述填充后数据,直至所述填充后数据全部输出。

上述数据预处理装置,由于将提升因子分成了多组,每组提升因子对应设置一个移位寄存器,相对于设置与提升因子相同数量的移位寄存器,有效减小了对片内资源的浪费,同时能够将前级数据转化为以当前配置的提升因子为输出位宽输出,实现对不同编码数据位宽的支持,且一个移位寄存器可实现多种输出位宽的输出。

在其中一个实施例中,所述提升因子具有51个,所述移位寄存器500具有8个,51个所述提升因子按预设规则分为8组,每组提升因子对应一个移位寄存器500,所述移位寄存器500的输出位宽和与其对应的提升因子相关。

在其中一个实施例中,参照图4,本实施例提供的数据预处理装置还包括校验模块100,校验模块100连接数据填充模块200,用于对初始输入数据进行校验,以得到前级数据。

在其中一个实施例中,校验模块100用于在初始输入数据中添加校验位。

在其中一个实施例中,读写控制模块400用于对所述移位寄存器500的写入和读出数据的个数进行计数,以及根据当前配置的提升因子对每次写入和读出数据的个数进行控制,以使所述填充后数据全部被读出。

在其中一个实施例中,本实施例提供的数据预处理装置还包括移位累加模块,移位累加模块连接移位寄存器,用于对全部输出的填充后数据进行循环移位和累加操作。

本实施例提供的数据预处理装置与实施例一提供的数据预处理方法属于同一发明构思,关于数据预处理装置的具体内容可参见实施例一中的对应描述,在此不赘述。

实施例三

本申请实施例提供了一种电子设备,如图5所示,包括存储器700和处理器600,存储器700和处理器600之间互相通信连接,可以通过总线或者其他方式连接,图5中以通过总线连接为例。

处理器600可以为中央处理器(Central Processing Unit,CPU)。处理器600还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。

存储器700作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本发明实施例中的数据预处理方法对应的程序指令。处理器600通过运行存储在存储器700中的非暂态软件程序、指令以及模块,从而执行处理器600的各种功能应用以及数据处理,即数据预处理方法。

存储器700可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储处理器600所创建的数据等。此外,存储器700可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器700可选包括相对于处理器600远程设置的存储器,这些远程存储器可以通过网络连接至处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号